|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
Globus Toolkit ContainerHello,
I am working on a Globus Toolkit Container (http://globus.org/toolkit/) in order to get automatic integration tests and deployment for the GT. I have attached my current Cargo modifications and would appreciate feedback before creating a bug+patch in the tracker. I am very new to Maven2 and Cargo so I don't know whether I am doing things the right way and appreciate any advise. The current status is: - Container can be started and shut down - .gar file (Grid ARchive) can be deployed (hot-deployment is not supported by the Globus toolkit) There is no creation of .gar files yet but I am not sure whether to put this into the Cargo module or somewhere externally (where stub creation takes place, which is probably not part of Cargo). Details about the deployment process in Globus can be found here: http://globus.org/toolkit/docs/4.2/4.2.1/common/javawscore/admin/ Best regards, Dominic Index: containers/pom.xml =================================================================== --- containers/pom.xml (Revision 1956) +++ containers/pom.xml (Arbeitskopie) @@ -72,6 +72,7 @@ </build> <modules> <module>geronimo</module> + <module>gt</module> <module>jboss</module> <module>jetty</module> <module>jo</module> Index: containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42InstalledLocalDeployer.java =================================================================== --- containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42InstalledLocalDeployer.java (Revision 0) +++ containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42InstalledLocalDeployer.java (Revision 0) @@ -0,0 +1,123 @@ +package org.codehaus.cargo.container.gt; + +import java.io.File; + +import org.apache.tools.ant.Project; +import org.apache.tools.ant.ProjectHelper; +import org.codehaus.cargo.container.InstalledLocalContainer; +import org.codehaus.cargo.container.deployable.Deployable; +import org.codehaus.cargo.container.deployer.DeployerType; +import org.codehaus.cargo.container.internal.util.AntBuildListener; +import org.codehaus.cargo.container.spi.deployer.AbstractInstalledLocalDeployer; + +/** + * {@link org.codehaus.cargo.container.deployer.Deployer} for deploying to + * {@link GT42InstalledLocalContainer local GT 4.2 container}. + * + * @version $Id: $ + */ +public class GT42InstalledLocalDeployer extends AbstractInstalledLocalDeployer +{ + + /** + * The container that this deployer acts on. + */ + private final GT42InstalledLocalContainer container; + + /** + * Apache Ant project used for deployment. + */ + private final Project project; + + /** + * Creates a new deployer for {@link GT42InstalledLocalContainer}. + * + * @param container The container to which this deployer will work. This parameter is typed as + * {@link InstalledLocalContainer} due to the Cargo generic API requirement, but it + * has to be a {@link GT42InstalledLocalContainer}. + */ + public GT42InstalledLocalDeployer(InstalledLocalContainer container) + { + super(container); + this.container = (GT42InstalledLocalContainer) container; + + final String globusLocation = this.container.getEnv("GLOBUS_LOCATION"); + + getLogger().info("GLOBUS_LOCATION=" + globusLocation, this.getClass().getName()); + + File antDeployFile = + new File(globusLocation + "/share/globus_wsrf_common/build-packages.xml"); + + getLogger().info("build package ant file =" + antDeployFile.getAbsolutePath(), + this.getClass().getName()); + + project = new Project(); + project.setUserProperty("ant.file", antDeployFile.getAbsolutePath()); + project.addBuildListener(new AntBuildListener(getLogger(), this.getClass().getName())); + + ProjectHelper helper = ProjectHelper.getProjectHelper(); + project.addReference("ant.projectHelper", helper); + project.init(); + helper.parse(project, antDeployFile); + } + + /** + * {@inheritDoc} + * + * @see AbstractLocalDeployer#deploy(org.codehaus.cargo.container.deployable.Deployable) + */ + public void deploy(Deployable deployable) + { + getLogger().info("calling deployGar with gar.name=" + deployable.getFile(), + this.getClass().getName()); + + project.setProperty("gar.name", deployable.getFile()); + project.executeTarget("deployGar"); + + getLogger().info("deployGar finshed", this.getClass().getName()); + } + + /** + * {@inheritDoc} + * + * @see AbstractLocalDeployer#undeploy(org.codehaus.cargo.container.deployable.Deployable) + */ + public void undeploy(Deployable deployable) + { + File f = new File(deployable.getFile()); + String filename = f.getName(); + if (filename.endsWith(".gar")) + { + filename = filename.substring(0, filename.length() - 4); + } + else + { + // throw exception + } + getLogger().info("calling undeployGar with gar.id=" + filename, + this.getClass().getName()); + + project.setProperty("gar.id", filename); + project.executeTarget("undeployGar"); + + getLogger().info("undeployGar finshed", this.getClass().getName()); + } + + /** + * {@inheritDoc} + * + * @see AbstractLocalDeployer#redeploy(org.codehaus.cargo.container.deployable.Deployable) + */ + public void redeploy(Deployable deployable) + { + } + + /** + * {@inheritDoc} + */ + public DeployerType getType() + { + return DeployerType.INSTALLED; + } + +} Index: containers/gt/src/main/java/org/codehaus/cargo/container/gt/GTContainerCapability.java =================================================================== --- containers/gt/src/main/java/org/codehaus/cargo/container/gt/GTContainerCapability.java (Revision 0) +++ containers/gt/src/main/java/org/codehaus/cargo/container/gt/GTContainerCapability.java (Revision 0) @@ -0,0 +1,20 @@ +package org.codehaus.cargo.container.gt; + +import org.codehaus.cargo.container.ContainerCapability; +import org.codehaus.cargo.container.deployable.DeployableType; + +/** + * Globus Toolkit series container implementation. + * + * @version $Id: $ + */ +public class GTContainerCapability implements ContainerCapability +{ + /** + * {@inheritDoc} + */ + public boolean supportsDeployableType(DeployableType type) + { + return type == DeployableType.GAR; + } +} Index: containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42ExistingLocalConfigurationCapability.java =================================================================== --- containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42ExistingLocalConfigurationCapability.java (Revision 0) +++ containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42ExistingLocalConfigurationCapability.java (Revision 0) @@ -0,0 +1,66 @@ +/* + * ======================================================================== + * + * Copyright 2006 Vincent Massol. + * + * 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.codehaus.cargo.container.gt; + +import org.codehaus.cargo.container.property.GeneralPropertySet; +import org.codehaus.cargo.container.property.ServletPropertySet; +import org.codehaus.cargo.container.spi.configuration.AbstractExistingLocalConfigurationCapability; + +import java.util.Map; +import java.util.HashMap; + +/** + * Capabilities of the Globus Toolkits existing local configuration. + * + * @version $Id: $ + */ +public class GT42ExistingLocalConfigurationCapability extends + AbstractExistingLocalConfigurationCapability +{ + /** + * Globus Toolkit-specific configuration Map. + */ + private Map propertySupportMap; + + /** + * Initialize Globus Toolkit-specific configuration Map. + */ + public GT42ExistingLocalConfigurationCapability() + { + super(); + + this.propertySupportMap = new HashMap(); + + this.propertySupportMap.put(GeneralPropertySet.HOSTNAME, Boolean.TRUE); + this.propertySupportMap.put(ServletPropertySet.PORT, Boolean.TRUE); + this.propertySupportMap.put(GeneralPropertySet.PROTOCOL, Boolean.TRUE); + this.propertySupportMap.put(GeneralPropertySet.JVMARGS, Boolean.TRUE); + } + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.spi.configuration.AbstractStandaloneLocalConfigurationCapability#getPropertySupportMap() + */ + protected Map getPropertySupportMap() + { + return this.propertySupportMap; + } +} Index: containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42ExistingLocalConfiguration.java =================================================================== --- containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42ExistingLocalConfiguration.java (Revision 0) +++ containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42ExistingLocalConfiguration.java (Revision 0) @@ -0,0 +1,68 @@ +package org.codehaus.cargo.container.gt; + +import org.codehaus.cargo.container.LocalContainer; +import org.codehaus.cargo.container.configuration.ConfigurationCapability; +import org.codehaus.cargo.container.property.GeneralPropertySet; +import org.codehaus.cargo.container.property.ServletPropertySet; +import org.codehaus.cargo.container.spi.configuration.AbstractExistingLocalConfiguration; + +/** + * GT42 existing {@link org.codehaus.cargo.container.configuration.Configuration} implementation. + * + * @version $Id: $ + */ +public class GT42ExistingLocalConfiguration extends AbstractExistingLocalConfiguration +{ + /** + * GT4.2 configuration capability. + */ + private final GT42ExistingLocalConfigurationCapability capability = + new GT42ExistingLocalConfigurationCapability(); + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.spi.configuration.AbstractExistingLocalConfiguration#AbstractExistingLocalConfiguration(String) + */ + public GT42ExistingLocalConfiguration(String dir) + { + super(dir); + + setProperty(GeneralPropertySet.HOSTNAME, "localhost"); + setProperty(ServletPropertySet.PORT, "8443"); + setProperty(GeneralPropertySet.PROTOCOL, "https"); + setProperty(GeneralPropertySet.JVMARGS, ""); + } + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.spi.configuration.AbstractLocalConfiguration#configure(org.codehaus.cargo.container.LocalContainer) + */ + @Override + protected void doConfigure(LocalContainer container) throws Exception + { + // we do not need to to anything here + } + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.configuration.Configuration#getCapability() + */ + public ConfigurationCapability getCapability() + { + return capability; + } + + /** + * {@inheritDoc} + * + * @see Object#toString() + */ + public String toString() + { + return "GT4.2 Existing Configuration"; + } + +} Index: containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42InstalledLocalContainer.java =================================================================== --- containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42InstalledLocalContainer.java (Revision 0) +++ containers/gt/src/main/java/org/codehaus/cargo/container/gt/GT42InstalledLocalContainer.java (Revision 0) @@ -0,0 +1,234 @@ +package org.codehaus.cargo.container.gt; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; + +import org.apache.tools.ant.taskdefs.Java; +import org.apache.tools.ant.types.Path; +import org.apache.tools.ant.types.Environment.Variable; +import org.codehaus.cargo.container.ContainerCapability; +import org.codehaus.cargo.container.ContainerException; +import org.codehaus.cargo.container.configuration.LocalConfiguration; +import org.codehaus.cargo.container.deployer.URLDeployableMonitor; +import org.codehaus.cargo.container.internal.AntContainerExecutorThread; +import org.codehaus.cargo.container.property.GeneralPropertySet; +import org.codehaus.cargo.container.property.ServletPropertySet; +import org.codehaus.cargo.container.spi.AbstractInstalledLocalContainer; +import org.codehaus.cargo.container.spi.deployer.DeployerWatchdog; + +/** + * Globus Toolkit 4.2 installed local container. + * + * @version $Id: $ + */ +public class GT42InstalledLocalContainer extends AbstractInstalledLocalContainer +{ + + /** + * Unique container id. + */ + public static final String ID = "gt42"; + + /** + * Capabilities of container. + */ + private GTContainerCapability containerCapability = new GTContainerCapability(); + + /** + * {@inheritDoc} + * + * @see LocalConfiguration#configure(org.codehaus.cargo.container.LocalContainer) + */ + public GT42InstalledLocalContainer(LocalConfiguration configuration) + { + super(configuration); + } + + /** + * {@inheritDoc} + * + * @see AbstractInstalledLocalContainer#doStart(Java) + */ + @Override + public final void doStart(Java java) throws Exception + { + getLogger().info("Starting GT4.2 Container", this.getClass().getName()); + invoke(java, "org.globus.wsrf.container.ServiceContainer"); + } + + /** + * {@inheritDoc} + * + * @see AbstractInstalledLocalContainer#doStop(Java) + */ + @Override + public void doStop(Java java) throws Exception + { + getLogger().info("Stopping GT4.2 Container", this.getClass().getName()); + invoke(java, "org.globus.wsrf.container.ShutdownClient"); + } + + /** + * Helper method to extract an environment variable that is + * either defined in the real environment or in the Maven POM. + * + * @param key name of environment variable to resolve + * @return Value of the environment variable or null if none defined. + */ + protected String getEnv(String key) + { + if (getSystemProperties().containsKey(key)) + { + return (String) getSystemProperties().get(key); + } + return System.getenv(key); + } + + /** + * Invokes the Globus start/stop script. + * + * @param java the predefined Ant {@link org.apache.tools.ant.taskdefs.Java} command to use to + * start the container + * @param action Either <code>org.globus.wsrf.container.ServiceContainer</code> + * or <code>org.globus.wsrf.container.ShutdownClient</code>. + * @throws Exception if any error is raised during the container start + */ + private void invoke(Java java, String action) throws Exception + { + if (getEnv("GLOBUS_LOCATION") == null) + { + throw new Exception("No environment variable GLOBUS_LOCATION defined"); + } + + final String globusLocation = getEnv("GLOBUS_LOCATION"); + + Path classpath = java.getCommandLine().getClasspath(); + classpath.createPathElement().setLocation( + new File(globusLocation + "/lib/common/bootstrap.jar")); + classpath.createPathElement().setLocation( + new File(globusLocation + "/lib/common/cog-url.jar")); + classpath.createPathElement().setLocation( + new File(globusLocation + "/lib/common/axis-url.jar")); + addToolsJarToClasspath(classpath); + + java.setClassname("org.globus.bootstrap.ContainerBootstrap"); + + java.createJvmarg().setValue("-Dlog4j.configuration=container-log4j.properties"); + + // check whether environment variables of these names are defined + // and pass the values with -D + String[] varToPass = {"GLOBUS_HOSTNAME", "GLOBUS_TCP_PORT_RANGE", + "GLOBUS_TCP_SOURCE_PORT_RANGE", "GLOBUS_UDP_SOURCE_PORT_RANGE"}; + for (String var : varToPass) + { + if (getEnv(var) != null) + { + java.createJvmarg().setValue("-D" + var + "=" + getEnv(var)); + } + } + + if (new File("/dev/urandom").canRead()) + { + java.createJvmarg().setValue("-Djava.security.egd=file:///dev/urandom"); + } + + java.createJvmarg().setValue("-DGLOBUS_LOCATION=" + globusLocation + ""); + java.createJvmarg().setValue("-Djava.endorsed.dirs=" + globusLocation + "/endorsed"); + + varToPass = + new String[] {"X509_USER_PROXY", "X509_USER_CERT", "X509_USER_KEY", "X509_CERT_DIR"}; + for (String var : varToPass) + { + if (getEnv(var) != null) + { + java.createJvmarg().setValue("-D" + var + "=\"" + getEnv(var) + "\""); + } + } + + String jvmargs = getConfiguration().getPropertyValue(GeneralPropertySet.JVMARGS); + for (String arg : jvmargs.split(" ")) + { + if (arg.trim().length() != 0) + { + java.createJvmarg().setValue(arg.trim()); + } + } + + java.createArg().setValue(action); + + Variable v = new Variable(); + v.setKey("GLOBUS_LOCATION"); + v.setValue(globusLocation); + java.addEnv(v); + + getLogger().info(java.getCommandLine().describeCommand(), this.getClass().getName()); + Thread catalinaRunner = new AntContainerExecutorThread(java); + catalinaRunner.start(); + } + + /** + * Ping the Version service to verify if the container is started or stopped. + * + * @param waitForStarting if true then wait for container start, if false wait for container + * stop + * @throws InterruptedException if the thread sleep is interrupted + */ + protected void waitForCompletion(boolean waitForStarting) throws InterruptedException + { + + String hostname = getConfiguration().getPropertyValue(GeneralPropertySet.HOSTNAME); + String port = getConfiguration().getPropertyValue(ServletPropertySet.PORT); + String protocol = getConfiguration().getPropertyValue(GeneralPropertySet.PROTOCOL); + + URL url; + try + { + url = new URL(protocol + "://" + hostname + ":" + port + "/wsrf/services/Version?wsdl"); + } + catch (MalformedURLException e) + { + throw new ContainerException("Failed to compute Globus Toolkit URL", e); + } + + getLogger().info("Checking URL " + url + " to see whether container is online.", + this.getClass().getName()); + + DeployerWatchdog watchdog = new DeployerWatchdog( + new URLDeployableMonitor(url, getTimeout())); + watchdog.watch(waitForStarting); + + Thread.sleep(3000); + } + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.Container#getCapability() + */ + public ContainerCapability getCapability() + { + return containerCapability; + } + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.Container#getId() + */ + public String getId() + { + return ID; + } + + /** + * {@inheritDoc} + * + * @see org.codehaus.cargo.container.Container#getName() + */ + public final String getName() + { + return "Globus Toolkit 4.2"; + } + +} Index: containers/gt/pom.xml =================================================================== --- containers/gt/pom.xml (Revision 0) +++ containers/gt/pom.xml (Revision 0) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ Copyright 2005-2007 Vincent Massol. + ~ + ~ 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. + --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.codehaus.cargo</groupId> + <artifactId>cargo-core-containers</artifactId> + <version>1.0.1-SNAPSHOT</version> + </parent> + <artifactId>cargo-core-container-gt</artifactId> + <name>Cargo Core Globus Toolkit Container</name> + <packaging>jar</packaging> + <description>Core API implementation for Globus Toolkit containers</description> + <dependencies> + <dependency> + <groupId>org.apache.ant</groupId> + <artifactId>ant-nodeps</artifactId> + <version>1.7.1</version> + </dependency> + </dependencies> +</project> Index: api/container/src/main/java/org/codehaus/cargo/container/deployable/DeployableType.java =================================================================== --- api/container/src/main/java/org/codehaus/cargo/container/deployable/DeployableType.java (Revision 1956) +++ api/container/src/main/java/org/codehaus/cargo/container/deployable/DeployableType.java (Arbeitskopie) @@ -42,6 +42,11 @@ public static final DeployableType EJB = new DeployableType("ejb"); /** + * The GAR deployable type. + */ + public static final DeployableType GAR = new DeployableType("gar"); + + /** * The SAR deployable type. */ public static final DeployableType SAR = new DeployableType("sar"); @@ -91,6 +96,10 @@ { type = EJB; } + else if (typeAsString.equalsIgnoreCase(GAR.type)) + { + type = GAR; + } else if (typeAsString.equalsIgnoreCase(SAR.type)) { type = SAR; Index: api/container/src/main/java/org/codehaus/cargo/container/deployable/GAR.java =================================================================== --- api/container/src/main/java/org/codehaus/cargo/container/deployable/GAR.java (Revision 0) +++ api/container/src/main/java/org/codehaus/cargo/container/deployable/GAR.java (Revision 0) @@ -0,0 +1,52 @@ +/* + * ======================================================================== + * + * Copyright 2004-2008 Vincent Massol. + * + * 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.codehaus.cargo.container.deployable; + +import org.codehaus.cargo.container.spi.deployable.AbstractDeployable; + +/** + * Wraps an GAR file that will be deployed in the container. + * + * @version $Id: $ + */ +public class GAR extends AbstractDeployable +{ + + /** + * {@inheritDoc} + * + * @see AbstractDeployable#AbstractDeployable(String) + */ + public GAR(String gar) + { + super(gar); + } + + /** + * {@inheritDoc} + * + * @see Deployable#getType() + */ + public DeployableType getType() + { + return DeployableType.GAR; + } + +} \ No newline at end of file Index: api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerFactory.java =================================================================== --- api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerFactory.java (Revision 1956) +++ api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerFactory.java (Arbeitskopie) @@ -83,6 +83,8 @@ // Note: Sorted by container id alphabetical order registerGeronimo(); + registerGT42(); + registerJBoss(); registerJetty(); @@ -112,6 +114,15 @@ registerContainer("geronimo1x", ContainerType.INSTALLED, "org.codehaus.cargo.container.geronimo.Geronimo1xInstalledLocalContainer"); } + + /** + * Register Globus Toolkit 4.2 + */ + public void registerGT42() + { + registerContainer("gt42", ContainerType.INSTALLED, + "org.codehaus.cargo.container.gt.GT42InstalledLocalContainer"); + } /** * Register JBoss Index: api/generic/src/main/java/org/codehaus/cargo/generic/deployable/DefaultDeployableFactory.java =================================================================== --- api/generic/src/main/java/org/codehaus/cargo/generic/deployable/DefaultDeployableFactory.java (Revision 1956) +++ api/generic/src/main/java/org/codehaus/cargo/generic/deployable/DefaultDeployableFactory.java (Arbeitskopie) @@ -23,6 +23,7 @@ import org.codehaus.cargo.container.deployable.DeployableType; import org.codehaus.cargo.container.deployable.EJB; import org.codehaus.cargo.container.deployable.File; +import org.codehaus.cargo.container.deployable.GAR; import org.codehaus.cargo.container.deployable.RAR; import org.codehaus.cargo.container.deployable.SAR; import org.codehaus.cargo.container.deployable.WAR; @@ -87,6 +88,7 @@ registerDeployable(DEFAULT_CONTAINER_ID, DeployableType.EJB, EJB.class); registerDeployable(DEFAULT_CONTAINER_ID, DeployableType.EAR, EAR.class); registerDeployable(DEFAULT_CONTAINER_ID, DeployableType.SAR, SAR.class); + registerDeployable(DEFAULT_CONTAINER_ID, DeployableType.GAR, GAR.class); registerDeployable(DEFAULT_CONTAINER_ID, DeployableType.RAR, RAR.class); registerDeployable(DEFAULT_CONTAINER_ID, DeployableType.FILE, File.class); Index: api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerCapabilityFactory.java =================================================================== --- api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerCapabilityFactory.java (Revision 1956) +++ api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerCapabilityFactory.java (Arbeitskopie) @@ -62,6 +62,8 @@ // Note: Sorted by container id alphabetical order registerGeronimo(); + + registerGT42(); registerJBoss(); @@ -92,6 +94,15 @@ registerContainerCapability("geronimo1x", "org.codehaus.cargo.container.internal.J2EEContainerCapability"); } + + /** + * Register Globus Toolkit 4.2 + */ + public void registerGT42() + { + registerContainerCapability("gt42", + "org.codehaus.cargo.container.gt.GTContainerCapability"); + } /** * Register JBoss Index: api/generic/src/main/java/org/codehaus/cargo/generic/deployer/DefaultDeployerFactory.java =================================================================== --- api/generic/src/main/java/org/codehaus/cargo/generic/deployer/DefaultDeployerFactory.java (Revision 1956) +++ api/generic/src/main/java/org/codehaus/cargo/generic/deployer/DefaultDeployerFactory.java (Arbeitskopie) @@ -82,6 +82,8 @@ // Note: Sorted by container id alphabetical order registerGeronimo(); + + registerGT42(); registerJBoss(); @@ -105,6 +107,15 @@ } /** + * Register GT42 + */ + public void registerGT42() + { + registerDeployer("gt42", DeployerType.INSTALLED, + "org.codehaus.cargo.container.gt.GT42InstalledLocalDeployer"); + } + + /** * Register Apache Geronimo */ public void registerGeronimo() Index: api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationFactory.java =================================================================== --- api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationFactory.java (Revision 1956) +++ api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationFactory.java (Arbeitskopie) @@ -86,6 +86,8 @@ // Note: Sorted by container id alphabetical order registerGeronimo(); + registerGT42(); + registerJBoss(); registerJetty(); @@ -117,6 +119,15 @@ registerConfiguration("geronimo1x", ContainerType.INSTALLED, ConfigurationType.EXISTING, "org.codehaus.cargo.container.geronimo.Geronimo1xExistingLocalConfiguration"); } + + /** + * Register Globus Toolkit 4.2 + */ + public void registerGT42() + { + registerConfiguration("gt42", ContainerType.INSTALLED, ConfigurationType.EXISTING, + "org.codehaus.cargo.container.gt.GT42ExistingLocalConfiguration"); + } /** * Register JBoss Index: api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationCapabilityFactory.java =================================================================== --- api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationCapabilityFactory.java (Revision 1956) +++ api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationCapabilityFactory.java (Arbeitskopie) @@ -65,6 +65,8 @@ // Note: Sorted by container id alphabetical order registerGeronimo(); + registerGT42(); + registerJBoss(); registerJetty(); @@ -87,6 +89,16 @@ } /** + * Register Globus Toolkit 4.2 + */ + public void registerGT42() + { + registerConfigurationCapability("gt42", ContainerType.INSTALLED, + ConfigurationType.EXISTING, "org.codehaus.cargo.container.gt." + + "GT42ExistingLocalConfigurationCapability"); + } + + /** * Register Apache Geronimo */ public void registerGeronimo() Index: documentation/src/site/confluence/ppt/architecture.ppt =================================================================== Kann nicht anzeigen: Dateityp ist als binär angegeben. svn:mime-type = application/octet-stream Index: documentation/pom.xml =================================================================== --- documentation/pom.xml (Revision 1956) +++ documentation/pom.xml (Arbeitskopie) @@ -41,6 +41,11 @@ </dependency> <dependency> <groupId>org.codehaus.cargo</groupId> + <artifactId>cargo-core-container-gt</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-core-container-jboss</artifactId> <version>${project.version}</version> </dependency> Index: uberjar/pom.xml =================================================================== --- uberjar/pom.xml (Revision 1956) +++ uberjar/pom.xml (Arbeitskopie) @@ -48,6 +48,12 @@ </dependency> <dependency> <groupId>org.codehaus.cargo</groupId> + <artifactId>cargo-core-container-gt</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-core-container-jboss</artifactId> <version>${project.version}</version> <scope>test</scope> Index: pom.xml =================================================================== --- pom.xml (Revision 1956) +++ pom.xml (Arbeitskopie) @@ -71,6 +71,11 @@ </dependency> <dependency> <groupId>org.codehaus.cargo</groupId> + <artifactId>cargo-core-container-gt</artifactId> + <version>${cargo.core.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-core-container-jboss</artifactId> <version>${cargo.core.version}</version> </dependency> --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
| Free embeddable forum powered by Nabble | Forum Help |