[jboss-cvs] JBossAS SVN: r91766 - in projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc: deployers and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jul 29 10:05:35 EDT 2009


Author: jesper.pedersen
Date: 2009-07-29 10:05:35 -0400 (Wed, 29 Jul 2009)
New Revision: 91766

Modified:
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java
Log:
[JBJCA-130] SJC: Wrap all deployment exceptions in DeployException

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java	2009-07-29 13:56:55 UTC (rev 91765)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java	2009-07-29 14:05:35 UTC (rev 91766)
@@ -26,6 +26,7 @@
 import org.jboss.jca.sjc.boot.ConstructorType;
 import org.jboss.jca.sjc.boot.InjectType;
 import org.jboss.jca.sjc.boot.PropertyType;
+import org.jboss.jca.sjc.deployers.DeployException;
 import org.jboss.jca.sjc.deployers.Deployer;
 
 import java.io.Closeable;
@@ -386,24 +387,31 @@
 
             for (File f : deployDirectory.listFiles())
             {
-               Object[] parameters = new Object[] {f, cl};
-               org.jboss.jca.sjc.deployers.Deployment deployment = 
-                  (org.jboss.jca.sjc.deployers.Deployment)deployMethod.invoke(instance, parameters);
-               if (deployment != null)
+               try
                {
-                  if (services.get(deployment.getName()) == null)
+                  Object[] parameters = new Object[] {f, cl};
+                  org.jboss.jca.sjc.deployers.Deployment deployment = 
+                     (org.jboss.jca.sjc.deployers.Deployment)deployMethod.invoke(instance, parameters);
+                  if (deployment != null)
                   {
-                     startup.add(deployment.getName());
-                     services.put(deployment.getName(), deployment);
+                     if (services.get(deployment.getName()) == null)
+                     {
+                        startup.add(deployment.getName());
+                        services.put(deployment.getName(), deployment);
+                     }
+                     else
+                     {
+                        warn("Warning: A deployment with name " + deployment.getName() + " already exists");
+                     }
                   }
                   else
                   {
-                     warn("Warning: A deployment with name " + deployment.getName() + " already exists");
+                     warn("Ignoring deployment " + f.getName());
                   }
                }
-               else
+               catch (Exception de)
                {
-                  warn("Ignoring deployment " + f.getName());
+                  error("Deployment " + f.getName() + " failed.", de);
                }
             }
          }

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java	2009-07-29 13:56:55 UTC (rev 91765)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java	2009-07-29 14:05:35 UTC (rev 91766)
@@ -35,7 +35,7 @@
     * @param f The file
     * @param parent The parent classloader
     * @return The deployment; or null if no deployment was made
-    * @exception Exception Thrown if an error occurs
+    * @exception DeployException Thrown if an error occurs during deployment
     */
-   public Deployment deploy(File f, ClassLoader parent) throws Exception;
+   public Deployment deploy(File f, ClassLoader parent) throws DeployException;
 }

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java	2009-07-29 13:56:55 UTC (rev 91765)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java	2009-07-29 14:05:35 UTC (rev 91766)
@@ -24,6 +24,7 @@
 
 import org.jboss.jca.sjc.annotationscanner.Annotation;
 import org.jboss.jca.sjc.annotationscanner.AnnotationScanner;
+import org.jboss.jca.sjc.deployers.DeployException;
 import org.jboss.jca.sjc.deployers.Deployer;
 import org.jboss.jca.sjc.deployers.Deployment;
 import org.jboss.jca.sjc.util.ExtractUtil;
@@ -66,9 +67,9 @@
     * @param f The file
     * @param parent The parent classloader
     * @return The deployment
-    * @exception Exception Thrown if an error occurs
+    * @exception DeployException Thrown if an error occurs during deployment
     */
-   public Deployment deploy(File f, ClassLoader parent) throws Exception
+   public Deployment deploy(File f, ClassLoader parent) throws DeployException
    {
       if (f == null || !f.getAbsolutePath().endsWith(".rar"))
          return null;
@@ -142,6 +143,10 @@
 
          return new RADeployment(f.getName(), cl);
       }
+      catch (Throwable t)
+      {
+         throw new DeployException("Deployment " + f.getName() + " failed", t);
+      }
       finally
       {
          SecurityActions.setThreadContextClassLoader(oldTCCL);




More information about the jboss-cvs-commits mailing list