You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2010/04/12 09:53:32 UTC
svn commit: r933129 - in /geronimo/server/trunk/plugins:
client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/
openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/
Author: xuhaihong
Date: Mon Apr 12 07:53:32 2010
New Revision: 933129
URL: http://svn.apache.org/viewvc?rev=933129&view=rev
Log:
More update for using generic key in EARContext
Modified:
geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
Modified: geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java?rev=933129&r1=933128&r2=933129&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java Mon Apr 12 07:53:32 2010
@@ -565,7 +565,7 @@ public class AppClientModuleBuilder impl
} catch (IOException e) {
throw new DeploymentException("Unable to copy app client module jar into configuration: " + moduleFile.getName(), e);
}
- ClassPathList libClasspath = (ClassPathList) earContext.getGeneralData().get(ClassPathList.class);
+ ClassPathList libClasspath = EARContext.CLASS_PATH_LIST_KEY.get(earContext.getGeneralData());
if (libClasspath != null) {
for (String libEntryPath : libClasspath) {
try {
@@ -634,7 +634,6 @@ public class AppClientModuleBuilder impl
//Share the ejb info with the ear.
//TODO this might be too much, but I don't want to impose a dependency on geronimo-openejb to get
//EjbModuleBuilder.EarData.class
- Map<EARContext.Key, Object> generalData = earContext.getGeneralData();
for (Map.Entry<EARContext.Key, Object> entry : generalData.entrySet()) {
EARContext.Key key = entry.getKey();
if (key.getClass().getName().startsWith("org.apache.geronimo.openejb.deployment.EjbModuleBuilder$EarData")) {
Modified: geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java?rev=933129&r1=933128&r2=933129&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java (original)
+++ geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java Mon Apr 12 07:53:32 2010
@@ -45,6 +45,7 @@ import org.apache.geronimo.gbean.GBeanIn
import org.apache.geronimo.j2ee.deployment.EARContext;
import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.ModuleBuilderExtension;
+import org.apache.geronimo.j2ee.deployment.EARContext.Key;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
import org.apache.geronimo.kernel.Naming;
@@ -68,6 +69,14 @@ import org.osgi.framework.Bundle;
public class PersistenceUnitBuilder implements ModuleBuilderExtension {
private static final QName PERSISTENCE_QNAME = PersistenceDocument.type.getDocumentElementName();
+ public static final EARContext.Key<List<URL>> PERSISTENCE_URL_LIST_KEY = new EARContext.Key<List<URL>>() {
+
+ @Override
+ public List<URL> get(Map<Key, Object> context) {
+ return (List<URL>) context.get(this);
+ }
+ };
+
private final Environment defaultEnvironment;
private final String defaultPersistenceProviderClassName;
private final Properties defaultPersistenceUnitProperties;
@@ -124,7 +133,7 @@ public class PersistenceUnitBuilder impl
String rootBase = rootBaseFile.toURI().normalize().toString();
URI moduleBaseURI = moduleContext.getBaseDir().toURI();
Map rootGeneralData = module.getRootEarContext().getGeneralData();
- ClassPathList manifestcp = (ClassPathList) module.getEarContext().getGeneralData().get(ClassPathList.class);
+ ClassPathList manifestcp = EARContext.CLASS_PATH_LIST_KEY.get(rootGeneralData);
if (manifestcp == null) {
manifestcp = new ClassPathList();
manifestcp.add(module.getTargetPath());
@@ -137,10 +146,10 @@ public class PersistenceUnitBuilder impl
urls[i++] = url;
}
ResourceFinder finder = new ResourceFinder("", null, urls);
- List<URL> knownPersistenceUrls = (List<URL>) rootGeneralData.get(PersistenceUnitBuilder.class.getName());
+ List<URL> knownPersistenceUrls = PERSISTENCE_URL_LIST_KEY.get(rootGeneralData);
if (knownPersistenceUrls == null) {
knownPersistenceUrls = new ArrayList<URL>();
- rootGeneralData.put(PersistenceUnitBuilder.class.getName(), knownPersistenceUrls);
+ rootGeneralData.put(PERSISTENCE_URL_LIST_KEY, knownPersistenceUrls);
}
List<URL> persistenceUrls = finder.findAll("META-INF/persistence.xml");
persistenceUrls.removeAll(knownPersistenceUrls);