Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 56321 invoked from network); 19 Nov 2006 23:56:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Nov 2006 23:56:03 -0000 Received: (qmail 30178 invoked by uid 500); 19 Nov 2006 23:56:13 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 30044 invoked by uid 500); 19 Nov 2006 23:56:13 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 30033 invoked by uid 99); 19 Nov 2006 23:56:13 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Nov 2006 15:56:13 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Nov 2006 15:56:01 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 4420C1A984D; Sun, 19 Nov 2006 15:55:28 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r476980 - in /geronimo/server/trunk/modules: geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/ geronimo-persistence-jpa10-builder/ geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/b... Date: Sun, 19 Nov 2006 23:55:27 -0000 To: scm@geronimo.apache.org From: djencks@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061119235528.4420C1A984D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: djencks Date: Sun Nov 19 15:55:25 2006 New Revision: 476980 URL: http://svn.apache.org/viewvc?view=rev&rev=476980 Log: GERONIMO-2460 move some persistence builders into the persistence builder module, and update them to use more infrastructure Added: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java (contents, props changed) - copied, changed from r476579, geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/EntityManagerFactoryRefBuilder.java geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java (contents, props changed) - copied, changed from r476579, geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/PersistenceContextRefBuilder.java Removed: geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/EntityManagerFactoryRefBuilder.java geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/PersistenceContextRefBuilder.java Modified: geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/pom.xml Modified: geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java?view=diff&rev=476980&r1=476979&r2=476980 ============================================================================== --- geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java (original) +++ geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java Sun Nov 19 15:55:25 2006 @@ -36,8 +36,11 @@ import org.apache.geronimo.kernel.config.Configuration; import org.apache.geronimo.kernel.repository.Artifact; import org.apache.geronimo.kernel.repository.Environment; +import org.apache.geronimo.kernel.repository.Dependency; +import org.apache.geronimo.kernel.repository.ImportType; import org.apache.geronimo.schema.NamespaceElementConverter; import org.apache.geronimo.xbeans.geronimo.naming.GerPatternType; +import org.apache.geronimo.xbeans.geronimo.naming.GerAbstractNamingEntryDocument; import org.apache.xmlbeans.QNameSet; import org.apache.xmlbeans.SchemaType; import org.apache.xmlbeans.XmlObject; @@ -50,6 +53,7 @@ protected static final String J2EE_NAMESPACE = "http://java.sun.com/xml/ns/j2ee"; protected static final String JEE_NAMESPACE = "http://java.sun.com/xml/ns/javaee"; protected static final NamespaceElementConverter J2EE_CONVERTER = new NamespaceElementConverter(J2EE_NAMESPACE); + protected static final NamespaceElementConverter NAMING_CONVERTER = new NamespaceElementConverter(GerAbstractNamingEntryDocument.type.getDocumentElementName().getNamespaceURI()); private final Environment defaultEnvironment; @@ -61,13 +65,38 @@ this.defaultEnvironment = defaultEnvironment; } - public void buildEnvironment(XmlObject specDD, XmlObject plan, Environment environment) { + public void buildEnvironment(XmlObject specDD, XmlObject plan, Environment environment) throws DeploymentException { if (willMergeEnvironment(specDD, plan)) { EnvironmentBuilder.mergeEnvironments(environment, defaultEnvironment); } } - protected boolean willMergeEnvironment(XmlObject specDD, XmlObject plan) { + protected boolean willMergeEnvironment(XmlObject specDD, XmlObject plan) throws DeploymentException { + return false; + } + + protected boolean matchesDefaultEnvironment(Environment environment) { + for (Iterator iterator = defaultEnvironment.getDependencies().iterator(); iterator.hasNext();) { + Dependency defaultDependency = (Dependency) iterator.next(); + boolean matches = false; + for (Iterator iterator1 = environment.getDependencies().iterator(); iterator1.hasNext();) { + Dependency actualDependency = (Dependency) iterator1.next(); + if (matches(defaultDependency, actualDependency)) { + matches = true; + break; + } + if (!matches) { + return false; + } + } + } + return true; + } + + private boolean matches(Dependency defaultDependency, Dependency actualDependency) { + if (defaultDependency.getArtifact().matches(actualDependency.getArtifact()) || actualDependency.getArtifact().matches(defaultDependency.getArtifact())) { + return defaultDependency.getImportType() == actualDependency.getImportType() || actualDependency.getImportType() == ImportType.ALL; + } return false; } @@ -93,7 +122,7 @@ return QNameSet.forSets(null, Collections.EMPTY_SET, Collections.EMPTY_SET, qnames); } - protected XmlObject[] convert(XmlObject[] xmlObjects, NamespaceElementConverter converter, SchemaType type) throws DeploymentException { + protected static XmlObject[] convert(XmlObject[] xmlObjects, NamespaceElementConverter converter, SchemaType type) throws DeploymentException { //bizarre ArrayStoreException if xmlObjects is loaded by the wrong classloader XmlObject[] converted = new XmlObject[xmlObjects.length]; for (int i = 0; i < xmlObjects.length; i++) { Modified: geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java?view=diff&rev=476980&r1=476979&r2=476980 ============================================================================== --- geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java (original) +++ geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java Sun Nov 19 15:55:25 2006 @@ -17,22 +17,16 @@ package org.apache.geronimo.naming.deployment; -import java.net.URI; -import java.net.URL; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; -import org.apache.geronimo.common.DeploymentException; import org.apache.geronimo.gbean.AbstractNameQuery; -import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; import org.apache.geronimo.kernel.repository.Artifact; import org.apache.geronimo.xbeans.geronimo.naming.GerGbeanLocatorType; import org.apache.geronimo.xbeans.geronimo.naming.GerPatternType; -import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType; -import org.apache.geronimo.xbeans.j2ee.ResourceRefType; /** * @version $Rev:385232 $ $Date$ Modified: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/pom.xml URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/pom.xml?view=diff&rev=476980&r1=476979&r2=476980 ============================================================================== --- geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/pom.xml (original) +++ geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/pom.xml Sun Nov 19 15:55:25 2006 @@ -21,7 +21,7 @@ 4.0.0 - + org.apache.geronimo.modules modules @@ -31,12 +31,17 @@ geronimo-persistence-jpa10-builder Geronimo :: Persistence JPA1.0 :: Builder - + - + org.apache.geronimo.modules geronimo-j2ee-builder + ${pom.version} + + + org.apache.geronimo.modules + geronimo-naming-builder ${pom.version} Copied: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java (from r476579, geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/EntityManagerFactoryRefBuilder.java) URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java?view=diff&rev=476980&p1=geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/EntityManagerFactoryRefBuilder.java&r1=476579&p2=geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java&r2=476980 ============================================================================== --- geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/EntityManagerFactoryRefBuilder.java (original) +++ geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java Sun Nov 19 15:55:25 2006 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.geronimo.naming.deployment; +package org.apache.geronimo.persistence.builder; import java.util.Collections; import java.util.Map; @@ -23,19 +23,15 @@ import javax.xml.namespace.QName; import org.apache.geronimo.common.DeploymentException; -import org.apache.geronimo.deployment.service.EnvironmentBuilder; import org.apache.geronimo.gbean.AbstractNameQuery; import org.apache.geronimo.gbean.GBeanInfo; import org.apache.geronimo.gbean.GBeanInfoBuilder; import org.apache.geronimo.j2ee.deployment.Module; -import org.apache.geronimo.j2ee.deployment.NamingBuilder; import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; import org.apache.geronimo.kernel.GBeanNotFoundException; import org.apache.geronimo.kernel.config.Configuration; -import org.apache.geronimo.kernel.repository.Artifact; -import org.apache.geronimo.kernel.repository.Dependency; import org.apache.geronimo.kernel.repository.Environment; -import org.apache.geronimo.kernel.repository.ImportType; +import org.apache.geronimo.naming.deployment.AbstractNamingBuilder; import org.apache.geronimo.naming.reference.EntityManagerFactoryReference; import org.apache.geronimo.schema.NamespaceElementConverter; import org.apache.geronimo.schema.SchemaConversionUtils; @@ -48,20 +44,17 @@ /** * @version $Rev$ $Date$ */ -public class EntityManagerFactoryRefBuilder implements NamingBuilder { +public class EntityManagerFactoryRefBuilder extends AbstractNamingBuilder { private static final QName ENTITY_MANAGER_FACTORY_REF_QNAME = GerEntityManagerFactoryRefDocument.type.getDocumentElementName(); private static final QNameSet ENTITY_MANAGER_FACTORY_REF_QNAME_SET = QNameSet.singleton(EntityManagerFactoryRefBuilder.ENTITY_MANAGER_FACTORY_REF_QNAME); - private final Environment defaultEnvironment = new Environment(); - public EntityManagerFactoryRefBuilder() { - defaultEnvironment.addDependency(new Dependency(new Artifact("org.apache.geronimo.modules", "geronimo-persistence-jpa10", (String)null, "jar"), ImportType.CLASSES)); + public EntityManagerFactoryRefBuilder(Environment defaultEnvironment) { + super(defaultEnvironment); } - public void buildEnvironment(XmlObject specDD, XmlObject plan, Environment environment) { - if (getEntityManagerFactoryRefs(plan).length > 0) { - EnvironmentBuilder.mergeEnvironments(environment, defaultEnvironment); - } + protected boolean willMergeEnvironment(XmlObject specDD, XmlObject plan) throws DeploymentException { + return getEntityManagerFactoryRefs(plan).length > 0; } public void initContext(XmlObject specDD, XmlObject plan, Configuration localConfiguration, Configuration remoteConfiguration, Module module) throws DeploymentException { @@ -70,10 +63,9 @@ public void buildNaming(XmlObject specDD, XmlObject plan, Configuration localConfiguration, Configuration remoteConfiguration, Module module, Map componentContext) throws DeploymentException { XmlObject[] EntityManagerFactoryRefsUntyped = getEntityManagerFactoryRefs(plan); for (int i = 0; i < EntityManagerFactoryRefsUntyped.length; i++) { - XmlObject EntityManagerFactoryRefUntyped = EntityManagerFactoryRefsUntyped[i]; - GerEntityManagerFactoryRefType EntityManagerFactoryRef = (GerEntityManagerFactoryRefType) EntityManagerFactoryRefUntyped.copy().changeType(GerEntityManagerFactoryRefType.type); + GerEntityManagerFactoryRefType EntityManagerFactoryRef = (GerEntityManagerFactoryRefType) EntityManagerFactoryRefsUntyped[i]; if (EntityManagerFactoryRef == null) { - throw new DeploymentException("Could not read EntityManagerFactoryRef " + EntityManagerFactoryRefUntyped + " as the correct xml type"); + throw new DeploymentException("Could not read EntityManagerFactoryRef number " + i + " as the correct xml type"); } String EntityManagerFactoryRefName = EntityManagerFactoryRef.getEntityManagerFactoryRefName(); @@ -85,7 +77,7 @@ } else { GerPatternType gbeanLocator = EntityManagerFactoryRef.getPattern(); - persistenceUnitNameQuery = ENCConfigBuilder.buildAbstractNameQuery(gbeanLocator, null, null, interfaceTypes); + persistenceUnitNameQuery = buildAbstractNameQuery(gbeanLocator, null, null, interfaceTypes); } try { @@ -110,15 +102,17 @@ return EntityManagerFactoryRefBuilder.ENTITY_MANAGER_FACTORY_REF_QNAME_SET; } - private XmlObject[] getEntityManagerFactoryRefs(XmlObject plan) { - return plan == null? NO_REFS: plan.selectChildren(EntityManagerFactoryRefBuilder.ENTITY_MANAGER_FACTORY_REF_QNAME_SET); + private XmlObject[] getEntityManagerFactoryRefs(XmlObject plan) throws DeploymentException { + return plan == null? NO_REFS: convert(plan.selectChildren(EntityManagerFactoryRefBuilder.ENTITY_MANAGER_FACTORY_REF_QNAME_SET), NAMING_CONVERTER, GerEntityManagerFactoryRefType.type); } public static final GBeanInfo GBEAN_INFO; static { GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(EntityManagerFactoryRefBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addAttribute("defaultEnvironment", Environment.class, true, true); + infoBuilder.setConstructor(new String[] {"defaultEnvironment"}); GBEAN_INFO = infoBuilder.getBeanInfo(); } Propchange: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/EntityManagerFactoryRefBuilder.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Copied: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java (from r476579, geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/PersistenceContextRefBuilder.java) URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java?view=diff&rev=476980&p1=geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/PersistenceContextRefBuilder.java&r1=476579&p2=geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java&r2=476980 ============================================================================== --- geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/PersistenceContextRefBuilder.java (original) +++ geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java Sun Nov 19 15:55:25 2006 @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.geronimo.naming.deployment; +package org.apache.geronimo.persistence.builder; import java.util.Collections; import java.util.HashMap; @@ -28,56 +28,44 @@ import org.apache.geronimo.gbean.AbstractNameQuery; import org.apache.geronimo.gbean.GBeanInfo; import org.apache.geronimo.gbean.GBeanInfoBuilder; +import org.apache.geronimo.j2ee.deployment.Module; +import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; import org.apache.geronimo.kernel.GBeanNotFoundException; import org.apache.geronimo.kernel.config.Configuration; -import org.apache.geronimo.kernel.repository.Artifact; -import org.apache.geronimo.kernel.repository.Dependency; import org.apache.geronimo.kernel.repository.Environment; -import org.apache.geronimo.kernel.repository.ImportType; +import org.apache.geronimo.naming.deployment.AbstractNamingBuilder; import org.apache.geronimo.naming.reference.PersistenceContextReference; +import org.apache.geronimo.schema.NamespaceElementConverter; +import org.apache.geronimo.schema.SchemaConversionUtils; import org.apache.geronimo.xbeans.geronimo.naming.GerPatternType; import org.apache.geronimo.xbeans.geronimo.naming.GerPersistenceContextRefDocument; import org.apache.geronimo.xbeans.geronimo.naming.GerPersistenceContextRefType; import org.apache.geronimo.xbeans.geronimo.naming.GerPersistenceContextTypeType; import org.apache.geronimo.xbeans.geronimo.naming.GerPropertyType; -import org.apache.geronimo.schema.SchemaConversionUtils; -import org.apache.geronimo.schema.NamespaceElementConverter; -import org.apache.geronimo.deployment.service.EnvironmentBuilder; -import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; -import org.apache.geronimo.j2ee.deployment.Module; -import org.apache.geronimo.j2ee.deployment.NamingBuilder; import org.apache.xmlbeans.QNameSet; import org.apache.xmlbeans.XmlObject; /** * @version $Rev$ $Date$ */ -public class PersistenceContextRefBuilder implements NamingBuilder { +public class PersistenceContextRefBuilder extends AbstractNamingBuilder { private static final QName PERSISTENCE_CONTEXT_REF_QNAME = GerPersistenceContextRefDocument.type.getDocumentElementName(); private static final QNameSet PERSISTENCE_CONTEXT_REF_QNAME_SET = QNameSet.singleton(PERSISTENCE_CONTEXT_REF_QNAME); - private final Environment defaultEnvironment = new Environment(); - - public PersistenceContextRefBuilder() { - defaultEnvironment.addDependency(new Dependency(new Artifact("org.apache.geronimo.modules", "geronimo-persistence-jpa10", (String)null, "jar"), ImportType.CLASSES)); - } - - public void buildEnvironment(XmlObject specDD, XmlObject plan, Environment environment) { - if (getPersistenceContextRefs(plan).length > 0) { - EnvironmentBuilder.mergeEnvironments(environment, defaultEnvironment); - } + public PersistenceContextRefBuilder(Environment defaultEnvironment) { + super(defaultEnvironment); } - public void initContext(XmlObject specDD, XmlObject plan, Configuration localConfiguration, Configuration remoteConfiguration, Module module) throws DeploymentException { + protected boolean willMergeEnvironment(XmlObject specDD, XmlObject plan) throws DeploymentException { + return getPersistenceContextRefs(plan).length > 0; } public void buildNaming(XmlObject specDD, XmlObject plan, Configuration localConfiguration, Configuration remoteConfiguration, Module module, Map componentContext) throws DeploymentException { XmlObject[] persistenceContextRefsUntyped = getPersistenceContextRefs(plan); for (int i = 0; i < persistenceContextRefsUntyped.length; i++) { - XmlObject persistenceContextRefUntyped = persistenceContextRefsUntyped[i]; - GerPersistenceContextRefType persistenceContextRef = (GerPersistenceContextRefType) persistenceContextRefUntyped.copy().changeType(GerPersistenceContextRefType.type); + GerPersistenceContextRefType persistenceContextRef = (GerPersistenceContextRefType) persistenceContextRefsUntyped[i]; if (persistenceContextRef == null) { - throw new DeploymentException("Could not read persistenceContextRef " + persistenceContextRefUntyped + " as the correct xml type"); + throw new DeploymentException("Could not read persistenceContextRef number " + i + " as the correct xml type"); } String persistenceContextRefName = persistenceContextRef.getPersistenceContextRefName(); boolean transactionScoped = !persistenceContextRef.getPersistenceContextType().equals(GerPersistenceContextTypeType.EXTENDED); @@ -99,7 +87,7 @@ } else { GerPatternType gbeanLocator = persistenceContextRef.getPattern(); - persistenceUnitNameQuery = ENCConfigBuilder.buildAbstractNameQuery(gbeanLocator, null, null, interfaceTypes); + persistenceUnitNameQuery = buildAbstractNameQuery(gbeanLocator, null, null, interfaceTypes); } try { @@ -110,7 +98,7 @@ PersistenceContextReference reference = new PersistenceContextReference(localConfiguration.getId(), persistenceUnitNameQuery, transactionScoped, properties); - ((Map)componentContext.get(JNDI_KEY)).put(ENV + persistenceContextRefName, reference); + getJndiContextMap(componentContext).put(ENV + persistenceContextRefName, reference); } } @@ -124,15 +112,17 @@ return PERSISTENCE_CONTEXT_REF_QNAME_SET; } - private XmlObject[] getPersistenceContextRefs(XmlObject plan) { - return plan == null? NO_REFS: plan.selectChildren(PersistenceContextRefBuilder.PERSISTENCE_CONTEXT_REF_QNAME_SET); + private XmlObject[] getPersistenceContextRefs(XmlObject plan) throws DeploymentException { + return plan == null? NO_REFS: convert(plan.selectChildren(PersistenceContextRefBuilder.PERSISTENCE_CONTEXT_REF_QNAME_SET), NAMING_CONVERTER, GerPersistenceContextRefType.type); } public static final GBeanInfo GBEAN_INFO; static { GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(PersistenceContextRefBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addAttribute("defaultEnvironment", Environment.class, true, true); + infoBuilder.setConstructor(new String[] {"defaultEnvironment"}); GBEAN_INFO = infoBuilder.getBeanInfo(); } Propchange: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java ------------------------------------------------------------------------------ svn:mime-type = text/plain