Author: rob.stryker(a)jboss.com
Date: 2011-06-13 04:37:34 -0400 (Mon, 13 Jun 2011)
New Revision: 32053
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
Log:
JBIDE-9093 for AS 4 through 7 local versions
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties 2011-06-13
08:37:34 UTC (rev 32053)
@@ -5,7 +5,7 @@
serverCountName={0} ({1})
runtime=Runtime
securityException=Security Exception: {0}
-JBoss7ServerBehavior_could_not_stop=Could not stop server adapter {}
+JBoss7ServerBehavior_could_not_stop=Could not stop server adapter {0}
JMXPoller=JMX Poller
loadJMXClassesFailed=Could not load JMX classes for server {0}
PollingStartupSuccess=Server Startup Succeeded
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -22,13 +22,14 @@
private ServerStatePollerType type;
private boolean canceled, done;
private boolean state;
+ private boolean expectedState;
-
public void beginPolling(IServer server, boolean expectedState,
PollThread pt) {
this.server = server;
- canceled = done = false;
- state = SERVER_DOWN;
+ this.canceled = done = false;
+ this.expectedState = expectedState;
+ this.state = !expectedState;
launchThread();
}
@@ -46,9 +47,9 @@
String url = getURL(getServer());
while(!canceled && !done) {
boolean up = onePing(url);
- if( up ) {
+ if( up == expectedState ) {
done = true;
- state = SERVER_UP;
+ state = expectedState;
}
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -305,6 +305,13 @@
JBossServerBehavior jbsBehavior =
JBossServerBehaviorUtils.getServerBehavior(configuration);
if (!jbsBehavior.canStart(mode).isOK())
throw new CoreException(jbsBehavior.canStart(mode));
+ String ignore =
jbsBehavior.getServer().getAttribute(IJBossToolingConstants.IGNORE_LAUNCH_COMMANDS,
(String)null);
+ Boolean ignoreB = ignore == null ? new Boolean(false) : new Boolean(ignore);
+ if( ignoreB.booleanValue()) {
+ jbsBehavior.setServerStarting();
+ jbsBehavior.setServerStarted();
+ return false;
+ }
boolean started = WebPortPoller.onePing(jbsBehavior.getServer());
if( started ) {
jbsBehavior.setServerStarting();
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -40,6 +40,7 @@
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class JBoss7ServerBehavior extends JBossServerBehavior {
@@ -151,7 +152,12 @@
}
public void stop(boolean force) {
-
+ String tmp = getServer().getAttribute(IJBossToolingConstants.IGNORE_LAUNCH_COMMANDS,
(String)null);
+ Boolean b = tmp == null ? new Boolean(false) : new Boolean(tmp);
+ if( b.booleanValue()) {
+ super.setServerStopped();
+ return;
+ }
try {
if (force) {
if( serverProcess != null )
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -18,7 +18,9 @@
import org.eclipse.debug.core.model.IProcess;
import org.jboss.ide.eclipse.as.core.extensions.polling.WebPortPoller;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
+import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossBehaviorDelegate;
import
org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.JBossServerBehaviorUtils;
/**
@@ -34,6 +36,13 @@
public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode,
IProgressMonitor monitor)
throws CoreException {
JBossServerBehavior jbsBehavior =
JBossServerBehaviorUtils.getServerBehavior(configuration);
+ String tmp =
jbsBehavior.getServer().getAttribute(IJBossToolingConstants.IGNORE_LAUNCH_COMMANDS,
(String)null);
+ Boolean b = tmp == null ? new Boolean(false) : new Boolean(tmp);
+ if( b.booleanValue()) {
+ jbsBehavior.setServerStarting();
+ jbsBehavior.setServerStarted();
+ return false;
+ }
boolean started = WebPortPoller.onePing(jbsBehavior.getServer());
if( started ) {
jbsBehavior.setServerStarting();
@@ -61,6 +70,7 @@
IProcess[] processes = launch.getProcesses();
if (processes != null && processes.length >= 1) {
behavior.setProcess(processes[0]);
+ ((LocalJBossBehaviorDelegate) (behavior.getDelegate())).setProcess(processes[0]);
}
behavior.setRunMode(mode);
} catch (CoreException ce) {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -96,8 +96,8 @@
public static final String WEB_PORT_DEFAULT_XPATH = Messages.Ports + IPath.SEPARATOR +
"JBoss Web"; //$NON-NLS-1$
public static final int JNDI_DEFAULT_PORT = 1099;
public static final int JBOSS_WEB_DEFAULT_PORT = 8080;
+ public static final String IGNORE_LAUNCH_COMMANDS =
"org.jboss.ide.eclipse.as.core.server.IGNORE_LAUNCH_COMMANDS"; //$NON-NLS-1$
-
public static final String LOCAL_DEPLOYMENT_NAME = "name"; //$NON-NLS-1$
public static final String LOCAL_DEPLOYMENT_LOC = "location"; //$NON-NLS-1$
public static final String LOCAL_DEPLOYMENT_TEMP_LOC = "tempLocation";
//$NON-NLS-1$
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -182,6 +182,9 @@
public static String EditorSetTempDeployLabel;
public static String EditorEditDeployLocCommand;
public static String EditorModule;
+ public static String EditorDoNotLaunch;
+ public static String EditorDoNotLaunchCommand;
+ public static String EditorChangeServerMode;
public static String EditorZipDeployments;
public static String EditorSetRadioClicked;
public static String EditorDeployDNE;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties 2011-06-13
08:37:34 UTC (rev 32053)
@@ -159,6 +159,9 @@
EditorSetRadioClicked=Set Deploy Location
EditorDeployDNE=The deploy directory "{0}" does not exist.
EditorTempDeployDNE=The temporary deploy directory "{0}" does not exist.
+EditorDoNotLaunch=Do not execute startup or shutdown commands.
+EditorDoNotLaunchCommand=Toggle Startup and Shutdown scripts
+EditorChangeServerMode=Change server mode
EditorStartupPollerLabel=Startup Poller
EditorShutdownPollerLabel=Shutdown Poller
EditorChangeStartPollerCommandName=Change Startup Poller
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java 2011-06-12
22:15:19 UTC (rev 32052)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java 2011-06-13
08:37:34 UTC (rev 32053)
@@ -15,11 +15,15 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledPageBook;
import org.eclipse.wst.server.core.IServerWorkingCopy;
@@ -33,6 +37,7 @@
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.ui.FormUtils;
+import org.jboss.ide.eclipse.as.ui.Messages;
import org.jboss.ide.eclipse.as.ui.UIUtil;
import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
@@ -41,6 +46,7 @@
private Combo deployTypeCombo;
private ScrolledPageBook preferencePageBook;
private IServerModeUICallback callback;
+ private Button executeShellScripts; // may be null;
public ServerModeSectionComposite(Composite parent, int style, IServerModeUICallback
callback) {
super(parent, style);
@@ -49,8 +55,29 @@
FormToolkit toolkit = new FormToolkit(getDisplay());
FormUtils.adaptFormCompositeRecursively(this, toolkit);
setLayout(new FormLayout());
+
+ Control top = null;
+ if( showExecuteShellCheckbox()) {
+ executeShellScripts = new Button(this, SWT.CHECK);
+ executeShellScripts.setText(Messages.EditorDoNotLaunch);
+ FormData fd = UIUtil.createFormData2(0, 5, null, 0, 0, 5, null, 0);
+ executeShellScripts.setLayoutData(fd);
+ top = executeShellScripts;
+ String tmp =
callback.getServer().getAttribute(IJBossToolingConstants.IGNORE_LAUNCH_COMMANDS,
(String)null);
+ Boolean b = tmp == null ? new Boolean(false) : new Boolean(tmp);
+ executeShellScripts.setSelection(b.booleanValue());
+
+ executeShellScripts.addSelectionListener(new SelectionListener(){
+ public void widgetSelected(SelectionEvent e) {
+ executeShellToggled();
+ }
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }}
+ );
+ }
+
deployTypeCombo = new Combo(this, SWT.READ_ONLY);
- FormData fd = UIUtil.createFormData2(0, 5, null, 0, 0, 5, 50, -5);
+ FormData fd = UIUtil.createFormData2(top, 5, null, 0, 0, 5, 50, -5);
deployTypeCombo.setLayoutData(fd);
@@ -80,7 +107,7 @@
current = behType.getName();
callback.execute(new ChangeServerPropertyCommand(
callback.getServer(), IDeployableServer.SERVER_MODE,
- behType.getId(), "Change server mode"));
+ behType.getId(), Messages.EditorChangeServerMode));
}
if( current != null ) {
int index = deployTypeCombo.indexOf(current);
@@ -93,7 +120,17 @@
}});
deployTypeChanged(false);
}
+
+ protected boolean showExecuteShellCheckbox() {
+ return true;
+ }
+ protected void executeShellToggled() {
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), IJBossToolingConstants.IGNORE_LAUNCH_COMMANDS,
+ new Boolean(executeShellScripts.getSelection()).toString(),
Messages.EditorDoNotLaunchCommand));
+ }
+
private class DeployUIAdditions {
private IJBossServerPublishMethodType publishType;
private IDeploymentTypeUI ui;