jboynes     2004/01/21 12:37:29

  Added:       modules/deployment/src/test/org/apache/geronimo/deployment/plugin
                        Application.java ApplicationRoot.java
                        DeploymentConfigurationTest.java
               
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/client
                        ClientConfigBean.java
               modules/deployment/src/test/org/apache/geronimo/deployment/tools
                        ClientDeployableTest.java DDBeanRootTest.java
                        WebDeployableTest.java
               modules/deployment/src/java/org/apache/geronimo/deployment/plugin
                        DConfigBeanSupport.java
                        DeploymentConfigurationImpl.java
                        DeploymentManagerImpl.java
               modules/deployment/src/java/org/apache/geronimo/deployment/tools
                        DDBeanImpl.java DDBeanRootImpl.java
               
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/factories
                        DeploymentFactoryImpl.java
               
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/application
                        EARConfigBean.java
               
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/j2ee
                        EJBRefConfigBean.java
               modules/deployment/src/java/org/apache/geronimo/deployment/util
                        XMLUtil.java
  Log:
  Start of JSR88 provider and a simple tool to test it
  
  Revision  Changes    Path
  1.1                  
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/plugin/Application.java
  
  Index: Application.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin;
  
  import java.util.Enumeration;
  import java.io.FileNotFoundException;
  import java.io.InputStream;
  import javax.enterprise.deploy.model.J2eeApplicationObject;
  import javax.enterprise.deploy.model.DDBeanRoot;
  import javax.enterprise.deploy.model.XpathListener;
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.model.DeployableObject;
  import javax.enterprise.deploy.model.exceptions.DDBeanCreateException;
  import javax.enterprise.deploy.shared.ModuleType;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class Application implements J2eeApplicationObject {
      private final DDBeanRoot root;
  
          public Application(DDBeanRoot root) {
              this.root = root;
          }
  
          public void addXpathListener(ModuleType type, String xpath, 
XpathListener xpl) {
              throw new UnsupportedOperationException();
          }
  
          public Enumeration entries() {
              throw new UnsupportedOperationException();
          }
  
          public DDBean[] getChildBean(ModuleType type, String xpath) {
              throw new UnsupportedOperationException();
          }
  
          public DDBean[] getChildBean(String xpath) {
              throw new UnsupportedOperationException();
          }
  
          public Class getClassFromScope(String className) {
              throw new UnsupportedOperationException();
          }
  
          public DDBeanRoot getDDBeanRoot() {
              return root;
          }
  
          public DDBeanRoot getDDBeanRoot(String filename) throws 
FileNotFoundException, DDBeanCreateException {
              throw new UnsupportedOperationException();
          }
  
          public DeployableObject getDeployableObject(String uri) {
              throw new UnsupportedOperationException();
          }
  
          public DeployableObject[] getDeployableObjects() {
              throw new UnsupportedOperationException();
          }
  
          public DeployableObject[] getDeployableObjects(ModuleType type) {
              throw new UnsupportedOperationException();
          }
  
          public InputStream getEntry(String name) {
              throw new UnsupportedOperationException();
          }
  
          public String getModuleDTDVersion() {
              throw new UnsupportedOperationException();
          }
  
          public String[] getModuleUris() {
              throw new UnsupportedOperationException();
          }
  
          public String[] getModuleUris(ModuleType type) {
              throw new UnsupportedOperationException();
          }
  
          public String[] getText(ModuleType type, String xpath) {
              throw new UnsupportedOperationException();
          }
  
          public String[] getText(String xpath) {
              throw new UnsupportedOperationException();
          }
  
          public ModuleType getType() {
              throw new UnsupportedOperationException();
          }
  
          public void removeXpathListener(ModuleType type, String xpath, 
XpathListener xpl) {
              throw new UnsupportedOperationException();
          }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/plugin/ApplicationRoot.java
  
  Index: ApplicationRoot.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin;
  
  import javax.enterprise.deploy.model.DDBeanRoot;
  import javax.enterprise.deploy.model.XpathListener;
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.model.DeployableObject;
  import javax.enterprise.deploy.shared.ModuleType;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class ApplicationRoot implements DDBeanRoot {
      public void addXpathListener(String xpath, XpathListener xpl) {
          throw new UnsupportedOperationException();
      }
  
      public String[] getAttributeNames() {
          throw new UnsupportedOperationException();
      }
  
      public String getAttributeValue(String attrName) {
          throw new UnsupportedOperationException();
      }
  
      public DDBean[] getChildBean(String xpath) {
          throw new UnsupportedOperationException();
      }
  
      public String getDDBeanRootVersion() {
          throw new UnsupportedOperationException();
      }
  
      public DeployableObject getDeployableObject() {
          throw new UnsupportedOperationException();
      }
  
      public String getFilename() {
          throw new UnsupportedOperationException();
      }
  
      public String getId() {
          throw new UnsupportedOperationException();
      }
  
      public String getModuleDTDVersion() {
          throw new UnsupportedOperationException();
      }
  
      public DDBeanRoot getRoot() {
          throw new UnsupportedOperationException();
      }
  
      public String getText() {
          throw new UnsupportedOperationException();
      }
  
      public String[] getText(String xpath) {
          throw new UnsupportedOperationException();
      }
  
      public ModuleType getType() {
          throw new UnsupportedOperationException();
      }
  
      public String getXpath() {
          throw new UnsupportedOperationException();
      }
  
      public void removeXpathListener(String xpath, XpathListener xpl) {
          throw new UnsupportedOperationException();
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/plugin/DeploymentConfigurationTest.java
  
  Index: DeploymentConfigurationTest.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin;
  
  import javax.enterprise.deploy.spi.factories.DeploymentFactory;
  import javax.enterprise.deploy.spi.DeploymentManager;
  import javax.enterprise.deploy.spi.DeploymentConfiguration;
  import javax.enterprise.deploy.model.DDBeanRoot;
  
  import org.apache.geronimo.deployment.plugin.factories.DeploymentFactoryImpl;
  import junit.framework.TestCase;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class DeploymentConfigurationTest extends TestCase {
      private DeploymentFactory factory;
      private DDBeanRoot root;
      private Application deployable;
  
      public void testInit() throws Exception {
          DeploymentManager manager = 
factory.getDisconnectedDeploymentManager("deployer:geronimo:test");
          DeploymentConfiguration config = 
manager.createConfiguration(deployable);
          assertEquals(deployable, config.getDeployableObject());
          assertNull(config.getDConfigBeanRoot(root));
      }
  
      protected void setUp() throws Exception {
          factory = new DeploymentFactoryImpl();
          root = new ApplicationRoot();
          deployable = new Application(root);
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/client/ClientConfigBean.java
  
  Index: ClientConfigBean.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin.client;
  
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.spi.DConfigBean;
  import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
  import javax.enterprise.deploy.spi.exceptions.BeanNotFoundException;
  
  import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class ClientConfigBean extends DConfigBeanSupport {
      private static final String[] XPATHS = {
          "ejb-ref/jndi-name",
          "resource-ref/jmx-name"
      };
  
      public ClientConfigBean(DDBean ddBean) {
          super(ddBean);
      }
  
      public String[] getXpaths() {
          return XPATHS;
      }
  
      public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
          return null;
      }
  
      public void removeDConfigBean(DConfigBean bean) throws 
BeanNotFoundException {
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/tools/ClientDeployableTest.java
  
  Index: ClientDeployableTest.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.tools;
  
  import java.net.URL;
  import java.util.Collections;
  import java.util.HashSet;
  import java.util.Set;
  import java.io.InputStream;
  import javax.enterprise.deploy.shared.ModuleType;
  import javax.enterprise.deploy.model.DDBeanRoot;
  
  import org.apache.geronimo.deployment.tools.loader.ClientDeployable;
  import junit.framework.TestCase;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class ClientDeployableTest extends TestCase {
      private ClassLoader classLoader;
  
      public void testLoadClient() throws Exception {
          URL resource = classLoader.getResource("deployables/app-client1.jar");
          ClientDeployable deployable = new ClientDeployable(resource);
          assertEquals(ModuleType.CAR, deployable.getType());
          Set entrySet = new HashSet(Collections.list(deployable.entries()));
          Set resultSet = new HashSet();
          resultSet.add("META-INF/");
          resultSet.add("META-INF/MANIFEST.MF");
          resultSet.add("META-INF/application-client.xml");
          resultSet.add("Main.java");
          resultSet.add("Main.class");
          assertEquals(resultSet, entrySet);
          InputStream entry = 
deployable.getEntry("META-INF/application-client.xml");
          assertNotNull(entry);
          entry.close();
          Class main = deployable.getClassFromScope("Main");
          assertEquals("Main", main.getName());
  
          DDBeanRoot root = deployable.getDDBeanRoot();
          assertNotNull(root);
          assertEquals(ModuleType.CAR, root.getType());
          assertEquals(deployable, root.getDeployableObject());
      }
  
      protected void setUp() throws Exception {
          classLoader = Thread.currentThread().getContextClassLoader();
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/tools/DDBeanRootTest.java
  
  Index: DDBeanRootTest.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.tools;
  
  import java.net.URL;
  import java.util.Arrays;
  import java.util.Enumeration;
  import java.io.FileNotFoundException;
  import java.io.InputStream;
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.model.DDBeanRoot;
  import javax.enterprise.deploy.model.DeployableObject;
  import javax.enterprise.deploy.model.exceptions.DDBeanCreateException;
  import javax.enterprise.deploy.shared.ModuleType;
  
  import junit.framework.TestCase;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class DDBeanRootTest extends TestCase {
      private DDBeanRoot root;
      private ClassLoader classLoader;
  
      public void testRoot() throws Exception {
          DeployableObject deployable = new MockDeployable();
          URL descriptor = 
classLoader.getResource("descriptors/app-client1.xml");
          root = new DDBeanRootImpl(deployable, descriptor);
          assertEquals("1.4", root.getDDBeanRootVersion());
          assertEquals(deployable, root.getDeployableObject());
          assertEquals(ModuleType.CAR, root.getType());
          assertEquals("/", root.getXpath());
          assertNull(root.getAttributeNames());
          assertNull(root.getText("foo"));
          assertTrue(Arrays.equals(new String[] {"Test DD for app-client1"}, 
root.getText("application-client/description")));
          assertTrue(Arrays.equals(new String[] {"http://localhost"}, 
root.getText("application-client/env-entry/env-entry-value")));
          assertTrue(Arrays.equals(new String[] {"url/test1", "url/test2"}, 
root.getText("application-client/env-entry/env-entry-name")));
  
          DDBean description = 
root.getChildBean("application-client/description")[0];
          assertEquals("Test DD for app-client1", description.getText());
          assertEquals("/application-client/description", 
description.getXpath());
          assertEquals(description, 
description.getChildBean("/application-client/description")[0]);
      }
  
      protected void setUp() throws Exception {
          classLoader = Thread.currentThread().getContextClassLoader();
      }
  
      private class MockDeployable implements DeployableObject {
          public Enumeration entries() {
              fail();
              throw new AssertionError();
          }
  
          public DDBean[] getChildBean(String xpath) {
              fail();
              throw new AssertionError();
          }
  
          public Class getClassFromScope(String className) {
              fail();
              throw new AssertionError();
          }
  
          public DDBeanRoot getDDBeanRoot() {
              fail();
              throw new AssertionError();
          }
  
          public DDBeanRoot getDDBeanRoot(String filename) throws 
FileNotFoundException, DDBeanCreateException {
              fail();
              throw new AssertionError();
          }
  
          public InputStream getEntry(String name) {
              fail();
              throw new AssertionError();
          }
  
          public String getModuleDTDVersion() {
              fail();
              throw new AssertionError();
          }
  
          public String[] getText(String xpath) {
              fail();
              throw new AssertionError();
          }
  
          public ModuleType getType() {
              return ModuleType.CAR;
          }
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/tools/WebDeployableTest.java
  
  Index: WebDeployableTest.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.tools;
  
  import java.net.URL;
  
  import org.apache.geronimo.deployment.tools.loader.WebDeployable;
  import junit.framework.TestCase;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:28 $
   */
  public class WebDeployableTest extends TestCase {
      private ClassLoader classLoader;
  
      public void testWebClasspath() throws Exception {
          URL resource = classLoader.getResource("deployables/war1.war");
          WebDeployable deployable = new WebDeployable(resource);
      }
  
      protected void setUp() throws Exception {
          classLoader = Thread.currentThread().getContextClassLoader();
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DConfigBeanSupport.java
  
  Index: DConfigBeanSupport.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin;
  
  import java.beans.PropertyChangeListener;
  import java.beans.PropertyChangeSupport;
  import javax.enterprise.deploy.spi.DConfigBean;
  import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.model.XpathEvent;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public abstract class DConfigBeanSupport implements DConfigBean {
      private final DDBean ddBean;
      private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
  
      public DConfigBeanSupport(DDBean ddBean) {
          this.ddBean = ddBean;
      }
  
      public DDBean getDDBean() {
          return ddBean;
      }
  
      public void notifyDDChange(XpathEvent event) {
      }
  
      public void addPropertyChangeListener(PropertyChangeListener pcl) {
          pcs.addPropertyChangeListener(pcl);
      }
  
      public void removePropertyChangeListener(PropertyChangeListener pcl) {
          pcs.removePropertyChangeListener(pcl);
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DeploymentConfigurationImpl.java
  
  Index: DeploymentConfigurationImpl.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin;
  
  import java.io.OutputStream;
  import java.io.InputStream;
  import javax.enterprise.deploy.spi.DeploymentConfiguration;
  import javax.enterprise.deploy.spi.DConfigBeanRoot;
  import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
  import javax.enterprise.deploy.spi.exceptions.BeanNotFoundException;
  import javax.enterprise.deploy.model.DeployableObject;
  import javax.enterprise.deploy.model.DDBeanRoot;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class DeploymentConfigurationImpl implements DeploymentConfiguration {
      private final DeployableObject deployable;
  
      public DeploymentConfigurationImpl(DeployableObject deployable) {
          this.deployable = deployable;
      }
  
      public DeployableObject getDeployableObject() {
          return deployable;
      }
  
      public DConfigBeanRoot getDConfigBeanRoot(DDBeanRoot bean) throws 
ConfigurationException {
          return null;
      }
  
      public void removeDConfigBean(DConfigBeanRoot bean) throws 
BeanNotFoundException {
      }
  
      public void save(OutputStream outputArchive) throws 
ConfigurationException {
      }
  
      public void restore(InputStream inputArchive) throws 
ConfigurationException {
      }
  
      public void saveDConfigBean(OutputStream outputArchive, DConfigBeanRoot 
bean) throws ConfigurationException {
      }
  
      public DConfigBeanRoot restoreDConfigBean(InputStream inputArchive, 
DDBeanRoot bean) throws ConfigurationException {
          return null;
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DeploymentManagerImpl.java
  
  Index: DeploymentManagerImpl.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin;
  
  import java.io.File;
  import java.io.InputStream;
  import java.util.Locale;
  import javax.enterprise.deploy.model.DeployableObject;
  import javax.enterprise.deploy.shared.DConfigBeanVersionType;
  import javax.enterprise.deploy.shared.ModuleType;
  import javax.enterprise.deploy.spi.DeploymentConfiguration;
  import javax.enterprise.deploy.spi.DeploymentManager;
  import javax.enterprise.deploy.spi.Target;
  import javax.enterprise.deploy.spi.TargetModuleID;
  import 
javax.enterprise.deploy.spi.exceptions.DConfigBeanVersionUnsupportedException;
  import javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
  import javax.enterprise.deploy.spi.exceptions.TargetException;
  import javax.enterprise.deploy.spi.status.ProgressObject;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class DeploymentManagerImpl implements DeploymentManager {
      private boolean connected;
  
      public DeploymentManagerImpl() {
          connected = false;
      }
  
      public DeploymentConfiguration createConfiguration(DeployableObject dObj) 
throws InvalidModuleException {
          return new DeploymentConfigurationImpl(dObj);
      }
  
      public DConfigBeanVersionType getDConfigBeanVersion() {
          return DConfigBeanVersionType.V1_4;
      }
  
      public void setDConfigBeanVersion(DConfigBeanVersionType version) throws 
DConfigBeanVersionUnsupportedException {
          if (!isDConfigBeanVersionSupported(version)) {
              throw new DConfigBeanVersionUnsupportedException("Version not 
supported " + version);
          }
      }
  
      public boolean isDConfigBeanVersionSupported(DConfigBeanVersionType 
version) {
          return DConfigBeanVersionType.V1_4.equals(version);
      }
  
      public Locale getDefaultLocale() {
          return Locale.getDefault();
      }
  
      public Locale[] getSupportedLocales() {
          return new Locale[] { getDefaultLocale() };
      }
  
      public Locale getCurrentLocale() {
          return getDefaultLocale();
      }
  
      public void setLocale(Locale locale) throws UnsupportedOperationException 
{
          throw new UnsupportedOperationException("Cannot set Locale");
      }
  
      public boolean isLocaleSupported(Locale locale) {
          return getDefaultLocale().equals(locale);
      }
  
      public void release() {
      }
  
      public Target[] getTargets() throws IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public TargetModuleID[] getRunningModules(ModuleType moduleType, Target[] 
targetList) throws TargetException, IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public TargetModuleID[] getNonRunningModules(ModuleType moduleType, 
Target[] targetList) throws TargetException, IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public TargetModuleID[] getAvailableModules(ModuleType moduleType, 
Target[] targetList) throws TargetException, IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public ProgressObject distribute(Target[] targetList, File moduleArchive, 
File deploymentPlan) throws IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public ProgressObject distribute(Target[] targetList, InputStream 
moduleArchive, InputStream deploymentPlan) throws IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public ProgressObject start(TargetModuleID[] moduleIDList) throws 
IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public ProgressObject stop(TargetModuleID[] moduleIDList) throws 
IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public ProgressObject undeploy(TargetModuleID[] moduleIDList) throws 
IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public boolean isRedeploySupported() {
          return true;
      }
  
      public ProgressObject redeploy(TargetModuleID[] moduleIDList, File 
moduleArchive, File deploymentPlan) throws UnsupportedOperationException, 
IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  
      public ProgressObject redeploy(TargetModuleID[] moduleIDList, InputStream 
moduleArchive, InputStream deploymentPlan) throws 
UnsupportedOperationException, IllegalStateException {
          if (!connected) {
              throw new IllegalStateException("Disconnected");
          }
          throw new UnsupportedOperationException();
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/tools/DDBeanImpl.java
  
  Index: DDBeanImpl.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.tools;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.Iterator;
  import java.util.List;
  import java.util.Map;
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.model.DDBeanRoot;
  import javax.enterprise.deploy.model.XpathListener;
  
  import org.apache.geronimo.deployment.util.XMLUtil;
  import org.w3c.dom.Attr;
  import org.w3c.dom.Element;
  import org.w3c.dom.NamedNodeMap;
  import org.w3c.dom.Node;
  
  /**
   *
   *
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class DDBeanImpl implements DDBean {
      protected final DDBeanRoot root;
      protected final Element element;
      protected final String xpath;
      protected final Map children;
  
      public DDBeanImpl(DDBeanRoot root, String xpath, Element element) {
          this.root = root;
          this.xpath = xpath;
          this.element = element;
          this.children = new HashMap();
          for (Node node = element.getFirstChild(); node != null; node = 
node.getNextSibling()) {
              if (node instanceof Element) {
                  Element child = (Element) node;
                  List childs = (List) children.get(child.getNodeName());
                  if (childs == null) {
                      childs = new ArrayList();
                      children.put(child.getNodeName(), childs);
                  }
                  childs.add(new DDBeanImpl(root, xpath + "/" + 
child.getNodeName(), child));
              }
          }
      }
  
      public DDBeanRoot getRoot() {
          return root;
      }
  
      public String getXpath() {
          return xpath;
      }
  
      public String getText() {
          return (String) XMLUtil.getContent(element);
      }
  
      public String getId() {
          return getAttributeValue("ID");
      }
  
      public String getAttributeValue(String attrName) {
          String value = element.getAttribute(attrName).trim();
          if (value.length() == 0) {
              value = null;
          }
          return value;
      }
  
      public String[] getText(String xpath) {
          DDBean[] beans = getChildBean(xpath);
          if (beans == null) {
              return null;
          }
  
          String[] text = new String[beans.length];
          for (int i = 0; i < beans.length; i++) {
              text[i] = beans[i].getText();
          }
          return text;
      }
  
      public DDBean[] getChildBean(String xpath) {
          if (xpath.startsWith("/")) {
              return getRoot().getChildBean(xpath.substring(1));
          }
          int index = xpath.indexOf('/');
          if (index == -1) {
              List beans = (List) children.get(xpath);
              if (beans == null) {
                  return null;
              }
              return (DDBean[]) beans.toArray(new DDBean[beans.size()]);
          } else {
              List childBeans = (List) children.get(xpath.substring(0, index));
              String path = xpath.substring(index + 1);
              List beans = new ArrayList();
              for (Iterator i = childBeans.iterator(); i.hasNext();) {
                  DDBean bean = (DDBean) i.next();
                  DDBean[] childs = bean.getChildBean(path);
                  if (childs != null) {
                      for (int j = 0; j < childs.length; j++) {
                          beans.add(childs[j]);
                      }
                  }
              }
              return beans.size() > 0 ? (DDBean[]) beans.toArray(new 
DDBean[beans.size()]) : null;
          }
      }
  
      public String[] getAttributeNames() {
          NamedNodeMap attrs = element.getAttributes();
          String[] attrNames = new String[attrs.getLength()];
          for (int i = 0; i < attrNames.length; i++) {
              Attr node = (Attr) attrs.item(i);
              attrNames[i] = node.getName();
          }
          return attrNames;
      }
  
      public void addXpathListener(String xpath, XpathListener xpl) {
      }
  
      public void removeXpathListener(String xpath, XpathListener xpl) {
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/tools/DDBeanRootImpl.java
  
  Index: DDBeanRootImpl.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.tools;
  
  import java.io.IOException;
  import java.io.InputStream;
  import java.net.URL;
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.model.DDBeanRoot;
  import javax.enterprise.deploy.model.DeployableObject;
  import javax.enterprise.deploy.model.XpathListener;
  import javax.enterprise.deploy.model.exceptions.DDBeanCreateException;
  import javax.enterprise.deploy.shared.ModuleType;
  import javax.xml.parsers.DocumentBuilder;
  import javax.xml.parsers.DocumentBuilderFactory;
  import javax.xml.parsers.ParserConfigurationException;
  
  import org.w3c.dom.Document;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class DDBeanRootImpl implements DDBeanRoot {
      private final DeployableObject deployable;
      private final Document doc;
      private final DDBean docBean;
  
      public DDBeanRootImpl(DeployableObject deployable, URL descriptor) throws 
DDBeanCreateException {
          this.deployable = deployable;
          DocumentBuilder parser = null;
          try {
              parser = 
DocumentBuilderFactory.newInstance().newDocumentBuilder();
          } catch (ParserConfigurationException e) {
              throw (DDBeanCreateException) new DDBeanCreateException("Unable 
to load parser").initCause(e);
          }
          InputStream is = null;
          try {
              is = descriptor.openStream();
              doc = parser.parse(is);
          } catch (Exception e) {
              throw (DDBeanCreateException) new DDBeanCreateException("Unable 
to parse descriptor").initCause(e);
          } finally {
              if (is != null) {
                  try {
                      is.close();
                  } catch (IOException e) {
                      // ignore
                  }
              }
          }
          docBean = new DDBeanImpl(this, "/"+ 
doc.getDocumentElement().getNodeName(), doc.getDocumentElement());
      }
  
      public DDBeanRoot getRoot() {
          return this;
      }
  
      public String getXpath() {
          return "/";
      }
  
      public String getDDBeanRootVersion() {
          return doc.getDocumentElement().getAttribute("version");
      }
  
      public DeployableObject getDeployableObject() {
          return deployable;
      }
  
      public String getFilename() {
          throw new UnsupportedOperationException();
      }
  
      public String getModuleDTDVersion() {
          throw new UnsupportedOperationException();
      }
  
      public ModuleType getType() {
          return deployable.getType();
      }
  
      public String getId() {
          return null;
      }
  
      public String getText() {
          return null;
      }
  
      public String[] getAttributeNames() {
          return null;
      }
  
      public String getAttributeValue(String attrName) {
          return null;
      }
  
      public DDBean[] getChildBean(String xpath) {
          if (xpath.startsWith("/")) {
              xpath = xpath.substring(1);
          }
          int index = xpath.indexOf('/');
          String childName = (index == -1) ? xpath : xpath.substring(0, index);
          if (childName.equals(doc.getDocumentElement().getNodeName())) {
              if (index == -1) {
                  return new DDBean[] {docBean };
              } else {
                  return docBean.getChildBean(xpath.substring(index+1));
              }
          } else {
              return null;
          }
      }
  
      public String[] getText(String xpath) {
          DDBean[] beans = getChildBean(xpath);
          if (beans == null) {
              return null;
          }
  
          String[] text = new String[beans.length];
          for (int i = 0; i < beans.length; i++) {
              text[i] = beans[i].getText();
          }
          return text;
      }
  
      public void addXpathListener(String xpath, XpathListener xpl) {
          throw new UnsupportedOperationException();
      }
  
      public void removeXpathListener(String xpath, XpathListener xpl) {
          throw new UnsupportedOperationException();
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/factories/DeploymentFactoryImpl.java
  
  Index: DeploymentFactoryImpl.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin.factories;
  
  import java.net.URI;
  import java.net.URISyntaxException;
  import javax.enterprise.deploy.spi.factories.DeploymentFactory;
  import javax.enterprise.deploy.spi.DeploymentManager;
  import 
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
  
  import org.apache.geronimo.deployment.plugin.DeploymentManagerImpl;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class DeploymentFactoryImpl implements DeploymentFactory {
      public static final String URI_PREFIX = "deployer:geronimo:";
  
      public String getDisplayName() {
          return "Geronimo";
      }
  
      public String getProductVersion() {
          return "0.1";
      }
  
      public boolean handlesURI(String uri) {
          return uri.startsWith(URI_PREFIX);
      }
  
      public DeploymentManager getDisconnectedDeploymentManager(String uri) 
throws DeploymentManagerCreationException {
          if (!handlesURI(uri)) {
              return null;
          }
  
          URI configURI;
          try {
              configURI = new URI(uri.substring(9));
          } catch (URISyntaxException e) {
              throw (DeploymentManagerCreationException) new 
DeploymentManagerCreationException("Unable to parse URI "+uri).initCause(e);
          }
          assert "geronimo".equals(configURI.getScheme());
          String subURI = configURI.getSchemeSpecificPart();
          if (subURI.startsWith("//")) {
              throw new AssertionError();
          } else {
              configURI = URI.create(subURI);
          }
  
          return new DeploymentManagerImpl();
      }
  
      public DeploymentManager getDeploymentManager(String uri, String 
username, String password) throws DeploymentManagerCreationException {
          return null;
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/application/EARConfigBean.java
  
  Index: EARConfigBean.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin.application;
  
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.spi.DConfigBean;
  import javax.enterprise.deploy.spi.exceptions.BeanNotFoundException;
  import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
  
  import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
  
  /**
   *
   *
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class EARConfigBean extends DConfigBeanSupport {
      public EARConfigBean(DDBean ddBean) {
          super(ddBean);
      }
  
      public String[] getXpaths() {
          return null;
      }
  
      public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
          throw new ConfigurationException();
      }
  
      public void removeDConfigBean(DConfigBean bean) throws 
BeanNotFoundException {
          throw new BeanNotFoundException("No children");
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/j2ee/EJBRefConfigBean.java
  
  Index: EJBRefConfigBean.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.plugin.j2ee;
  
  import javax.enterprise.deploy.model.DDBean;
  import javax.enterprise.deploy.spi.DConfigBean;
  import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
  import javax.enterprise.deploy.spi.exceptions.BeanNotFoundException;
  
  import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class EJBRefConfigBean extends DConfigBeanSupport {
      private static final String[] XPATHS = {
          "jndi-name"
      };
  
      public EJBRefConfigBean(DDBean ddBean) {
          super(ddBean);
      }
  
      public String[] getXpaths() {
          return XPATHS;
      }
  
      public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
          return null;
      }
  
      public void removeDConfigBean(DConfigBean bean) throws 
BeanNotFoundException {
      }
  }
  
  
  
  1.1                  
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/util/XMLUtil.java
  
  Index: XMLUtil.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.deployment.util;
  
  import org.w3c.dom.Element;
  import org.w3c.dom.NodeList;
  import org.w3c.dom.Node;
  
  /**
   * 
   * 
   * @version $Revision: 1.1 $ $Date: 2004/01/21 20:37:29 $
   */
  public class XMLUtil {
      public static Object getContent(Element element) {
          NodeList nl = element.getChildNodes();
          StringBuffer content = new StringBuffer();
          for (int i = 0; i < nl.getLength(); i++) {
              Node node = nl.item(i);
              switch (node.getNodeType()) {
              case Node.ELEMENT_NODE:
                  return node;
              case Node.CDATA_SECTION_NODE:
              case Node.TEXT_NODE:
                  content.append(node.getNodeValue());
                  break;
              }
          }
          return content.toString().trim();
      }
  }
  
  
  

Reply via email to