Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 75491 invoked from network); 18 Aug 2006 07:45:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 18 Aug 2006 07:45:10 -0000 Received: (qmail 58905 invoked by uid 500); 18 Aug 2006 07:45:07 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 58803 invoked by uid 500); 18 Aug 2006 07:45:07 -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 58757 invoked by uid 99); 18 Aug 2006 07:45:07 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Aug 2006 00:45:07 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Aug 2006 00:45:00 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 6E8BF1A981D; Fri, 18 Aug 2006 00:44:40 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r432510 [2/5] - in /geronimo/trunk: applications/console/console-standard/ applications/console/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/ configs/ configs/activemq/ configs/axis-deployer/ configs/client-de... Date: Fri, 18 Aug 2006 07:44:12 -0000 To: scm@geronimo.apache.org From: djencks@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060818074440.6E8BF1A981D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap.java (original) +++ geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap.java Fri Aug 18 00:44:04 2006 @@ -23,6 +23,7 @@ import java.util.jar.JarOutputStream; import org.apache.geronimo.deployment.service.ServiceConfigBuilder; +import org.apache.geronimo.deployment.service.GBeanBuilder; import org.apache.geronimo.deployment.xbeans.ModuleDocument; import org.apache.geronimo.deployment.xbeans.ModuleType; import org.apache.geronimo.kernel.Jsr77Naming; @@ -71,7 +72,8 @@ ModuleType config = ModuleDocument.Factory.parse(plan).getModule(); Maven1Repository repository = new Maven1Repository(localRepo); - ServiceConfigBuilder builder = new ServiceConfigBuilder(null, Collections.singleton(repository), new Jsr77Naming()); + GBeanBuilder gBeanBuilder = new GBeanBuilder(null, null); + ServiceConfigBuilder builder = new ServiceConfigBuilder(null, Collections.singleton(repository), Collections.singleton(gBeanBuilder), new Jsr77Naming()); ConfigurationStore targetConfigurationStore = new NullConfigurationStore() { public File createNewConfigurationDir(Artifact configId) throws ConfigurationAlreadyExistsException { return buildDir; Modified: geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap2.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap2.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap2.java (original) +++ geronimo/trunk/modules/deploy-tool/src/java/org/apache/geronimo/deployment/PluginBootstrap2.java Fri Aug 18 00:44:04 2006 @@ -23,6 +23,7 @@ import java.util.jar.JarOutputStream; import org.apache.geronimo.deployment.service.ServiceConfigBuilder; +import org.apache.geronimo.deployment.service.GBeanBuilder; import org.apache.geronimo.deployment.xbeans.ModuleDocument; import org.apache.geronimo.deployment.xbeans.ModuleType; import org.apache.geronimo.kernel.Jsr77Naming; @@ -74,7 +75,8 @@ ModuleType config = ModuleDocument.Factory.parse(plan).getModule(); Maven2Repository repository = new Maven2Repository(localRepo); - ServiceConfigBuilder builder = new ServiceConfigBuilder(null, Collections.singleton(repository), new Jsr77Naming()); + GBeanBuilder gBeanBuilder = new GBeanBuilder(null, null); + ServiceConfigBuilder builder = new ServiceConfigBuilder(null, Collections.singleton(repository), Collections.singleton(gBeanBuilder), new Jsr77Naming()); ConfigurationStore targetConfigurationStore = new NullConfigurationStore() { public File createNewConfigurationDir(Artifact configId) throws ConfigurationAlreadyExistsException { return buildDir; Modified: geronimo/trunk/modules/deployment/pom.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/pom.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deployment/pom.xml (original) +++ geronimo/trunk/modules/deployment/pom.xml Fri Aug 18 00:44:04 2006 @@ -58,6 +58,16 @@ + xmlbeans + xbean + + + + stax + stax-api + + + xml-resolver xml-resolver Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/ConfigurationBuilder.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/ConfigurationBuilder.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/ConfigurationBuilder.java (original) +++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/ConfigurationBuilder.java Fri Aug 18 00:44:04 2006 @@ -33,6 +33,8 @@ * @version $Rev$ $Date$ */ public interface ConfigurationBuilder { + static final String CONFIG_BUILDER = "ConfigBuilder"; + /** * Builds a deployment plan specific to this builder from a planFile and/or * module if this builder can process it. Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java (original) +++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java Fri Aug 18 00:44:04 2006 @@ -74,12 +74,13 @@ private final Configuration configuration; private final Naming naming; private final List additionalDeployment = new ArrayList(); + protected final AbstractName moduleName; - public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager, Collection repositories) throws DeploymentException { - this(baseDir, inPlaceConfigurationDir, environment, moduleType, naming, createConfigurationManager(configurationManager, repositories)); + public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, AbstractName moduleName, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager, Collection repositories) throws DeploymentException { + this(baseDir, inPlaceConfigurationDir, environment, moduleName, moduleType, naming, createConfigurationManager(configurationManager, repositories)); } - public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager) throws DeploymentException { + public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, AbstractName moduleName, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager) throws DeploymentException { if (baseDir == null) throw new NullPointerException("baseDir is null"); if (environment == null) throw new NullPointerException("environment is null"); if (moduleType == null) throw new NullPointerException("type is null"); @@ -92,6 +93,8 @@ this.inPlaceConfigurationDir = inPlaceConfigurationDir; + this.moduleName = moduleName; + this.naming = naming; this.configuration = createTempConfiguration(environment, moduleType, baseDir, inPlaceConfigurationDir, configurationManager, naming); @@ -404,6 +407,10 @@ public List getAdditionalDeployment() { return additionalDeployment; + } + + public AbstractName getModuleName() { + return moduleName; } public List verify() throws DeploymentException { Added: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java?rev=432510&view=auto ============================================================================== --- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java (added) +++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java Fri Aug 18 00:44:04 2006 @@ -0,0 +1,34 @@ +/** + * + * Copyright 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.geronimo.deployment; + +import java.util.List; + +import org.apache.xmlbeans.XmlObject; +import org.apache.geronimo.common.DeploymentException; +import org.apache.geronimo.gbean.AbstractName; + +/** + * @version $Rev:$ $Date:$ + */ +public interface NamespaceDrivenBuilder { + void build(XmlObject container, DeploymentContext applicationContext, DeploymentContext moduleContext) throws DeploymentException; + + String getNamespace(); + +} Propchange: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilder.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java?rev=432510&view=auto ============================================================================== --- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java (added) +++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java Fri Aug 18 00:44:04 2006 @@ -0,0 +1,79 @@ +/** + * + * Copyright 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.geronimo.deployment; + +import java.util.Set; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Collection; +import java.util.List; + +import org.apache.geronimo.gbean.ReferenceCollection; +import org.apache.geronimo.gbean.ReferenceCollectionListener; +import org.apache.geronimo.gbean.ReferenceCollectionEvent; +import org.apache.geronimo.common.DeploymentException; +import org.apache.xmlbeans.XmlObject; + +/** + * @version $Rev:$ $Date:$ + */ +public class NamespaceDrivenBuilderCollection { + + private final Collection builders; + private final Set namespaces = new HashSet(); + + public NamespaceDrivenBuilderCollection(Collection builders) { + this.builders = builders; + if (builders instanceof ReferenceCollection) { + ((ReferenceCollection)builders).addReferenceCollectionListener(new ReferenceCollectionListener() { + + public void memberAdded(ReferenceCollectionEvent event) { + addBuilder(event.getMember()); + } + + public void memberRemoved(ReferenceCollectionEvent event) { + Object builder = event.getMember(); + String namespace = ((NamespaceDrivenBuilder)builder).getNamespace(); + namespaces.remove(namespace); + } + }); + } + for (Iterator iterator = builders.iterator(); iterator.hasNext();) { + Object builder = iterator.next(); + addBuilder(builder); + } + } + + private void addBuilder(Object builder) { + String namespace = ((NamespaceDrivenBuilder)builder).getNamespace(); + if (namespaces.contains(namespace)) { + throw new IllegalArgumentException("Duplicate namespace in builder set: " + namespace); + } + namespaces.add(namespace); + } + + public void build(XmlObject container, DeploymentContext applicationContext, DeploymentContext moduleContext) throws DeploymentException { + for (Iterator iterator = builders.iterator(); iterator.hasNext();) { + NamespaceDrivenBuilder builder = (NamespaceDrivenBuilder) iterator.next(); + builder.build(container, applicationContext, moduleContext); + } + } + + public void addLoaders(List loaderList) { + } +} Propchange: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/NamespaceDrivenBuilderCollection.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/DeploymentContextTest.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/DeploymentContextTest.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/DeploymentContextTest.java (original) +++ geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/DeploymentContextTest.java Fri Aug 18 00:44:04 2006 @@ -56,7 +56,7 @@ ArtifactManager artifactManager = new DefaultArtifactManager(); ArtifactResolver artifactResolver = new DefaultArtifactResolver(artifactManager, Collections.EMPTY_SET, null); SimpleConfigurationManager configurationManager = new SimpleConfigurationManager(Collections.EMPTY_SET, artifactResolver, Collections.EMPTY_SET); - DeploymentContext context = new DeploymentContext(basedir, null, environment, ConfigurationModuleType.CAR, new Jsr77Naming(), configurationManager, Collections.EMPTY_SET); + DeploymentContext context = new DeploymentContext(basedir, null, environment, null, ConfigurationModuleType.CAR, new Jsr77Naming(), configurationManager, Collections.EMPTY_SET); Enhancer enhancer = new Enhancer(); enhancer.setInterfaces(new Class[]{DataSource.class}); enhancer.setCallbackType(MethodInterceptor.class); Modified: geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java (original) +++ geronimo/trunk/modules/deployment/src/test/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java Fri Aug 18 00:44:04 2006 @@ -269,6 +269,7 @@ return new DeploymentContext(dir, dir, new Environment(configId), + null, ConfigurationModuleType.CAR, new Jsr77Naming(), new SimpleConfigurationManager(Collections.singletonList(store), artifactResolver, Collections.EMPTY_SET)); Modified: geronimo/trunk/modules/directory/pom.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/directory/pom.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/directory/pom.xml (original) +++ geronimo/trunk/modules/directory/pom.xml Fri Aug 18 00:44:04 2006 @@ -30,7 +30,7 @@ geronimo-directory Geronimo :: Directory - + + + + + + + + geronimo geronimo-service-builder Modified: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java (original) +++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java Fri Aug 18 00:44:04 2006 @@ -44,13 +44,14 @@ import org.apache.geronimo.deployment.ConfigurationBuilder; import org.apache.geronimo.deployment.DeploymentContext; import org.apache.geronimo.deployment.ModuleIDBuilder; +import org.apache.geronimo.deployment.NamespaceDrivenBuilder; +import org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection; import org.apache.geronimo.deployment.service.EnvironmentBuilder; -import org.apache.geronimo.deployment.service.ServiceConfigBuilder; import org.apache.geronimo.deployment.util.DeploymentUtil; import org.apache.geronimo.deployment.util.NestedJarFile; import org.apache.geronimo.deployment.xbeans.ArtifactType; import org.apache.geronimo.deployment.xbeans.EnvironmentType; -import org.apache.geronimo.deployment.xbeans.GbeanType; +import org.apache.geronimo.deployment.xbeans.ServiceDocument; import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil; import org.apache.geronimo.gbean.AbstractName; import org.apache.geronimo.gbean.AbstractNameQuery; @@ -79,12 +80,11 @@ import org.apache.geronimo.management.J2EEResource; import org.apache.geronimo.management.J2EEServer; import org.apache.geronimo.schema.SchemaConversionUtils; -import org.apache.geronimo.security.deployment.SecurityBuilder; -import org.apache.geronimo.security.deployment.SecurityConfiguration; import org.apache.geronimo.xbeans.geronimo.j2ee.GerApplicationDocument; import org.apache.geronimo.xbeans.geronimo.j2ee.GerApplicationType; import org.apache.geronimo.xbeans.geronimo.j2ee.GerExtModuleType; import org.apache.geronimo.xbeans.geronimo.j2ee.GerModuleType; +import org.apache.geronimo.xbeans.geronimo.j2ee.GerSecurityDocument; import org.apache.geronimo.xbeans.j2ee.ApplicationType; import org.apache.geronimo.xbeans.j2ee.ModuleType; import org.apache.xmlbeans.XmlException; @@ -99,6 +99,8 @@ private static final String LINE_SEP = System.getProperty("line.separator"); private final static QName APPLICATION_QNAME = GerApplicationDocument.type.getDocumentElementName(); + private static final QName SECURITY_QNAME = GerSecurityDocument.type.getDocumentElementName(); + private static final QName SERVICE_QNAME = ServiceDocument.type.getDocumentElementName(); private final ConfigurationManager configurationManager; private final Collection repositories; @@ -109,6 +111,8 @@ private final SingleElementCollection ejbReferenceBuilder; private final SingleElementCollection resourceReferenceBuilder; private final SingleElementCollection serviceReferenceBuilder; + private final NamespaceDrivenBuilderCollection securityBuilders; + private final NamespaceDrivenBuilderCollection serviceBuilders; private final Environment defaultEnvironment; private final AbstractNameQuery serverName; @@ -134,6 +138,8 @@ Collection resourceReferenceBuilder, Collection appClientConfigBuilder, Collection serviceReferenceBuilder, + Collection securityBuilders, + Collection serviceBuilders, Kernel kernel) { this(defaultEnvironment, transactionManagerAbstractName, @@ -151,6 +157,8 @@ new SingleElementCollection(resourceReferenceBuilder), new SingleElementCollection(appClientConfigBuilder), new SingleElementCollection(serviceReferenceBuilder), + securityBuilders, + serviceBuilders, kernel.getNaming()); } public EARConfigBuilder(Environment defaultEnvironment, @@ -168,6 +176,8 @@ ResourceReferenceBuilder resourceReferenceBuilder, ModuleBuilder appClientConfigBuilder, ServiceReferenceBuilder serviceReferenceBuilder, + NamespaceDrivenBuilder securityBuilder, + NamespaceDrivenBuilder serviceBuilder, Naming naming) { this(defaultEnvironment, transactionManagerAbstractName, @@ -185,6 +195,8 @@ new SingleElementCollection(resourceReferenceBuilder), new SingleElementCollection(appClientConfigBuilder), new SingleElementCollection(serviceReferenceBuilder), + securityBuilder == null? Collections.EMPTY_SET: Collections.singleton(securityBuilder), + serviceBuilder == null? Collections.EMPTY_SET: Collections.singleton(serviceBuilder), naming); } @@ -204,7 +216,8 @@ SingleElementCollection resourceReferenceBuilder, SingleElementCollection appClientConfigBuilder, SingleElementCollection serviceReferenceBuilder, - Naming naming) { + Collection securityBuilders, + Collection serviceBuilders, Naming naming) { this.configurationManager = configurationManager; this.repositories = repositories; this.defaultEnvironment = defaultEnvironment; @@ -216,6 +229,9 @@ this.connectorConfigBuilder = connectorConfigBuilder; this.appClientConfigBuilder = appClientConfigBuilder; this.serviceReferenceBuilder = serviceReferenceBuilder; + this.securityBuilders = new NamespaceDrivenBuilderCollection(securityBuilders); + this.serviceBuilders = new NamespaceDrivenBuilderCollection(serviceBuilders); + this.transactionManagerObjectName = transactionManagerAbstractName; this.connectionTrackerObjectName = connectionTrackerAbstractName; this.transactionalTimerObjectName = transactionalTimerAbstractName; @@ -320,14 +336,14 @@ XmlObject rawPlan; try { if (planFile != null) { - rawPlan = XmlBeansUtil.parse(planFile.toURL()); + rawPlan = XmlBeansUtil.parse(planFile.toURL(), getClass().getClassLoader()); gerApplication = (GerApplicationType) SchemaConversionUtils.fixGeronimoSchema(rawPlan, APPLICATION_QNAME, GerApplicationType.type); if (gerApplication == null) { return null; } } else { URL path = DeploymentUtil.createJarURL(earFile, "META-INF/geronimo-application.xml"); - rawPlan = XmlBeansUtil.parse(path); + rawPlan = XmlBeansUtil.parse(path, getClass().getClassLoader()); gerApplication = (GerApplicationType) SchemaConversionUtils.fixGeronimoSchema(rawPlan, APPLICATION_QNAME, GerApplicationType.type); } } catch (IOException e) { @@ -499,8 +515,8 @@ // add gbeans declared in the geronimo-application.xml if (geronimoApplication != null) { - GbeanType[] gbeans = geronimoApplication.getGbeanArray(); - ServiceConfigBuilder.addGBeans(gbeans, cl, earContext.getModuleName(), earContext); + securityBuilders.build(geronimoApplication, earContext, earContext); + serviceBuilders.build(geronimoApplication, earContext, earContext); } // Create the J2EEApplication managed object @@ -537,22 +553,6 @@ earContext.addGBean(gbeanData); } - //look for application plan security config - if (geronimoApplication != null && geronimoApplication.isSetSecurity()) { - SecurityConfiguration securityConfiguration = SecurityBuilder.buildSecurityConfiguration(geronimoApplication.getSecurity(), cl); - earContext.setSecurityConfiguration(securityConfiguration); - } - - //add the JACC gbean if there is a principal-role mapping - if (earContext.getSecurityConfiguration() != null) { - GBeanData roleMapperData = SecurityBuilder.configureRoleMapper(naming, earContext.getModuleName(), earContext.getSecurityConfiguration()); - earContext.addGBean(roleMapperData); - GBeanData jaccBeanData = SecurityBuilder.configureApplicationPolicyManager(naming, earContext.getModuleName(), earContext.getContextIDToPermissionsMap(), earContext.getSecurityConfiguration()); - jaccBeanData.setReferencePattern("PrincipalRoleMapper", roleMapperData.getAbstractName()); - earContext.addGBean(jaccBeanData); - earContext.setJaccManagerName(jaccBeanData.getAbstractName()); - } - // each module can now add it's GBeans for (Iterator iterator = modules.iterator(); iterator.hasNext();) { Module module = (Module) iterator.next(); @@ -611,11 +611,11 @@ private boolean cleanupConfigurationDir(File configurationDir) { LinkedList cannotBeDeletedList = new LinkedList(); - + if (!DeploymentUtil.recursiveDelete(configurationDir,cannotBeDeletedList)) { // Output a message to help user track down file problem - log.warn("Unable to delete " + cannotBeDeletedList.size() + - " files while recursively deleting directory " + log.warn("Unable to delete " + cannotBeDeletedList.size() + + " files while recursively deleting directory " + configurationDir + LINE_SEP + "The first file that could not be deleted was:" + LINE_SEP + " "+ ( !cannotBeDeletedList.isEmpty() ? cannotBeDeletedList.getFirst() : "") ); @@ -623,7 +623,7 @@ } return true; } - + private static Map filter(Map original, String key, String value) { LinkedHashMap filter = new LinkedHashMap(original); filter.put(key, value); @@ -910,29 +910,31 @@ public static final GBeanInfo GBEAN_INFO; static { - GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(EARConfigBuilder.class, NameFactory.CONFIG_BUILDER); - infoFactory.addAttribute("defaultEnvironment", Environment.class, true, true); - infoFactory.addAttribute("transactionManagerAbstractName", AbstractNameQuery.class, true); - infoFactory.addAttribute("connectionTrackerAbstractName", AbstractNameQuery.class, true); - infoFactory.addAttribute("transactionalTimerAbstractName", AbstractNameQuery.class, true); - infoFactory.addAttribute("nonTransactionalTimerAbstractName", AbstractNameQuery.class, true); - infoFactory.addAttribute("corbaGBeanAbstractName", AbstractNameQuery.class, true); - infoFactory.addAttribute("serverName", AbstractNameQuery.class, true); - - infoFactory.addReference("Repositories", Repository.class, "Repository"); - infoFactory.addReference("EJBConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addReference("EJBReferenceBuilder", EJBReferenceBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addReference("WebConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addReference("ConnectorConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addReference("ResourceReferenceBuilder", ResourceReferenceBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addReference("AppClientConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addReference("ServiceReferenceBuilder", ServiceReferenceBuilder.class, NameFactory.MODULE_BUILDER); + GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(EARConfigBuilder.class, NameFactory.CONFIG_BUILDER); + infoBuilder.addAttribute("defaultEnvironment", Environment.class, true, true); + infoBuilder.addAttribute("transactionManagerAbstractName", AbstractNameQuery.class, true); + infoBuilder.addAttribute("connectionTrackerAbstractName", AbstractNameQuery.class, true); + infoBuilder.addAttribute("transactionalTimerAbstractName", AbstractNameQuery.class, true); + infoBuilder.addAttribute("nonTransactionalTimerAbstractName", AbstractNameQuery.class, true); + infoBuilder.addAttribute("corbaGBeanAbstractName", AbstractNameQuery.class, true); + infoBuilder.addAttribute("serverName", AbstractNameQuery.class, true); + + infoBuilder.addReference("Repositories", Repository.class, "Repository"); + infoBuilder.addReference("EJBConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("EJBReferenceBuilder", EJBReferenceBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("WebConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("ConnectorConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("ResourceReferenceBuilder", ResourceReferenceBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("AppClientConfigBuilder", ModuleBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("ServiceReferenceBuilder", ServiceReferenceBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("SecurityBuilders", NamespaceDrivenBuilder.class, NameFactory.MODULE_BUILDER); + infoBuilder.addReference("ServiceBuilders", NamespaceDrivenBuilder.class, NameFactory.MODULE_BUILDER); - infoFactory.addAttribute("kernel", Kernel.class, false); + infoBuilder.addAttribute("kernel", Kernel.class, false); - infoFactory.addInterface(ConfigurationBuilder.class); + infoBuilder.addInterface(ConfigurationBuilder.class); - infoFactory.setConstructor(new String[]{ + infoBuilder.setConstructor(new String[]{ "defaultEnvironment", "transactionManagerAbstractName", "connectionTrackerAbstractName", @@ -948,10 +950,12 @@ "ResourceReferenceBuilder", "AppClientConfigBuilder", "ServiceReferenceBuilder", + "SecurityBuilders", + "ServiceBuilders", "kernel" }); - GBEAN_INFO = infoFactory.getBeanInfo(); + GBEAN_INFO = infoBuilder.getBeanInfo(); } public static GBeanInfo getGBeanInfo() { Modified: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java (original) +++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java Fri Aug 18 00:44:04 2006 @@ -26,10 +26,9 @@ import org.apache.geronimo.gbean.AbstractName; import org.apache.geronimo.gbean.AbstractNameQuery; import org.apache.geronimo.kernel.Naming; -import org.apache.geronimo.kernel.config.ConfigurationModuleType; import org.apache.geronimo.kernel.config.ConfigurationManager; +import org.apache.geronimo.kernel.config.ConfigurationModuleType; import org.apache.geronimo.kernel.repository.Environment; -import org.apache.geronimo.security.deployment.SecurityConfiguration; /** * @version $Rev:386276 $ $Date$ @@ -44,12 +43,11 @@ private final AbstractNameQuery corbaGBeanObjectName; private final RefContext refContext; - private final AbstractName moduleName; private final AbstractNameQuery serverName; private final Map contextIDToPermissionsMap = new HashMap(); private AbstractName jaccManagerName; - private SecurityConfiguration securityConfiguration; + private Object securityConfiguration; public EARContext(File baseDir, File inPlaceConfigurationDir, @@ -65,9 +63,8 @@ AbstractNameQuery nonTransactedTimerName, AbstractNameQuery corbaGBeanObjectName, RefContext refContext) throws DeploymentException { - super(baseDir, inPlaceConfigurationDir, environment, moduleType, naming, configurationManager, repositories); + super(baseDir, inPlaceConfigurationDir, environment, baseName, moduleType, naming, configurationManager, repositories); - moduleName = baseName; this.serverName = serverName; this.transactionManagerObjectName = transactionManagerObjectName; this.connectionTrackerObjectName = connectionTrackerObjectName; @@ -91,9 +88,8 @@ AbstractNameQuery nonTransactedTimerName, AbstractNameQuery corbaGBeanObjectName, RefContext refContext) throws DeploymentException { - super(baseDir, inPlaceConfigurationDir, environment, moduleType, naming, configurationManager); + super(baseDir, inPlaceConfigurationDir, environment, baseName, moduleType, naming, configurationManager); - moduleName = baseName; this.serverName = serverName; this.transactionManagerObjectName = transactionManagerObjectName; @@ -105,8 +101,7 @@ } public EARContext(File baseDir, File inPlaceConfigurationDir, Environment environment, ConfigurationModuleType moduleType, AbstractName baseName, EARContext parent) throws DeploymentException { - super(baseDir, inPlaceConfigurationDir, environment, moduleType, parent.getNaming(), parent.getConfigurationManager()); - moduleName = baseName; + super(baseDir, inPlaceConfigurationDir, environment, baseName, moduleType, parent.getNaming(), parent.getConfigurationManager()); this.serverName = parent.getServerName(); this.transactionManagerObjectName = parent.getTransactionManagerObjectName(); @@ -145,10 +140,6 @@ return refContext; } - public AbstractName getModuleName() { - return moduleName; - } - public Map getContextIDToPermissionsMap() { return contextIDToPermissionsMap; } @@ -168,14 +159,14 @@ return jaccManagerName; } - public void setSecurityConfiguration(SecurityConfiguration securityConfiguration) throws DeploymentException { + public void setSecurityConfiguration(Object securityConfiguration) throws DeploymentException { if (this.securityConfiguration != null) { throw new DeploymentException("Only one security configuration allowed per application"); } this.securityConfiguration = securityConfiguration; } - public SecurityConfiguration getSecurityConfiguration() { + public Object getSecurityConfiguration() { return securityConfiguration; } } Added: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java?rev=432510&view=auto ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java (added) +++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java Fri Aug 18 00:44:04 2006 @@ -0,0 +1,36 @@ +/** + * + * Copyright 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.geronimo.j2ee.deployment; + +import org.apache.geronimo.deployment.NamespaceDrivenBuilder; +import org.apache.geronimo.security.deploy.DefaultPrincipal; +import org.apache.geronimo.security.deploy.PrincipalInfo; +import org.apache.xmlbeans.XmlObject; + +/** + * @version $Rev:$ $Date:$ + */ +public interface SecurityBuilder extends NamespaceDrivenBuilder { + + //used from app client builder + DefaultPrincipal buildDefaultPrincipal(XmlObject defaultPrincipalType); + + //used from TSSConfigEditor + PrincipalInfo buildPrincipal(XmlObject principalType); + +} Propchange: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SecurityBuilder.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java (original) +++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java Fri Aug 18 00:44:04 2006 @@ -101,7 +101,7 @@ XmlObject xmlObject; if (plan instanceof File) { try { - xmlObject = XmlBeansUtil.parse(((File) plan).toURL()); + xmlObject = XmlBeansUtil.parse(((File) plan).toURL(), getClass().getClassLoader()); } catch (IOException e) { throw new DeploymentException("Could not read plan file", e); } catch (XmlException e) { Copied: geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.2.xsd (from r432067, geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.1.xsd) URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.2.xsd?p2=geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.2.xsd&p1=geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.1.xsd&r1=432067&r2=432510&rev=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.1.xsd (original) +++ geronimo/trunk/modules/j2ee-builder/src/schema/geronimo-application-1.2.xsd Fri Aug 18 00:44:04 2006 @@ -17,17 +17,17 @@ --> + - - + + @@ -37,8 +37,11 @@ - - + + + + + @@ -70,6 +73,14 @@ + + + + + + + + Modified: geronimo/trunk/modules/j2ee-builder/src/schema/xmlconfig.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/schema/xmlconfig.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/schema/xmlconfig.xml (original) +++ geronimo/trunk/modules/j2ee-builder/src/schema/xmlconfig.xml Fri Aug 18 00:44:04 2006 @@ -1,6 +1,6 @@ - + org.apache.geronimo.xbeans.geronimo.j2ee Ger Modified: geronimo/trunk/modules/j2ee-builder/src/test-unpacked-ear/META-INF/geronimo-application.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/test-unpacked-ear/META-INF/geronimo-application.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/test-unpacked-ear/META-INF/geronimo-application.xml (original) +++ geronimo/trunk/modules/j2ee-builder/src/test-unpacked-ear/META-INF/geronimo-application.xml Fri Aug 18 00:44:04 2006 @@ -16,8 +16,8 @@ limitations under the License. --> - - + + geronimo test-ear @@ -27,6 +27,6 @@ - + Modified: geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java (original) +++ geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java Fri Aug 18 00:44:04 2006 @@ -38,6 +38,7 @@ import org.apache.geronimo.common.DeploymentException; import org.apache.geronimo.deployment.DeploymentContext; import org.apache.geronimo.deployment.ModuleIDBuilder; +import org.apache.geronimo.deployment.NamespaceDrivenBuilder; import org.apache.geronimo.deployment.util.DeploymentUtil; import org.apache.geronimo.gbean.AbstractName; import org.apache.geronimo.gbean.AbstractNameQuery; @@ -83,6 +84,10 @@ } }; + private static final NamespaceDrivenBuilder securityBuilder = null; + private static final NamespaceDrivenBuilder serviceBuilder = null; + + private static final Naming naming = new Jsr77Naming(); private static final AbstractName rootConfig = naming.createRootName(new Artifact("test", "stuff", "", "car"), "test", "test") ; @@ -274,6 +279,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); Object plan = configBuilder.getDeploymentPlan(null, earFile, idBuilder); @@ -305,6 +312,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); ConfigurationData configurationData = null; @@ -344,6 +353,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); ConfigurationData configurationData = null; @@ -383,6 +394,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); ConfigurationData configurationData = null; @@ -422,6 +435,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); ConfigurationData configurationData = null; @@ -461,6 +476,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); @@ -499,6 +516,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); ConfigurationData configurationData = null; @@ -536,6 +555,8 @@ resourceReferenceBuilder, appClientConfigBuilder, serviceReferenceBuilder, + securityBuilder, + serviceBuilder, naming); ConfigurationData configurationData = null; Modified: geronimo/trunk/modules/j2ee-schema/pom.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/pom.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/pom.xml (original) +++ geronimo/trunk/modules/j2ee-schema/pom.xml Fri Aug 18 00:44:04 2006 @@ -64,6 +64,13 @@ stax-api + + + org.apache.geronimo.modules + geronimo-service-builder + ${pom.version} + + Modified: geronimo/trunk/modules/j2ee-schema/project.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/project.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/project.xml (original) +++ geronimo/trunk/modules/j2ee-schema/project.xml Fri Aug 18 00:44:04 2006 @@ -48,6 +48,12 @@ plugin + + geronimo + geronimo-service-builder + ${pom.currentVersion} + + commons-logging Modified: geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/GBeanElementConverter.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/GBeanElementConverter.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/GBeanElementConverter.java (original) +++ geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/GBeanElementConverter.java Fri Aug 18 00:44:04 2006 @@ -25,7 +25,7 @@ */ public class GBeanElementConverter implements ElementConverter { - private static final String GERONIMO_SERVICE_NAMESPACE = "http://geronimo.apache.org/xml/ns/deployment-1.1"; + private static final String GERONIMO_SERVICE_NAMESPACE = "http://geronimo.apache.org/xml/ns/deployment-1.2"; public void convertElement(XmlCursor cursor, XmlCursor end) { Modified: geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java (original) +++ geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java Fri Aug 18 00:44:04 2006 @@ -17,10 +17,9 @@ package org.apache.geronimo.schema; -import java.util.ArrayList; -import java.util.Collection; import java.util.HashMap; import java.util.Map; + import javax.xml.namespace.QName; import org.apache.geronimo.xbeans.j2ee.ApplicationClientDocument; @@ -28,12 +27,12 @@ import org.apache.geronimo.xbeans.j2ee.ConnectorDocument; import org.apache.geronimo.xbeans.j2ee.EjbJarDocument; import org.apache.geronimo.xbeans.j2ee.WebAppDocument; +import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil; import org.apache.xmlbeans.SchemaType; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlDocumentProperties; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; -import org.apache.xmlbeans.XmlOptions; /** * @version $Rev$ $Date$ @@ -41,9 +40,9 @@ public class SchemaConversionUtils { static final String J2EE_NAMESPACE = "http://java.sun.com/xml/ns/j2ee"; - static final String GERONIMO_NAMING_NAMESPACE = "http://geronimo.apache.org/xml/ns/naming-1.1"; - private static final String GERONIMO_SECURITY_NAMESPACE = "http://geronimo.apache.org/xml/ns/security-1.1"; - private static final String GERONIMO_SERVICE_NAMESPACE = "http://geronimo.apache.org/xml/ns/deployment-1.1"; + static final String GERONIMO_NAMING_NAMESPACE = "http://geronimo.apache.org/xml/ns/naming-1.2"; + private static final String GERONIMO_SECURITY_NAMESPACE = "http://geronimo.apache.org/xml/ns/security-1.2"; + private static final String GERONIMO_SERVICE_NAMESPACE = "http://geronimo.apache.org/xml/ns/deployment-1.2"; private static final QName RESOURCE_ADAPTER_VERSION = new QName(J2EE_NAMESPACE, "resourceadapter-version"); private static final QName TAGLIB = new QName(J2EE_NAMESPACE, "taglib"); @@ -83,7 +82,7 @@ public static ApplicationDocument convertToApplicationSchema(XmlObject xmlObject) throws XmlException { if (ApplicationDocument.type.equals(xmlObject.schemaType())) { - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (ApplicationDocument) xmlObject; } XmlCursor cursor = xmlObject.newCursor(); @@ -102,17 +101,17 @@ } XmlObject result = xmlObject.changeType(ApplicationDocument.type); if (result != null) { - validateDD(result); + XmlBeansUtil.validateDD(result); return (ApplicationDocument) result; } - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (ApplicationDocument) xmlObject; } public static ApplicationClientDocument convertToApplicationClientSchema(XmlObject xmlObject) throws XmlException { if (ApplicationClientDocument.type.equals(xmlObject.schemaType())) { - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (ApplicationClientDocument) xmlObject; } XmlCursor cursor = xmlObject.newCursor(); @@ -131,17 +130,17 @@ } XmlObject result = xmlObject.changeType(ApplicationClientDocument.type); if (result != null) { - validateDD(result); + XmlBeansUtil.validateDD(result); return (ApplicationClientDocument) result; } - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (ApplicationClientDocument) xmlObject; } public static ConnectorDocument convertToConnectorSchema(XmlObject xmlObject) throws XmlException { if (ConnectorDocument.type.equals(xmlObject.schemaType())) { - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (ConnectorDocument) xmlObject; } XmlCursor cursor = xmlObject.newCursor(); @@ -202,17 +201,17 @@ } XmlObject result = xmlObject.changeType(ConnectorDocument.type); if (result != null) { - validateDD(result); + XmlBeansUtil.validateDD(result); return (ConnectorDocument) result; } - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (ConnectorDocument) xmlObject; } public static EjbJarDocument convertToEJBSchema(XmlObject xmlObject) throws XmlException { if (EjbJarDocument.type.equals(xmlObject.schemaType())) { - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (EjbJarDocument) xmlObject; } XmlCursor cursor = xmlObject.newCursor(); @@ -222,7 +221,7 @@ cursor.toFirstChild(); if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) { XmlObject result = xmlObject.changeType(EjbJarDocument.type); - validateDD(result); + XmlBeansUtil.validateDD(result); return (EjbJarDocument) result; } // deployment descriptor is probably in EJB 1.1 or 2.0 format @@ -248,16 +247,16 @@ } XmlObject result = xmlObject.changeType(EjbJarDocument.type); if (result != null) { - validateDD(result); + XmlBeansUtil.validateDD(result); return (EjbJarDocument) result; } - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (EjbJarDocument) xmlObject; } public static WebAppDocument convertToServletSchema(XmlObject xmlObject) throws XmlException { if (WebAppDocument.type.equals(xmlObject.schemaType())) { - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (WebAppDocument) xmlObject; } XmlCursor cursor = xmlObject.newCursor(); @@ -266,7 +265,7 @@ cursor.toFirstChild(); if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) { XmlObject result = xmlObject.changeType(WebAppDocument.type); - validateDD(result); + XmlBeansUtil.validateDD(result); return (WebAppDocument) result; } @@ -320,10 +319,10 @@ } XmlObject result = xmlObject.changeType(WebAppDocument.type); if (result != null) { - validateDD(result); + XmlBeansUtil.validateDD(result); return (WebAppDocument) result; } - validateDD(xmlObject); + XmlBeansUtil.validateDD(xmlObject); return (WebAppDocument) xmlObject; } @@ -367,7 +366,7 @@ if (result == null || result.schemaType() != desiredType) { result = temp.copy().changeType(desiredType); } - validateDD(result); + XmlBeansUtil.validateDD(result); return result; } else { return null; @@ -489,7 +488,6 @@ cursor.toNextSibling(J2EE_NAMESPACE, "abstract-schema-name"); while (cursor.toNextSibling(J2EE_NAMESPACE, "cmp-field")) { - ; } cursor.toNextSibling(J2EE_NAMESPACE, "primkey-field"); cursor.toNextSibling(); @@ -505,14 +503,13 @@ //cursor still on transaction-type } if (!cursor.toNextSibling(J2EE_NAMESPACE, "activation-config")) { - boolean hasProperties = false; //skip transaction-type cursor.toNextSibling(); //convert EJB 2.0 elements to activation-config-properties. moveable.toCursor(cursor); cursor.push(); cursor.beginElement("activation-config", J2EE_NAMESPACE); - hasProperties |= addActivationConfigProperty(moveable, cursor, "message-selector", "messageSelector"); + boolean hasProperties = addActivationConfigProperty(moveable, cursor, "message-selector", "messageSelector"); hasProperties |= addActivationConfigProperty(moveable, cursor, "acknowledge-mode", "acknowledgeMode"); if (new QName(J2EE_NAMESPACE, "message-driven-destination").equals(moveable.getName()) || moveable.toNextSibling(J2EE_NAMESPACE, "message-driven-destination")) { @@ -594,17 +591,6 @@ moveElements("env-entry-name", moveable, cursor); moveElements("env-entry-type", moveable, cursor); moveElements("env-entry-value", moveable, cursor); - } - - public static void validateDD(XmlObject dd) throws XmlException { - XmlOptions xmlOptions = new XmlOptions(); - xmlOptions.setLoadLineNumbers(); - Collection errors = new ArrayList(); - xmlOptions.setErrorListener(errors); - if (!dd.validate(xmlOptions)) { - throw new XmlException("Invalid deployment descriptor: " + errors + "\nDescriptor: " + dd.toString(), null, errors); - } -// System.out.println("descriptor: " + dd.toString()); } private static void moveElements(String localName, XmlCursor moveable, XmlCursor toHere) { Modified: geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SecurityElementConverter.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SecurityElementConverter.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SecurityElementConverter.java (original) +++ geronimo/trunk/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SecurityElementConverter.java Fri Aug 18 00:44:04 2006 @@ -25,7 +25,7 @@ */ public class SecurityElementConverter implements ElementConverter { - public static final String GERONIMO_SECURITY_NAMESPACE = "http://geronimo.apache.org/xml/ns/security-1.1"; + public static final String GERONIMO_SECURITY_NAMESPACE = "http://geronimo.apache.org/xml/ns/security-1.2"; private static final QName PRINCIPAL_QNAME = new QName(GERONIMO_SECURITY_NAMESPACE, "principal"); private static final QName REALM_NAME_QNAME = new QName("realm-name"); Modified: geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/ejb-naming-post.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/ejb-naming-post.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/ejb-naming-post.xml (original) +++ geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/ejb-naming-post.xml Fri Aug 18 00:44:04 2006 @@ -1,6 +1,6 @@ - + test Modified: geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/gbean-post.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/gbean-post.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/gbean-post.xml (original) +++ geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/gbean-post.xml Fri Aug 18 00:44:04 2006 @@ -1,6 +1,6 @@ + class="org.apache.geronimo.security.realm.GenericSecurityRealm" xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2"> client-properties-realm Modified: geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/security-post.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/security-post.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/security-post.xml (original) +++ geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/security-post.xml Fri Aug 18 00:44:04 2006 @@ -1,5 +1,5 @@ - + Modified: geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/web-md-post.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/web-md-post.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/web-md-post.xml (original) +++ geronimo/trunk/modules/j2ee-schema/src/test-data/geronimo/web-md-post.xml Fri Aug 18 00:44:04 2006 @@ -1,7 +1,7 @@ - + geronimo Modified: geronimo/trunk/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java (original) +++ geronimo/trunk/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java Fri Aug 18 00:44:04 2006 @@ -28,6 +28,7 @@ import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlException; import org.apache.geronimo.xbeans.j2ee.EjbJarType; +import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -69,7 +70,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/application-client-14.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToApplicationClientSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -98,7 +99,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/application-14.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToApplicationSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -127,7 +128,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/ra-15.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToConnectorSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -156,7 +157,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_2dtd/ejb-1-21.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToEJBSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -185,7 +186,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/ejb-jar-21.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToEJBSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -214,7 +215,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/mdb-ejb-jar-21-GERONIMO-1649.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToEJBSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -243,7 +244,7 @@ URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/mdb-ejb-jar-21.xml"); XmlObject xmlObject = XmlObject.Factory.parse(srcXml); XmlObject expected = XmlObject.Factory.parse(expectedOutputXml); - SchemaConversionUtils.validateDD(expected); + XmlBeansUtil.validateDD(expected); xmlObject = SchemaConversionUtils.convertToEJBSchema(xmlObject); // log.debug(xmlObject.toString()); // log.debug(expected.toString()); @@ -400,7 +401,7 @@ public void testGeronimoNamingNamespaceChange() throws Exception { URL srcXml = classLoader.getResource("geronimo/ejb-naming-pre.xml"); URL expectedOutputXml = classLoader.getResource("geronimo/ejb-naming-post.xml"); - XmlObject xmlObject = XmlObject.Factory.parse(srcXml); + XmlObject xmlObject = XmlBeansUtil.parse(srcXml, this.getClass().getClassLoader()); XmlCursor cursor = xmlObject.newCursor(); try { SchemaConversionUtils.convertToGeronimoSubSchemas(cursor); @@ -526,7 +527,7 @@ public void testWebMessageDestination1() throws Exception { URL srcXml = classLoader.getResource("geronimo/web-md-pre.xml"); URL expectedOutputXml = classLoader.getResource("geronimo/web-md-post.xml"); - XmlObject xmlObject = XmlObject.Factory.parse(srcXml); + XmlObject xmlObject = XmlBeansUtil.parse(srcXml, this.getClass().getClassLoader()); XmlCursor cursor = xmlObject.newCursor(); try { SchemaConversionUtils.convertToGeronimoSubSchemas(cursor); Modified: geronimo/trunk/modules/jetty-builder/pom.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/jetty-builder/pom.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/jetty-builder/pom.xml (original) +++ geronimo/trunk/modules/jetty-builder/pom.xml Fri Aug 18 00:44:04 2006 @@ -69,7 +69,7 @@ org.codehaus.mojo xmlbeans-maven-plugin - geronimo-jetty-1.1.xsd,geronimo-jetty-config-1.0.xsd + geronimo-jetty-1.2.xsd,geronimo-jetty-config-1.0.xsd Modified: geronimo/trunk/modules/jetty-builder/project.xml URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/jetty-builder/project.xml?rev=432510&r1=432509&r2=432510&view=diff ============================================================================== --- geronimo/trunk/modules/jetty-builder/project.xml (original) +++ geronimo/trunk/modules/jetty-builder/project.xml Fri Aug 18 00:44:04 2006 @@ -144,6 +144,9 @@ geronimo geronimo-j2ee-builder ${pom.currentVersion} + + true +