From 2e84cf56078892b437cd6357622d8bd676a6c7b8 Mon Sep 17 00:00:00 2001 From: Nahuel Dalla Vecchia Date: Fri, 14 Dec 2012 10:49:28 -0300 Subject: [PATCH] Fixes to enable successful MuleContainer constructor invokation --- .../cargo/container/Mule3xInstalledLocalContainer.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/container/src/main/java/org/mule/tools/cargo/container/Mule3xInstalledLocalContainer.java b/container/src/main/java/org/mule/tools/cargo/container/Mule3xInstalledLocalContainer.java index baf486d..6a10147 100644 --- a/container/src/main/java/org/mule/tools/cargo/container/Mule3xInstalledLocalContainer.java +++ b/container/src/main/java/org/mule/tools/cargo/container/Mule3xInstalledLocalContainer.java @@ -9,14 +9,14 @@ import org.codehaus.cargo.container.ContainerCapability; import org.codehaus.cargo.container.configuration.LocalConfiguration; -import org.codehaus.cargo.container.deployable.Deployable; import org.codehaus.cargo.container.spi.AbstractInstalledLocalContainer; import org.codehaus.cargo.container.spi.jvm.JvmLauncher; +import org.mule.MuleServer; import org.mule.module.launcher.MuleContainer; import org.mule.module.reboot.DefaultMuleClassPathConfig; import org.mule.module.reboot.MuleContainerBootstrap; import org.mule.module.reboot.MuleContainerSystemClassLoader; -import org.mule.tools.cargo.deployer.FileDeployer; +import org.mule.tools.cargo.deployable.MuleApplicationDeployable; /** * Start an embedded {@link MuleServer} using maven dependencies. @@ -104,8 +104,10 @@ protected void doStart(final JvmLauncher launcher) throws Exception { Thread.currentThread().setContextClassLoader(muleClassLoader); try { final Class muleClass = Thread.currentThread().getContextClassLoader().loadClass(Mule3xInstalledLocalContainer.MULE_CONTAINER_CLASSNAME); - final Constructor c = muleClass.getConstructor(new Class[] {String[].class}); - this.container = c.newInstance((Object[])(new String[0])); + final Constructor c = muleClass.getConstructor(String[].class); + final Object[] objs = {new String()}; + final Object[] passed = {objs}; + this.container = c.newInstance(new Object[] {new String[0]}); final Method startMethod = muleClass.getMethod("start", boolean.class); startMethod.invoke(this.container, false);