[jboss-cvs] JBossAS SVN: r109624 - projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/filter.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Dec 1 09:44:15 EST 2010
Author: alesj
Date: 2010-12-01 09:44:14 -0500 (Wed, 01 Dec 2010)
New Revision: 109624
Modified:
projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/filter/ScanningDeploymentUnitFilter.java
Log:
Ask for explicit delegation, since we already have SMD.
Modified: projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/filter/ScanningDeploymentUnitFilter.java
===================================================================
--- projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/filter/ScanningDeploymentUnitFilter.java 2010-12-01 14:34:51 UTC (rev 109623)
+++ projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/filter/ScanningDeploymentUnitFilter.java 2010-12-01 14:44:14 UTC (rev 109624)
@@ -36,18 +36,38 @@
*/
public class ScanningDeploymentUnitFilter extends VFS2BaseBridgeDeploymentUnitFilter
{
+ /** Do we use previous filters and delegate to them as well */
+ private boolean delegate;
+
+ /**
+ * Should we use delegation to existing filters.
+ * By default we check the presence of (ResourceFilter.class.getName() + ".delegate") attachment.
+ *
+ * @param unit the deployment unit
+ * @return true if we should use delegation, false otherwise
+ */
+ protected boolean useDelegation(DeploymentUnit unit)
+ {
+ return unit.isAttachmentPresent(ResourceFilter.class.getName() + ".delegate");
+ }
+
protected boolean doAccepts(DeploymentUnit unit)
{
ScanningMetaData smd = unit.getAttachment(ScanningMetaData.class);
if (smd != null)
{
+ boolean useDelegation = delegate && useDelegation(unit);
+
// recurse
ResourceFilter recurse = createRecurseFilter(smd);
if (recurse != null)
{
- ResourceFilter previousRecurse = unit.getAttachment(ResourceFilter.class.getName() + ".recurse", ResourceFilter.class);
- if (previousRecurse != null)
- recurse = new DelegateResourceFilter(previousRecurse, recurse);
+ if (useDelegation)
+ {
+ ResourceFilter previousRecurse = unit.getAttachment(ResourceFilter.class.getName() + ".recurse", ResourceFilter.class);
+ if (previousRecurse != null)
+ recurse = new DelegateResourceFilter(previousRecurse, recurse);
+ }
unit.addAttachment(ResourceFilter.class.getName() + ".recurse", recurse, ResourceFilter.class);
}
@@ -56,9 +76,12 @@
ResourceFilter filter = createResourceFilter(smd);
if (filter != null)
{
- ResourceFilter previousFilter = unit.getAttachment(ResourceFilter.class.getName() + ".resource", ResourceFilter.class);
- if (previousFilter != null)
- filter = new DelegateResourceFilter(previousFilter, filter);
+ if (useDelegation)
+ {
+ ResourceFilter previousFilter = unit.getAttachment(ResourceFilter.class.getName() + ".resource", ResourceFilter.class);
+ if (previousFilter != null)
+ filter = new DelegateResourceFilter(previousFilter, filter);
+ }
unit.addAttachment(ResourceFilter.class.getName() + ".resource", filter, ResourceFilter.class);
}
@@ -87,4 +110,14 @@
{
return new ScanningMetaDataResourceFilter(smd);
}
+
+ /**
+ * Set the delegate flag.
+ *
+ * @param delegate the delegate flag
+ */
+ public void setDelegate(boolean delegate)
+ {
+ this.delegate = delegate;
+ }
}
More information about the jboss-cvs-commits
mailing list