[jboss-cvs] JBossAS SVN: r96662 - projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 20 15:34:51 EST 2009


Author: jesper.pedersen
Date: 2009-11-20 15:34:51 -0500 (Fri, 20 Nov 2009)
New Revision: 96662

Modified:
   projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java
Log:
[JBJCA-223] Throw a DeployException in case of an unknown bean

Modified: projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java
===================================================================
--- projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java	2009-11-20 20:29:47 UTC (rev 96661)
+++ projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java	2009-11-20 20:34:51 UTC (rev 96662)
@@ -43,7 +43,6 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Set;
-import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Future;
 
@@ -99,6 +98,11 @@
 
          if (deployment != null && deployment.getBean().size() > 0)
          {
+            for (BeanType bt : deployment.getBean())
+            {
+               kernel.setBeanStatus(bt.getName(), ServiceLifecycle.NOT_STARTED);
+            }
+
             List<BeanDeployer> deployers = new ArrayList<BeanDeployer>(deployment.getBean().size());
             List<String> beans = Collections.synchronizedList(new ArrayList<String>(deployment.getBean().size()));
 
@@ -195,8 +199,6 @@
          {
             if (kernel.getBean(beanName) == null)
             {
-               kernel.setBeanStatus(beanName, ServiceLifecycle.NOT_STARTED);
-
                Set<String> dependencies = getDependencies(bt);
                int notStarted = getNotStarted(dependencies);
 
@@ -292,8 +294,9 @@
        * Get the number of services that are not started yet
        * @paran dependencies The dependencies for a service
        * @return The number of not started services
+       * @exception DeployException Thrown if an unknown dependency is found
        */
-      private int getNotStarted(Set<String> dependencies)
+      private int getNotStarted(Set<String> dependencies) throws DeployException
       {
          if (dependencies == null || dependencies.size() == 0)
             return 0;
@@ -302,8 +305,11 @@
          for (String dependency : dependencies)
          {
             ServiceLifecycle dependencyStatus = kernel.getBeanStatus(dependency);
-            if (dependencyStatus == null || (dependencyStatus != ServiceLifecycle.STARTED && 
-                                             dependencyStatus != ServiceLifecycle.ERROR))
+
+            if (dependencyStatus == null)
+               throw new DeployException("Unknown dependency: " + dependency);
+
+            if (dependencyStatus != ServiceLifecycle.STARTED && dependencyStatus != ServiceLifecycle.ERROR)
                count += 1;
          }
 




More information about the jboss-cvs-commits mailing list