You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/03/01 13:13:40 UTC

svn commit: r917484 - in /myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting: core/dependencyScan/ core/dependencyScan/api/ core/dependencyScan/core/ core/dependencyScan/filter/ core/dependencyScan/registry/ loaders...

Author: werpu
Date: Mon Mar  1 12:13:39 2010
New Revision: 917484

URL: http://svn.apache.org/viewvc?rev=917484&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-74

unifying the engine type wherever possible

Added:
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java   (with props)
Modified:
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DependencyScanner.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/ClassFilter.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/DependencyRegistry.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/ClassScanVisitor.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/MethodScanVisitor.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/StandardNamespaceFilter.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/WhitelistFilter.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/DependencyRegistryImpl.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/ExternalFilterDependencyRegistry.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DependencyScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DependencyScanner.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DependencyScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DependencyScanner.java Mon Mar  1 12:13:39 2010
@@ -48,12 +48,12 @@
 
     }
 
-    public synchronized final void fetchDependencies(ClassLoader loader, String scanIdentifier, String className, ExternalFilterDependencyRegistry registry) {
+    public synchronized final void fetchDependencies(ClassLoader loader, Integer engineType, String className, ExternalFilterDependencyRegistry registry) {
         Set<String> retVal = new HashSet<String>();
-        _cp.setScanIdentifier(scanIdentifier);
+        _cp.setEngineType(engineType);
 
         investigateInheritanceHierarchy(loader, className, registry);
-        registry.flush(scanIdentifier);
+        registry.flush(engineType);
     }
 
     /**

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/ClassFilter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/ClassFilter.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/ClassFilter.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/ClassFilter.java Mon Mar  1 12:13:39 2010
@@ -2,9 +2,9 @@
 
 /**
  * Generic filter pattern interface
- * used by our dependency registry to prefilter the classes
+ * used by our dependency registry to pre-filter the classes
  */
 public interface ClassFilter {
 
-    public boolean isAllowed(String clazz);
+    public boolean isAllowed(Integer engineType, String clazz);
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/DependencyRegistry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/DependencyRegistry.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/DependencyRegistry.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/api/DependencyRegistry.java Mon Mar  1 12:13:39 2010
@@ -17,5 +17,5 @@
      * @param source     the source which includes or casts the dependencies
      * @param dependency the dependency to be added
      */
-    void addDependency(String scanIdentifier, String source, String dependency);
+    void addDependency(Integer engineType, String source, String dependency);
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/ClassScanVisitor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/ClassScanVisitor.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/ClassScanVisitor.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/ClassScanVisitor.java Mon Mar  1 12:13:39 2010
@@ -37,7 +37,7 @@
 
     ExternalFilterDependencyRegistry _dependencyRegistry;
     String _currentlyVistedClass;
-    String _scanIdentifier;
+    Integer _engineType;
     static final Logger _log = Logger.getLogger(ClassScanVisitor.class.getName());
 
     public ClassScanVisitor() {
@@ -100,7 +100,7 @@
         }
 
         if (_dependencyRegistry != null) {
-            _dependencyRegistry.addDependency(_scanIdentifier, _currentlyVistedClass, className);
+            _dependencyRegistry.addDependency(_engineType, _currentlyVistedClass, className);
         }
 
     }
@@ -113,7 +113,7 @@
         for (Type argumentType : Type.getArgumentTypes(description)) {
             registerDependency(argumentType, "Argument type of the method [" + name + "]");
         }
-        return new MethodScanVisitor(_scanIdentifier, _currentlyVistedClass, _dependencyRegistry);
+        return new MethodScanVisitor(_engineType, _currentlyVistedClass, _dependencyRegistry);
     }
 
     public void visitEnd() {
@@ -124,8 +124,8 @@
         _dependencyRegistry = dependencyRegistry;
     }
 
-    public void setScanIdentifier(String scanIdentifier) {
-        _scanIdentifier = scanIdentifier;
+    public void setEngineType(Integer engineType) {
+        _engineType = engineType;
     }
 }
 

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/MethodScanVisitor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/MethodScanVisitor.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/MethodScanVisitor.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/core/MethodScanVisitor.java Mon Mar  1 12:13:39 2010
@@ -31,15 +31,13 @@
     // static final Logger log = Logger.getLogger("ClassScanVisitor");
 
     String _currentlyVisitedClass = null;
