You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by tk...@apache.org on 2011/02/15 03:01:31 UTC
svn commit: r1070749 - in /geronimo/devtools/eclipse-plugin/trunk/plugins:
org.apache.geronimo.st.ui/src/main/java/org/apache/geronimo/st/ui/commands/
org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/
org.apache.geronimo.st...
Author: tkirby
Date: Tue Feb 15 02:01:30 2011
New Revision: 1070749
URL: http://svn.apache.org/viewvc?rev=1070749&view=rev
Log:
GERONIMODEVTOOLS-706 Enable Karaf shell in Eclipse console window
Added:
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java (with props)
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java (with props)
Removed:
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.ui/src/main/java/org/apache/geronimo/st/ui/commands/SetVMArgsCommand.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetVMArgsCommand.java
Modified:
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServer.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerBehaviourDelegate.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerDelegate.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/plugin.xml
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetCleanOSGiBundleCacheCommand.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoLaunchConfigurationTabGroup.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorCleanOSGiBundleCacheSection.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorLogLevelSection.java
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServer.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServer.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServer.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServer.java Tue Feb 15 02:01:30 2011
@@ -24,16 +24,13 @@ import javax.enterprise.deploy.spi.facto
import org.apache.geronimo.deployment.plugin.factories.DeploymentFactoryImpl;
import org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager;
-import org.apache.geronimo.st.v30.core.GeronimoRuntimeDelegate;
-import org.apache.geronimo.st.v30.core.GeronimoServerDelegate;
-import org.apache.geronimo.st.v30.core.IGeronimoVersionHandler;
+import org.apache.geronimo.st.v30.core.internal.Trace;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.util.SocketUtil;
/**
@@ -92,35 +89,73 @@ public class GeronimoServer extends Gero
}
}
- String cp = System.getProperty("path.separator");
+ StringBuilder args = new StringBuilder();
- //-javaagent:"GERONIMO_BASE/bin/jpa.jar"
- String javaagent = "";
+ // -javaagent:"GERONIMO_BASE/bin/jpa.jar"
File agentJar = new File(runtimeLocation + "/lib/agent/transformer.jar");
if (agentJar.exists()) {
- javaagent = "-javaagent:\"" + agentJar.getAbsolutePath() + "\"";
+ addParm(args, "-javaagent:\"", agentJar.getAbsolutePath(), "\"");
}
+ String pS = System.getProperty("path.separator");
+
//-Djava.ext.dirs="GERONIMO_BASE/lib/ext;JRE_HOME/lib/ext"
- String javaExtDirs = "-Djava.ext.dirs=\"" + runtimeLocation + "/lib/ext" + cp + vmLibDir.append("ext").toOSString() + "\"";
+ addParm(args, "-Djava.ext.dirs=\"", runtimeLocation, "/lib/ext", pS, vmLibDir.append("ext").toOSString(), "\"");
//-Djava.endorsed.dirs="GERONIMO_BASE/lib/endorsed;JRE_HOME/lib/endorsed"
- String javaEndorsedDirs = "-Djava.endorsed.dirs=\"" + runtimeLocation + "/lib/endorsed" + cp + vmLibDir.append("endorsed").toOSString() + "\"";
+ addParm(args, "-Djava.endorsed.dirs=\"", runtimeLocation, "/lib/endorsed", pS, vmLibDir.append("endorsed").toOSString(), "\"");
// Specify the minimum memory options for the Geronimo server
- String memoryOpts = "-Xms256m -Xmx512m -XX:MaxPermSize=128m";
+ addParm(args, "-Xms256m -Xmx512m -XX:MaxPermSize=128m");
// Specify GERONIMO_BASE
- String homeDirectory = "-Dorg.apache.geronimo.home.dir=\"" + runtimeLocation + "\"";
+ addParm(args, "-Dorg.apache.geronimo.home.dir=\"", runtimeLocation, "\"");
// Karaf arguments
+ addParm(args, getKarafShellArgs());
+ addParm(args, "-Dkaraf.startRemoteShell=true");
String serverLocation = getServer().getRuntime().getLocation().toOSString();
- String karafArgs = "-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true " + MessageFormat.format("-Dorg.apache.geronimo.home.dir=\"{0}\" -Dkaraf.home=\"{0}\" -Dkaraf.base=\"{0}\" -Djava.util.logging.config.file={0}/etc/java.util.logging.properties", serverLocation);
+ addParm(args,
+ MessageFormat
+ .format("-Dorg.apache.geronimo.home.dir=\"{0}\" -Dkaraf.home=\"{0}\" -Dkaraf.base=\"{0}\" -Djava.util.logging.config.file={0}/etc/java.util.logging.properties",
+ serverLocation));
- StringBuilder vmArgs = new StringBuilder(javaagent);
- vmArgs.append(" ").append(javaExtDirs).append(" ").append(javaEndorsedDirs).append(" ").append(memoryOpts).append(" ").append(homeDirectory).append(" ").append(karafArgs);
+ String vmArgs = args.toString();
+
+ Trace.tracePoint("Exit", "GeronimoServer.getVMArgs", vmArgs);
+
+ return vmArgs;
+ }
+
+ void addParm(StringBuilder sb, Object... args) {
+ if (sb.length() > 0) {
+ sb.append(" ");
+ }
+ for (Object arg : args) {
+ sb.append(arg);
+ }
+ }
+
+
+ public String getProgramArgs() {
+ String superVMArgs = super.getProgramArgs();
+ if (superVMArgs != null && superVMArgs.trim().length() > 0) {
+ return superVMArgs;
+ }
+
+ StringBuilder args = new StringBuilder();
+
+ addParm(args, getConsoleLogLevel());
+
+ if (isCleanOSGiBundleCache()) {
+ addParm(args, getCleanOSGiBundleCacheArgs());
+ }
+
+ String programArgs = args.toString();
+
+ Trace.tracePoint("Exit", "GeronimoServer.getProgramArgs", programArgs);
- return vmArgs.toString();
+ return programArgs;
}
/*
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerBehaviourDelegate.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerBehaviourDelegate.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerBehaviourDelegate.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerBehaviourDelegate.java Tue Feb 15 02:01:30 2011
@@ -125,9 +125,11 @@ abstract public class GeronimoServerBeha
GeronimoRuntimeDelegate runtime = getRuntimeDelegate();
IVMInstall vmInstall = runtime.getVMInstall();
- if (vmInstall != null)
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
-
+ if (vmInstall != null) {
+ wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH,
+ JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
+ }
+
String existingProgArgs = null;
wc.setAttribute(ERROR_SETUP_LAUNCH_CONFIGURATION, (String)null);
@@ -143,62 +145,23 @@ abstract public class GeronimoServerBeha
// exactly what we want the GEP user to see.
wc.setAttribute(ERROR_SETUP_LAUNCH_CONFIGURATION, e.getMessage());
}
- String serverProgramArgs = getServerProgramArgs(existingProgArgs, getServerDelegate());
+ GeronimoServerDelegate gsd = getServerDelegate();
+ String programArgs = gsd.getProgramArgs();
+ Trace.tracePoint("GeronimoServerBehaviourDelegate.v30", "setupLaunchConfiguration serverProgramArgs", programArgs);
+ wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, programArgs);
+
+ /*
+ programArgs = getServerProgramArgs(existingProgArgs, getServerDelegate());
Trace.tracePoint("GeronimoServerBehaviourDelegate.v30", "setupLaunchConfiguration serverProgramArgs",
- serverProgramArgs);
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, serverProgramArgs);
+ programArgs);
+ wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, programArgs);
+ */
- String vmArgs = getServerDelegate().getVMArgs();
+ String vmArgs = gsd.getVMArgs();
Trace.tracePoint("GeronimoServerBehaviourDelegate.v30", "setupLaunchConfiguration serverVMArgs", vmArgs);
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, vmArgs);
}
- /**
- * remove args no longer specified, add newly specified args, and only specify them once.
- * @param existingProgArgs
- * @param serverDelegate
- * @return
- */
- private String getServerProgramArgs(String existingProgArgs, GeronimoServerDelegate serverDelegate) {
- Set<String> parmsSet = serverDelegate.getProgramArgs();
- Set<String> parmsNotSet = serverDelegate.getProgramArgsNotSet();
- Set<String> parmsSeen = new HashSet<String>(parmsSet.size());
- List<String> parms;
- if (existingProgArgs == null) {
- parms = new ArrayList<String>(parmsSet.size());
- } else {
- parms = new ArrayList<String>(Arrays.asList(existingProgArgs.split("\\s+")));
- }
- // remove notSet and duplicate set paramaters from the list
- for(ListIterator<String> iterator = parms.listIterator(); iterator.hasNext();) {
- String parm = iterator.next();
- if (parmsNotSet.contains(parm) || parmsSeen.contains(parm)) {
- iterator.remove();
- continue;
- }
- if (parmsSet.contains(parm)) {
- parmsSet.remove(parm);
- parmsSeen.add(parm);
- }
- }
- StringBuffer sb = new StringBuffer();
- // add new parms to front
- for (String parm : parmsSet) {
- if (sb.length() > 0) {
- sb.append(" ");
- }
- sb.append(parm);
- }
- // valid existing parms
- for (String parm : parms) {
- if (sb.length() > 0) {
- sb.append(" ");
- }
- sb.append(parm);
- }
- return sb.toString();
- }
-
/**
* @param launch
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerDelegate.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerDelegate.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerDelegate.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoServerDelegate.java Tue Feb 15 02:01:30 2011
@@ -19,16 +19,19 @@ package org.apache.geronimo.st.v30.core;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.ListIterator;
import java.util.Map;
import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
-import org.apache.geronimo.st.v30.core.GeronimoUtils;
import org.apache.geronimo.st.v30.core.internal.Trace;
import org.apache.geronimo.st.v30.core.osgi.AriesHelper;
import org.apache.geronimo.st.v30.core.osgi.OsgiConstants;
@@ -75,6 +78,10 @@ abstract public class GeronimoServerDele
public static final String PROPERTY_LOG_LEVEL = "logLevel";
+ public static final String PROPERTY_KARAF_SHELL = "karafShell";
+
+ public static final String PROPERTY_PROGRAM_ARGS = "ProgramArgs";
+
public static final String PROPERTY_VM_ARGS = "VMArgs";
public static final String PROPERTY_PING_DELAY = "pingDelay";
@@ -100,6 +107,15 @@ abstract public class GeronimoServerDele
public static final String CONSOLE_DEBUG = "-vv";
public static final String CLEAN_OSGI_BUNDLE_CACHE = "--clean";
+
+ public static final String DISABLE_KARAF_SHELL = "-Dkaraf.startLocalConsole=false";
+
+ public static final String ENABLE_KARAF_SHELL = "-Dkaraf.startLocalConsole=true";
+
+ // required to avoid error start, and work nicely on windows, when Karaf shell is enabled.
+ public static final String JLINE_UNSUPPORTED_TERMINAL = "-Djline.terminal=jline.UnsupportedTerminal";
+
+ private boolean suspendArgUpdates;
/**
* Determines whether the specified module modifications can be made to the server at this time
@@ -321,12 +337,15 @@ abstract public class GeronimoServerDele
* @see org.eclipse.wst.server.core.model.ServerDelegate#setDefaults(org.eclipse.core.runtime.IProgressMonitor)
*/
public void setDefaults(IProgressMonitor monitor) {
+ Trace.tracePoint("Entry", "GeronimoServerDelegate.setDefaults", monitor);
+ suspendArgUpdates();
setAdminID("system");
setAdminPassword("manager");
setHTTPPort("8080");
setRMINamingPort("1099");
setConsoleLogLevel(CONSOLE_INFO);
- setCleanOSGiBundleCache("");
+ setCleanOSGiBundleCache(false);
+ setKarafShell(false);
setPingDelay(new Integer(10000));
setMaxPings(new Integer(40));
setPingInterval(new Integer(5000));
@@ -334,8 +353,18 @@ abstract public class GeronimoServerDele
setInPlaceSharedLib(false);
setRunFromWorkspace(false);
setSelectClasspathContainers(false);
+ resumeArgUpdates();
+ Trace.tracePoint("Exit", "GeronimoServerDelegate.setDefaults", monitor);
}
+
+
+ @Override
+ public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
+ Trace.tracePoint("Enter", "GeronimoServerDelegate.saveConfiguration", monitor);
+ super.saveConfiguration(monitor);
+ Trace.tracePoint("Leave", "GeronimoServerDelegate.saveConfiguration", monitor);
+ }
//
// PROPERTY_ADMIN_ID
@@ -389,23 +418,260 @@ abstract public class GeronimoServerDele
}
public void setConsoleLogLevel(String value) {
setInstanceProperty(PROPERTY_LOG_LEVEL, value);
+ updateProgramArgsFromProperties();
+ }
+
+
+ //
+ // CLEAR_OSGI_BUNDLE_CACHE
+ //
+ public boolean isCleanOSGiBundleCache() {
+ String enable = getInstanceProperty(PROPERTY_CLEAN_OSGI_BUNDLE_CACHE);
+ return Boolean.valueOf(enable);
+ }
+
+ public void setCleanOSGiBundleCache(boolean value) {
+ setInstanceProperty(PROPERTY_CLEAN_OSGI_BUNDLE_CACHE, Boolean.toString(value));
+ updateProgramArgsFromProperties();
}
- public String getCleanOSGiBundleCache() {
- return getInstanceProperty(PROPERTY_CLEAN_OSGI_BUNDLE_CACHE);
+ /**
+ * remove args no longer specified, add newly specified args, and only specify them once.
+ */
+ private void updateProgramArgsFromProperties() {
+ if (isSuspendArgUpdates()) {
+ return;
+ }
+ Set<String> parmsSet = getProgramArgsSet();
+ Set<String> parmsNotSet = getProgramArgsNotSet();
+ String existingProgArgs = getProgramArgs();
+
+ String programArgs = updateProgramArgsFromProperties(existingProgArgs, parmsSet, parmsNotSet);
+
+ Trace.tracePoint("Exit", "GeronimoServerDelegate.updateProgramArgsFromProperties", programArgs);
+
+ setProgramArgs(programArgs);
}
+
+
+ /**
+ * remove args no longer specified, add newly specified args, and only specify them once.
+ */
+ private void updateVMArgsFromProperties() {
+ if (isSuspendArgUpdates()) {
+ return;
+ }
+ Set<String> parmsSet = getVMArgsSet();
+ Set<String> parmsNotSet = getVMArgsNotSet();
+ String existingVMArgs = getVMArgs();
+
+ String vmArgs = updateVMArgsFromProperties(existingVMArgs, parmsSet, parmsNotSet);
+
+ Trace.tracePoint("Exit", "GeronimoServerDelegate.updateVMArgsFromProperties", vmArgs);
- public void setCleanOSGiBundleCache(String value) {
- setInstanceProperty(PROPERTY_CLEAN_OSGI_BUNDLE_CACHE, value);
+ setVMArgs(vmArgs);
}
- public Set<String> getProgramArgs() {
+ private String updateProgramArgsFromProperties(String existingProgramArgs, Set<String> parmsSet, Set<String> parmsNotSet) {
+ Set<String> parmsSeen = new HashSet<String>(parmsSet.size());
+ List<String> parms;
+ if (existingProgramArgs == null) {
+ parms = new ArrayList<String>(parmsSet.size());
+ } else {
+ parms = new ArrayList<String>(Arrays.asList(existingProgramArgs.split("\\s+")));
+ }
+ // remove notSet and duplicate set parameters from the list
+ for (ListIterator<String> iterator = parms.listIterator(); iterator.hasNext();) {
+ String parm = iterator.next();
+ if (parmsNotSet.contains(parm) || parmsSeen.contains(parm)) {
+ iterator.remove();
+ continue;
+ }
+ if (parmsSet.contains(parm)) {
+ parmsSet.remove(parm);
+ parmsSeen.add(parm);
+ }
+ }
+ StringBuilder sb = new StringBuilder();
+ // add new parms to front
+ for (String parm : parmsSet) {
+ addParm(sb, parm);
+ }
+ // valid existing parms
+ for (String parm : parms) {
+ addParm(sb, parm);
+ }
+ return sb.toString();
+ }
+
+ public void updatePropertiesFromProgramArgs(String existingProgramArgs) {
+ boolean cleanOSGiCache = false;
+ boolean infoConsole = false;
+ boolean debugConsole = false;
+ List<String> parms;
+ if (existingProgramArgs == null) {
+ parms = new ArrayList<String>(0);
+ } else {
+ parms = new ArrayList<String>(Arrays.asList(existingProgramArgs.split("\\s+")));
+ }
+ for (String parm : parms) {
+ if (parm.equals(CLEAN_OSGI_BUNDLE_CACHE)) {
+ cleanOSGiCache = true;
+ }
+ if (parm.equals(CONSOLE_DEBUG)) {
+ debugConsole = true;
+ }
+ if (parm.equals(CONSOLE_INFO)) {
+ infoConsole = true;
+ }
+ }
+ suspendArgUpdates();
+ setCleanOSGiBundleCache(cleanOSGiCache);
+ if (debugConsole) {
+ setConsoleLogLevel(CONSOLE_DEBUG);
+ } else {
+ if (infoConsole) {
+ setConsoleLogLevel(CONSOLE_INFO);
+ } else {
+ setConsoleLogLevel("");
+ }
+ }
+ resumeArgUpdates();
+ }
+
+ private void suspendArgUpdates() {
+ suspendArgUpdates = true;
+ }
+
+ private void resumeArgUpdates() {
+ suspendArgUpdates = false;
+ }
+
+ private boolean isSuspendArgUpdates() {
+ return suspendArgUpdates;
+ }
+
+ /**
+ * A parameter. can include spaces inside single or double quotes.
+ */
+ static final Pattern PARAMETER_PATTERN = Pattern.compile("(?:\"[^\"]*\"|'[^']*'|\\S)+");
+
+ private String updateVMArgsFromProperties(String existingVMArgs, Set<String> parmsSet, Set<String> parmsNotSet) {
+ Set<String> parmsSeen = new HashSet<String>(parmsSet.size());
+ List<String> parms = new ArrayList<String>(parmsSet.size());
+ int lastSystemPropertyFoundIndex = -1;
+ if (existingVMArgs == null) {
+ // TODO could be a problem
+ } else {
+ // deal with quoted parms that may contain spaces
+ // the regex for a parameter is: (?:"[^"]*"|'[^']*'|\S)+
+ // TODO what if there is an unmatched quote??
+ Matcher matcher = PARAMETER_PATTERN.matcher(existingVMArgs);
+ while (matcher.find()) {
+ String parm = matcher.group();
+ if (parmsNotSet.contains(parm) || parmsSeen.contains(parm)) {
+ // ignore this parm
+ continue;
+ }
+ parms.add(parm);
+ if (parm.startsWith("-D")) {
+ lastSystemPropertyFoundIndex = parms.size();
+ }
+ if (parmsSet.contains(parm)) {
+ parmsSet.remove(parm);
+ parmsSeen.add(parm);
+ }
+ }
+ }
+ if (lastSystemPropertyFoundIndex < 0) {
+ lastSystemPropertyFoundIndex = parms.size();
+ }
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < parms.size(); i++) {
+ addParm(sb, parms.get(i));
+ if (i > lastSystemPropertyFoundIndex) {
+ // add new parms here after last -D parm
+ for (String parm : parmsSet) {
+ addParm(sb, parm);
+ }
+ lastSystemPropertyFoundIndex = -1;
+ }
+ }
+ if (lastSystemPropertyFoundIndex >= 0) {
+ // add new parms to end
+ for (String parm : parmsSet) {
+ addParm(sb, parm);
+ }
+ }
+ return sb.toString();
+ }
+
+ public void updatePropertiesFromVMArgs(String existingVMArgs) {
+ boolean karafShell = false;
+ if (existingVMArgs == null) {
+ // TODO could be a problem
+ } else {
+ // deal with quoted parms that may contain spaces
+ // the regex for a parameter is: (?:\S|"[^"]*"|'[^']*')+
+ // TODO what if there is an umatched quote??
+ Matcher matcher = PARAMETER_PATTERN.matcher(existingVMArgs);
+ while (matcher.find()) {
+ String parm = matcher.group();
+ if (parm.equals(ENABLE_KARAF_SHELL)) {
+ karafShell = true;
+ }
+ }
+ }
+ suspendArgUpdates();
+ setKarafShell(karafShell);
+ resumeArgUpdates();
+ }
+
+ private void addParm(StringBuilder sb, String parm) {
+ if (sb.length() > 0) {
+ sb.append(" ");
+ }
+ sb.append(parm);
+ }
+
+ public String getCleanOSGiBundleCacheArgs() {
+ return isCleanOSGiBundleCache() ? CLEAN_OSGI_BUNDLE_CACHE : "";
+ }
+
+
+
+ //
+ // PROPERTY_KARAF_SHELL
+ //
+ public boolean isKarafShell() {
+ return getAttribute(PROPERTY_KARAF_SHELL, false);
+ }
+ public void setKarafShell(boolean enable) {
+ setAttribute(PROPERTY_KARAF_SHELL, enable);
+ updateVMArgsFromProperties();
+ }
+
+ public List<String> getKarafShellArgs(boolean enable) {
+ if (enable)
+ return Arrays.asList(ENABLE_KARAF_SHELL, JLINE_UNSUPPORTED_TERMINAL);
+ else
+ return Arrays.asList(DISABLE_KARAF_SHELL);
+ }
+
+ public String getKarafShellArgs() {
+ StringBuilder sb = new StringBuilder();
+ for (String parm : getKarafShellArgs(isKarafShell())) {
+ addParm(sb, parm);
+ }
+ return sb.toString();
+ }
+
+ public Set<String> getProgramArgsSet() {
Set<String> parms = new HashSet<String>(2);
parms.add(getConsoleLogLevel());
- String clean = getCleanOSGiBundleCache();
- if (clean.length() > 0) {
- parms.add(clean);
+ if (isCleanOSGiBundleCache()) {
+ parms.add(CLEAN_OSGI_BUNDLE_CACHE);
}
return parms;
}
@@ -418,8 +684,8 @@ abstract public class GeronimoServerDele
} else {
notParms.add(CONSOLE_INFO);
}
- String clean = getCleanOSGiBundleCache();
- if (clean.equals("")) {
+ if (isCleanOSGiBundleCache()) {
+ } else {
notParms.add(CLEAN_OSGI_BUNDLE_CACHE);
}
return notParms;
@@ -432,8 +698,40 @@ abstract public class GeronimoServerDele
return getInstanceProperty(PROPERTY_VM_ARGS);
}
public void setVMArgs(String value) {
+ Trace.tracePoint("Entry", "GeronimoServerDelegate.getVMArgs", value);
setInstanceProperty(PROPERTY_VM_ARGS, value);
}
+
+ public Set<String> getVMArgsSet() {
+ boolean karafShell = isKarafShell();
+ List<String> parmStrings = getKarafShellArgs(karafShell);
+ Set<String> parms = new HashSet<String>(parmStrings.size());
+ for (String parm : parmStrings) {
+ parms.add(parm);
+ }
+ return parms;
+ }
+
+ public Set<String> getVMArgsNotSet() {
+ boolean karafShell = isKarafShell();
+ List<String> parmStrings = getKarafShellArgs(!karafShell);
+ Set<String> notParms = new HashSet<String>(parmStrings.size());
+ for (String parm : parmStrings) {
+ notParms.add(parm);
+ }
+ return notParms;
+ }
+
+ //
+ // PROPERTY_PROGRAM_ARGS
+ //
+ public String getProgramArgs() {
+ return getInstanceProperty(PROPERTY_PROGRAM_ARGS);
+ }
+ public void setProgramArgs(String value) {
+ Trace.tracePoint("Entry", "GeronimoServerDelegate.getProgramArgs", value);
+ setInstanceProperty(PROPERTY_PROGRAM_ARGS, value);
+ }
//
@@ -558,7 +856,15 @@ abstract public class GeronimoServerDele
public void setInstanceProperty(String name, String value) {
Map map = getServerInstanceProperties();
map.put(name, value);
- setServerInstanceProperties(map);
+ try {
+ setServerInstanceProperties(map);
+ } catch (Exception e) {
+ // TODO WTF? Need to figure out why this fails... seems to fail before setDefaults is called.
+ Trace.trace(Trace.INFO, "GeronimoServerDelegate.setInstanceProperty(name = " + name + ", value = " + value
+ + " )", e);
+ int a = 1;
+ a++;
+ }
}
public Map getServerInstanceProperties() {
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/plugin.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/plugin.xml?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/plugin.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/plugin.xml Tue Feb 15 02:01:30 2011
@@ -150,7 +150,15 @@
</extension>
<extension point="org.eclipse.wst.server.ui.editorPageSections">
- <section id="org.apache.server.geronimo.loglevel" order="20"
+ <section id="org.apache.server.geronimo.karafShell" order="21"
+ insertionId="org.eclipse.wst.server.editor.overview.right"
+ typeIds="org.apache.geronimo.server.30"
+ class="org.apache.geronimo.st.v30.ui.sections.ServerEditorKarafShellSection">
+ </section>
+ </extension>
+
+ <extension point="org.eclipse.wst.server.ui.editorPageSections">
+ <section id="org.apache.server.geronimo.loglevel" order="22"
insertionId="org.eclipse.wst.server.editor.overview.right"
typeIds="org.apache.geronimo.server.30"
class="org.apache.geronimo.st.v30.ui.sections.ServerEditorLogLevelSection">
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetCleanOSGiBundleCacheCommand.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetCleanOSGiBundleCacheCommand.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetCleanOSGiBundleCacheCommand.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetCleanOSGiBundleCacheCommand.java Tue Feb 15 02:01:30 2011
@@ -25,15 +25,15 @@ import org.eclipse.wst.server.core.IServ
*/
public class SetCleanOSGiBundleCacheCommand extends ServerCommand {
- String value;
+ boolean value;
- String oldValue;
+ boolean oldValue;
/**
* @param server
* @param name
*/
- public SetCleanOSGiBundleCacheCommand(IServerWorkingCopy server, String value) {
+ public SetCleanOSGiBundleCacheCommand(IServerWorkingCopy server, boolean value) {
super(server, "SetCleanOSGiBundleCacheCommand");
this.value = value;
}
@@ -45,7 +45,7 @@ public class SetCleanOSGiBundleCacheComm
*/
public void execute() {
GeronimoServerDelegate gs = getGeronimoServer();
- oldValue = gs.getCleanOSGiBundleCache();
+ oldValue = gs.isCleanOSGiBundleCache();
gs.setCleanOSGiBundleCache(value);
}
Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java?rev=1070749&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java Tue Feb 15 02:01:30 2011
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.geronimo.st.v30.ui.commands;
+
+import org.apache.geronimo.st.v30.core.GeronimoServerDelegate;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SetKarafShellCommand extends ServerCommand {
+
+ boolean value;
+
+ boolean oldValue;
+
+ /**
+ * @param server
+ * @param name
+ */
+ public SetKarafShellCommand(IServerWorkingCopy server, boolean value) {
+ super(server, "SetKarafShellCommand");
+ this.value = value;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.geronimo.st.v30.ui.commands.ServerCommand#execute()
+ */
+ public void execute() {
+ GeronimoServerDelegate gs = (GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class);
+ oldValue = gs.isKarafShell();
+ gs.setKarafShell(value);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.geronimo.st.v30.ui.commands.ServerCommand#undo()
+ */
+ public void undo() {
+ GeronimoServerDelegate gs = (GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class);
+ gs.setKarafShell(oldValue);
+ }
+
+}
Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/commands/SetKarafShellCommand.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoLaunchConfigurationTabGroup.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoLaunchConfigurationTabGroup.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoLaunchConfigurationTabGroup.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoLaunchConfigurationTabGroup.java Tue Feb 15 02:01:30 2011
@@ -69,9 +69,16 @@ public class GeronimoLaunchConfiguration
IServer server = ServerUtil.getServer(configuration);
GeronimoServerDelegate sd = (GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class);
- String oldValue = sd.getVMArgs();
- String newValue = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, oldValue);
+
+ String oldValue = sd.getProgramArgs();
+ String newValue = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, oldValue);
+ sd.setProgramArgs(newValue);
+ //sd.updatePropertiesFromProgramArgs(newValue);
+
+ oldValue = sd.getVMArgs();
+ newValue = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, oldValue);
sd.setVMArgs(newValue);
+ //sd.updatePropertiesFromVMArgs(newValue);
} catch (CoreException e) {
MessageDialog.openError(Display.getCurrent().getActiveShell(),"Error", e.getMessage());
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java Tue Feb 15 02:01:30 2011
@@ -46,6 +46,10 @@ public class Messages extends NLS {
public static String editorSectionCleanOSGiBundleCacheTitle;
public static String editorSectionCleanOSGiBundleCacheDescription;
public static String cleanOSGiBundleCache;
+
+ public static String editorSectionKarafShellTitle;
+ public static String editorSectionKarafShellDescription;
+ public static String enableKarafShell;
public static String editorSectionTestEnvTitle;
public static String editorSectionTestEnvDescription;
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties Tue Feb 15 02:01:30 2011
@@ -94,6 +94,10 @@ editorSectionCleanOSGiBundleCacheTitle=C
editorSectionCleanOSGiBundleCacheDescription=Select whether to clean the OSGi bundle cache.
cleanOSGiBundleCache=Clean OSGi bundle cache.
+editorSectionKarafShellTitle=Karaf shell in Eclipse console
+editorSectionKarafShellDescription=Select whether to enable the Karaf shell in Eclipse console window.
+enableKarafShell=Enable.
+
editorSectionVMArgsTitle=Server VM Arguments
editorSectionVMArgsDescription=Specify the Java VM Arguments to be provided on server startup.
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorCleanOSGiBundleCacheSection.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorCleanOSGiBundleCacheSection.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorCleanOSGiBundleCacheSection.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorCleanOSGiBundleCacheSection.java Tue Feb 15 02:01:30 2011
@@ -68,16 +68,15 @@ public class ServerEditorCleanOSGiBundle
cleanOGSiBundelCache = toolkit.createButton(composite, Messages.cleanOSGiBundleCache, SWT.CHECK);
- String currentValue = ((GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class))
- .getCleanOSGiBundleCache();
- cleanOGSiBundelCache.setSelection(GeronimoServerDelegate.CLEAN_OSGI_BUNDLE_CACHE.equals(currentValue));
+ GeronimoServerDelegate gsd = (GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class);
+
+ boolean cleanCache = gsd.isCleanOSGiBundleCache();
+ cleanOGSiBundelCache.setSelection(cleanCache);
cleanOGSiBundelCache.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
- String value = cleanOGSiBundelCache.getSelection() ? GeronimoServerDelegate.CLEAN_OSGI_BUNDLE_CACHE
- : "";
- execute(new SetCleanOSGiBundleCacheCommand(server, value));
+ execute(new SetCleanOSGiBundleCacheCommand(server, cleanOGSiBundelCache.getSelection()));
}
public void widgetDefaultSelected(SelectionEvent e) {
Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java?rev=1070749&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java Tue Feb 15 02:01:30 2011
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.geronimo.st.v30.ui.sections;
+
+import org.apache.geronimo.st.v30.core.GeronimoServerDelegate;
+import org.apache.geronimo.st.v30.ui.commands.SetKarafShellCommand;
+import org.apache.geronimo.st.v30.ui.internal.Messages;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ServerEditorKarafShellSection extends AbstractServerEditorSection {
+
+ Button enable;
+
+ public ServerEditorKarafShellSection() {
+ super();
+ }
+
+ public void createSection(Composite parent) {
+ super.createSection(parent);
+
+ FormToolkit toolkit = getFormToolkit(parent.getDisplay());
+
+ Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE
+ | ExpandableComposite.EXPANDED
+ | ExpandableComposite.TITLE_BAR
+ | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
+
+ section.setText(Messages.editorSectionKarafShellTitle);
+ section.setDescription(Messages.editorSectionKarafShellDescription);
+ section.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
+
+ Composite composite = toolkit.createComposite(section);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.marginHeight = 5;
+ layout.marginWidth = 10;
+ layout.verticalSpacing = 5;
+ layout.horizontalSpacing = 15;
+ composite.setLayout(layout);
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+ section.setClient(composite);
+
+ enable = toolkit.createButton(composite, Messages.enableKarafShell, SWT.CHECK);
+
+ GeronimoServerDelegate gsd = (GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class);
+
+ boolean karafShell = gsd.isKarafShell();
+ enable.setSelection(karafShell);
+
+ enable.addSelectionListener(new SelectionListener() {
+
+ public void widgetSelected(SelectionEvent e) {
+ execute(new SetKarafShellCommand(server, enable.getSelection()));
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ });
+ }
+}
Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorKarafShellSection.java
------------------------------------------------------------------------------
svn:keywords = Date Rev
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorLogLevelSection.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorLogLevelSection.java?rev=1070749&r1=1070748&r2=1070749&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorLogLevelSection.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorLogLevelSection.java Tue Feb 15 02:01:30 2011
@@ -71,12 +71,12 @@ public class ServerEditorLogLevelSection
info = toolkit.createButton(composite, Messages.info, SWT.RADIO);
debug = toolkit.createButton(composite, Messages.debug, SWT.RADIO);
- String currentValue = ((GeronimoServerDelegate)server.getAdapter(GeronimoServerDelegate.class)).getConsoleLogLevel();
- if(GeronimoServerDelegate.CONSOLE_DEBUG.equals(currentValue)) {
- debug.setSelection(true);
- } else {
- info.setSelection(true);
- }
+ String currentValue = ((GeronimoServerDelegate) server.getAdapter(GeronimoServerDelegate.class))
+ .getConsoleLogLevel();
+
+ debug.setSelection(GeronimoServerDelegate.CONSOLE_DEBUG.equals(currentValue));
+
+ info.setSelection(GeronimoServerDelegate.CONSOLE_INFO.equals(currentValue));
info.addSelectionListener(new SelectionListener() {