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]

Reply via email to