Author: koen.aers(a)jboss.com
Date: 2011-07-14 12:43:50 -0400 (Thu, 14 Jul 2011)
New Revision: 32923
Modified:
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeRuntime.java
Log:
- poll for startup every second in ForgeAbstractRuntime
- add state constant to ForgeRuntime
Modified:
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java 2011-07-14
16:42:09 UTC (rev 32922)
+++
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java 2011-07-14
16:43:50 UTC (rev 32923)
@@ -17,8 +17,6 @@
public abstract class ForgeAbstractRuntime implements ForgeRuntime {
- private static final String PROPERTY_STATE = "state";
-
private IProcess process = null;
private String state = STATE_NOT_RUNNING;
private final TerminateListener terminateListener = new TerminateListener();
@@ -50,9 +48,14 @@
if (progressMonitor.isCanceled()) {
terminate();
} else {
+ Thread.sleep(1000);
progressMonitor.worked(1);
}
}
+ } catch (InterruptedException e) {
+ if (progressMonitor.isCanceled()) {
+ terminate();
+ }
} finally {
if (process != null) {
IStreamsProxy streamsProxy = process.getStreamsProxy();
@@ -81,7 +84,9 @@
private void terminate() {
try {
- process.terminate();
+ if (process != null) {
+ process.terminate();
+ }
} catch (DebugException e) {
ForgeCorePlugin.log(e);
}
@@ -104,6 +109,7 @@
private class StartupListener implements IStreamListener {
@Override
public void streamAppended(String text, IStreamMonitor monitor) {
+ process.getStreamsProxy().getOutputStreamMonitor().removeListener(this);
setNewState(STATE_RUNNING);
}
}
Modified:
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeRuntime.java
===================================================================
---
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeRuntime.java 2011-07-14
16:42:09 UTC (rev 32922)
+++
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/process/ForgeRuntime.java 2011-07-14
16:43:50 UTC (rev 32923)
@@ -7,9 +7,11 @@
public interface ForgeRuntime {
- String STATE_NOT_RUNNING = "org.jboss.tools.forge.notRunning";
- String STATE_RUNNING = "org.jboss.tools.forge.running";
- String STATE_STARTING = "org.jboss.tools.forge.starting";
+ String STATE_NOT_RUNNING = "org.jboss.tools.forge.runtime.notRunning";
+ String STATE_RUNNING = "org.jboss.tools.forge.runtime.running";
+ String STATE_STARTING = "org.jboss.tools.forge.runtime.starting";
+
+ String PROPERTY_STATE = "org.jboss.tools.forge.runtime.state";
String getName();
String getLocation();
Show replies by date