[jboss-cvs] JBossAS SVN: r81789 - projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 28 15:41:41 EST 2008
Author: alesj
Date: 2008-11-28 15:41:40 -0500 (Fri, 28 Nov 2008)
New Revision: 81789
Modified:
projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java
Log:
[JBDEPLOY-137]; initial reset impl; todo on tests.
Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java 2008-11-28 20:10:31 UTC (rev 81788)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java 2008-11-28 20:41:40 UTC (rev 81789)
@@ -27,6 +27,7 @@
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.Controller;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.structure.spi.DeploymentUnit;
@@ -34,6 +35,7 @@
* AbstractDeploymentClassLoaderPolicyModule.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public abstract class AbstractDeploymentClassLoaderPolicyModule extends ClassLoaderPolicyModule
@@ -64,12 +66,14 @@
* Determine the classloading metadata for the deployment unit
*
* @param unit the deployment unit
+ * @param addAlias should we add alias or remove
* @return the classloading metadata
*/
- private static String determineContextName(DeploymentUnit unit)
+ private static String determineContextName(DeploymentUnit unit, boolean addAlias)
{
if (unit == null)
throw new IllegalArgumentException("Null unit");
+
ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
if (context == null)
throw new IllegalStateException("Deployment has no controller context");
@@ -81,15 +85,23 @@
if (contextName.equals(context.getName()) == false)
{
Set<Object> aliases = context.getAliases();
- if (aliases != null && aliases.contains(contextName) == false)
+ if (aliases == null || (aliases != null && aliases.contains(contextName) == false))
{
- try
+ Controller controller = context.getController();
+ if (addAlias)
{
- context.getController().addAlias(contextName, context.getName());
+ try
+ {
+ controller.addAlias(contextName, context.getName());
+ }
+ catch (Throwable t)
+ {
+ throw new RuntimeException("Error adding deployment alias " + contextName + " to " + context, t);
+ }
}
- catch (Throwable t)
+ else
{
- throw new RuntimeException("Error adding deployment alias " + contextName + " to " + context, t);
+ controller.removeAlias(contextName);
}
}
}
@@ -105,7 +117,7 @@
*/
public AbstractDeploymentClassLoaderPolicyModule(DeploymentUnit unit)
{
- super(determineClassLoadingMetaData(unit), determineContextName(unit));
+ super(determineClassLoadingMetaData(unit), determineContextName(unit, true));
this.unit = unit;
ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
setControllerContext(context);
@@ -126,4 +138,11 @@
{
return CLASSLOADER_STATE;
}
+
+ @Override
+ public void reset()
+ {
+ super.reset();
+ determineContextName(unit, false);
+ }
}
More information about the jboss-cvs-commits
mailing list