-    String _scanIdentifier = null;
+    Integer _engineType = null;
     ExternalFilterDependencyRegistry _dependencyRegistry = null;
 
-
-
-    public MethodScanVisitor(String scanIdentifier, String currentlyVisitedClass, ExternalFilterDependencyRegistry registry) {
+    public MethodScanVisitor(Integer engineType, String currentlyVisitedClass, ExternalFilterDependencyRegistry registry) {
         _currentlyVisitedClass = currentlyVisitedClass;
         _dependencyRegistry = registry;
-        _scanIdentifier = scanIdentifier;
+        _engineType = engineType;
     }
 
     public AnnotationVisitor visitAnnotationDefault() {
@@ -93,7 +91,7 @@
         }
 
         if (_dependencyRegistry != null) {
-            _dependencyRegistry.addDependency(_scanIdentifier, _currentlyVisitedClass, className);
+            _dependencyRegistry.addDependency(_engineType, _currentlyVisitedClass, className);
         }
     }
 

Added: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java?rev=917484&view=auto
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java (added)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java Mon Mar  1 12:13:39 2010
@@ -0,0 +1,21 @@
+package org.apache.myfaces.scripting.core.dependencyScan.filter;
+
+import org.apache.myfaces.scripting.core.dependencyScan.api.ClassFilter;
+
+/**
+ * a filter which works on the scan identifiers
+ * only classes which trigger on the same identifier
+ * are allowed to be passed through
+ */
+public class ScanIdentifierFilter implements ClassFilter {
+
+    private final Integer _engineType;
+
+    public ScanIdentifierFilter(Integer engineType) {
+        _engineType = engineType;
+    }
+
+    public boolean isAllowed(String identifier, String clazz) {
+        return _engineType.equals(identifier);  //To change body of implemented methods use File | Settings | File Templates.
+    }
+}

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/ScanIdentifierFilter.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/StandardNamespaceFilter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/StandardNamespaceFilter.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/StandardNamespaceFilter.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/StandardNamespaceFilter.java Mon Mar  1 12:13:39 2010
@@ -1,6 +1,6 @@
 package org.apache.myfaces.scripting.core.dependencyScan.filter;
 
-import org.apache.myfaces.scripting.core.dependencyScan.ClassScanUtils;
+import org.apache.myfaces.scripting.core.dependencyScan.core.ClassScanUtils;
 import org.apache.myfaces.scripting.core.dependencyScan.api.ClassFilter;
 
 /**
@@ -8,7 +8,7 @@
  */
 public class StandardNamespaceFilter implements ClassFilter {
 
-    public boolean isAllowed(String clazz) {
+    public boolean isAllowed(Integer engineType, String clazz) {
         return !ClassScanUtils.isStandardNamespace(clazz);
     }
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/WhitelistFilter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/WhitelistFilter.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/WhitelistFilter.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/filter/WhitelistFilter.java Mon Mar  1 12:13:39 2010
@@ -85,7 +85,7 @@
         }
     }
 
