Author: thomas.diesler(a)jboss.com
Date: 2008-02-26 10:04:20 -0500 (Tue, 26 Feb 2008)
New Revision: 5812
Modified:
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectInstaller.java
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
Log:
DeploymentAspectInstaller removes aspects on destroy
Modified:
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectInstaller.java
===================================================================
---
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectInstaller.java 2008-02-26
14:48:36 UTC (rev 5811)
+++
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectInstaller.java 2008-02-26
15:04:20 UTC (rev 5812)
@@ -137,6 +137,19 @@
manager.setDeploymentAspects(sortedAspects);
}
+ public void destroy()
+ {
+ List<DeploymentAspect> managerAspects = new
ArrayList<DeploymentAspect>();
+ managerAspects.addAll(manager.getDeploymentAspects());
+ Iterator<DeploymentAspect> it = aspects.iterator();
+ while (it.hasNext())
+ {
+ DeploymentAspect aspect = it.next();
+ managerAspects.remove(aspect);
+ }
+ manager.setDeploymentAspects(managerAspects);
+ }
+
private void throwSortException(List<DeploymentAspect> sortedAspects,
List<DeploymentAspect> allAspects)
{
Set<String> providedConditions = new HashSet<String>();
Modified:
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
===================================================================
---
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java 2008-02-26
14:48:36 UTC (rev 5811)
+++
framework/trunk/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java 2008-02-26
15:04:20 UTC (rev 5812)
@@ -49,8 +49,7 @@
private String name;
private DeploymentAspectManager parent;
- private List<DeploymentAspect> sortedAspects = new
ArrayList<DeploymentAspect>();
- private long deploymentCount;
+ private List<DeploymentAspect> depAspects = new
ArrayList<DeploymentAspect>();
public String getName()
{
@@ -74,16 +73,20 @@
public List<DeploymentAspect> getDeploymentAspects()
{
- return Collections.unmodifiableList(sortedAspects);
+ return Collections.unmodifiableList(depAspects);
}
public void setDeploymentAspects(List<DeploymentAspect> aspects)
{
- if (deploymentCount > 0)
- throw new IllegalStateException("Cannot add deployment aspects");
-
- sortedAspects.clear();
- sortedAspects.addAll(aspects);
+ depAspects.clear();
+ depAspects.addAll(aspects);
+
+ // Debug the aspect list
+ StringBuilder builder = new StringBuilder("setDeploymentAspects on " +
name);
+ for (DeploymentAspect aspect : aspects)
+ builder.append("\n " + aspect.getClass().getName());
+
+ log.debug(builder);
}
/**
@@ -140,8 +143,6 @@
}
dep.setState(DeploymentState.STARTED);
-
- deploymentCount++;
}
public void undeploy(Deployment dep)
Show replies by date