This is an automated email from the ASF dual-hosted git repository.

radu pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly.git


The following commit(s) were added to refs/heads/master by this push:
     new e97d983  SLING-7523 - Java Use object with trailing whitespace in the 
package declaration freezes the SightlyJavaCompilerService
e97d983 is described below

commit e97d9831677a11c2d7f91b20b76b32527ae4c77e
Author: Radu Cotescu <r...@apache.org>
AuthorDate: Wed Mar 7 18:31:08 2018 +0100

    SLING-7523 - Java Use object with trailing whitespace in the package 
declaration freezes the SightlyJavaCompilerService
    
    * corrected pattern for matching Java classes
---
 .../apache/sling/scripting/sightly/impl/utils/Patterns.java    |  5 ++++-
 .../sling/scripting/sightly/impl/utils/PatternsTest.java       | 10 +++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/scripting/sightly/impl/utils/Patterns.java 
b/src/main/java/org/apache/sling/scripting/sightly/impl/utils/Patterns.java
index cdc889e..8411f58 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/impl/utils/Patterns.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/impl/utils/Patterns.java
@@ -24,6 +24,8 @@ public final class Patterns {
 
     private static final String JAVA_IDENTIFIER_REGEX = 
"[\\p{L}\\p{Sc}_][\\p{L}\\p{N}\\p{Sc}_]*";
 
+    private static final String JAVA_SIMPLE_CLASS_NAME_REGEX = 
"[\\p{Lu}\\p{Sc}_][\\p{L}\\p{N}\\p{Sc}_]*";
+
     private Patterns() {}
 
     /**
@@ -37,6 +39,7 @@ public final class Patterns {
      * Pattern matching Java class names (simple or fully qualified), 
according to
      * <a 
href="https://docs.oracle.com/javase/specs/jls/se7/html/index.html";>The Java® 
Language Specification, 7th edition</a>.
      */
-    public static final Pattern JAVA_CLASS_NAME = 
Pattern.compile(JAVA_IDENTIFIER_REGEX + "(\\." + JAVA_IDENTIFIER_REGEX + ")*");
+    public static final Pattern JAVA_CLASS_NAME =
+            Pattern.compile("(" + JAVA_IDENTIFIER_REGEX + "\\.{1})*(" + 
JAVA_SIMPLE_CLASS_NAME_REGEX + ")");
 
 }
diff --git 
a/src/test/java/org/apache/sling/scripting/sightly/impl/utils/PatternsTest.java 
b/src/test/java/org/apache/sling/scripting/sightly/impl/utils/PatternsTest.java
index 22e96ca..84df645 100644
--- 
a/src/test/java/org/apache/sling/scripting/sightly/impl/utils/PatternsTest.java
+++ 
b/src/test/java/org/apache/sling/scripting/sightly/impl/utils/PatternsTest.java
@@ -73,7 +73,15 @@ public class PatternsTest {
                 "_", true,
                 "$_", true,
                 "$_1", true,
-                "package_info", true,
+                "package_info", false,
+                "org.apache.sling.scripting.sightly.impl.utils.patternsTest", 
false,
+                "a.js", false,
+                "org.aspectj.weaver.patterns" +
+                        
".HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor",
 true,
+                "org.aspectj.weaver.patterns" +
+                        
".HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor
 ", false,
+                "org.aspectj.weaver.patterns" +
+                        ".HasThisTypePatternTriedToSneakInSomeGeneric Or 
ParameterizedTypePatternMatchingStuffAnywhereVisitor ", false,
         };
         testPattern(Patterns.JAVA_CLASS_NAME, inputs);
     }

-- 
To stop receiving notification emails like this one, please contact
r...@apache.org.

Reply via email to