diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspNameMangler.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspNameMangler.java | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspNameMangler.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspNameMangler.java deleted file mode 100644 index 6e08e7d5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspNameMangler.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tools.ant.taskdefs.optional.jsp; -import java.io.File; - -import org.apache.tools.ant.util.StringUtils; - -/** - * This is a class derived from the Jasper code - * (org.apache.jasper.compiler.CommandLineCompiler) to map from a JSP filename - * to a valid Java classname. - * - */ -public class JspNameMangler implements JspMangler { - - // CheckStyle:ConstantNameCheck OFF - bc - - /** - * this is the list of keywords which can not be used as classnames - */ - public static final String[] keywords = { - "assert", - "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", "super", - "switch", "synchronized", "this", - "throw", "throws", "transient", - "try", "void", "volatile", "while" - }; - - // CheckStyle:ConstantNameCheck ON - - /** - * map from a jsp file to a java filename; does not do packages - * - * @param jspFile file - * @return java filename - */ - public String mapJspToJavaName(File jspFile) { - return mapJspToBaseName(jspFile) + ".java"; - } - - - /** - * map from a jsp file to a base name; does not deal with extensions - * - * @param jspFile jspFile file - * @return exensionless potentially remapped name - */ - private String mapJspToBaseName(File jspFile) { - String className; - className = stripExtension(jspFile); - - // since we don't mangle extensions like the servlet does, - // we need to check for keywords as class names - for (int i = 0; i < keywords.length; ++i) { - if (className.equals(keywords[i])) { - className += "%"; - break; - } - } - - // Fix for invalid characters. If you think of more add to the list. - StringBuffer modifiedClassName = new StringBuffer(className.length()); - // first char is more restrictive than the rest - char firstChar = className.charAt(0); - if (Character.isJavaIdentifierStart(firstChar)) { - modifiedClassName.append(firstChar); - } else { - modifiedClassName.append(mangleChar(firstChar)); - } - // this is the rest - for (int i = 1; i < className.length(); i++) { - char subChar = className.charAt(i); - if (Character.isJavaIdentifierPart(subChar)) { - modifiedClassName.append(subChar); - } else { - modifiedClassName.append(mangleChar(subChar)); - } - } - return modifiedClassName.toString(); - } - - - /** - * get short filename from file - * - * @param jspFile file in - * @return file without any jsp extension - */ - private String stripExtension(File jspFile) { - return StringUtils.removeSuffix(jspFile.getName(), ".jsp"); - } - - - /** - * definition of the char escaping algorithm - * - * @param ch char to mangle - * @return mangled string; 5 digit hex value - */ - private static String mangleChar(char ch) { - // CheckStyle:MagicNumber OFF - if (ch == File.separatorChar) { - ch = '/'; - } - String s = Integer.toHexString(ch); - int nzeros = 5 - s.length(); - char[] result = new char[6]; - result[0] = '_'; - for (int i = 1; i <= nzeros; ++i) { - result[i] = '0'; - } - int resultIndex = 0; - for (int i = nzeros + 1; i < 6; ++i) { - result[i] = s.charAt(resultIndex++); - } - return new String(result); - // CheckStyle:MagicNumber ON - } - - /** - * taking in the substring representing the path relative to the source dir - * return a new string representing the destination path - * not supported, as jasper in tomcat4.0 doesn't either - * @param path not used - * @return null always. - */ - public String mapPath(String path) { - return null; - } -} - |