You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by va...@apache.org on 2009/04/03 21:58:00 UTC

svn commit: r761772 - /tuscany/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java

Author: vamsic007
Date: Fri Apr  3 19:58:00 2009
New Revision: 761772

URL: http://svn.apache.org/viewvc?rev=761772&view=rev
Log:
TUSCANY-2956 Java EE Archive introspection
 o implementation.jee to handle archive value ""

Modified:
    tuscany/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java

Modified: tuscany/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java?rev=761772&r1=761771&r2=761772&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java (original)
+++ tuscany/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java Fri Apr  3 19:58:00 2009
@@ -111,41 +111,75 @@
         String uri = implementation.getURI();
         String archive = implementation.getArchive();
         if (uri != null) {
-            if(uri.endsWith(".war")) {
+            Object moduleInfo = null;
+            if(uri.equals("")) {
+                if(moduleInfo == null) {
+                    WebModuleInfo unresolved = new WebModuleInfoImpl();
+                    unresolved.setUri(URI.create(archive));
+                    WebModuleInfo resolved = resolver.resolveModel(WebModuleInfo.class, unresolved);
+                    if(unresolved != resolved) {
+                        moduleInfo = resolved;
+                    }
+                }
+                if(moduleInfo == null) {
+                    EjbModuleInfo unresolved = new EjbModuleInfoImpl();
+                    unresolved.setUri(URI.create(archive));
+                    EjbModuleInfo resolved = resolver.resolveModel(EjbModuleInfo.class, unresolved);
+                    if(unresolved != resolved) {
+                        moduleInfo = resolved;
+                    }
+                }
+                if(moduleInfo == null) {
+                    JavaEEApplicationInfo unresolved = new JavaEEApplicationInfoImpl();
+                    unresolved.setUri(URI.create(archive));
+                    JavaEEApplicationInfo resolved = resolver.resolveModel(JavaEEApplicationInfo.class, unresolved);
+                    if(unresolved != resolved) {
+                        moduleInfo = resolved;
+                    }
+                }
+            } else if(uri.endsWith(".war")) {
                 WebModuleInfo webModuleInfo = new WebModuleInfoImpl();
                 webModuleInfo.setUri(URI.create(archive));
                 webModuleInfo = resolver.resolveModel(WebModuleInfo.class, webModuleInfo);
+                moduleInfo = webModuleInfo;
+            } else if(uri.endsWith(".jar")) {
+                EjbModuleInfo ejbModuleInfo = new EjbModuleInfoImpl();
+                ejbModuleInfo.setUri(URI.create(archive));
+                ejbModuleInfo = resolver.resolveModel(EjbModuleInfo.class, ejbModuleInfo);
+                moduleInfo = ejbModuleInfo;
+            } else if(uri.endsWith(".ear")) {
+                JavaEEApplicationInfo appInfo = new JavaEEApplicationInfoImpl();
+                appInfo.setUri(URI.create(archive));
+                appInfo = resolver.resolveModel(JavaEEApplicationInfo.class, appInfo);
+                moduleInfo = appInfo;
+            }
+            
+            if(moduleInfo instanceof WebModuleInfo) {
                 if(jeeOptionalExtension != null) {
-                    ComponentType ct = jeeOptionalExtension.createImplementationJeeComponentType(webModuleInfo);
+                    ComponentType ct = jeeOptionalExtension.createImplementationJeeComponentType((WebModuleInfo)moduleInfo);
                     implementation.getReferences().addAll(ct.getReferences());
                     implementation.getProperties().addAll(ct.getProperties());
                 }
                 // TODO: check for web composite
-            } else if(uri.endsWith(".jar")) {
-                EjbModuleInfo ejbModuleInfo = new EjbModuleInfoImpl();
-                ejbModuleInfo.setUri(URI.create(archive));
-                ejbModuleInfo = resolver.resolveModel(EjbModuleInfo.class, ejbModuleInfo);
+            } else if(moduleInfo instanceof EjbModuleInfo) {
                 if(jeeExtension != null) {
-                    ComponentType ct = jeeExtension.createImplementationJeeComponentType(ejbModuleInfo);
+                    ComponentType ct = jeeExtension.createImplementationJeeComponentType((EjbModuleInfo)moduleInfo);
                     implementation.getServices().addAll(ct.getServices());
                 }
                 if(jeeOptionalExtension != null) {
-                    ComponentType ct = jeeOptionalExtension.createImplementationJeeComponentType(ejbModuleInfo);
+                    ComponentType ct = jeeOptionalExtension.createImplementationJeeComponentType((EjbModuleInfo)moduleInfo);
                     implementation.getServices().addAll(ct.getServices());
                     implementation.getReferences().addAll(ct.getReferences());
                     implementation.getProperties().addAll(ct.getProperties());
                 }
                 // TODO: check for ejb-jar composite
-            } else if(uri.endsWith(".ear")) {
-                JavaEEApplicationInfo appInfo = new JavaEEApplicationInfoImpl();
-                appInfo.setUri(URI.create(archive));
-                appInfo = resolver.resolveModel(JavaEEApplicationInfo.class, appInfo);
+            } else if(moduleInfo instanceof JavaEEApplicationInfo) {
                 if(jeeExtension != null) {
-                    ComponentType ct = jeeExtension.createImplementationJeeComponentType(appInfo);
+                    ComponentType ct = jeeExtension.createImplementationJeeComponentType((JavaEEApplicationInfo)moduleInfo);
                     implementation.getServices().addAll(ct.getServices());
                 }
                 if(jeeOptionalExtension != null) {
-                    ComponentType ct = jeeOptionalExtension.createImplementationJeeComponentType(appInfo);
+                    ComponentType ct = jeeOptionalExtension.createImplementationJeeComponentType((JavaEEApplicationInfo)moduleInfo);
                     implementation.getServices().addAll(ct.getServices());
                     implementation.getReferences().addAll(ct.getReferences());
                     implementation.getProperties().addAll(ct.getProperties());