cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
kinman 2004/09/07 13:15:37 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - Fix 31098: Update java keywords for the latest language spec. Revision ChangesPath 1.50 +2 -2 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- JspUtil.java 11 Jun 2004 00:29:56 - 1.49 +++ JspUtil.java 7 Sep 2004 20:15:37 - 1.50 @@ -62,9 +62,9 @@ = new ExpressionEvaluatorImpl(); private static final String javaKeywords[] = { -abstract, boolean, break, byte, case, +abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, -default, do, double, else, extends, +default, do, double, else, enum, extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
billbarker2003/08/13 21:36:25 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Restoring JVM 1.3.x compatibility to Jasper. Revision ChangesPath 1.43 +32 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- JspUtil.java 9 Aug 2003 19:19:37 - 1.42 +++ JspUtil.java 14 Aug 2003 04:36:25 - 1.43 @@ -945,7 +945,7 @@ * @return Java package corresponding to the given path */ public static final String makeJavaPackage(String path) { -String classNameComponents[] = path.split(/); +String classNameComponents[] = split(path,/); StringBuffer legalClassNames = new StringBuffer(); for (int i = 0; i classNameComponents.length; i++) { legalClassNames.append(makeJavaIdentifier(classNameComponents[i])); @@ -956,6 +956,34 @@ return legalClassNames.toString(); } +/** + * Splits a string into it's components. + * @param path String to split + * @param pat Pattern to split at + * @return the components of the path + */ +private static final String [] split(String path, String pat) { +Vector comps = new Vector(); +int pos = path.indexOf(pat); +int start = 0; +while( pos = 0 ) { +if(pos start ) { +String comp = path.substring(start,pos); +comps.add(comp); +} +start = pos +1; +pos = path.indexOf(pat,start); +} +if( start path.length()) { +comps.add(path.substring(start)); +} +String [] result = new String[comps.size()]; +for(int i=0; i comps.size(); i++) { +result[i] = (String)comps.elementAt(i); +} +return result; +} + /** * Converts the given identifier to a legal Java identifier * - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
remm2003/08/08 03:22:23 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - Bug 22133: workaround for a JDK 1.3 scoping bug. There could be additional similar issues. - Submitted by Matthias Ernst. Revision ChangesPath 1.41 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- JspUtil.java 30 Jul 2003 17:33:14 - 1.40 +++ JspUtil.java 8 Aug 2003 10:22:23 - 1.41 @@ -534,7 +534,7 @@ */ String jspCtxt = null; if (isTagFile) - jspCtxt = getJspContext(); + jspCtxt = this.getJspContext(); else jspCtxt = pageContext; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
billbarker2003/08/13 22:02:53 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Fixing my own bugs ;-) The previous commit worked for the one place that split is currently used, but breaks if when you attempt a more general case. Revision ChangesPath 1.44 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- JspUtil.java 14 Aug 2003 04:36:25 - 1.43 +++ JspUtil.java 14 Aug 2003 05:02:53 - 1.44 @@ -971,7 +971,7 @@ String comp = path.substring(start,pos); comps.add(comp); } -start = pos +1; +start = pos + pat.length(); pos = path.indexOf(pat,start); } if( start path.length()) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
kinman 2003/07/30 10:33:14 Modified:jasper2/src/share/org/apache/jasper JspCompilationContext.java jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Refactor getDerivedPackageName and eliminate some duplicate code. Patch by Eric Carmichael . Revision ChangesPath 1.42 +6 -29 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java Index: JspCompilationContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- JspCompilationContext.java29 Jul 2003 23:22:23 - 1.41 +++ JspCompilationContext.java30 Jul 2003 17:33:14 - 1.42 @@ -399,33 +399,10 @@ private String getDerivedPackageName() { if (derivedPackageName == null) { -StringBuffer modifiedPackageName = new StringBuffer(); int iSep = jspUri.lastIndexOf('/'); -// Start after the first slash -int nameStart = 1; -for (int i = 1; i iSep; i++) { -char ch = jspUri.charAt(i); -if (i == nameStart !Character.isJavaIdentifierStart(ch)) { -modifiedPackageName.append('_'); -} -if (Character.isJavaIdentifierPart(ch) ch != '_') { -modifiedPackageName.append(ch); -} else if (ch == '/') { -if (JspUtil.isJavaKeyword(jspUri.substring(nameStart, i))) { -modifiedPackageName.append('_'); -} -nameStart = i+1; -modifiedPackageName.append('.'); -} else { -modifiedPackageName.append(JspUtil.mangleChar(ch)); -} -} -if (nameStart iSep - JspUtil.isJavaKeyword(jspUri.substring(nameStart, iSep))) { -modifiedPackageName.append('_'); -} -derivedPackageName = modifiedPackageName.toString(); -} +derivedPackageName = (iSep 0) ? +JspUtil.makeJavaPackage(jspUri.substring(1,iSep)) : ; + } return derivedPackageName; } 1.40 +21 -11 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- JspUtil.java 29 Jul 2003 23:22:23 - 1.39 +++ JspUtil.java 30 Jul 2003 17:33:14 - 1.40 @@ -930,21 +930,28 @@ } } -//Make sure the class name consists of legal Java identifiers -String classNameComponents[] = path.substring(begin).split(/); +className += makeJavaPackage(path.substring(begin)); + + return className; +} + +/** + * Converts the given path to a Java package or fully-qualified class name + * + * @param path Path to convert + * + * @return Java package corresponding to the given path + */ +public static final String makeJavaPackage(String path) { +String classNameComponents[] = path.split(/); StringBuffer legalClassNames = new StringBuffer(); for (int i = 0; i classNameComponents.length; i++) { legalClassNames.append(makeJavaIdentifier(classNameComponents[i])); -if (isJavaKeyword(classNameComponents[i])) { -legalClassNames.append('_'); -} if (i classNameComponents.length - 1) { legalClassNames.append('.'); } } -className += legalClassNames.toString(); - - return className; +return legalClassNames.toString(); } /** @@ -969,6 +976,9 @@ } else { modifiedIdentifier.append(mangleChar(ch)); } +} +if (isJavaKeyword(modifiedIdentifier.toString())) { +modifiedIdentifier.append('_'); } return modifiedIdentifier.toString(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
kinman 2003/07/29 16:22:23 Modified:jasper2/src/share/org/apache/jasper JspCompilationContext.java jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - Fix bug 21978: Certain tag file pathnames lead to compile errors Patch submitted by [EMAIL PROTECTED] (Eric Carmichael), with my added check for Java keywords in package names. Revision ChangesPath 1.41 +20 -78 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java Index: JspCompilationContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- JspCompilationContext.java21 May 2003 18:09:33 - 1.40 +++ JspCompilationContext.java29 Jul 2003 23:22:23 - 1.41 @@ -61,19 +61,24 @@ package org.apache.jasper; -import java.io.*; -import java.net.*; -import java.util.*; -import java.util.jar.JarFile; +import java.io.File; +import java.io.FileNotFoundException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Hashtable; +import java.util.Set; + import javax.servlet.ServletContext; import javax.servlet.jsp.tagext.TagInfo; -import javax.servlet.jsp.tagext.TagData; -import org.apache.jasper.compiler.JspRuntimeContext; -import org.apache.jasper.compiler.ServletWriter; + import org.apache.jasper.compiler.Compiler; +import org.apache.jasper.compiler.JspRuntimeContext; +import org.apache.jasper.compiler.JspUtil; import org.apache.jasper.compiler.Localizer; -import org.apache.jasper.servlet.JspServletWrapper; +import org.apache.jasper.compiler.ServletWriter; import org.apache.jasper.servlet.JasperLoader; +import org.apache.jasper.servlet.JspServletWrapper; /** * A place holder for various things that are used through out the JSP @@ -128,19 +133,6 @@ private TagInfo tagInfo; private URL tagFileJarUrl; -private static final String javaKeywords[] = { -abstract, boolean, break, byte, case, -catch, char, class, const, continue, -default, do, double, else, extends, -final, finally, float, for, goto, -if, implements, import, instanceof, int, -interface, long, native, new, package, -private, protected, public, return, short, -static, strictfp, super, switch, synchronized, -this, throws, transient, try, void, -volatile, while }; - - // jspURI _must_ be relative to the context public JspCompilationContext(String jspUri, boolean isErrPage, @@ -343,25 +335,8 @@ } } else { int iSep = jspUri.lastIndexOf('/') + 1; -int iEnd = jspUri.length(); -StringBuffer modifiedClassName = -new StringBuffer(jspUri.length() - iSep); -if (!Character.isJavaIdentifierStart(jspUri.charAt(iSep))) { -modifiedClassName.append('_'); -} -for (int i = iSep; i iEnd; i++) { -char ch = jspUri.charAt(i); -if (Character.isJavaIdentifierPart(ch) ch != '_') { -modifiedClassName.append(ch); -} else if (ch == '.') { -modifiedClassName.append('_'); -} else { -modifiedClassName.append(mangleChar(ch)); -} -} -className = modifiedClassName.toString(); +className = JspUtil.makeJavaIdentifier(jspUri.substring(iSep)); } - return className; } @@ -436,17 +411,17 @@ if (Character.isJavaIdentifierPart(ch) ch != '_') { modifiedPackageName.append(ch); } else if (ch == '/') { -if (isJavaKeyword(jspUri.substring(nameStart, i))) { +if (JspUtil.isJavaKeyword(jspUri.substring(nameStart, i))) { modifiedPackageName.append('_'); } nameStart = i+1; modifiedPackageName.append('.'); } else { -modifiedPackageName.append(mangleChar(ch)); +modifiedPackageName.append(JspUtil.mangleChar(ch)); } } if (nameStart iSep - isJavaKeyword(jspUri.substring(nameStart, iSep))) { + JspUtil.isJavaKeyword(jspUri.substring(nameStart, iSep))) { modifiedPackageName.append('_'); }
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
kinman 2003/06/24 18:01:55 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - Fix 21067: EL expression that returns an array causes compilation error. Revision ChangesPath 1.38 +42 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- JspUtil.java 19 May 2003 21:48:05 - 1.37 +++ JspUtil.java 25 Jun 2003 01:01:55 - 1.38 @@ -579,6 +579,7 @@ // Note that PageContextImpl implements VariableResolver and // the generated Servlet/SimpleTag implements FunctionMapper, so // that machinery is already in place (mroth). + targetType = toJavaSourceType(targetType); StringBuffer call = new StringBuffer( ( + targetType + ) + org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate @@ -931,6 +932,44 @@ } return reader; +} + +/** + * Class.getName() return arrays in the form [[[et, where et, + * the element type can be one of ZBCDFIJS or Lclassname; + * It is converted into forms that can be understood by javac. + */ +private static String toJavaSourceType(String type) { + + if (type.charAt(0) != '[') { + return type; + } + + int dims = 1; + String t = null; + for (int i = 1; i type.length(); i++) { + if (type.charAt(i) == '[') { + dims++; + } else { + switch (type.charAt(i)) { + case 'Z': t = boolean; break; + case 'B': t = byte; break; + case 'C': t = char; break; + case 'D': t = double; break; + case 'F': t = float; break; + case 'I': t = int; break; + case 'J': t = long; break; + case 'S': t = short; break; + case 'L': t = type.substring(i+1, type.indexOf(';')); break; + } + break; + } + } + StringBuffer resultType = new StringBuffer(t); + for (; dims 0; dims--) { + resultType.append([]); + } + return resultType.toString(); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
jfarcand2003/02/20 07:50:36 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Fix for JSP.2.6: A % is quoted as %\ Bugtraq: 4679681 Revision ChangesPath 1.32 +64 -63 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- JspUtil.java 8 Feb 2003 00:06:40 - 1.31 +++ JspUtil.java 20 Feb 2003 15:50:36 - 1.32 @@ -111,17 +111,18 @@ = new ExpressionEvaluatorImpl(); public static char[] removeQuotes(char []chars) { - CharArrayWriter caw = new CharArrayWriter(); - for (int i = 0; i chars.length; i++) { - if (chars[i] == '%' chars[i+1] == '\\' - chars[i+2] == '\\' chars[i+3] == '') { - caw.write('%'); - caw.write(''); - i = i + 3; - } - else caw.write(chars[i]); - } - return caw.toCharArray(); +CharArrayWriter caw = new CharArrayWriter(); +for (int i = 0; i chars.length; i++) { +if (chars[i] == '%' chars[i+1] == '\\' +chars[i+2] == '') { +caw.write('%'); +caw.write(''); +i = i + 2; +} else { +caw.write(chars[i]); +} +} +return caw.toCharArray(); } public static char[] escapeQuotes (char []chars) { @@ -238,7 +239,7 @@ public static void checkScope(String scope, Node n, ErrorDispatcher err) throws JasperException { if (scope != null !scope.equals(page) !scope.equals(request) - !scope.equals(session) !scope.equals(application)) { + !scope.equals(session) !scope.equals(application)) { err.jspError(n, jsp.error.invalid.scope, scope); } } @@ -253,7 +254,7 @@ Node n, ValidAttribute[] validAttributes, ErrorDispatcher err) - throws JasperException { + throws JasperException { Attributes attrs = n.getAttributes(); Mark start = n.getStart(); boolean valid = true; @@ -301,8 +302,8 @@ int attrPos; if (validAttributes[i].mandatory) { attrPos = temp.indexOf(validAttributes[i].name); - if (attrPos != -1) { - temp.remove(attrPos); + if (attrPos != -1) { + temp.remove(attrPos); valid = true; } else { valid = false; @@ -329,13 +330,13 @@ valid = false; attribute = (String) temp.elementAt(j); for (int i = 0; i validAttributes.length; i++) { - if (attribute.equals(validAttributes[i].name)) { + if (attribute.equals(validAttributes[i].name)) { valid = true; break; } } if (!valid) - err.jspError(start, jsp.error.invalid.attribute, typeOfTag, + err.jspError(start, jsp.error.invalid.attribute, typeOfTag, attribute); } // XXX *could* move EL-syntax validation here... (sb) @@ -411,7 +412,7 @@ } public static class ValidAttribute { - String name; + String name; boolean mandatory; boolean rtexprvalue;// not used now @@ -510,46 +511,46 @@ else jspCtxt = pageContext; - /* + /* * Determine whether to use the expected type's textual name - * or, if it's a primitive, the name of its correspondent boxed - * type. + * or, if it's a primitive, the name of its correspondent boxed + * type. */ - String targetType = expectedType.getName(); - String primitiveConverterMethod = null; - if (expectedType.isPrimitive()) { - if (expectedType.equals(Boolean.TYPE)) { - targetType = Boolean.class.getName(); - primitiveConverterMethod = booleanValue; - } else if (expectedType.equals(Byte.TYPE)) { - targetType = Byte.class.getName(); - primitiveConverterMethod = byteValue; - } else if (expectedType.equals(Character.TYPE)) { - targetType = Character.class.getName(); - primitiveConverterMethod = charValue; - } else if (expectedType.equals(Short.TYPE)) { - targetType =
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
luehe 2002/12/04 18:41:53 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Added javadocs Revision ChangesPath 1.26 +9 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- JspUtil.java 2 Dec 2002 20:09:28 - 1.25 +++ JspUtil.java 5 Dec 2002 02:41:53 - 1.26 @@ -756,6 +756,12 @@ /** * Gets the fully-qualified class name of the tag handler corresponding to * the given tag file path. + * + * @param path Tag file path + * @param err Error dispatcher + * + * @return Fully-qualified class name of the tag handler corresponding to + * the given tag file path */ public static String getTagHandlerClassName(String path, ErrorDispatcher err) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
kinman 2002/11/26 18:48:10 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - Don't bother to XML escape primitive types. Revision ChangesPath 1.23 +7 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- JspUtil.java 27 Nov 2002 02:31:29 - 1.22 +++ JspUtil.java 27 Nov 2002 02:48:10 - 1.23 @@ -524,6 +524,10 @@ } } + if (primitiveConverterMethod != null) { + XmlEscape = false; + } + /* * Build up the base call to the interpreter. */ -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
luehe 2002/10/15 15:34:47 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: removed redundant code Revision ChangesPath 1.19 +3 -61 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- JspUtil.java 9 Oct 2002 22:46:41 - 1.18 +++ JspUtil.java 15 Oct 2002 22:34:46 - 1.19 @@ -77,17 +77,7 @@ import org.apache.jasper.JasperException; import org.apache.jasper.logging.Logger; -import org.w3c.dom.*; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.Attributes; -import org.xml.sax.EntityResolver; -import org.xml.sax.ErrorHandler; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.InputSource; -import org.xml.sax.helpers.AttributesImpl; // EL interpreter (subject to change) import javax.servlet.jsp.el.ExpressionEvaluator; @@ -115,8 +105,6 @@ private static final String OPEN_EXPR_XML = %=; private static final String CLOSE_EXPR_XML = %; -private static ErrorHandler errorHandler = new MyErrorHandler(); -private static EntityResolver entityResolver = new MyEntityResolver(); private static int tempSequenceNumber = 0; private static ExpressionEvaluatorImpl expressionEvaluator = new ExpressionEvaluatorImpl( null ); @@ -728,52 +716,6 @@ public Class[] getParameterTypes() { return this.parameterTypes; } -} -} - -class MyEntityResolver implements EntityResolver { -public InputSource resolveEntity(String publicId, String systemId) - throws SAXException -{ - for (int i=0; iConstants.CACHED_DTD_PUBLIC_IDS.length; i++) { - String cachedDtdPublicId = Constants.CACHED_DTD_PUBLIC_IDS[i]; - if (cachedDtdPublicId.equals(publicId)) { - String resourcePath = Constants.CACHED_DTD_RESOURCE_PATHS[i]; - InputStream input = - this.getClass().getResourceAsStream(resourcePath); - if (input == null) { - throw new SAXException( -Constants.getString(jsp.error.internal.filenotfound, - new Object[]{resourcePath})); - } - InputSource isrc = - new InputSource(input); - return isrc; - } - } - Constants.message(jsp.error.parse.xml.invalidPublicId, - new Object[]{publicId}, Logger.ERROR); -return null; -} -} - -class MyErrorHandler implements ErrorHandler { -public void warning(SAXParseException ex) - throws SAXException -{ - // We ignore warnings -} - -public void error(SAXParseException ex) - throws SAXException -{ - throw ex; -} - -public void fatalError(SAXParseException ex) - throws SAXException -{ - throw ex; } } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
luehe 2002/10/09 15:46:41 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Removed redundant methods Revision ChangesPath 1.18 +3 -87 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- JspUtil.java 19 Sep 2002 23:21:39 - 1.17 +++ JspUtil.java 9 Oct 2002 22:46:41 - 1.18 @@ -235,60 +235,6 @@ } /** - * Parses the XML document contained in the InputStream. - * - * @deprecated Use ParserUtils.parseXMLDocument() instead - */ -public static Document parseXMLDoc(String uri, InputStream in) - throws JasperException -{ - return parseXMLDocJaxp(uri, in); -} - -/** - * Parses the XML document contained in the InputStream. - * This XML document is either web.xml or a tld. - * [The TLD has to be cached internally (see MyEntityResolver)] - * - * @deprecated Use ParserUtils.parseXMLDocument() instead - */ -public static Document parseXMLDocJaxp(String uri, InputStream in) - throws JasperException -{ - try { - Document doc; - DocumentBuilderFactory docFactory = - DocumentBuilderFactory.newInstance(); - docFactory.setValidating(true); - docFactory.setNamespaceAware(true); - DocumentBuilder builder = docFactory.newDocumentBuilder(); - builder.setEntityResolver(entityResolver); - builder.setErrorHandler(errorHandler); - doc = builder.parse(in); - return doc; - } catch (ParserConfigurationException ex) { -throw new JasperException( - Constants.getString(jsp.error.parse.xml, - new Object[]{uri, ex.getMessage()})); - } catch (SAXParseException ex) { -throw new JasperException( - Constants.getString(jsp.error.parse.xml.line, - new Object[]{uri, - new Integer(ex.getLineNumber()), - new Integer(ex.getColumnNumber()), - ex.getMessage()})); - } catch (SAXException sx) { -throw new JasperException( -Constants.getString(jsp.error.parse.xml, - new Object[]{uri, sx.getMessage()})); -} catch (IOException io) { -throw new JasperException( -Constants.getString(jsp.error.parse.xml, - new Object[]{uri, io.toString()})); - } -} - -/** * Checks if all mandatory attributes are present and if all attributes * present have valid names. Checks attributes specified as XML-style * attributes as well as attributes specified using the jsp:attribute @@ -477,36 +423,6 @@ } } -public static Hashtable attrsToHashtable(Attributes attrs) { -int len = attrs.getLength(); -Hashtable table = new Hashtable(len); -for (int i=0; ilen; i++) { -table.put(attrs.getQName(i), attrs.getValue(i)); -} -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 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
luehe 2002/09/04 09:58:57 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Added javadoc comment for toClass() method Revision ChangesPath 1.16 +9 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- JspUtil.java 3 Sep 2002 22:26:23 - 1.15 +++ JspUtil.java 4 Sep 2002 16:58:57 - 1.16 @@ -530,7 +530,13 @@ } /** + * Returns the ttClass/tt object associated with the class or + * interface with the given string name. * + * p The ttClass/tt object is determined by passing the given string + * name to the ttClass.forName()/tt method, unless the given string + * name represents a primitive type, in which case it is converted to a + * ttClass/tt object by appending .class to it (e.g., int.class). */ public static Class toClass(String type) throws ClassNotFoundException { if (boolean.equals(type)) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java Validator.java
luehe 2002/09/03 15:26:24 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Validator.java Log: Fixed 12201: Problem defining values for type element in attributes of custom actions Revision ChangesPath 1.15 +28 -27 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- JspUtil.java 30 Aug 2002 17:42:00 - 1.14 +++ JspUtil.java 3 Sep 2002 22:26:23 - 1.15 @@ -530,6 +530,30 @@ } /** + * + */ +public static Class toClass(String type) throws ClassNotFoundException { + if (boolean.equals(type)) + return boolean.class; + else if (char.equals(type)) + return char.class; + else if (byte.equals(type)) + return byte.class; + else if (short.equals(type)) + return short.class; + else if (int.equals(type)) + return int.class; + else if (long.equals(type)) + return long.class; + else if (float.equals(type)) + return float.class; + else if (double.equals(type)) + return double.class; + else + return Class.forName(type); +} + +/** * Produces a String representing a call to the EL interpreter. * @param expression a String containing zero or more ${} expressions * @param expectedType the expected type of the interpreted result @@ -780,32 +804,9 @@ public Class[] getParameterTypes() { return this.parameterTypes; -} - - private Class toClass(String type) throws ClassNotFoundException { - if (boolean.equals(type)) - return boolean.class; - else if (char.equals(type)) - return char.class; - else if (byte.equals(type)) - return byte.class; - else if (short.equals(type)) - return short.class; - else if (int.equals(type)) - return int.class; - else if (long.equals(type)) - return long.class; - else if (float.equals(type)) - return float.class; - else if (double.equals(type)) - return double.class; - else - return Class.forName(type); - } +} } - } - class MyEntityResolver implements EntityResolver { public InputSource resolveEntity(String publicId, String systemId) 1.33 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java Index: Validator.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- Validator.java28 Aug 2002 22:02:11 - 1.32 +++ Validator.java3 Sep 2002 22:26:23 - 1.33 @@ -691,7 +691,7 @@ expectedType = JspFragment.class; } else if( typeStr != null ) { -expectedType = Class.forName( typeStr ); +expectedType = JspUtil.toClass( typeStr ); } jspAttrs[i] = getJspAttribute(attrs.getQName(i), -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
kinman 2002/08/12 15:41:04 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - Fix EL for primitive types in tag attributes bug. Patch by Shawn Bayern [EMAIL PROTECTED] Revision ChangesPath 1.10 +58 -6 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- JspUtil.java 1 Aug 2002 18:47:28 - 1.9 +++ JspUtil.java 12 Aug 2002 22:41:04 - 1.10 @@ -548,21 +548,73 @@ String fnMap, String defaultPrefix) { +/* + * Determine which context object to use. + */ String jspCtxt = null; if (isTagFile) jspCtxt = getJspContext(); else jspCtxt = pageContext; -return ( + expectedType.getName() + ) + /* + * Determine whether to use the expected type's textual name + * or, if it's a primitive, the name of its correspondent boxed + * type. + */ + String targetType = expectedType.getName(); + String primitiveConverterMethod = null; + if (expectedType.isPrimitive()) { + if (expectedType.equals(Boolean.TYPE)) { + targetType = Boolean.class.getName(); + primitiveConverterMethod = booleanValue; + } else if (expectedType.equals(Byte.TYPE)) { + targetType = Byte.class.getName(); + primitiveConverterMethod = byteValue; + } else if (expectedType.equals(Character.TYPE)) { + targetType = Character.class.getName(); + primitiveConverterMethod = charValue; + } else if (expectedType.equals(Short.TYPE)) { + targetType = Short.class.getName(); + primitiveConverterMethod = shortValue; + } else if (expectedType.equals(Integer.TYPE)) { + targetType = Integer.class.getName(); + primitiveConverterMethod = intValue; + } else if (expectedType.equals(Long.TYPE)) { + targetType = Long.class.getName(); + primitiveConverterMethod = longValue; + } else if (expectedType.equals(Float.TYPE)) { + targetType = Float.class.getName(); + primitiveConverterMethod = floatValue; + } else if (expectedType.equals(Double.TYPE)) { + targetType = Double.class.getName(); + primitiveConverterMethod = doubleValue; + } + } + + /* + * Build up the base call to the interpreter. + */ + StringBuffer call = new StringBuffer( + ( + targetType + ) + Constants.EL_INTERPRETER_CONDUIT_CLASS + . + Constants.EL_INTERPRETER_CONDUIT_METHOD + ( + Generator.quote(expression) + , - + expectedType.getName() + .class, + + targetType + .class, + jspCtxt + , + prefixMap + , + fnMap + , - + Generator.quote( defaultPrefix ) + ); + + Generator.quote( defaultPrefix ) + )); + + /* + * Add the primitive converter method if we need to. + */ + if (primitiveConverterMethod != null) { + call.insert(0, (); + call.append(). + primitiveConverterMethod + ()); + } + + return call.toString(); } /** -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
luehe 2002/07/24 18:04:44 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: Removed JspUtil.replace(String name, char replace, char with) Revision ChangesPath 1.7 +3 -29 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- JspUtil.java 22 Jul 2002 23:02:55 - 1.6 +++ JspUtil.java 25 Jul 2002 01:04:44 - 1.7 @@ -459,32 +459,6 @@ return buf.toString(); } -/** - * Replaces any occurrences of the character ttreplace/tt with the - * character ttwith/tt. - */ -public static String replace(String name, char replace, char with) { - StringBuffer buf = new StringBuffer(); - int begin = 0; - int end; - int last = name.length(); - - while (true) { - end = name.indexOf(replace, begin); - if (end 0) { - end = last; - } - buf.append(name.substring(begin, end)); - if (end == last) { - break; - } - buf.append(with); - begin = end + 1; - } - - return buf.toString(); -} - public static class ValidAttribute { String name; boolean mandatory; -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspUtil.java
remm02/04/26 13:52:05 Modified:jasper2/src/share/org/apache/jasper/compiler JspUtil.java Log: - The xmlns attribute(s) are always allowed on any XML node. Revision ChangesPath 1.2 +6 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java Index: JspUtil.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JspUtil.java 28 Mar 2002 18:46:16 - 1.1 +++ JspUtil.java 26 Apr 2002 20:52:05 - 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v 1.1 2002/03/28 18:46:16 kinman Exp $ - * $Revision: 1.1 $ - * $Date: 2002/03/28 18:46:16 $ + * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspUtil.java,v 1.2 2002/04/26 20:52:05 remm Exp $ + * $Revision: 1.2 $ + * $Date: 2002/04/26 20:52:05 $ * * * @@ -284,7 +284,9 @@ int tempLength = attrs.getLength(); Vector temp = new Vector(tempLength, 1); for (int i = 0; i tempLength; i++) { -temp.addElement(attrs.getQName(i)); +String qName = attrs.getQName(i); +if ((!qName.equals(xmlns)) (!qName.startsWith(xmlns:))) +temp.addElement(qName); } /* -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]