[jboss-cvs] JBossAS SVN: r72180 - projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/support.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 14 10:30:52 EDT 2008


Author: alesj
Date: 2008-04-14 10:30:52 -0400 (Mon, 14 Apr 2008)
New Revision: 72180

Modified:
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/support/SecurityDomainAnnotationPlugin.java
Log:
Expanding the example test.

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/support/SecurityDomainAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/support/SecurityDomainAnnotationPlugin.java	2008-04-14 14:25:23 UTC (rev 72179)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/support/SecurityDomainAnnotationPlugin.java	2008-04-14 14:30:52 UTC (rev 72180)
@@ -25,9 +25,11 @@
 
 import org.jboss.beans.metadata.api.annotations.Dependency;
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.DependencyInfo;
 import org.jboss.dependency.spi.DependencyItem;
 import org.jboss.kernel.plugins.annotations.ClassAnnotationPlugin;
+import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.reflect.spi.ClassInfo;
@@ -49,7 +51,22 @@
          throw new IllegalArgumentException("Null @Dependency.");
 
       DependencyInfo dependencies = context.getDependencyInfo();
-      SecurityDomainDependencyFactory factory = (SecurityDomainDependencyFactory)dependency.factory().newInstance();
+
+      SecurityDomainDependencyFactory factory = null;
+      // try to find existing security domain dependency factory
+      // or what ever kind of lookup
+      KernelController controller = context.getKernel().getController();
+      ControllerContext smCC = controller.getInstalledContext(annotation.securityManagerName());
+      if (smCC != null)
+      {
+         Object target = smCC.getTarget();
+         if (target != null && target instanceof SecurityDomainDependencyFactory)
+            factory = SecurityDomainDependencyFactory.class.cast(target);
+      }
+
+      if (factory == null)
+         factory = (SecurityDomainDependencyFactory)dependency.factory().newInstance();
+
       DependencyItem item = factory.createDependencyItem(annotation, dependency);
       dependencies.addIDependOn(item);
 




More information about the jboss-cvs-commits mailing list