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() {