pierred 00/11/18 14:36:49
Modified: jasper/src/share/org/apache/jasper/compiler JspUtil.java
TagLibraryInfoImpl.java TldLocationsCache.java
Log:
Cleanup of all code where "element child text data"
is read from the DOM when we parse a TLD.
Trim all text data read, and properly handle
null values.
Revision Changes Path
1.6 +45 -3 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java
Index: JspUtil.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JspUtil.java 2000/10/11 19:35:15 1.5
+++ JspUtil.java 2000/11/18 22:36:48 1.6
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java,v
1.5 2000/10/11 19:35:15 shemnon Exp $
- * $Revision: 1.5 $
- * $Date: 2000/10/11 19:35:15 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java,v
1.6 2000/11/18 22:36:48 pierred Exp $
+ * $Revision: 1.6 $
+ * $Date: 2000/11/18 22:36:48 $
*
* ====================================================================
*
@@ -345,6 +345,48 @@
return table;
}
+ /**
+ * Get the data for the first child associated with the
+ * Element provided as argument. It is assumed that this
+ * first child is of type Text.
+ *
+ * @param e the DOM Element to read from
+ * @return the data associated with the first child of the DOM
+ * element.
+ */
+ public static String getElementChildTextData(Element e) {
+ String s = null;
+ Text t = (Text)e.getFirstChild();
+ if (t != null) {
+ s = t.getData();
+ if (s != null) {
+ s = s.trim();
+ }
+ }
+ return s;
+ }
+
+ /**
+ * Convert a String value to 'boolean'.
+ * Besides the standard conversions done by
+ * Boolean.valueOf(s).booleanValue(), the value "yes"
+ * (ignore case) is also converted to 'true'.
+ * If 's' is null, then 'false' is returned.
+ *
+ * @param s the string to be converted
+ * @return the boolean value associated with the string s
+ */
+ public static boolean booleanValue(String s) {
+ boolean b = false;
+ if (s != null) {
+ if (s.equalsIgnoreCase("yes")) {
+ b = true;
+ } else {
+ b = Boolean.valueOf(s).booleanValue();
+ }
+ }
+ return b;
+ }
}
class MyEntityResolver implements EntityResolver {
1.15 +41 -87 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
Index: TagLibraryInfoImpl.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- TagLibraryInfoImpl.java 2000/11/17 22:39:23 1.14
+++ TagLibraryInfoImpl.java 2000/11/18 22:36:48 1.15
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
1.14 2000/11/17 22:39:23 pierred Exp $
- * $Revision: 1.14 $
- * $Date: 2000/11/17 22:39:23 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
1.15 2000/11/18 22:36:48 pierred Exp $
+ * $Revision: 1.15 $
+ * $Date: 2000/11/18 22:36:48 $
*
* The Apache Software License, Version 1.1
*
@@ -282,25 +282,15 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("tlibversion") || tname.equals("tlib-version")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- this.tlibversion = t.getData().trim();
+ this.tlibversion = JspUtil.getElementChildTextData(e);
} else if (tname.equals("jspversion") || tname.equals("jsp-version")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- this.jspversion = t.getData().trim();
+ this.jspversion = JspUtil.getElementChildTextData(e);
} else if (tname.equals("shortname") || tname.equals("short-name")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- this.shortname = t.getData().trim();
+ this.shortname = JspUtil.getElementChildTextData(e);
} else if (tname.equals("uri")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- this.urn = t.getData().trim();
+ this.urn = JspUtil.getElementChildTextData(e);
} else if (tname.equals("info")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- this.info = t.getData().trim();
+ this.info = JspUtil.getElementChildTextData(e);
} else if (tname.equals("validator")) {
this.tagLibraryValidator = createValidator(e);
} else if (tname.equals("tag"))
@@ -339,42 +329,26 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("name")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- name = t.getData().trim();
+ name = JspUtil.getElementChildTextData(e);
} else if (tname.equals("tagclass") || tname.equals("tag-class")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- tagclass = t.getData().trim();
+ tagclass = JspUtil.getElementChildTextData(e);
} else if (tname.equals("teiclass") || tname.equals("tei-class")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- teiclass = t.getData().trim();
+ teiclass = JspUtil.getElementChildTextData(e);
} else if (tname.equals("bodycontent") || tname.equals("body-content")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- bodycontent = t.getData().trim();
+ bodycontent = JspUtil.getElementChildTextData(e);
} else if (tname.equals("info") || tname.equals("tlib-description")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- info = t.getData().trim();
+ info = JspUtil.getElementChildTextData(e);
} else if (tname.equals("attribute")) {
attributeVector.addElement(createAttribute(e));
// JSP 1.2
} else if (tname.equals("display-name")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- displayName = t.getData().trim();
+ displayName = JspUtil.getElementChildTextData(e);
} else if (tname.equals("small-icon")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- smallIcon = t.getData().trim();
+ smallIcon = JspUtil.getElementChildTextData(e);
} else if (tname.equals("large-icon")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- largeIcon = t.getData().trim();
+ largeIcon = JspUtil.getElementChildTextData(e);
} else if (tname.equals("variable")) {
if (teiclass != null) {
// teiclass comes first in the tag element
@@ -453,27 +427,19 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("name")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- name = t.getData().trim();
+ name = JspUtil.getElementChildTextData(e);
} else if (tname.equals("required")) {
- Text t = (Text) e.getFirstChild();
- if (t != null) {
- required = Boolean.valueOf(t.getData().trim()).booleanValue();
- if( t.getData().trim().equalsIgnoreCase("yes") )
- required = true;
+ String s = JspUtil.getElementChildTextData(e);
+ if (s != null) {
+ required = JspUtil.booleanValue(s);
}
} else if (tname.equals("rtexprvalue")) {
- Text t = (Text) e.getFirstChild();
- if (t != null) {
- rtexprvalue = Boolean.valueOf(t.getData().trim()).booleanValue();
- if( t.getData().trim().equalsIgnoreCase("yes") )
- rtexprvalue = true;
+ String s = JspUtil.getElementChildTextData(e);
+ if (s != null) {
+ rtexprvalue = JspUtil.booleanValue(s);
}
} else if (tname.equals("type")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- type = t.getData().trim();
+ type = JspUtil.getElementChildTextData(e);
} else
Constants.message("jsp.warning.unknown.element.in.attribute",
new Object[] {
@@ -501,28 +467,19 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("name-given")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- nameGiven = t.getData().trim();
+ nameGiven = JspUtil.getElementChildTextData(e);
} else if (tname.equals("name-from-attribute")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- nameFromAttribute = t.getData().trim();
+ nameFromAttribute = JspUtil.getElementChildTextData(e);
} else if (tname.equals("variable-class")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- className = t.getData().trim();
+ className = JspUtil.getElementChildTextData(e);
} else if (tname.equals("declare")) {
- Text t = (Text) e.getFirstChild();
- if (t != null) {
- declare = Boolean.valueOf(t.getData().trim()).booleanValue();
- if (t.getData().trim().equalsIgnoreCase("yes"))
- declare = true;
+ String s = JspUtil.getElementChildTextData(e);
+ if (s != null) {
+ declare = JspUtil.booleanValue(s);
}
} else if (tname.equals("scope")) {
- Text t = (Text) e.getFirstChild();
- if (t != null) {
- String s = t.getData().trim();
+ String s = JspUtil.getElementChildTextData(e);
+ if (s != null) {
if ("NESTED".equals(s)) {
scope = VariableInfo.NESTED;
} else if ("AT_BEGIN".equals(s)) {
@@ -531,10 +488,11 @@
scope = VariableInfo.AT_END;
}
}
- } else
+ } else {
Constants.message("jsp.warning.unknown.element.in.variable",
new Object[] {e.getTagName()},
Logger.WARNING);
+ }
}
return new TagVariableInfo(nameGiven, nameFromAttribute,
className, declare, scope);
@@ -551,16 +509,15 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("validator-class")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- validatorClass = t.getData().trim();
+ validatorClass = JspUtil.getElementChildTextData(e);
} else if (tname.equals("init-param")) {
String[] initParam = createInitParam(e);
initParams.put(initParam[0], initParam[1]);
- } else
+ } else {
Constants.message("jsp.warning.unknown.element.in.validator", //@@@ add
in properties
new Object[] {e.getTagName()},
Logger.WARNING);
+ }
}
TagLibraryValidator tlv = null;
@@ -595,19 +552,16 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("param-name")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- initParam[0] = t.getData().trim();
+ initParam[0] = JspUtil.getElementChildTextData(e);
} else if (tname.equals("param-value")) {
- Text t = (Text) e.getFirstChild();
- if (t != null)
- initParam[1] = t.getData().trim();
+ initParam[1] = JspUtil.getElementChildTextData(e);
} else if (tname.equals("description")) {
// do nothing
- } else
+ } else {
Constants.message("jsp.warning.unknown.element.in.initParam", //@@@ properties
new Object[] {e.getTagName()},
Logger.WARNING);
+ }
}
return initParam;
}
1.2 +4 -14 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TldLocationsCache.java
Index: TldLocationsCache.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TldLocationsCache.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TldLocationsCache.java 2000/11/06 20:53:32 1.1
+++ TldLocationsCache.java 2000/11/18 22:36:49 1.2
@@ -161,23 +161,16 @@
String tagUri = null;
String tagLoc = null;
Element e = (Element)nList.item(i);
+
NodeList uriList = e.getElementsByTagName("taglib-uri");
Element uriElem = (Element)uriList.item(0);
- Text t = (Text)uriElem.getFirstChild();
- if (t == null) continue;
-
- tagUri = t.getData();
+ tagUri = JspUtil.getElementChildTextData(uriElem);
if (tagUri == null) continue;
- tagUri = tagUri.trim();
NodeList locList =
e.getElementsByTagName("taglib-location");
Element locElem = (Element)locList.item(0);
- Text tl = (Text)locElem.getFirstChild();
- if (tl == null) continue;
-
- tagLoc = tl.getData();
- if (tagLoc != null) tagLoc = tagLoc.trim();
+ tagLoc = JspUtil.getElementChildTextData(locElem);
if (tagLoc == null) continue;
if (uriType(tagLoc) == NOROOT_REL_URI) {
@@ -293,10 +286,7 @@
Element e = (Element) tmp;
String tname = e.getTagName();
if (tname.equals("uri")) {
- Text t = (Text)e.getFirstChild();
- if (t != null) {
- return t.getData();
- }
+ return JspUtil.getElementChildTextData(e);
}
}
//p("No URI defined for this tag library: " + resourcePath);
|