Author: rmannibucau
Date: Sun Oct  7 11:33:26 2012
New Revision: 1395274

URL: http://svn.apache.org/viewvc?rev=1395274&view=rev
Log:
more info when app deployment fails

Modified:
    
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java

Modified: 
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1395274&r1=1395273&r2=1395274&view=diff
==============================================================================
--- 
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 (original)
+++ 
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 Sun Oct  7 11:33:26 2012
@@ -294,6 +294,7 @@ public abstract class TomEEContainer<Con
                 if (appInfo != null) {
                     moduleIds.put(archive.getName(), new 
DeployedApp(appInfo.path, file.getParentFile()));
                 } else {
+                    LOGGER.severe("appInfo was not found for " + 
file.getPath() + ", available are: " + apps());
                     throw new OpenEJBException("can't get appInfo");
                 }
             } catch (OpenEJBException re) { // clean up in undeploy needs it
@@ -325,6 +326,19 @@ public abstract class TomEEContainer<Con
         }
     }
 
+    private Collection<String> apps() {
+        final Collection<String> paths = new ArrayList<String>();
+        try {
+            final Collection<AppInfo> appInfos = deployer().getDeployedApps();
+            for (AppInfo info : appInfos) {
+                paths.add(info.path);
+            }
+        } catch (Exception e) { // don't throw an exception just because of 
this log info
+            // no-op
+        }
+        return paths;
+    }
+
     protected Assignable archiveWithTestInfo(final Archive<?> archive) {
         return archive.add(new 
StringAsset(testClass.get().getJavaClass().getName()), 
ArchivePaths.create("arquillian-tomee-info.txt"));
     }

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java?rev=1395274&r1=1395273&r2=1395274&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 Sun Oct  7 11:33:26 2012
@@ -195,7 +195,7 @@ public class DeployerEjb implements Depl
                 ClassLoaderUtil.destroyClassLoader(appModule.getJarLocation());
             }
 
-            e.printStackTrace();
+            LOGGER.error("Can't deploy " + inLocation, e);
 
             if (e instanceof javax.validation.ValidationException) {
                 throw (javax.validation.ValidationException) e;

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1395274&r1=1395273&r2=1395274&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 Sun Oct  7 11:33:26 2012
@@ -493,6 +493,18 @@ public class TomcatWebAppBuilder impleme
         return null;
     }
 
+    public synchronized Collection<String> availableApps() {
+        final Collection<String> apps = new ArrayList<String>();
+        for (ContextInfo info : infos.values()) {
+            if (info.appInfo != null) {
+                apps.add(info.appInfo.path);
+            } else if (info.standardContext != null) {
+                apps.add("[not deployed] " + info.standardContext.getName());
+            }
+        }
+        return apps;
+    }
+
     // TODO: find something more sexy
     private static Field HOST_CONFIG_HOST = null;
 

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java?rev=1395274&r1=1395273&r2=1395274&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
 Sun Oct  7 11:33:26 2012
@@ -23,11 +23,15 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.assembler.classic.WebAppBuilder;
 import org.apache.openejb.assembler.classic.WebAppInfo;
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.Logger;
 import org.apache.tomee.catalina.TomcatWebAppBuilder;
 
 import java.io.File;
 
 public class TomcatWebappDeployer implements WebAppDeployer {
+    private static final Logger LOGGER = 
Logger.getInstance(LogCategory.OPENEJB, TomcatWebappDeployer.class);
+
     @Override
     public AppInfo deploy(final String context, final File file) {
         final TomcatWebAppBuilder tomcatWebAppBuilder = (TomcatWebAppBuilder) 
SystemInstance.get().getComponent(WebAppBuilder.class);
@@ -38,6 +42,10 @@ public class TomcatWebappDeployer implem
         }
 
         final TomcatWebAppBuilder.ContextInfo info = 
tomcatWebAppBuilder.standaAloneWebAppInfo(file.getAbsolutePath());
+        if (info == null || info.appInfo == null) {
+            LOGGER.error("Can't find of appInfo for " + file + ", availables: 
" + tomcatWebAppBuilder.availableApps());
+        }
+
         if (info == null) { // error
             return null;
         }


Reply via email to