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 Changes Path 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.java 29 Jul 2003 23:22:23 -0000 1.41 +++ JspCompilationContext.java 30 Jul 2003 17:33:14 -0000 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 -0000 1.39 +++ JspUtil.java 30 Jul 2003 17:33:14 -0000 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]