[jboss-cvs] JBossAS SVN: r103680 - in projects/scanning/trunk: scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 8 04:33:18 EDT 2010
Author: alesj
Date: 2010-04-08 04:33:17 -0400 (Thu, 08 Apr 2010)
New Revision: 103680
Modified:
projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataResourceFilter.java
projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathEntryMetaData.java
projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathEntryMetaData.java
Log:
Allow recursive paths.
Modified: projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataResourceFilter.java
===================================================================
--- projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataResourceFilter.java 2010-04-08 08:15:00 UTC (rev 103679)
+++ projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataResourceFilter.java 2010-04-08 08:33:17 UTC (rev 103680)
@@ -27,6 +27,7 @@
import org.jboss.classloader.spi.filter.ClassFilter;
import org.jboss.classloader.spi.filter.PackageClassFilter;
+import org.jboss.classloader.spi.filter.RecursivePackageClassFilter;
import org.jboss.classloading.spi.visitor.ResourceContext;
import org.jboss.classloading.spi.visitor.ResourceFilter;
import org.jboss.scanning.spi.metadata.FilterablePathEntry;
@@ -81,14 +82,18 @@
}
}
- Set<PathEntryMetaData> excludes = pmda.getExcludes();
- if (excludes != null && excludes.isEmpty() == false)
+ // we did not have explicit include, let's check if it's excluded
+ if (explicitInclude == false)
{
- for (PathEntryMetaData pemda : excludes)
+ Set<PathEntryMetaData> excludes = pmda.getExcludes();
+ if (excludes != null && excludes.isEmpty() == false)
{
- ClassFilter filter = getClassFilter(pemda);
- if (filter.matchesResourcePath(resourceName))
- return false;
+ for (PathEntryMetaData pemda : excludes)
+ {
+ ClassFilter filter = getClassFilter(pemda);
+ if (filter.matchesResourcePath(resourceName))
+ return false;
+ }
}
}
@@ -109,6 +114,8 @@
{
if (pemd instanceof FilterablePathEntry)
return ((FilterablePathEntry)pemd).getFilter();
+ else if (pemd.isRecursive())
+ return RecursivePackageClassFilter.createRecursivePackageClassFilter(pemd.getName());
else
return PackageClassFilter.createPackageClassFilter(pemd.getName());
}
Modified: projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathEntryMetaData.java
===================================================================
--- projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathEntryMetaData.java 2010-04-08 08:15:00 UTC (rev 103679)
+++ projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathEntryMetaData.java 2010-04-08 08:33:17 UTC (rev 103680)
@@ -30,6 +30,7 @@
import org.jboss.classloader.spi.filter.ClassFilter;
import org.jboss.classloader.spi.filter.PackageClassFilter;
+import org.jboss.classloader.spi.filter.RecursivePackageClassFilter;
import org.jboss.scanning.spi.metadata.FilterablePathEntry;
import org.jboss.scanning.spi.metadata.PathEntryMetaData;
@@ -44,13 +45,16 @@
private static final long serialVersionUID = 1L;
private String name;
+ private boolean recursive;
private transient ClassFilter filter;
@XmlTransient
public ClassFilter getFilter()
{
if (filter == null)
- filter = PackageClassFilter.createPackageClassFilter(getNameInternal());
+ filter = recursive ?
+ RecursivePackageClassFilter.createRecursivePackageClassFilter(getNameInternal()) :
+ PackageClassFilter.createPackageClassFilter(getNameInternal());
return filter;
}
@@ -75,6 +79,17 @@
this.name = name;
}
+ public boolean isRecursive()
+ {
+ return recursive;
+ }
+
+ @XmlAttribute(name="recursive")
+ public void setRecursive(boolean recursive)
+ {
+ this.recursive = recursive;
+ }
+
@Override
public int hashCode()
{
Modified: projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathEntryMetaData.java
===================================================================
--- projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathEntryMetaData.java 2010-04-08 08:15:00 UTC (rev 103679)
+++ projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathEntryMetaData.java 2010-04-08 08:33:17 UTC (rev 103680)
@@ -35,4 +35,11 @@
* @return the name
*/
String getName();
+
+ /***
+ * Is path used recursively.
+ *
+ * @return true if recursive, false otherwise
+ */
+ boolean isRecursive();
}
More information about the jboss-cvs-commits
mailing list