You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2011/11/15 10:10:52 UTC
svn commit: r1202102 -
/sling/trunk/contrib/scripting/java/src/main/java/org/apache/sling/scripting/java/impl/CompilerUtil.java
Author: cziegeler
Date: Tue Nov 15 09:10:51 2011
New Revision: 1202102
URL: http://svn.apache.org/viewvc?rev=1202102&view=rev
Log:
SLING-2282 : Java Script Engine does not escape directory paths
Modified:
sling/trunk/contrib/scripting/java/src/main/java/org/apache/sling/scripting/java/impl/CompilerUtil.java
Modified: sling/trunk/contrib/scripting/java/src/main/java/org/apache/sling/scripting/java/impl/CompilerUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/java/src/main/java/org/apache/sling/scripting/java/impl/CompilerUtil.java?rev=1202102&r1=1202101&r2=1202102&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/java/src/main/java/org/apache/sling/scripting/java/impl/CompilerUtil.java (original)
+++ sling/trunk/contrib/scripting/java/src/main/java/org/apache/sling/scripting/java/impl/CompilerUtil.java Tue Nov 15 09:10:51 2011
@@ -30,11 +30,22 @@ public class CompilerUtil {
} else {
str = path;
}
- final int pos = str.lastIndexOf("/");
- if ( pos == -1 ) {
- return makeJavaIdentifier(str);
+ final StringBuilder sb = new StringBuilder();
+ int pos = 0;
+ int start = 0;
+ while ( pos < str.length() ) {
+ final char c = str.charAt(pos);
+ if ( c == '/' ) {
+ if ( start != pos ) {
+ sb.append(makeJavaIdentifier(str.substring(start, pos)));
+ }
+ sb.append(c);
+ start = pos + 1;
+ }
+ pos++;
}
- return str.substring(0, pos + 1) + makeJavaIdentifier(str.substring(pos + 1));
+ sb.append(makeJavaIdentifier(str.substring(start)));
+ return sb.toString();
}
/**