/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.test.infrastructure.process; import java.io.File; import org.apache.commons.lang.SystemUtils; public class MuleProcessController { private static final int DEFAULT_TIMEOUT = 60000; private Controller controller; public MuleProcessController(String muleHome) { this(muleHome, DEFAULT_TIMEOUT); } public MuleProcessController(String muleHome, int timeout) { controller = SystemUtils.IS_OS_WINDOWS ? new WindowsController(muleHome, timeout) : new UnixController(muleHome, timeout); } public boolean isRunning() { return controller.isRunning(); } public void start(String... args) { controller.start(args); } public void stop(String... args) { controller.stop(args); } public int status(String... args) { return controller.status(args); } public int getProcessId() { return controller.getProcessId(); } public void restart(String... args) { controller.restart(args); } public void deploy(String path) { controller.deploy(path); } public boolean isDeployed(String appName) { return controller.isDeployed(appName); } public File getArtifactInternalRepository(String artifactName) { return controller.getArtifactInternalRepository(artifactName); } public File getRuntimeInternalRepository() { return controller.getRuntimeInternalRepository(); } public boolean isDomainDeployed(String domainName) { return controller.isDomainDeployed(domainName); } public void undeploy(String application) { controller.undeploy(application); } public void undeployDomain(String domain) { controller.undeployDomain(domain); } public void undeployAll() { controller.undeployAll(); } public void installLicense(String path) { controller.installLicense(path); } public void uninstallLicense() { controller.uninstallLicense(); } public void addLibrary(File jar) { controller.addLibrary(jar); } public void deployDomain(String domain) { controller.deployDomain(domain); } public File getLog() { return controller.getLog(); } public File getLog(String appName) { return controller.getLog(appName); } public void addConfProperty(String value) { controller.addConfProperty(value); } }