geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dwo...@apache.org
Subject svn commit: r557004 - /geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
Date Tue, 17 Jul 2007 18:09:24 GMT
Author: dwoods
Date: Tue Jul 17 11:09:23 2007
New Revision: 557004

URL: http://svn.apache.org/viewvc?view=rev&rev=557004
Log:
GERONIMO-3317 Sets PersistenceUnitGBean as the dependence of Module GBean to make sure the
ClassTransformer is installed before EjbModuleImplGBean.  Song, thanks for the patch.

Modified:
    geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java

Modified: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java?view=diff&rev=557004&r1=557003&r2=557004
==============================================================================
--- geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
(original)
+++ geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
Tue Jul 17 11:09:23 2007
@@ -23,6 +23,7 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -46,6 +47,7 @@
 import org.apache.geronimo.j2ee.deployment.ModuleBuilderExtension;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
 import org.apache.geronimo.kernel.repository.Environment;
@@ -178,6 +180,15 @@
     }
 
     public void addGBeans(EARContext earContext, Module module, ClassLoader cl, Collection
repository) throws DeploymentException {
+        try {
+            //make sure the PersistenceUnitGBean is started before the Module GBean
+            if (earContext.findGBeans(new AbstractNameQuery(earContext.getConfigID(), Collections.EMPTY_MAP,
PersistenceUnitGBean.class.getName())).size() > 0) {
+                GBeanData moduleGBeanData = earContext.getGBeanInstance(module.getModuleName());
+                moduleGBeanData.addDependency(new AbstractNameQuery(earContext.getConfigID(),
Collections.EMPTY_MAP, PersistenceUnitGBean.class.getName()));
+            }
+        } catch (GBeanNotFoundException e) {
+            //Module GBean not found, do nothing
+        }
     }
 
     private void buildPersistenceUnits(PersistenceDocument.Persistence persistence, Map<String,
PersistenceDocument.Persistence.PersistenceUnit> overrides, Module module, String persistenceModulePath)
throws DeploymentException {



Mime
View raw message