Author: adietish
Date: 2011-07-19 09:58:24 -0400 (Tue, 19 Jul 2011)
New Revision: 33042
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7StartLaunchDelegate.java
Log:
[JBIDE-9367] moved launch command building to RSEJBoss7LaunchConfigurator, implemented
building the launch command from scratch (was: used the launch settings built by the local
launch config and transformed it)
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java 2011-07-19
12:06:18 UTC (rev 33041)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java 2011-07-19
13:58:24 UTC (rev 33042)
@@ -70,7 +70,9 @@
// for startup
public String getDefaultRunArgs();
+ public String getDefaultRunArgs(IPath serverHome);
public String getDefaultRunVMArgs();
+ public String getDefaultRunVMArgs(IPath serverHome);
public HashMap<String, String> getDefaultRunEnvVars();
public boolean isUsingDefaultJRE();
public boolean isEAP();
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java 2011-07-19
12:06:18 UTC (rev 33041)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java 2011-07-19
13:58:24 UTC (rev 33042)
@@ -121,8 +121,18 @@
}
@Override
+ public String getDefaultRunArgs(IPath serverHome) {
+ return getDefaultRunArgs();
+ }
+
+ @Override
public String getDefaultRunVMArgs() {
- File sysJar = new File(getRuntime().getLocation().toFile(),
JBossServerType.AS.getSystemJarPath());
+ return getDefaultRunVMArgs(getRuntime().getLocation());
+ }
+
+ @Override
+ public String getDefaultRunVMArgs(IPath serverHome) {
+ File sysJar = new File(serverHome.toFile(), JBossServerType.AS.getSystemJarPath());
String version = new ServerBeanLoader().getFullServerVersion(sysJar);
String name = getRuntime().getName();
@@ -145,18 +155,18 @@
ret += SYSPROP + SUN_CLIENT_GC_ARG + EQ + 3600000 + SPACE;
ret += SYSPROP + SUN_SERVER_GC_ARG + EQ + 3600000 + SPACE;
ret += QUOTE + SYSPROP + ENDORSED_DIRS + EQ +
- (getRuntime().getLocation().append(LIB).append(ENDORSED)) + QUOTE + SPACE;
- if( getRuntime().getLocation().append(BIN).append(NATIVE).toFile().exists() )
+ (serverHome.append(LIB).append(ENDORSED)) + QUOTE + SPACE;
+ if( serverHome.append(BIN).append(NATIVE).toFile().exists() )
ret += SYSPROP + JAVA_LIB_PATH + EQ + QUOTE +
- getRuntime().getLocation().append(BIN).append(NATIVE) + QUOTE + SPACE;
+ serverHome.append(BIN).append(NATIVE) + QUOTE + SPACE;
if( version.startsWith(IJBossToolingConstants.V6_1)) {
ret += SYSPROP + LOGGING_CONFIG_PROP + EQ + QUOTE + FILE_COLON +
- getRuntime().getLocation().append(BIN).append(LOGGING_PROPERTIES) + QUOTE + SPACE;
+ serverHome.append(BIN).append(LOGGING_PROPERTIES) + QUOTE + SPACE;
}
return ret;
}
-
+
@Override
public HashMap<String, String> getDefaultRunEnvVars(){
HashMap<String, String> envVars = new HashMap<String, String>(1);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2011-07-19
12:06:18 UTC (rev 33041)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2011-07-19
13:58:24 UTC (rev 33042)
@@ -11,7 +11,6 @@
package org.jboss.ide.eclipse.as.core.server.internal.v7;
import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime;
@@ -19,22 +18,30 @@
public class LocalJBoss7ServerRuntime extends LocalJBossServerRuntime {
@Override
- public void setDefaults(IProgressMonitor monitor) {
- super.setDefaults(monitor);
- }
-
- @Override
public IStatus validate() {
return Status.OK_STATUS;
}
@Override
- public String getDefaultRunArgs() {
- IPath loc = getRuntime().getLocation();
+ public String getDefaultRunArgs(IPath serverHome) {
return "-mp \"" //$NON-NLS-1$
- + loc.append("modules").toString() //$NON-NLS-1$
+ + serverHome.append("modules").toString() //$NON-NLS-1$
+ "\" -logmodule org.jboss.logmanager -jaxpmodule javax.xml.jaxp-provider
org.jboss.as.standalone"; //$NON-NLS-1$
}
+
+ @Override
+ public String getDefaultRunVMArgs(IPath serverHome) {
+ IPath bootLog =
serverHome.append("standalone").append("log").append("boot.log");
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ IPath logConfig =
serverHome.append("standalone").append("configuration").append("logging.properties");
//$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+ return "-server -Xms64m -Xmx512m -XX:MaxPermSize=256m " //$NON-NLS-1$
+ + "-Djava.net.preferIPv4Stack=true " //$NON-NLS-1$
+ + "-Dorg.jboss.resolver.warning=true " //$NON-NLS-1$
+ + "-Dsun.rmi.dgc.client.gcInterval=3600000 " //$NON-NLS-1$
+ + "-Dsun.rmi.dgc.server.gcInterval=3600000 " //$NON-NLS-1$
+ + "\"-Dorg.jboss.boot.log.file=" + bootLog.toString() + "\"
" //$NON-NLS-1$ //$NON-NLS-2$
+ + "\"-Dlogging.configuration=file:" + logConfig.toString() +
"\" " //$NON-NLS-1$ //$NON-NLS-2$
+ + "\"-Djboss.home.dir=" + serverHome.toString() + "\"";
//$NON-NLS-1$ //$NON-NLS-2$"
+ }
@Override
public String getDefaultRunVMArgs() {
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java 2011-07-19
13:58:24 UTC (rev 33042)
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.rse.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
+import
org.jboss.ide.eclipse.as.core.server.internal.launch.configuration.ILaunchConfigConfigurator;
+import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
+import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+
+/**
+ * @author André Dietisheim
+ */
+public class RSEJBoss7LaunchConfigurator implements ILaunchConfigConfigurator {
+
+ private JBossServer jbossServer;
+ private IJBossServerRuntime jbossRuntime;
+
+ public RSEJBoss7LaunchConfigurator(IServer server) throws CoreException {
+ this.jbossServer = ServerConverter.checkedGetJBossServer(server);
+ this.jbossRuntime = jbossServer.getRuntime();
+ }
+
+ @Override
+ public void configure(ILaunchConfigurationWorkingCopy launchConfig) throws CoreException
{
+
+ boolean detectStartupCommand =
RSELaunchConfigProperties.isDetectStartupCommand(launchConfig, true);
+ String currentStartupCmd = RSELaunchConfigProperties.getStartupCommand(launchConfig);
+ if( detectStartupCommand || !isSet(currentStartupCmd)) {
+ RSELaunchConfigProperties.setStartupCommand(getLaunchCommand(jbossServer,
jbossRuntime), launchConfig);
+ }
+ }
+
+ protected String getLaunchCommand(JBossServer jbossServer, IJBossServerRuntime
jbossRuntime) throws CoreException {
+ String programArguments = getDefaultProgramArguments(jbossServer, jbossRuntime);
+ String vmArguments = getDefaultVMArguments(jbossServer, jbossRuntime);
+ String jar = getJar(jbossServer, jbossRuntime);
+
+ String command = "java "
+ + vmArguments
+ + " -jar " + jar + " "
+ + IJBossRuntimeConstants.SPACE + programArguments
+ + "&";
+ return command;
+
+ }
+
+ protected String getDefaultVMArguments(JBossServer server, IJBossServerRuntime runtime)
{
+ String rseHomeDir = RSEUtils.getRSEHomeDir(server.getServer());
+ return runtime.getDefaultRunVMArgs(new Path(rseHomeDir));
+ }
+
+ protected String getDefaultProgramArguments(JBossServer server, IJBossServerRuntime
runtime) {
+ String rseHomeDir = RSEUtils.getRSEHomeDir(server.getServer());
+ return runtime.getDefaultRunArgs(new Path(rseHomeDir));
+ }
+
+ protected String getJar(JBossServer server, IJBossServerRuntime runtime) {
+ String rseHome = RSEUtils.getRSEHomeDir(server.getServer());
+ return new
Path(rseHome).append(IJBossRuntimeResourceConstants.JBOSS7_MODULES_JAR).toOSString();
+ }
+
+ protected String getMainType() {
+ return IJBossRuntimeResourceConstants.JBOSS7_MODULES_JAR;
+ }
+
+ private boolean isSet(String value) {
+ return value != null
+ && value.length() > 0;
+ }
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7LaunchConfigurator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7StartLaunchDelegate.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7StartLaunchDelegate.java 2011-07-19
12:06:18 UTC (rev 33041)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEJBoss7StartLaunchDelegate.java 2011-07-19
13:58:24 UTC (rev 33042)
@@ -13,23 +13,15 @@
package org.jboss.ide.eclipse.as.rse.core;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
-import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
import
org.jboss.ide.eclipse.as.core.server.internal.launch.DelegatingStartLaunchConfiguration;
-import
org.jboss.ide.eclipse.as.core.server.internal.launch.configuration.JBossLaunchConfigProperties;
-import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.JBossServerBehaviorUtils;
import org.jboss.ide.eclipse.as.core.util.LaunchCommandPreferences;
-import org.jboss.ide.eclipse.as.core.util.LaunchConfigUtils;
-import org.jboss.ide.eclipse.as.core.util.RegExUtils;
-import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-import org.jboss.ide.eclipse.as.core.util.ServerUtil;
public class RSEJBoss7StartLaunchDelegate extends AbstractRSELaunchDelegate {
@@ -61,63 +53,6 @@
@Override
public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy,
IServer server)
throws CoreException {
- new RSELaunchConfigurator(getDefaultLaunchCommand(workingCopy),
getDefaultStopCommand(server))
- .configure(workingCopy);
+ new RSEJBoss7LaunchConfigurator(server).configure(workingCopy);
}
-
- private String getDefaultStopCommand(IServer server) {
- try {
- return getDefaultStopCommand(server, false);
- } catch (CoreException ce) {/* ignore, INTENTIONAL */
- }
- return null;
- }
-
- private String getDefaultStopCommand(IServer server, boolean errorOnFail) throws
CoreException {
- return null;
- }
-
- private String getDefaultLaunchCommand(ILaunchConfiguration config) throws CoreException
{
- /*
- * -server
- * -Xms64m
- * -Xmx512m
- * -XX:MaxPermSize=256m
- * -Djava.net.preferIPv4Stack=true
- * -Dorg.jboss.resolver.warning=true
- * -Dsun.rmi.dgc.client.gcInterval=3600000
- * -Dsun.rmi.dgc.server.gcInterval=3600000
- * -Djboss.modules.system.pkgs=org.jboss.byteman
- *
-Dorg.jboss.boot.log.file=/home/adietish/jboss-runtimes/jboss-as-web-7.0.0.Final/standalone/log/boot.log
- *
-Dlogging.configuration=file:/home/adietish/jboss-runtimes/jboss-as-web-7.0.0.Final/standalone/configuration/logging.properties
- * -jar /home/adietish/jboss-runtimes/jboss-as-web-7.0.0.Final/jboss-modules.jar
- * -mp /home/adietish/jboss-runtimes/jboss-as-web-7.0.0.Final/modules -logmodule
org.jboss.logmanager
- * -jaxpmodule javax.xml.jaxp-provider
- * org.jboss.as.standalone
- * -Djboss.home.dir=/home/adietish/jboss-runtimes/jboss-as-web-7.0.0.Final
- */
-
- String serverId = JBossLaunchConfigProperties.getServerId(config);
- JBossServer jbossServer = ServerConverter.checkedFindJBossServer(serverId);
- String currentArgs = JBossLaunchConfigProperties.getProgramArguments(config);
- String rseArgs = replaceLocalPath(currentArgs, jbossServer);
- String currentVMArgs = JBossLaunchConfigProperties.getVMArguments(config);
- String rseVMArgs = replaceLocalPath(currentVMArgs, jbossServer);
- String jarArg = LaunchConfigUtils.classpathUserClassesToString(config);
- String rseJarArg = replaceLocalPath(jarArg, jbossServer);
-
- String cmd = "java "
- + rseVMArgs
- + " -jar " + rseJarArg + " "
- + IJBossRuntimeConstants.SPACE + rseArgs
- + "&";
- return cmd;
- }
-
- private String replaceLocalPath(String value, JBossServer jbossServer) throws
CoreException {
- IPath localHome = ServerUtil.getServerHomePath(jbossServer);
- String localHomeRegex = RegExUtils.escapeRegex(localHome.toOSString());
- String rseHome = RSEUtils.getRSEHomeDir(jbossServer.getServer());
- return value.replaceAll(localHomeRegex, rseHome);
- }
}