You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by va...@apache.org on 2009/10/08 08:55:58 UTC
svn commit: r823070 - in
/geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany:
EmbeddedRuntimeGBean.java TuscanyModuleBuilderExtension.java
Author: vamsic007
Date: Thu Oct 8 06:55:58 2009
New Revision: 823070
URL: http://svn.apache.org/viewvc?rev=823070&view=rev
Log:
Eliminate the use of temporary jar with SCA artifacts to compute the model from WAR and EJB JARs during deployment.
Modified:
geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/EmbeddedRuntimeGBean.java
geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/TuscanyModuleBuilderExtension.java
Modified: geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/EmbeddedRuntimeGBean.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/EmbeddedRuntimeGBean.java?rev=823070&r1=823069&r2=823070&view=diff
==============================================================================
--- geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/EmbeddedRuntimeGBean.java (original)
+++ geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/EmbeddedRuntimeGBean.java Thu Oct 8 06:55:58 2009
@@ -86,7 +86,8 @@
ModelResolverImpl modelResolver = new ModelResolverImpl(classLoader);
// Add contribution
- contribution = eScaDomain.getContributionService().contribute(contributionRoot, new URL(contributionRoot), modelResolver, false);
+ //contribution = eScaDomain.getContributionService().contribute(contributionRoot, new URL(contributionRoot), modelResolver, false);
+ contribution = eScaDomain.getContributionService().contribute(contributionRoot, new URL(contributionRoot), false);
// Collect the composites
List<Composite> composites = new ArrayList<Composite>();
Modified: geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/TuscanyModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/TuscanyModuleBuilderExtension.java?rev=823070&r1=823069&r2=823070&view=diff
==============================================================================
--- geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/TuscanyModuleBuilderExtension.java (original)
+++ geronimo/plugins/tuscany/trunk/geronimo-tuscany/src/main/java/org/apache/geronimo/tuscany/TuscanyModuleBuilderExtension.java Thu Oct 8 06:55:58 2009
@@ -20,6 +20,7 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.URL;
@@ -243,7 +244,17 @@
IOUtil.close(jarOut);
}
- data.setAttribute("jarFileName", "META-INF/"+(module.isStandAlone() ? "" : module.getName()+"/")+"application-composite.jar");
+ //data.setAttribute("jarFileName", "META-INF/"+(module.isStandAlone() ? "" : module.getName()+"/")+"application-composite.jar");
+ // Copy the module file to META-INF
+ File tempModuleFile = new File(module.getModuleFile().getName());
+ File tempModuleFileSave = new File(earContext.getBaseDir(), "META-INF/"+tempModuleFile.getName());
+ try {
+ IOUtil.copyFile(tempModuleFile, tempModuleFileSave);
+ } catch (IOException e) {
+ throw new DeploymentException(e);
+ }
+ data.setAttribute("jarFileName", "META-INF/"+tempModuleFile.getName());
+
try {
earContext.addGBean(data);
} catch (GBeanAlreadyExistsException e) {
@@ -267,7 +278,17 @@
String thisComponentName = null;
ModelResolverImpl modelResolver = new ModelResolverImpl(cl);
try {
- Contribution contribution = getEmbeddedSCADomain().getContributionService().contribute(appCompositeJarFile.toURL().toString(), appCompositeJarFile.toURL(), modelResolver, false);
+ Contribution contribution = null;
+ ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(cl);
+ //Contribution contribution = getEmbeddedSCADomain().getContributionService().contribute(appCompositeJarFile.toURL().toString(), appCompositeJarFile.toURL(), modelResolver, false);
+ contribution = getEmbeddedSCADomain().getContributionService().contribute(tempModuleFileSave.toURL().toString(), tempModuleFileSave.toURL(), false);
+ } catch(Throwable t) {
+ t.printStackTrace();
+ } finally {
+ Thread.currentThread().setContextClassLoader(oldCl);
+ }
for(Artifact artifact : contribution.getArtifacts()) {
if(thisComponentName != null) {
break;
@@ -465,7 +486,9 @@
IOUtil.close(jarOut);
}
- data.setAttribute("jarFileName", "META-INF/"+(module.isStandAlone() ? "" : module.getName()+"/")+"application-composite.jar");
+ // Do not use the hack. Point to ejb.jar file.
+ //data.setAttribute("jarFileName", "META-INF/"+(module.isStandAlone() ? "" : module.getName()+"/")+"application-composite.jar");
+ data.setAttribute("jarFileName", "ejb.jar");
try {
earContext.addGBean(data);
} catch (GBeanAlreadyExistsException e) {
@@ -475,8 +498,19 @@
// Find the various components
Map<String, String> ejb2component = new HashMap<String, String>();
ModelResolverImpl modelResolver = new ModelResolverImpl(cl);
+ appCompositeJarFile = ejbJarFile;
try {
- Contribution contribution = getEmbeddedSCADomain().getContributionService().contribute(appCompositeJarFile.toURL().toString(), appCompositeJarFile.toURL(), modelResolver, false);
+ Contribution contribution = null;
+ ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(cl);
+ //contribution = getEmbeddedSCADomain().getContributionService().contribute(appCompositeJarFile.toURL().toString(), appCompositeJarFile.toURL(), modelResolver, false);
+ contribution = getEmbeddedSCADomain().getContributionService().contribute(appCompositeJarFile.toURL().toString(), appCompositeJarFile.toURL(), false);
+ } catch(Throwable t) {
+ t.printStackTrace();
+ } finally {
+ Thread.currentThread().setContextClassLoader(oldCl);
+ }
for(Artifact artifact : contribution.getArtifacts()) {
if (artifact.getModel() instanceof Composite) {
for(Component component : ((Composite)artifact.getModel()).getComponents()) {