[jboss-cvs] JBossAS SVN: r76811 - in projects/jboss-deployers/trunk/deployers-vfs/src: tests/org/jboss/test/deployers/vfs/deployer/bean/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Aug 8 04:42:35 EDT 2008
Author: alesj
Date: 2008-08-08 04:42:34 -0400 (Fri, 08 Aug 2008)
New Revision: 76811
Modified:
projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelScopeUnitTestCase.java
Log:
[JBDEPLOY-69]; merge the controller context and deployment unit scopes.
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java 2008-08-08 08:15:47 UTC (rev 76810)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java 2008-08-08 08:42:34 UTC (rev 76811)
@@ -21,6 +21,8 @@
*/
package org.jboss.deployers.vfs.deployer.kernel;
+import java.util.Collection;
+
import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
@@ -34,6 +36,8 @@
import org.jboss.kernel.Kernel;
import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.metadata.spi.scope.Scope;
+import org.jboss.metadata.spi.scope.ScopeKey;
/**
* BeanMetaDataDeployer.<p>
@@ -110,8 +114,11 @@
}
KernelControllerContext context = new AbstractKernelControllerContext(null, deployment, null);
ScopeInfo scopeInfo = context.getScopeInfo();
- scopeInfo.setScope(unit.getScope());
- scopeInfo.setMutableScope(unit.getMutableScope());
+ if (scopeInfo != null)
+ {
+ mergeScopes(scopeInfo.getScope(), unit.getScope());
+ mergeScopes(scopeInfo.getMutableScope(), unit.getMutableScope());
+ }
try
{
controller.install(context);
@@ -122,6 +129,27 @@
}
}
+ /**
+ * Merge scope keys.
+ *
+ * @param contextKey the context key
+ * @param unitKey the unit key
+ */
+ protected static void mergeScopes(ScopeKey contextKey, ScopeKey unitKey)
+ {
+ if (contextKey == null)
+ return;
+ if (unitKey == null)
+ return;
+
+ Collection<Scope> unitScopes = unitKey.getScopes();
+ if (unitScopes == null || unitScopes.isEmpty())
+ return;
+
+ for (Scope scope : unitScopes)
+ contextKey.addScope(scope);
+ }
+
@Override
public void undeploy(DeploymentUnit unit, BeanMetaData deployment)
{
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelScopeUnitTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelScopeUnitTestCase.java 2008-08-08 08:15:47 UTC (rev 76810)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelScopeUnitTestCase.java 2008-08-08 08:42:34 UTC (rev 76811)
@@ -21,10 +21,12 @@
*/
package org.jboss.test.deployers.vfs.deployer.bean.test;
+import java.util.Collection;
import java.util.Collections;
+import java.util.Set;
+import java.util.HashSet;
import junit.framework.Test;
-
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
import org.jboss.dependency.spi.ControllerContext;
@@ -38,7 +40,8 @@
import org.jboss.kernel.Kernel;
import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
import org.jboss.metadata.spi.MetaData;
-import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+import org.jboss.metadata.spi.scope.Scope;
+import org.jboss.metadata.spi.scope.ScopeKey;
import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
import org.jboss.test.deployers.vfs.deployer.bean.support.Simple;
import org.jboss.test.deployers.vfs.deployer.bean.support.TestMetaDataBeanDeployer;
@@ -95,8 +98,8 @@
MainDeployerStructure mds = (MainDeployerStructure) main;
DeploymentUnit unit = mds.getDeploymentUnit("KernelDeployerTest", true);
DeploymentUnit component = unit.getComponent("Test");
- assertEquals(component.getScope(), scopeInfo.getScope());
- assertEquals(component.getMutableScope(), scopeInfo.getMutableScope());
+ assertScopeKeys(component.getScope(), scopeInfo.getScope());
+ assertScopeKeys(component.getMutableScope(), scopeInfo.getMutableScope());
MetaData md = ctx.getScopeInfo().getMetaData();
assertEquals(testMetaDataDeployer, md.getMetaData("test"));
@@ -104,4 +107,18 @@
assertUndeploy(context);
assertNull(controller.getContext("Test", null));
}
+
+ /**
+ * Component scopes should be subset of context scopes.
+ */
+ protected void assertScopeKeys(ScopeKey component, ScopeKey context)
+ {
+ Collection<Scope> componentScopes = component.getScopes();
+ Collection<Scope> contextScopes = context.getScopes();
+
+ Set<Scope> first = new HashSet<Scope>(componentScopes);
+ Set<Scope> second = new HashSet<Scope>(contextScopes);
+ second.retainAll(first);
+ assertEquals(first, second);
+ }
}
More information about the jboss-cvs-commits
mailing list