Author: adietish
Date: 2011-07-05 05:56:38 -0400 (Tue, 05 Jul 2011)
New Revision: 32602
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java
Log:
[JBIDE-9215] unified duplicate calls to pollThread.cancel() into single method
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-07-05
09:38:10 UTC (rev 32601)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-07-05
09:56:38 UTC (rev 32602)
@@ -74,7 +74,7 @@
// if we're starting up or shutting down and they've tried again,
// then force it to stop.
if( state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING ) {
- cancelPolling(null);
+ stopPolling();
forceStop();
return;
}
@@ -211,24 +211,21 @@
protected void pollServer(final boolean expectedState) {
IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- pollServer(expectedState, poller);
+ PollThreadUtils.pollServer(expectedState, poller , pollThread, getActualBehavior());
}
protected void pollServer(boolean expectedState, IServerStatePoller poller) {
- cancelPolling(null);
- this.pollThread = new PollThread(expectedState, poller, getActualBehavior());
- pollThread.start();
+ this.pollThread = PollThreadUtils.pollServer(expectedState, poller, pollThread,
getActualBehavior());
}
+ protected void stopPolling() {
+ cancelPolling(null);
+ }
+
protected void cancelPolling(String message) {
- if (pollThread != null) {
- if (message != null) {
- pollThread.cancel(message);
- } else {
- pollThread.cancel();
- }
- }
+ PollThreadUtils.cancelPolling(message, this.pollThread);
+ this.pollThread = null;
}
public void publishStart(final IProgressMonitor monitor) throws CoreException {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java 2011-07-05
09:38:10 UTC (rev 32601)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java 2011-07-05
09:56:38 UTC (rev 32602)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.core.util;
import org.eclipse.wst.server.core.IServer;
@@ -4,9 +14,15 @@
import org.jboss.ide.eclipse.as.core.ExtensionManager;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
+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.server.internal.ServerAttributeHelper;
import org.jboss.ide.eclipse.as.core.server.internal.ServerStatePollerType;
+/**
+ * @author Rob Stryker
+ * @author André Dietisheim
+ */
public class PollThreadUtils {
public static String getPollerId(boolean expectedState, IServer server) {
@@ -35,4 +51,32 @@
}
return null;
}
+
+ public static void stopPolling(PollThread pollThread) {
+ cancelPolling(null, pollThread);
+ }
+
+ public static void cancelPolling(String message, PollThread pollThread) {
+ if (pollThread != null) {
+ if (message != null) {
+ pollThread.cancel(message);
+ } else {
+ pollThread.cancel();
+ }
+ }
+ }
+
+ protected void pollServer(final boolean expectedState, PollThread pollThread,
JBossServerBehavior behaviour, IServer server) {
+ IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, server);
+ pollServer(expectedState, poller, pollThread, behaviour);
+ }
+
+
+ public static PollThread pollServer(boolean expectedState, IServerStatePoller poller,
PollThread pollThread, JBossServerBehavior behaviour) {
+ stopPolling(pollThread);
+ PollThread newPollThread = new PollThread(expectedState, poller, behaviour);
+ newPollThread.start();
+ return newPollThread;
+ }
+
}