[247603] merge XPathUtil into XPathService
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/VisualizeReportUtil.java b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/VisualizeReportUtil.java
index 0227ee5..9ae2edb 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/VisualizeReportUtil.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind.html/src/org/eclipse/actf/visualization/engines/blind/html/util/VisualizeReportUtil.java
@@ -22,7 +22,7 @@
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import org.eclipse.actf.util.xpath.XPathUtil;
+import org.eclipse.actf.util.xpath.XPathServiceFactory;
import org.eclipse.actf.visualization.engines.blind.eval.PageEvaluation;
import org.eclipse.actf.visualization.engines.blind.html.VisualizeEngine;
import org.eclipse.actf.visualization.eval.guideline.GuidelineHolder;
@@ -165,9 +165,11 @@
String idS = frameElem.getAttribute(Html2ViewMapData.ACTF_ID);
if (idS.length() > 0) {
Integer idObj = new Integer(idS);
- NodeList nl = XPathUtil.evalXPathNodeList(resultDoc
- .getDocumentElement(), "//*[@"
- + Html2ViewMapData.ACTF_ID + "='" + idObj + "']/span");
+ NodeList nl = XPathServiceFactory.newService()
+ .evalPathForNodeList(
+ "//*[@" + Html2ViewMapData.ACTF_ID + "='"
+ + idObj + "']/span",
+ resultDoc.getDocumentElement());
if ((nl != null) && (nl.getLength() == 1)) {
Element frameElemResultDoc = (Element) nl.item(0);
Element img = createErrorImageElement(frameElemResultDoc,
diff --git a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/eval/EvaluationResultBlind.java b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/eval/EvaluationResultBlind.java
index 258191c..2ecf658 100644
--- a/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/eval/EvaluationResultBlind.java
+++ b/plugins/org.eclipse.actf.visualization.engines.blind/src/org/eclipse/actf/visualization/engines/blind/eval/EvaluationResultBlind.java
@@ -15,52 +15,57 @@
import java.util.Iterator;
import java.util.List;
-import org.eclipse.actf.util.xpath.XPathUtil;
+import org.eclipse.actf.util.xpath.XPathService;
+import org.eclipse.actf.util.xpath.XPathServiceFactory;
import org.eclipse.actf.visualization.eval.EvaluationResultImpl;
import org.eclipse.actf.visualization.eval.guideline.GuidelineHolder;
import org.eclipse.actf.visualization.eval.problem.IProblemItem;
import org.w3c.dom.NodeList;
-
-
public class EvaluationResultBlind extends EvaluationResultImpl {
- private int count = 0;
-
- public void addProblemItems(Collection<IProblemItem> c) {
- stripProblem(c);
- super.addProblemItems(c);
- }
+ private static final XPathService xpathService = XPathServiceFactory
+ .newService();
+ private static final Object EXP1 = xpathService
+ .compile("ancestor::noscript");
- public void setProblemList(List<IProblemItem> problemList) {
- count = 0;
- stripProblem(problemList);
- super.setProblemList(problemList);
- }
+ private int count = 0;
- private void stripProblem(Collection<IProblemItem> c){
- GuidelineHolder holder = GuidelineHolder.getInstance();
- for (Iterator<IProblemItem> i = c.iterator(); i.hasNext();) {
- try {
- IProblemItem tmpItem = (IProblemItem) i.next();
- if (holder.isMatchedCheckItem(tmpItem.getEvaluationItem())) {
- tmpItem.setSerialNumber(count);
- if (tmpItem.isCanHighlight() && tmpItem.getTargetNode() != null) {
- NodeList tmpNL = XPathUtil.evalXPathNodeList(tmpItem.getTargetNode(), "ancestor::noscript");
- // noframes can highlight
- if (tmpNL != null && tmpNL.getLength() > 0) {
- tmpItem.setCanHighlight(false);
- }
- }
- count++;
- } else {
- i.remove();
- }
- } catch (Exception e) {
- // e.printStackTrace();
- i.remove();
- }
- }
- }
-
+ public void addProblemItems(Collection<IProblemItem> c) {
+ stripProblem(c);
+ super.addProblemItems(c);
+ }
+
+ public void setProblemList(List<IProblemItem> problemList) {
+ count = 0;
+ stripProblem(problemList);
+ super.setProblemList(problemList);
+ }
+
+ private void stripProblem(Collection<IProblemItem> c) {
+ GuidelineHolder holder = GuidelineHolder.getInstance();
+ for (Iterator<IProblemItem> i = c.iterator(); i.hasNext();) {
+ try {
+ IProblemItem tmpItem = (IProblemItem) i.next();
+ if (holder.isMatchedCheckItem(tmpItem.getEvaluationItem())) {
+ tmpItem.setSerialNumber(count);
+ if (tmpItem.isCanHighlight()
+ && tmpItem.getTargetNode() != null) {
+ NodeList tmpNL = xpathService.evalForNodeList(EXP1,
+ tmpItem.getTargetNode());
+ // noframes can highlight
+ if (tmpNL != null && tmpNL.getLength() > 0) {
+ tmpItem.setCanHighlight(false);
+ }
+ }
+ count++;
+ } else {
+ i.remove();
+ }
+ } catch (Exception e) {
+ // e.printStackTrace();
+ i.remove();
+ }
+ }
+ }
}
diff --git a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/HtmlEvalUtil.java b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/HtmlEvalUtil.java
index 007d7e8..389452c 100644
--- a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/HtmlEvalUtil.java
+++ b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/HtmlEvalUtil.java
@@ -20,7 +20,8 @@
import java.util.TreeSet;
import java.util.Vector;
-import org.eclipse.actf.util.xpath.XPathUtil;
+import org.eclipse.actf.util.xpath.XPathService;
+import org.eclipse.actf.util.xpath.XPathServiceFactory;
import org.eclipse.actf.visualization.eval.EvaluationUtil;
import org.eclipse.actf.visualization.eval.html.statistics.FlashData;
import org.eclipse.actf.visualization.eval.html.statistics.HeadingsData;
@@ -57,6 +58,13 @@
public static final String[] EVENT_FOCUS = { ATTR_ONFOCUS, ATTR_ONBLUR,
ATTR_ONSELECT };
+ private static final XPathService xpathService = XPathServiceFactory
+ .newService();
+ private static final Object EXP1 = xpathService.compile(".//a[@"
+ + ATTR_HREF + "]");
+ private static final Object EXP2 = xpathService
+ .compile("//h1|//h2|//h3|//h4|//h5|//h6");
+
private Document target;
private Document resultDoc;
@@ -144,8 +152,8 @@
private HashSet<String> notExistHrefSet = new HashSet<String>();
public HtmlEvalUtil(Document target, Document resultDoc, String curUrl,
- Map<Node, Integer> document2IdMap, Document origDom, Document ieDom,
- PageData pageData, boolean isDBCS, boolean isIEDom) {
+ Map<Node, Integer> document2IdMap, Document origDom,
+ Document ieDom, PageData pageData, boolean isDBCS, boolean isIEDom) {
this(target, resultDoc, curUrl, document2IdMap, origDom, ieDom,
pageData, 0, null, isDBCS, isIEDom);
}
@@ -154,8 +162,8 @@
*
*/
public HtmlEvalUtil(Document target, Document resultDoc, String curUrl,
- Map<Node, Integer> document2IdMap, Document origDom, Document ieDom,
- PageData pageData, int invisibleElementCount,
+ Map<Node, Integer> document2IdMap, Document origDom,
+ Document ieDom, PageData pageData, int invisibleElementCount,
String[] invisibleLinkStrings, boolean isDBCS, boolean isIEDom) {
this.target = target;
this.resultDoc = resultDoc;
@@ -189,8 +197,7 @@
// System.out.println(df.format(new Date(System.currentTimeMillis()))
// + ": checker engine init");
- NodeList tmpNL = XPathUtil.evalXPathNodeList(target, ".//" + "a"
- + ("[@" + ATTR_HREF + "]"));
+ NodeList tmpNL = xpathService.evalForNodeList(EXP1, target);
int length = tmpNL.getLength();
if (length > 0) {
@@ -338,10 +345,9 @@
}
}
- NodeList headingsNL = XPathUtil.evalXPathNodeList(target,
- "//h1|//h2|//h3|//h4|//h5|//h6");
+ NodeList headingsNL = xpathService.evalForNodeList(EXP2, target);
length = headingsNL.getLength();
- Vector<HeadingsData>tmpV2 = new Vector<HeadingsData>();
+ Vector<HeadingsData> tmpV2 = new Vector<HeadingsData>();
headings = new Element[headingsNL.getLength()];
for (int i = 0; i < length; i++) {
Element tmpE = (Element) headingsNL.item(i);
@@ -365,7 +371,7 @@
}
private Element[] getElementsArrayByXPath(Document target, String xpath) {
- NodeList tmpNL = XPathUtil.evalXPathNodeList(target, xpath);
+ NodeList tmpNL = xpathService.evalPathForNodeList(xpath, target);
int length = tmpNL.getLength();
Element[] result = new Element[length];
for (int i = 0; i < length; i++) {
@@ -435,7 +441,7 @@
if (EvaluationUtil.isOriginalDOM()) {
// target = orig DOM
- if (isIEDom||null==ieDom) {
+ if (isIEDom || null == ieDom) {
// parse error
return;
}
@@ -444,8 +450,7 @@
.asList(aWithHref_hrefs));
// trim()?
- NodeList ieNL = XPathUtil.evalXPathNodeList(ieDom, ".//" + "a"
- + ("[@" + ATTR_HREF + "]"));
+ NodeList ieNL = xpathService.evalForNodeList(EXP1, ieDom);
int size = ieNL.getLength();
for (int i = 0; i < size; i++) {
Element tmpE = (Element) ieNL.item(i);
@@ -456,8 +461,7 @@
}
} else {
// target = IE DOM
- NodeList orgNL = XPathUtil.evalXPathNodeList(origDom, ".//" + "a"
- + ("[@" + ATTR_HREF + "]"));
+ NodeList orgNL = xpathService.evalForNodeList(EXP1, origDom);
int size = orgNL.getLength();
TreeSet<String> existSet = new TreeSet<String>();
for (int i = 0; i < size; i++) {
diff --git a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/FlashData.java b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/FlashData.java
index 4892321..2934b78 100644
--- a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/FlashData.java
+++ b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/FlashData.java
@@ -11,7 +11,7 @@
package org.eclipse.actf.visualization.eval.html.statistics;
-import org.eclipse.actf.util.xpath.XPathUtil;
+import org.eclipse.actf.visualization.internal.eval.XMLStringUtil;
public class FlashData implements IPageStatisticsTag {
@@ -196,7 +196,7 @@
public String getItemXML() {
StringBuffer tmpSB = new StringBuffer("<" + FLASH + " " + SRC + "=\""
- + XPathUtil.canonicalize(src) + "\" "
+ + XMLStringUtil.canonicalize(src) + "\" "
+ FlashData.FLASH_IS_OBJECT + "=\"" + isObject + "\" ");
if (isObject && withEmbed) {
tmpSB.append(FlashData.FLASH_WITHEMBED + "=\"true\" ");
diff --git a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/HeadingsData.java b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/HeadingsData.java
index 8d530aa..d43388b 100644
--- a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/HeadingsData.java
+++ b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/HeadingsData.java
@@ -12,7 +12,7 @@
package org.eclipse.actf.visualization.eval.html.statistics;
import org.eclipse.actf.util.xpath.XPathCreator;
-import org.eclipse.actf.util.xpath.XPathUtil;
+import org.eclipse.actf.visualization.internal.eval.XMLStringUtil;
import org.w3c.dom.Element;
import org.xml.sax.Attributes;
@@ -75,7 +75,7 @@
}
private String getAttr(String name, String value) {
- return ((name + "=\"" + XPathUtil.canonicalize(value) + "\" "));
+ return ((name + "=\"" + XMLStringUtil.canonicalize(value) + "\" "));
}
public String getItemXML() {
diff --git a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/ImageStatData.java b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/ImageStatData.java
index cb8d642..921ef0b 100644
--- a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/ImageStatData.java
+++ b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/ImageStatData.java
@@ -15,262 +15,267 @@
import java.util.Vector;
import org.eclipse.actf.util.FileUtils;
-import org.eclipse.actf.util.xpath.XPathUtil;
+import org.eclipse.actf.util.xpath.XPathService;
+import org.eclipse.actf.util.xpath.XPathServiceFactory;
import org.eclipse.actf.visualization.eval.problem.IProblemItem;
import org.eclipse.actf.visualization.eval.problem.ProblemItemImpl;
+import org.eclipse.actf.visualization.internal.eval.XMLStringUtil;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.html.HTMLAnchorElement;
import org.w3c.dom.html.HTMLImageElement;
import org.xml.sax.Attributes;
-
-
public class ImageStatData implements IPageStatisticsTag {
public static final String ISMAP = "ismap";
- public static final String USEMAP ="usemap";
+ public static final String USEMAP = "usemap";
public static final String LONGDESC = "longdesc";
-
- protected String altS = "";
+ private static final XPathService xpathService = XPathServiceFactory
+ .newService();
+ private static final Object EXP1 = xpathService.compile("ancestor::a");
- protected Element ancestorLink = null;
+ protected String altS = "";
- protected String destUrlS = "";
+ protected Element ancestorLink = null;
- protected boolean hasAlt = false;
+ protected String destUrlS = "";
- protected boolean hasHeight = false;
+ protected boolean hasAlt = false;
- protected boolean hasLongDesc = false;
+ protected boolean hasHeight = false;
- protected boolean hasUseMap = false;
+ protected boolean hasLongDesc = false;
- protected boolean hasWidth = false;
+ protected boolean hasUseMap = false;
- protected String heightS = "";
+ protected boolean hasWidth = false;
- protected boolean isInLink = false;
+ protected String heightS = "";
- protected boolean isMap = false;
+ protected boolean isInLink = false;
- protected String longDescS = "";
+ protected boolean isMap = false;
- // for problem statistics
- protected Vector<IProblemItem> problemV = new Vector<IProblemItem>();
+ protected String longDescS = "";
- protected String srcS = "";
+ // for problem statistics
+ protected Vector<IProblemItem> problemV = new Vector<IProblemItem>();
- protected String urlS = "";
+ protected String srcS = "";
- protected String useMapS = "";
+ protected String urlS = "";
- protected String widthS = "";
+ protected String useMapS = "";
+ protected String widthS = "";
- protected ImageStatData() {
- }
+ protected ImageStatData() {
+ }
- /**
- * @param tagName
- * @param text
- */
- public ImageStatData(HTMLImageElement target, URL baseURL) {
+ /**
+ * @param tagName
+ * @param text
+ */
+ public ImageStatData(HTMLImageElement target, URL baseURL) {
- srcS = target.getSrc();
- urlS = srcS;
- try {
- urlS = new URL(baseURL, urlS).toString();
- } catch (Exception e) {
- }
+ srcS = target.getSrc();
+ urlS = srcS;
+ try {
+ urlS = new URL(baseURL, urlS).toString();
+ } catch (Exception e) {
+ }
- //System.out.println(urlS);
+ // System.out.println(urlS);
- if (hasAlt = target.hasAttribute(ALT)) {
- altS = target.getAlt();
- }
- if (hasLongDesc = target.hasAttribute(ImageStatData.LONGDESC)) {
- longDescS = target.getLongDesc();
- }
- if (hasUseMap = target.hasAttribute(ImageStatData.USEMAP)) {
- useMapS = target.getUseMap();
- }
+ if (hasAlt = target.hasAttribute(ALT)) {
+ altS = target.getAlt();
+ }
+ if (hasLongDesc = target.hasAttribute(ImageStatData.LONGDESC)) {
+ longDescS = target.getLongDesc();
+ }
+ if (hasUseMap = target.hasAttribute(ImageStatData.USEMAP)) {
+ useMapS = target.getUseMap();
+ }
- if (hasWidth = target.hasAttribute(WIDTH)) {
- widthS = target.getWidth();
- }
+ if (hasWidth = target.hasAttribute(WIDTH)) {
+ widthS = target.getWidth();
+ }
- if (hasHeight = target.hasAttribute(HEIGHT)) {
- heightS = target.getHeight();
- }
+ if (hasHeight = target.hasAttribute(HEIGHT)) {
+ heightS = target.getHeight();
+ }
- isMap = target.getIsMap();
+ isMap = target.getIsMap();
- NodeList tmpNL = XPathUtil.evalXPathNodeList(target, "ancestor::a");
- //XPathUtil.showNodeList(tmpNL,true);
- int len = tmpNL.getLength();
- if (len > 0) {
- HTMLAnchorElement tmpE = (HTMLAnchorElement) tmpNL.item(0);
- if (isInLink = tmpE.hasAttribute(HREF)) {
- destUrlS = tmpE.getHref();
- ancestorLink = tmpE;
- try {
- destUrlS = new URL(baseURL, destUrlS).toString();
- } catch (Exception e) {
- }
- }
- }
- }
+ NodeList tmpNL = xpathService.evalForNodeList(EXP1, target);
+ // XPathUtil.showNodeList(tmpNL,true);
+ int len = tmpNL.getLength();
+ if (len > 0) {
+ HTMLAnchorElement tmpE = (HTMLAnchorElement) tmpNL.item(0);
+ if (isInLink = tmpE.hasAttribute(HREF)) {
+ destUrlS = tmpE.getHref();
+ ancestorLink = tmpE;
+ try {
+ destUrlS = new URL(baseURL, destUrlS).toString();
+ } catch (Exception e) {
+ }
+ }
+ }
+ }
- public void addProblemItem(Attributes atts) throws StatisticsDataFormatException {
- String idS = atts.getValue(ID);
- String targetS = atts.getValue(TARGET_STRING);
+ public void addProblemItem(Attributes atts)
+ throws StatisticsDataFormatException {
+ String idS = atts.getValue(ID);
+ String targetS = atts.getValue(TARGET_STRING);
- if (idS != null) {
- IProblemItem tmpItem = new ProblemItemImpl(idS);
- if (!tmpItem.getId().equals("unknown")) {
- if (targetS != null) {
- tmpItem.setTargetStringForHPB(targetS);
- }
- addProblemItem(tmpItem);
- return;
- }
- }
- throw new StatisticsDataFormatException();
- }
+ if (idS != null) {
+ IProblemItem tmpItem = new ProblemItemImpl(idS);
+ if (!tmpItem.getId().equals("unknown")) {
+ if (targetS != null) {
+ tmpItem.setTargetStringForHPB(targetS);
+ }
+ addProblemItem(tmpItem);
+ return;
+ }
+ }
+ throw new StatisticsDataFormatException();
+ }
- public void addProblemItem(IProblemItem problemItem) {
- problemV.add(problemItem);
- }
+ public void addProblemItem(IProblemItem problemItem) {
+ problemV.add(problemItem);
+ }
- public String getAltS() {
- return this.altS;
- }
+ public String getAltS() {
+ return this.altS;
+ }
- public Element getAncestorLink() {
- return ancestorLink;
- }
+ public Element getAncestorLink() {
+ return ancestorLink;
+ }
- private String getAttr(String name, boolean value) {
- return (getAttr(name, Boolean.toString(value)));
- }
+ private String getAttr(String name, boolean value) {
+ return (getAttr(name, Boolean.toString(value)));
+ }
- private String getAttr(String name, String value) {
- return ((name + "=\"" + XPathUtil.canonicalize(value) + "\" "));
- }
+ private String getAttr(String name, String value) {
+ return ((name + "=\"" + XMLStringUtil.canonicalize(value) + "\" "));
+ }
- public String getDestUrlS() {
- return destUrlS;
- }
+ public String getDestUrlS() {
+ return destUrlS;
+ }
- public String getHeightS() {
- return heightS;
- }
+ public String getHeightS() {
+ return heightS;
+ }
- public String getItemXML() {
- StringBuffer tmpSB = new StringBuffer("<" + IMAGE + " " + getAttr(SRC, srcS) + getAttr(URL, urlS)
- + getAttr(ImageStatData.ISMAP, isMap));
- if (hasAlt) {
- tmpSB.append(getAttr(ALT, altS));
- }
- if (hasWidth) {
- tmpSB.append(getAttr(WIDTH, widthS));
- }
- if (hasHeight) {
- tmpSB.append(getAttr(HEIGHT, heightS));
- }
- if (isInLink) {
- tmpSB.append(getAttr(DEST, destUrlS));
- }
- if (hasLongDesc) {
- tmpSB.append(getAttr(ImageStatData.LONGDESC, longDescS));
- }
- if (hasUseMap) {
- tmpSB.append(getAttr(ImageStatData.USEMAP, useMapS));
- }
- int size = problemV.size();
- if (size == 0) {
- tmpSB.append(" />");
- } else {
- tmpSB.append(" >" + FileUtils.LINE_SEP);
- for (int i = 0; i < size; i++) {
- IProblemItem pItem = (IProblemItem) problemV.get(i);
- tmpSB.append("<" + ERROR + " " + getAttr(ID, pItem.getId())
- + getAttr(TARGET_STRING, pItem.getTargetStringForHPB()) + " />" + FileUtils.LINE_SEP);
- }
- tmpSB.append("</" + IMAGE + ">");
- }
- return (tmpSB.toString());
- }
+ public String getItemXML() {
+ StringBuffer tmpSB = new StringBuffer("<" + IMAGE + " "
+ + getAttr(SRC, srcS) + getAttr(URL, urlS)
+ + getAttr(ImageStatData.ISMAP, isMap));
+ if (hasAlt) {
+ tmpSB.append(getAttr(ALT, altS));
+ }
+ if (hasWidth) {
+ tmpSB.append(getAttr(WIDTH, widthS));
+ }
+ if (hasHeight) {
+ tmpSB.append(getAttr(HEIGHT, heightS));
+ }
+ if (isInLink) {
+ tmpSB.append(getAttr(DEST, destUrlS));
+ }
+ if (hasLongDesc) {
+ tmpSB.append(getAttr(ImageStatData.LONGDESC, longDescS));
+ }
+ if (hasUseMap) {
+ tmpSB.append(getAttr(ImageStatData.USEMAP, useMapS));
+ }
+ int size = problemV.size();
+ if (size == 0) {
+ tmpSB.append(" />");
+ } else {
+ tmpSB.append(" >" + FileUtils.LINE_SEP);
+ for (int i = 0; i < size; i++) {
+ IProblemItem pItem = (IProblemItem) problemV.get(i);
+ tmpSB.append("<" + ERROR + " " + getAttr(ID, pItem.getId())
+ + getAttr(TARGET_STRING, pItem.getTargetStringForHPB())
+ + " />" + FileUtils.LINE_SEP);
+ }
+ tmpSB.append("</" + IMAGE + ">");
+ }
+ return (tmpSB.toString());
+ }
- public String getLongDescS() {
- return longDescS;
- }
+ public String getLongDescS() {
+ return longDescS;
+ }
- public Vector<IProblemItem> getProblemV() {
- return this.problemV;
- }
+ public Vector<IProblemItem> getProblemV() {
+ return this.problemV;
+ }
- public String getSrcS() {
- return srcS;
- }
+ public String getSrcS() {
+ return srcS;
+ }
- public String getUrlS() {
- return this.urlS;
- }
+ public String getUrlS() {
+ return this.urlS;
+ }
- public String getUseMapS() {
- return useMapS;
- }
+ public String getUseMapS() {
+ return useMapS;
+ }
- public String getWidthS() {
- return widthS;
- }
+ public String getWidthS() {
+ return widthS;
+ }
- public boolean isHasAlt() {
- return this.hasAlt;
- }
+ public boolean isHasAlt() {
+ return this.hasAlt;
+ }
- public boolean isHasHeight() {
- return hasHeight;
- }
+ public boolean isHasHeight() {
+ return hasHeight;
+ }
- public boolean isHasLongDesc() {
- return hasLongDesc;
- }
+ public boolean isHasLongDesc() {
+ return hasLongDesc;
+ }
- public boolean isHasUseMap() {
- return hasUseMap;
- }
+ public boolean isHasUseMap() {
+ return hasUseMap;
+ }
- public boolean isHasWidth() {
- return hasWidth;
- }
+ public boolean isHasWidth() {
+ return hasWidth;
+ }
- public boolean isInLink() {
- return isInLink;
- }
+ public boolean isInLink() {
+ return isInLink;
+ }
- public boolean isMap() {
- return isMap;
- }
+ public boolean isMap() {
+ return isMap;
+ }
- public void setHasHeight(boolean hasHeight) {
- this.hasHeight = hasHeight;
- }
+ public void setHasHeight(boolean hasHeight) {
+ this.hasHeight = hasHeight;
+ }
- public void setHasWidth(boolean hasWidth) {
- this.hasWidth = hasWidth;
- }
+ public void setHasWidth(boolean hasWidth) {
+ this.hasWidth = hasWidth;
+ }
- public void setHeightS(String heightS) {
- this.heightS = heightS;
- }
+ public void setHeightS(String heightS) {
+ this.heightS = heightS;
+ }
- public void setWidthS(String widthS) {
- this.widthS = widthS;
- }
+ public void setWidthS(String widthS) {
+ this.widthS = widthS;
+ }
}
diff --git a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/PageData.java b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/PageData.java
index 2e0ed65..65b48f1 100644
--- a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/PageData.java
+++ b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/eval/html/statistics/PageData.java
@@ -16,9 +16,9 @@
import java.util.Vector;
import org.eclipse.actf.util.FileUtils;
-import org.eclipse.actf.util.xpath.XPathUtil;
import org.eclipse.actf.visualization.eval.problem.IProblemItem;
import org.eclipse.actf.visualization.eval.problem.IProblemItemVisitor;
+import org.eclipse.actf.visualization.internal.eval.XMLStringUtil;
import org.w3c.dom.Element;
import org.w3c.dom.html.HTMLImageElement;
@@ -153,7 +153,7 @@
}
private String getAttr(String name, String value) {
- return ((name + "=\"" + XPathUtil.canonicalize(value) + "\" "));
+ return ((name + "=\"" + XMLStringUtil.canonicalize(value) + "\" "));
}
public int getSkipMainNum() {
diff --git a/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/internal/eval/XMLStringUtil.java b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/internal/eval/XMLStringUtil.java
new file mode 100644
index 0000000..2035fba
--- /dev/null
+++ b/plugins/org.eclipse.actf.visualization.eval/src/org/eclipse/actf/visualization/internal/eval/XMLStringUtil.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 IBM Corporation and Others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Shin SAITO - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.actf.visualization.internal.eval;
+
+
+/**
+ * Utility class to canonicalize String
+ */
+public class XMLStringUtil {
+
+
+ /**
+ * Canonicalize target String
+ *
+ * @param targetS
+ * the target String
+ * @return canonicalized String
+ */
+ public static String canonicalize(String targetS) {
+ return (targetS.replaceAll("\\p{Cntrl}", "").replaceAll("&", "&")
+ .replaceAll("<", "<").replaceAll(">", ">").replaceAll(
+ "\"", """).replaceAll("\'", "'"));
+ }
+
+}