-    public final boolean isAllowed(String clazz) {
+    public final boolean isAllowed(Integer engineType, String clazz) {
         String[] subParts = clazz.split("\\.");
         WhiteListNode currPackage = _whiteList;
         WhiteListNode parentPackage = null;

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/DependencyRegistryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/DependencyRegistryImpl.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/DependencyRegistryImpl.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/DependencyRegistryImpl.java Mon Mar  1 12:13:39 2010
@@ -1,6 +1,7 @@
 package org.apache.myfaces.scripting.core.dependencyScan.registry;
 
 import org.apache.myfaces.scripting.core.dependencyScan.api.ClassFilter;
+import org.apache.myfaces.scripting.core.dependencyScan.filter.ScanIdentifierFilter;
 import org.apache.myfaces.scripting.core.dependencyScan.filter.StandardNamespaceFilter;
 import org.apache.myfaces.scripting.core.util.Strategy;
 
@@ -14,15 +15,20 @@
 
     Map<String, Set<String>> _dependencies = new HashMap<String, Set<String>>();
 
-    Strategy _dependencyTarget = null;
+    final Strategy _dependencyTarget;
+    final Integer _engineType;
 
-    public DependencyRegistryImpl(Strategy dependencyTarget) {
-        _filters.add(new StandardNamespaceFilter());
+    public DependencyRegistryImpl(Integer engineType, Strategy dependencyTarget) {
         _dependencyTarget = dependencyTarget;
+        _engineType = engineType;
+
+        _filters.add(new ScanIdentifierFilter(_engineType));
+        _filters.add(new StandardNamespaceFilter());
     }
 
     public void clearFilters() {
         _filters.clear();
+        _filters.add(new ScanIdentifierFilter(_engineType));
         _filters.add(new StandardNamespaceFilter());
     }
 
@@ -30,16 +36,16 @@
         _filters.add(filter);
     }
 
-    public boolean isAllowed(String scanIdentifier, String className) {
+    public boolean isAllowed(Integer engineType, String className) {
         for (ClassFilter filter : _filters) {
-            if (!filter.isAllowed(className)) {
+            if (!filter.isAllowed(_engineType, className)) {
                 return false;
             }
         }
         return true;
     }
 
-    public void addDependency(String scanIdentifier, String source, String dependency) {
+    public void addDependency(Integer engineType, String source, String dependency) {
         if (source.equals(dependency)) {
             return;
         }
@@ -48,7 +54,7 @@
             return;
         }
 
-        if (!isAllowed(scanIdentifier, dependency)) {
+        if (!isAllowed(engineType, dependency)) {
             return;
         }
         //for now we code it into a list like we used to do before
@@ -73,7 +79,7 @@
     /**
      * flush to flush down our stored dependencies into our final map
      */
-    public void flush(String scanIdentifier) {
+    public void flush(Integer engineType) {
         _dependencyTarget.apply(_dependencies);
     }
 

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/ExternalFilterDependencyRegistry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/ExternalFilterDependencyRegistry.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/ExternalFilterDependencyRegistry.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/registry/ExternalFilterDependencyRegistry.java Mon Mar  1 12:13:39 2010
@@ -33,10 +33,10 @@
      * to pre-check if a class is allowed to pass or not
      *
      * @param className      the classname to be checked
-     * @param scanIdentifier an identifier for the current scan type (jsf java scan for instance)
+     * @param engineType an identifier for the current scan type (jsf java scan for instance)
      * @return true if it is false otherwise
      */
-    public boolean isAllowed(String scanIdentifier, String className);
+    public boolean isAllowed(Integer engineType, String className);
 
     /**
      * Flush operation to batch sync
@@ -45,5 +45,5 @@
      * (will be removed later once we have all the code transitioned
      * to the registry system)
      */
-    void flush(String scanIdentifier);
+    void flush(Integer engineType);
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java?rev=917484&r1=917483&r2=917484&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java Mon Mar  1 12:13:39 2010
@@ -46,7 +46,7 @@
 
     List<String> _scanPaths = new LinkedList<String>();
 
-    DependencyScanner _dependecyScanner = new DependencyScanner();
+    DependencyScanner _depencyScanner = new DependencyScanner();
 
     ScriptingWeaver _weaver;
     Logger log = Logger.getLogger(JavaDependencyScanner.class.getName());
@@ -88,13 +88,9 @@
 
     private final void runScan(final Set<String> possibleDynamicClasses, final ClassLoader loader, String dynamicClass) {
         Strategy registrationStrategy = new DependencyMapRegistrationStrategy(dynamicClass, WeavingContext.getFileChangedDaemon().getDependencyMap());
-        ExternalFilterDependencyRegistry scanRegistry = new DependencyRegistryImpl(registrationStrategy);
+        ExternalFilterDependencyRegistry scanRegistry = new DependencyRegistryImpl(getEngineType(), registrationStrategy);
         scanRegistry.addFilter(new WhitelistFilter(possibleDynamicClasses));
-        _dependecyScanner.fetchDependencies(loader, getScanIdentifier(), dynamicClass, scanRegistry);
-    }
-
-    protected String getScanIdentifier() {
-        return ScriptingConst.ENGINE_TYPE_JAVA+"_Scan";
+        _depencyScanner.fetchDependencies(loader, getEngineType(), dynamicClass, scanRegistry);
     }
 
     protected ClassLoader getClassLoader() {