/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * 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.kie.server.integrationtests.controller; import org.codehaus.cargo.container.Container; import org.codehaus.cargo.container.ContainerType; import org.codehaus.cargo.container.RemoteContainer; import org.codehaus.cargo.container.configuration.Configuration; import org.codehaus.cargo.container.configuration.ConfigurationType; import org.codehaus.cargo.container.deployable.DeployableType; import org.codehaus.cargo.container.deployable.WAR; import org.codehaus.cargo.container.deployer.Deployer; import org.codehaus.cargo.container.property.RemotePropertySet; import org.codehaus.cargo.container.property.ServletPropertySet; import org.codehaus.cargo.container.weblogic.WebLogicPropertySet; import org.codehaus.cargo.generic.DefaultContainerFactory; import org.codehaus.cargo.generic.configuration.DefaultConfigurationFactory; import org.codehaus.cargo.generic.deployable.DefaultDeployableFactory; import org.codehaus.cargo.generic.deployer.DefaultDeployerFactory; import org.kie.server.integrationtests.config.TestConfig; public class ContainerRemoteController { private Configuration configuration; private Container container; private Deployer deployer; public ContainerRemoteController(String cargoContainerId, String containerPort) { configuration = new DefaultConfigurationFactory().createConfiguration( cargoContainerId, ContainerType.REMOTE, ConfigurationType.RUNTIME); container = (RemoteContainer) new DefaultContainerFactory().createContainer( cargoContainerId, ContainerType.REMOTE, configuration); deployer = new DefaultDeployerFactory().createDeployer(container); configuration.setProperty(ServletPropertySet.PORT, containerPort); if(TestConfig.isCargoRemoteUsernameProvided()) { configuration.setProperty(RemotePropertySet.USERNAME, TestConfig.getCargoRemoteUsername()); } if(TestConfig.isCargoRemotePasswordProvided()) { configuration.setProperty(RemotePropertySet.PASSWORD, TestConfig.getCargoRemotePassword()); } // WLS remote configuration if (TestConfig.isWebLogicHomeProvided()) { String wlserverHome = TestConfig.getWebLogicHome().matches(".*/wlserver") ? TestConfig.getWebLogicHome() : TestConfig.getWebLogicHome() + "/wlserver"; configuration.setProperty(WebLogicPropertySet.LOCAL_WEBLOGIC_HOME, wlserverHome); } } public void undeployWarFile(String context, String warFilePath) { WAR deployable = (WAR) new DefaultDeployableFactory().createDeployable(container.getId(), warFilePath, DeployableType.WAR); deployable.setContext(context); deployer.undeploy(deployable); } public void deployWarFile(String context, String warFilePath) { WAR deployable = (WAR) new DefaultDeployableFactory().createDeployable(container.getId(), warFilePath, DeployableType.WAR); deployable.setContext(context); deployer.deploy(deployable); } }