[jboss-cvs] JBossAS SVN: r108417 - in projects/scanning/trunk: scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Oct 4 09:44:12 EDT 2010
Author: alesj
Date: 2010-10-04 09:44:12 -0400 (Mon, 04 Oct 2010)
New Revision: 108417
Modified:
projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java
projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathMetaData.java
projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathMetaData.java
projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningMetaDataTestCase.java
projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml
projects/scanning/trunk/testsuite/src/test/resources/metadata/smoke/META-INF/jboss-scanning.xml
Log:
Allow for explicit path exclude.
Modified: projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java
===================================================================
--- projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java 2010-10-04 13:05:32 UTC (rev 108416)
+++ projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java 2010-10-04 13:44:12 UTC (rev 108417)
@@ -44,6 +44,8 @@
{
/** Path tree roots */
private Map<String, RootNode> roots;
+ /** All excludes */
+ private boolean allExcluded;
public ScanningMetaDataRecurseFilter(ScanningMetaData smd)
{
@@ -53,24 +55,32 @@
List<PathMetaData> paths = smd.getPaths();
if (paths != null && paths.isEmpty() == false)
{
+ allExcluded = true; // we have some paths, let's see if they are all explicit excludes
roots = new HashMap<String, RootNode>();
for (PathMetaData pmd : paths)
{
RootNode pathNode = new RootNode();
roots.put(pmd.getPathName(), pathNode);
- Set<PathEntryMetaData> includes = pmd.getIncludes();
- if (includes != null && includes.isEmpty() == false)
+ pathNode.excluded = pmd.isExcluded();
+
+ if (pathNode.excluded == false)
{
- pathNode.explicitInclude = true;
- for (PathEntryMetaData pemd : includes)
+ allExcluded = false;
+
+ Set<PathEntryMetaData> includes = pmd.getIncludes();
+ if (includes != null && includes.isEmpty() == false)
{
- String name = pemd.getName();
- String[] tokens = name.split("\\.");
- Node current = pathNode;
- for (String token : tokens)
- current = current.addChild(token);
- if (pemd.isRecurse())
- current.recurse = true; // mark last one as recurse
+ pathNode.explicitInclude = true;
+ for (PathEntryMetaData pemd : includes)
+ {
+ String name = pemd.getName();
+ String[] tokens = name.split("\\.");
+ Node current = pathNode;
+ for (String token : tokens)
+ current = current.addChild(token);
+ if (pemd.isRecurse())
+ current.recurse = true; // mark last one as recurse
+ }
}
}
}
@@ -89,6 +99,9 @@
if (urlString.contains(root.getKey()))
{
RootNode rootNode = root.getValue();
+ if (rootNode.excluded)
+ return false;
+
if (rootNode.explicitInclude) // we have explicit includes in path, try tree path
{
String resourceName = resource.getResourceName();
@@ -110,7 +123,7 @@
return true;
}
}
- return false;
+ return allExcluded;
}
private static class Node
@@ -140,6 +153,7 @@
private static class RootNode extends Node
{
+ private boolean excluded; // marked as excluded
private boolean explicitInclude;
}
}
Modified: projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathMetaData.java
===================================================================
--- projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathMetaData.java 2010-10-04 13:05:32 UTC (rev 108416)
+++ projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/metadata/AbstractPathMetaData.java 2010-10-04 13:44:12 UTC (rev 108417)
@@ -46,6 +46,7 @@
private static final long serialVersionUID = 1L;
private String pathName;
+ private boolean excluded;
private Set<PathEntryMetaData> includes;
private Set<PathEntryMetaData> excludes;
@@ -60,6 +61,17 @@
this.pathName = pathName;
}
+ public boolean isExcluded()
+ {
+ return excluded;
+ }
+
+ @XmlAttribute(name = "excluded")
+ public void setExcluded(boolean excluded)
+ {
+ this.excluded = excluded;
+ }
+
public Set<PathEntryMetaData> getIncludes()
{
return includes;
Modified: projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathMetaData.java
===================================================================
--- projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathMetaData.java 2010-10-04 13:05:32 UTC (rev 108416)
+++ projects/scanning/trunk/scanning-spi/src/main/java/org/jboss/scanning/spi/metadata/PathMetaData.java 2010-10-04 13:44:12 UTC (rev 108417)
@@ -39,6 +39,13 @@
String getPathName();
/**
+ * Is this an exlicitly excluded path.
+ *
+ * @return true if excluded, false otherwise
+ */
+ boolean isExcluded();
+
+ /**
* Get includes.
*
* @return the includes
Modified: projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningMetaDataTestCase.java
===================================================================
--- projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningMetaDataTestCase.java 2010-10-04 13:05:32 UTC (rev 108416)
+++ projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningMetaDataTestCase.java 2010-10-04 13:44:12 UTC (rev 108417)
@@ -72,7 +72,7 @@
assertNotNull(metaData);
List<PathMetaData> paths = metaData.getPaths();
assertNotNull(paths);
- assertEquals(3, paths.size());
+ assertEquals(4, paths.size());
PathMetaData pmd = paths.get(0);
assertNotNull(pmd);
@@ -115,6 +115,15 @@
assertEquals("com.esb.bar", pemd.getName());
assertNull(pmd.getExcludes());
assertTrue(pemd.isRecurse());
+
+ pmd = paths.get(3);
+ assertNotNull(pmd);
+ assertEquals("esb.sar/docs", pmd.getPathName());
+ assertTrue(pmd.isExcluded());
+ includes = pmd.getIncludes();
+ assertNull(includes);
+ excludes = pmd.getExcludes();
+ assertNull(excludes);
}
finally
{
Modified: projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml
===================================================================
--- projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml 2010-10-04 13:05:32 UTC (rev 108416)
+++ projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml 2010-10-04 13:44:12 UTC (rev 108417)
@@ -2,4 +2,5 @@
<path name="simple.jar">
<include name="org.jboss.test.scanning.annotations.support.jar"/>
</path>
+ <path name="foobar.jar" excluded="true"/>
</scanning>
Modified: projects/scanning/trunk/testsuite/src/test/resources/metadata/smoke/META-INF/jboss-scanning.xml
===================================================================
--- projects/scanning/trunk/testsuite/src/test/resources/metadata/smoke/META-INF/jboss-scanning.xml 2010-10-04 13:05:32 UTC (rev 108416)
+++ projects/scanning/trunk/testsuite/src/test/resources/metadata/smoke/META-INF/jboss-scanning.xml 2010-10-04 13:44:12 UTC (rev 108417)
@@ -9,4 +9,5 @@
<path name="esb.sar/lib/ui.jar">
<include name="com.esb.bar" recurse="true"/>
</path>
+ <path name="esb.sar/docs" excluded="true"/>
</scanning>
More information about the jboss-cvs-commits
mailing list