/* * Copyright 2015 Red Hat, Inc. * * 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.jboss.as.arquillian.container.domain.managed; import java.io.File; import org.jboss.arquillian.container.spi.ConfigurationException; import org.jboss.arquillian.container.spi.client.deployment.Validate; import org.jboss.as.arquillian.container.domain.CommonDomainContainerConfiguration; /** * @author <a href="mailto:aslak@redhat.com">Aslak Knutsen</a> * @version $Revision: $ */ public class ManagedDomainContainerConfiguration extends CommonDomainContainerConfiguration { private String jbossHome = System.getenv("JBOSS_HOME"); private String javaHome = System.getenv("JAVA_HOME"); private String modulePath = System.getProperty("module.path"); private String javaVmArguments = System.getProperty("jboss.options"); private String jbossArguments; private int startupTimeoutInSeconds = 60; private int stopTimeoutInSeconds = 60; private int autoServerStartupTimeoutInSeconds = 60; private boolean outputToConsole = true; private String domainConfig = System.getProperty("jboss.domain.default.config"); private String hostConfig = System.getProperty("jboss.host.default.config"); private boolean allowConnectingToRunningServer = false; private boolean enableAssertions = true; private boolean setupCleanServerBaseDir = false; private String cleanServerBaseDir; public ManagedDomainContainerConfiguration() { // if no javaHome is set use java.home of already running jvm if (javaHome == null || javaHome.isEmpty()) { javaHome = System.getProperty("java.home"); } } @Override public void validate() throws ConfigurationException { super.validate(); Validate.configurationDirectoryExists(jbossHome, "jbossHome '" + jbossHome + "' must exist"); if (javaHome != null) { Validate.configurationDirectoryExists(javaHome, "javaHome must exist"); } } /** * @return the jbossHome */ public String getJbossHome() { return jbossHome; } /** * @param jbossHome the jbossHome to set */ public void setJbossHome(String jbossHome) { this.jbossHome = new File(jbossHome).getAbsolutePath(); } /** * @return the javaHome */ public String getJavaHome() { return javaHome; } /** * @param javaHome the javaHome to set */ public void setJavaHome(String javaHome) { this.javaHome = javaHome; } /** * @return the javaVmArguments */ public String getJavaVmArguments() { return javaVmArguments; } /** * @param javaVmArguments the javaVmArguments to set */ public void setJavaVmArguments(String javaVmArguments) { this.javaVmArguments = javaVmArguments; } /** * A space delimited list of arguments to be passed to the process controller. * * @return the arguments the arguments to be passed or {@code null} if no arguments were set */ public String getJbossArguments() { return jbossArguments; } /** * A space delimited list of arguments to be passed to the process controller. * * @param jbossArguments the space delimited arguments to set or {@code null} not pass any */ public void setJbossArguments(String jbossArguments) { this.jbossArguments = jbossArguments; } /** * The number of seconds to wait before failing when starting domain controller process * * @param startupTimeoutInSeconds */ public void setStartupTimeoutInSeconds(int startupTimeoutInSeconds) { this.startupTimeoutInSeconds = startupTimeoutInSeconds; } /** * @return the startupTimeoutInSeconds */ public int getStartupTimeoutInSeconds() { return startupTimeoutInSeconds; } /** * @param stopTimeoutInSeconds number of seconds to wait for the container process to shutdown */ public void setStopTimeoutInSeconds(int stopTimeoutInSeconds) { this.stopTimeoutInSeconds = stopTimeoutInSeconds; } /** * @return stopTimeoutInSeconds number of seconds to wait for the container process to shutdown; * defaults to 60 */ public int getStopTimeoutInSeconds() { return stopTimeoutInSeconds; } /** * The number of seconds to wait before failing when starting servers in Auto start mode * * @param autoServerStartupTimeoutInSeconds */ public void setAutoServerStartupTimeoutInSeconds(int autoServerStartupTimeoutInSeconds) { this.autoServerStartupTimeoutInSeconds = autoServerStartupTimeoutInSeconds; } /** * @return the autoServerStartupTimeoutInSeconds */ public int getAutoServerStartupTimeoutInSeconds() { return autoServerStartupTimeoutInSeconds; } /** * @param outputToConsole the outputToConsole to set */ public void setOutputToConsole(boolean outputToConsole) { this.outputToConsole = outputToConsole; } /** * @return the outputToConsole */ public boolean isOutputToConsole() { return outputToConsole; } /** * Get the server configuration file name. Equivalent to [-server-config=...] on the command line. * * @return the server config */ public String getDomainConfig() { return domainConfig; } /** * Set the server configuration file name. Equivalent to [-Djboss.domain.default.config=...] on the command line. * * @param domainConfig the domain xml file name */ public void setDomainConfig(String domainConfig) { this.domainConfig = domainConfig; } public String getModulePath() { return modulePath; } public String getHostConfig() { return hostConfig; } /** * Set the host controller configuration file name. Equivalent to [-Djboss.host.default.config=...] on the command line. * * @param hostConfig the host xml file name */ public void setHostConfig(String hostConfig) { this.hostConfig = hostConfig; } public void setModulePath(final String modulePath) { this.modulePath = modulePath; } public boolean isAllowConnectingToRunningServer() { return allowConnectingToRunningServer; } public void setAllowConnectingToRunningServer(final boolean allowConnectingToRunningServer) { this.allowConnectingToRunningServer = allowConnectingToRunningServer; } public boolean isEnableAssertions() { return enableAssertions; } public void setEnableAssertions(final boolean enableAssertions) { this.enableAssertions = enableAssertions; } public boolean isSetupCleanServerBaseDir() { return setupCleanServerBaseDir; } public void setSetupCleanServerBaseDir(boolean setupCleanServerBaseDir) { this.setupCleanServerBaseDir = setupCleanServerBaseDir; } public String getCleanServerBaseDir() { return cleanServerBaseDir; } public void setCleanServerBaseDir(String cleanServerBaseDir) { this.cleanServerBaseDir = cleanServerBaseDir; } }