summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--branches/sca-java-1.x/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java18
-rw-r--r--branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java6
2 files changed, 19 insertions, 5 deletions
diff --git a/branches/sca-java-1.x/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java b/branches/sca-java-1.x/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java
index 0820cc7edc..f342bc89f1 100644
--- a/branches/sca-java-1.x/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java
+++ b/branches/sca-java-1.x/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java
@@ -28,6 +28,7 @@ import java.util.Map;
import org.apache.openejb.config.AppModule;
import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.config.UnknownModuleTypeException;
import org.apache.openejb.config.WebModule;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.EjbRef;
@@ -206,9 +207,20 @@ public class JavaEEIntrospectorImpl implements JavaEEIntrospector {
}
JavaEEModuleHelper jmh = new JavaEEModuleHelper();
- EjbModule em = jmh.getMetadataCompleteModules(tempFile.getAbsolutePath()).getEjbModules().get(0);
- if(!tempFile.delete()) {
- tempFile.deleteOnExit();
+ EjbModule em;
+ try {
+ em = jmh.getMetadataCompleteModules(tempFile.getAbsolutePath()).getEjbModules().get(0);
+ } catch(ContributionReadException e) {
+ if(e.getCause() instanceof UnknownModuleTypeException) {
+ // Not an EJB jar
+ return null;
+ } else {
+ throw e;
+ }
+ } finally {
+ if(!tempFile.delete()) {
+ tempFile.deleteOnExit();
+ }
}
return createEjbModuleInfo(em);
}
diff --git a/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java b/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java
index ee00451318..c5e9e6327b 100644
--- a/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java
+++ b/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java
@@ -49,8 +49,10 @@ public class EjbArchiveProcessor implements URLArtifactProcessor<EjbModuleInfo>
public EjbModuleInfo read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException {
EjbModuleInfo ejbModuleInfo = jeeIntrospector.introspectEjbArchive(artifactURL);
- ejbModuleInfo.setUri(artifactURI);
- ejbModuleInfo.setModuleName(new File(artifactURL.getFile()).getName());
+ if(ejbModuleInfo != null) {
+ ejbModuleInfo.setUri(artifactURI);
+ ejbModuleInfo.setModuleName(new File(artifactURL.getFile()).getName());
+ }
return ejbModuleInfo;
}