diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:00:02 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:00:02 -0700 |
commit | 753a6c60f47f3ac4f270005b65e9d6481de8eb68 (patch) | |
tree | 3d0a1ae3b4d994550f6614b417b991eee3eb8911 /framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/Jasper41Mangler.java | |
parent | c62d20eb3b4620c06d833be06f50b2600d96dd42 (diff) |
Adding maven and ant source trees
Change-Id: I0a39b9add833a31b9c3f98d193983ae2f3a5a445
Signed-off-by: Ashlee Young <ashlee@onosfw.com>
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/Jasper41Mangler.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/Jasper41Mangler.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/Jasper41Mangler.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/Jasper41Mangler.java new file mode 100644 index 00000000..609938c9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/jsp/Jasper41Mangler.java @@ -0,0 +1,93 @@ +/* + * 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; + +/** + * this class implements the name mangling rules of the jasper in tomcat4.1.x + * which is likely to remain for some time + * @see "org.apache.jasper.JspCompilationContext" + */ +public class Jasper41Mangler implements JspMangler { + + + /** + * map from a jsp file to a java filename; does not do packages + * + * @param jspFile file + * @return java filename + */ + public String mapJspToJavaName(File jspFile) { + String jspUri = jspFile.getAbsolutePath(); + int start = jspUri.lastIndexOf(File.separatorChar) + 1; + int end = jspUri.length(); + StringBuffer modifiedClassName; + modifiedClassName = new StringBuffer(jspUri.length() - start); + if (!Character.isJavaIdentifierStart(jspUri.charAt(start)) + || jspUri.charAt(start) == '_') { + // If the first char is not a start of Java identifier or is _ + // prepend a '_'. + modifiedClassName.append('_'); + } + for (int i = start; i < end; i++) { + char ch = jspUri.charAt(i); + if (Character.isJavaIdentifierPart(ch)) { + modifiedClassName.append(ch); + } else if (ch == '.') { + modifiedClassName.append('_'); + } else { + modifiedClassName.append(mangleChar(ch)); + } + } + return modifiedClassName.toString(); + } + + /** + * Mangle the specified character to create a legal Java class name. + */ + private static String mangleChar(char ch) { + // CheckStyle:MagicNumber OFF + 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'; + } + for (int i = nzeros + 1, j = 0; i < 6; i++, j++) { + result[i] = s.charAt(j); + } + 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 + * @param path not used. + * @return null as this is not implemented. + * @todo + */ + public String mapPath(String path) { + return null; + } + +} |