diff --git a/plugins/org.apache.karaf.eik.wtp.core/src/main/java/org/apache/karaf/eik/wtp/core/KarafServerLaunchConfiguration.java b/plugins/org.apache.karaf.eik.wtp.core/src/main/java/org/apache/karaf/eik/wtp/core/KarafServerLaunchConfiguration.java index 3374d6b..a16681a 100644 --- a/plugins/org.apache.karaf.eik.wtp.core/src/main/java/org/apache/karaf/eik/wtp/core/KarafServerLaunchConfiguration.java +++ b/plugins/org.apache.karaf.eik.wtp.core/src/main/java/org/apache/karaf/eik/wtp/core/KarafServerLaunchConfiguration.java @@ -18,11 +18,13 @@ */ package org.apache.karaf.eik.wtp.core; +import java.util.Iterator; +import java.util.Map; + import org.apache.karaf.eik.core.KarafPlatformModelRegistry; import org.apache.karaf.eik.core.model.WorkingKarafPlatformModel; import org.apache.karaf.eik.ui.KarafLaunchConfigurationDelegate; import org.apache.karaf.eik.wtp.core.server.KarafServerBehavior; - import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; @@ -35,62 +37,68 @@ import org.eclipse.wst.server.core.IServer; import org.eclipse.wst.server.core.ServerCore; import org.eclipse.wst.server.core.ServerUtil; -public class KarafServerLaunchConfiguration extends KarafLaunchConfigurationDelegate { +public class KarafServerLaunchConfiguration extends + KarafLaunchConfigurationDelegate { + + private IServer server; - private IServer server; + private KarafServerBehavior karafServer; - private KarafServerBehavior karafServer; + @Override + public IVMRunner getVMRunner(final ILaunchConfiguration configuration, + final String mode) throws CoreException { + if (ILaunchManager.PROFILE_MODE.equals(mode)) { + // TODO: Figure out how to setup profiling + return super.getVMRunner(configuration, ILaunchManager.RUN_MODE); + } - @Override - public IVMRunner getVMRunner(final ILaunchConfiguration configuration, final String mode) throws CoreException { - if(ILaunchManager.PROFILE_MODE.equals(mode)) { - // TODO: Figure out how to setup profiling - return super.getVMRunner(configuration, ILaunchManager.RUN_MODE); - } + return super.getVMRunner(configuration, mode); + } - return super.getVMRunner(configuration, mode); - } + @Override + public void launch(final ILaunchConfiguration configuration, + final String mode, final ILaunch launch, + final IProgressMonitor monitor) throws CoreException { + super.launch(configuration, mode, launch, monitor); - @Override - public void launch(final ILaunchConfiguration configuration, final String mode, final ILaunch launch, final IProgressMonitor monitor) throws CoreException { - super.launch(configuration, mode, launch, monitor); + if (server.shouldPublish() && ServerCore.isAutoPublishing()) { - if (server.shouldPublish() && ServerCore.isAutoPublishing()) { + server.publish(IServer.PUBLISH_INCREMENTAL, monitor); - server.publish(IServer.PUBLISH_INCREMENTAL, monitor); + monitor.worked(10); + } - monitor.worked(10); - } + karafServer.configureLaunch(launch, mode, monitor); + } - karafServer.configureLaunch(launch, mode, monitor); - } + @Override + protected void preLaunchCheck(final ILaunchConfiguration configuration, + final ILaunch launch, final IProgressMonitor monitor) + throws CoreException { + super.preLaunchCheck(configuration, launch, monitor); - @Override - protected void preLaunchCheck( - final ILaunchConfiguration configuration, - final ILaunch launch, - final IProgressMonitor monitor) - throws CoreException - { - super.preLaunchCheck(configuration, launch, monitor); + server = ServerUtil.getServer(configuration); - server = ServerUtil.getServer(configuration); + if (server == null) { + return; + } - if (server == null) { - return; - } + monitor.worked(5); - monitor.worked(5); + IPath path = new Path(String.valueOf(configuration.getAttributes().get( + "karaf_source_runtime"))); - final IPath runtimeLocation = server.getRuntime().getLocation(); - this.karafPlatform = KarafPlatformModelRegistry.findPlatformModel(runtimeLocation); + this.karafPlatform = KarafPlatformModelRegistry.findPlatformModel(path); - final IPath workingArea = new Path(getConfigDir(configuration).getAbsolutePath()); - workingKarafPlatform = new WorkingKarafPlatformModel(workingArea, karafPlatform); + final IPath workingArea = new Path(getConfigDir(configuration) + .getAbsolutePath()); + workingKarafPlatform = new WorkingKarafPlatformModel(workingArea, + karafPlatform); - karafServer = (KarafServerBehavior) server.loadAdapter(KarafServerBehavior.class, null); + karafServer = (KarafServerBehavior) server.loadAdapter( + KarafServerBehavior.class, null); - monitor.worked(10); - } + monitor.worked(10); + } }