JBoss Tools SVN: r32710 - trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/io.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2011-07-07 09:39:54 -0400 (Thu, 07 Jul 2011)
New Revision: 32710
Added:
trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/io/ConsoleInputStream.java
Log:
move ConsoleInputStream to org.jboss.tools.forge.core.io
Copied: trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/io/ConsoleInputStream.java (from rev 32704, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsoleInputStream.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/io/ConsoleInputStream.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.core/src/org/jboss/tools/forge/core/io/ConsoleInputStream.java 2011-07-07 13:39:54 UTC (rev 32710)
@@ -0,0 +1,66 @@
+package org.jboss.tools.forge.core.io;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class ConsoleInputStream extends InputStream {
+
+ private byte[] input = new byte[0];
+ private int outPointer = 0;
+ private int size = 0;
+ private boolean eofSent = false;
+ private boolean closed = false;
+
+ public synchronized int read() throws IOException {
+ waitForData();
+ if (available() == -1) {
+ return -1;
+ }
+
+ byte b = input[outPointer];
+ outPointer++;
+ if (outPointer == input.length) {
+ outPointer = 0;
+ }
+ size -= 1;
+ return b;
+ }
+
+ private void waitForData() {
+ while (size == 0 && !closed) {
+ try {
+ wait();
+ } catch (InterruptedException e) {}
+ }
+ }
+
+ public synchronized void appendData(String text) {
+ input = text.getBytes();
+ size = text.length();
+ outPointer = 0;
+ notifyAll();
+ }
+
+ public int available() throws IOException {
+ if (closed && eofSent) {
+ throw new IOException("Input Stream Closed");
+ } else if (size == 0) {
+ if (!eofSent) {
+ eofSent = true;
+ return -1;
+ }
+ throw new IOException("Input Stream Closed");
+ }
+
+ return size;
+ }
+
+ public synchronized void close() throws IOException {
+ if(closed) {
+ throw new IOException("Input Stream Closed");
+ }
+ closed = true;
+ notifyAll();
+ }
+
+}
14 years, 9 months
JBoss Tools SVN: r32709 - in trunk/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7 and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 09:39:21 -0400 (Thu, 07 Jul 2011)
New Revision: 32709
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java
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/v7/LocalJBoss7BehaviorDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
Log:
[JBIDE-9215] removed #getActualBehaviour and allowed access to delegating behavior for superclass only
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:29:35 UTC (rev 32708)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:39:21 UTC (rev 32709)
@@ -32,10 +32,6 @@
this.actualBehavior = actualBehaviour;
}
- public DelegatingServerBehavior getActualBehavior() {
- return actualBehavior;
- }
-
public IServer getServer() {
return actualBehavior.getServer();
}
@@ -92,11 +88,27 @@
protected void pollServer(final boolean expectedState) {
IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- this.pollThread = PollThreadUtils.pollServer(expectedState, poller , pollThread, getActualBehavior());
+ this.pollThread = PollThreadUtils.pollServer(expectedState, poller , pollThread, actualBehavior);
}
protected void pollServer(boolean expectedState, IServerStatePoller poller) {
- this.pollThread = PollThreadUtils.pollServer(expectedState, poller, pollThread, getActualBehavior());
+ this.pollThread = PollThreadUtils.pollServer(expectedState, poller, pollThread, actualBehavior);
}
+ protected void setServerStopping() {
+ actualBehavior.setServerStopping();
+ }
+
+ protected void setServerStopped() {
+ actualBehavior.setServerStopped();
+ }
+
+ protected void setServerStarted() {
+ actualBehavior.setServerStarted();
+ }
+
+ protected void setServerStarting() {
+ actualBehavior.setServerStarting();
+ }
+
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java 2011-07-07 13:29:35 UTC (rev 32708)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java 2011-07-07 13:39:21 UTC (rev 32709)
@@ -122,6 +122,7 @@
super.publishFinish(monitor);
}
+ @Deprecated
protected boolean shouldSuspendScanner() {
if( getServer().getServerState() != IServer.STATE_STARTED)
return false;
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-07 13:29:35 UTC (rev 32708)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-07-07 13:39:21 UTC (rev 32709)
@@ -79,7 +79,7 @@
return;
}
- getActualBehavior().setServerStopping();
+ setServerStopping();
gracefullStop();
}
@@ -99,7 +99,7 @@
if (stopProcess.getExitValue() == 0) {
// TODO: correct concurrent access to process, pollThread and nextStopRequiresForce
if( isProcessRunning() ) {
- getActualBehavior().setServerStarted();
+ setServerStarted();
cancelPolling(Messages.STOP_FAILED_MESSAGE);
nextStopRequiresForce = true;
}
@@ -137,7 +137,7 @@
}
}
process = null;
- getActualBehavior().setServerStopped();
+ setServerStopped();
}
protected void addForceStopFailedEvent(DebugException e) {
@@ -251,12 +251,12 @@
}
}
}
-
+
protected boolean shouldSuspendScanner() {
- return getActualBehavior().shouldSuspendScanner() &&
- ExtensionManager.getDefault().getJMXRunner() != null;
+ return getServer().getServerState() != IServer.STATE_STARTED
+ && ExtensionManager.getDefault().getJMXRunner() != null;
}
-
+
protected void suspendDeployment(final MBeanServerConnection connection, IProgressMonitor monitor) throws Exception {
ObjectName name = new ObjectName(IJBossRuntimeConstants.DEPLOYMENT_SCANNER_MBEAN_NAME);
launchDeployCommand(connection, name, IJBossRuntimeConstants.STOP, monitor);
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java 2011-07-07 13:29:35 UTC (rev 32708)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java 2011-07-07 13:39:21 UTC (rev 32709)
@@ -15,13 +15,15 @@
import org.jboss.ide.eclipse.as.core.extensions.polling.WebPortPoller;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossBehaviorDelegate;
-import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
import org.jboss.ide.eclipse.as.core.util.PollThreadUtils;
public class LocalJBoss7BehaviorDelegate extends LocalJBossBehaviorDelegate {
+
public IStatus canChangeState(String launchMode) {
return Status.OK_STATUS;
}
+
+ @Override
protected void pollServer(final boolean expectedState) {
if( pollThread != null )
pollThread.cancel();
@@ -29,10 +31,12 @@
IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
// IF shutting down a process started OUTSIDE of eclipse, force use the web poller,
// since there's no process watch for shutdowns
- if( !expectedState && process == null )
+ if( !expectedState
+ && process == null ) {
poller = PollThreadUtils.getPoller(WebPortPoller.WEB_POLLER_ID);
-
- this.pollThread = new PollThread(expectedState, poller, getActualBehavior());
- pollThread.start();
+ pollServer(expectedState, poller);
+ } else {
+ super.pollServer(expectedState);
+ }
}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java 2011-07-07 13:29:35 UTC (rev 32708)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java 2011-07-07 13:39:21 UTC (rev 32709)
@@ -30,15 +30,15 @@
}
if( LaunchCommandPreferences.isIgnoreLaunchCommand(getServer())) {
- getActualBehavior().setServerStopped();
+ setServerStopped();
return;
}
- getActualBehavior().setServerStopping();
+ setServerStopping();
if (!gracefullStop().isOK()) {
- getActualBehavior().setServerStarted();
+ setServerStarted();
} else {
- getActualBehavior().setServerStopped();
+ setServerStopped();
}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-07-07 13:29:35 UTC (rev 32708)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-07-07 13:39:21 UTC (rev 32709)
@@ -28,8 +28,7 @@
@Override
protected void forceStop() {
- getActualBehavior().setServerStopped();
- return;
+ setServerStopped();
}
@Override
14 years, 9 months
JBoss Tools SVN: r32708 - in trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge: old and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2011-07-07 09:29:35 -0400 (Thu, 07 Jul 2011)
New Revision: 32708
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/CommandRecorder.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/Console.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePage.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePartitioner.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsoleViewer.java
Removed:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java
Modified:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java
Log:
move console related classes to org.jboss.tools.forge.ui.console
Deleted: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -1,266 +0,0 @@
-package org.jboss.tools.forge.console;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.jboss.tools.forge.ForgeUIPlugin;
-import org.jboss.tools.forge.importer.ProjectConfigurationUpdater;
-import org.jboss.tools.forge.importer.ProjectImporter;
-
-public class CommandRecorder implements IDocumentListener {
-
- private StringBuffer buffer = new StringBuffer();
- private String beforePrompt = null;
- private String currentPrompt = null;
- private String currentCommand = null;
-
- @Override
- public void documentAboutToBeChanged(DocumentEvent event) {
- }
-
- @Override
- public void documentChanged(DocumentEvent event) {
- if (event.getLength() == 1 && "".equals(event.getText())) {
- buffer.setLength(buffer.length() - 1);
- } else {
- buffer.append(event.getText());
- String newPrompt = getNewPrompt();
- if (newPrompt != null) {
- currentPrompt = newPrompt;
- beforePrompt = buffer.substring(0, buffer.length() - newPrompt.length());
- buffer.setLength(0);
- if (currentCommand != null) {
- postProcessCurrentCommand();
- currentCommand = null;
- }
- } else {
- if (currentPrompt != null) {
- String newCommand = getNewCommand();
- if (newCommand != null) {
- currentCommand = newCommand;
- }
- }
- }
- }
- }
-
- private String getNewPrompt() {
- int lastLineBreak = buffer.lastIndexOf("\n");
- if (lastLineBreak == -1) return null;
- String lastLine = buffer.substring(lastLineBreak + 1);
- if (lastLine.length() == 0) return null;
- if (lastLine.charAt(0) != '[') return null;
- int rightBracketIndex = lastLine.indexOf(']');
- if (rightBracketIndex == -1) return null;
- return lastLine.endsWith("$ ") ? lastLine : null;
- }
-
- private String getNewCommand() {
- String candidateCommand = buffer.toString();
- if ("pwd".equals(candidateCommand)) {
- return "pwd";
- } else if ("new-project".equals(candidateCommand)) {
- return "new-project";
- } else if ("persistence".equals(candidateCommand)) {
- return "persistence";
- } else if ("entity".equals(candidateCommand)) {
- return "entity";
- } else if ("field".equals(candidateCommand)) {
- return "field";
- } else if ("prettyfaces".equals(candidateCommand)) {
- return "prettyfaces";
- } else if ("build".equals(candidateCommand)) {
- return "build";
- } else {
- return null;
- }
- }
-
- private void postProcessCurrentCommand() {
- IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
- String projectName = currentPrompt.substring(1, currentPrompt.indexOf(']'));
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- if (project != null) {
- try {
- project.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- ForgeUIPlugin.log(e);
- }
- }
- if ("pwd".equals(currentCommand)) {
- // do nothing
- } else if ("new-project".equals(currentCommand)) {
- int index = beforePrompt.lastIndexOf("***SUCCESS*** Created project [");
- if (index == -1) return;
- if (index + 31 > beforePrompt.length()) return;
- String str = beforePrompt.substring(index + 31);
- index = str.lastIndexOf("] in new working directory [");
- if (index == -1) return;
- if (index + 28 > str.length()) return;
- str = str.substring(index + 28);
- index = str.indexOf("]");
- if (index == -1) return;
- String projectPath = str.substring(0, index);
- index = projectPath.lastIndexOf('/');
- String projectDirName = projectPath.substring(index + 1);
- String projectBaseDirPath = projectPath.substring(0, index);
- ProjectImporter importer = new ProjectImporter(projectBaseDirPath, projectDirName);
- importer.importProject();
- } else if ("persistence".equals(currentCommand)) {
- int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed [forge.spec.jpa] successfully.\nWrote ");
- if (index == -1) return;
- try {
- IFile file = project.getFile("/src/main/resources/META-INF/persistence.xml");
- if (file == null) return;
- Object objectToSelect = file;
- IDE.openEditor(workbenchPage, file);
- IViewPart projectExplorer = workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
- if (projectExplorer != null && projectExplorer instanceof ISetSelectionTarget) {
- ((ISetSelectionTarget)projectExplorer).selectReveal(new StructuredSelection(objectToSelect));
- }
- IViewPart packageExplorer = workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
- if (packageExplorer == null && projectExplorer == null) {
- packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
- }
- if (packageExplorer != null && packageExplorer instanceof ISetSelectionTarget) {
- ((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(objectToSelect));
- }
- } catch (PartInitException e) {
- ForgeUIPlugin.log(e);
- }
- } else if ("entity".equals(currentCommand)) {
- int index = beforePrompt.lastIndexOf("Picked up type <JavaResource>: ");
- if (index == -1) return;
- if (index + 31 > beforePrompt.length() -1) return;
- String entityName = beforePrompt.substring(index + 31, beforePrompt.length() - 1).replace('.', '/');
- try {
- IFile file = project.getFile("/src/main/java/" + entityName + ".java");
- if (file == null) return;
- Object objectToSelect = file;
- IDE.openEditor(workbenchPage, file);
- IJavaElement javaElement = JavaCore.create(file);
- if (javaElement != null && javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
- try {
- objectToSelect = ((ICompilationUnit)javaElement).getTypes()[0];
- } catch (JavaModelException e) {
- ForgeUIPlugin.log(e);
- }
- }
- IViewPart projectExplorer = workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
- if (projectExplorer != null && projectExplorer instanceof ISetSelectionTarget) {
- ((ISetSelectionTarget)projectExplorer).selectReveal(new StructuredSelection(objectToSelect));
- }
- IViewPart packageExplorer = workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
- if (packageExplorer == null && projectExplorer == null) {
- packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
- }
- if (packageExplorer != null && packageExplorer instanceof ISetSelectionTarget) {
- ((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(objectToSelect));
- }
- } catch (PartInitException e) {
- ForgeUIPlugin.log(e);
- }
- } else if ("field".equals(currentCommand)) {
- try {
- int index = beforePrompt.lastIndexOf("Added field to ");
- if (index == -1) return;
- if (index + 15 > beforePrompt.length()) return;
- String str = beforePrompt.substring(index + 15);
- index = str.indexOf(':');
- if (index == -1) return;
- String entityName = str.substring(0, index);
- str = str.substring(index);
- index = str.lastIndexOf(';');
- if (index == -1) return;
- str = str.substring(0, index);
- index = str.lastIndexOf(' ');
- if (index == -1) return;
- String fieldName = str.substring(index + 1);
- IFile file = project.getFile("/src/main/java/" + entityName.replace('.', '/') + ".java");
- if (file == null) return;
- IEditorPart editorPart = IDE.openEditor(workbenchPage, file);
- IJavaElement javaElement = JavaCore.create(file);
- if (javaElement != null && javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
- try {
- IType type = ((ICompilationUnit)javaElement).getTypes()[0];
- IField field = type.getField(fieldName);
- if (field != null) {
- ISourceRange sourceRange = field.getSourceRange();
- if (sourceRange != null && editorPart != null && editorPart instanceof ITextEditor) {
- ((ITextEditor)editorPart).selectAndReveal(sourceRange.getOffset(), sourceRange.getLength());
- }
- }
- } catch (JavaModelException e) {
- ForgeUIPlugin.log(e);
- }
- }
- } catch (PartInitException e) {
- ForgeUIPlugin.log(e);
- }
- } else if ("prettyfaces".equals(currentCommand)) {
- int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed [com.ocpsoft.prettyfaces] successfully.");
- if (index == -1) return;
- String str = beforePrompt.substring(0, index - 1);
- index = str.lastIndexOf("Wrote ");
- if (index == -1) return;
- if (index + 6 > str.length()) return;
- str = str.substring(index + 6);
- String projectLocation = project.getLocation().toString();
- index = str.lastIndexOf(projectLocation);
- if (index != 0) return;
- str = str.substring(projectLocation.length());
- IFile file = project.getFile(str);
- if (file == null) return;
- Object objectToSelect = file;
- new ProjectConfigurationUpdater(project).updateProject();
- try {
- IDE.openEditor(workbenchPage, file);
- IViewPart projectExplorer = workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
- if (projectExplorer != null && projectExplorer instanceof ISetSelectionTarget) {
- ((ISetSelectionTarget)projectExplorer).selectReveal(new StructuredSelection(objectToSelect));
- }
- IViewPart packageExplorer = workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
- if (packageExplorer == null && projectExplorer == null) {
- packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
- }
- if (packageExplorer != null && packageExplorer instanceof ISetSelectionTarget) {
- ((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(objectToSelect));
- }
- } catch (PartInitException e) {
- ForgeUIPlugin.log(e);
- }
- } else if ("build".equals(currentCommand)) {
-
- } else {
-
- }
- try {
- workbenchPage.showView("org.jboss.tools.forge.console").setFocus();
- } catch (PartInitException e) {
- ForgeUIPlugin.log(e);
- }
- }
-
-}
Deleted: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -1,195 +0,0 @@
-package org.jboss.tools.forge.console;
-
-import java.io.IOException;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.console.IConsoleDocumentPartitioner;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.jboss.tools.forge.core.io.ForgeInputReadJob;
-
-public class Console extends TextConsole implements IDebugEventSetListener {
-
- private ConsolePartitioner partitioner;
- private ConsoleInputStream inputStream;
- private IProcess process = null;
- private IStreamListener outputStreamListener;
-
-
- public Console(IProcess process) {
- super("Forge Console", null, null, true);
- this.process = process;
- initInputStream();
- initPartitioner();
- initCommandRecorder();
- initOutputStream();
- initInputReadJob();
- }
-
- private void initCommandRecorder() {
- getDocument().addDocumentListener(new CommandRecorder());
- }
-
- private void initInputStream() {
- inputStream = new ConsoleInputStream();
- }
-
- private void initOutputStream() {
- outputStreamListener = new IStreamListener() {
- @Override
- public void streamAppended(String text, IStreamMonitor monitor) {
- appendString(text);
- }
- };
- IStreamMonitor streamMonitor = getOutputStreamMonitor();
- synchronized(streamMonitor) {
- streamMonitor.addListener(outputStreamListener);
- }
- }
-
- private IStreamMonitor getOutputStreamMonitor() {
- IStreamMonitor streamMonitor = null;
- IStreamsProxy streamsProxy = process.getStreamsProxy();
- if (streamsProxy != null) {
- streamMonitor = streamsProxy.getOutputStreamMonitor();
- }
- return streamMonitor;
- }
-
- private void initInputReadJob() {
- ForgeInputReadJob inputReadJob = new ForgeInputReadJob(process.getStreamsProxy(), inputStream);
- inputReadJob.setSystem(true);
- inputReadJob.schedule();
- }
-
- private void initPartitioner() {
- partitioner = new ConsolePartitioner();
- partitioner.connect(getDocument());
- }
-
- public IPageBookViewPage createPage(IConsoleView view) {
- throw new UnsupportedOperationException();
- }
-
- public ConsoleInputStream getInputStream() {
- return inputStream;
- }
-
- protected IConsoleDocumentPartitioner getPartitioner() {
- return partitioner;
- }
-
- public void dispose() {
- super.dispose();
- partitioner.disconnect();
- closeStreams();
- disposeStreams();
- DebugPlugin.getDefault().removeDebugEventListener(this);
- }
-
- private synchronized void closeStreams() {
- try {
- inputStream.close();
- } catch (IOException e) {}
- }
-
- private synchronized void disposeStreams() {
- IStreamMonitor streamMonitor = getOutputStreamMonitor();
- if (streamMonitor != null) {
- synchronized(streamMonitor) {
- if (outputStreamListener != null) {
- streamMonitor.removeListener(outputStreamListener);
- }
- }
- }
- outputStreamListener = null;
- inputStream = null;
- }
-
- public void handleDebugEvents(DebugEvent[] events) {
- for (int i = 0; i < events.length; i++) {
- DebugEvent event = events[i];
- if (event.getSource().equals(process)) {
- if (event.getKind() == DebugEvent.TERMINATE) {
- closeStreams();
- DebugPlugin.getDefault().removeDebugEventListener(this);
- }
- }
- }
- }
-
- protected void init() {
- super.init();
- if (process.isTerminated()) {
- closeStreams();
- } else {
- DebugPlugin.getDefault().addDebugEventListener(this);
- }
- }
-
- private int lastLineLength = 0;
- private int lastLinePosition = 0;
- private StringBuffer escapeSequence = new StringBuffer();
- private boolean escapeSequenceStarted = false;
-
- public void appendString(final String str) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- try {
- for (int i = 0; i < str.length(); i++) {
- char c = str.charAt(i);
- if (c == '\r') continue; //ignore
- if (c == '[' && escapeSequenceStarted) continue;
- if (c == 27) {
- escapeSequenceStarted = true;
- continue;
- }
- if (escapeSequenceStarted) {
- int type = Character.getType(c);
- if (type == Character.LOWERCASE_LETTER || type == Character.UPPERCASE_LETTER) {
- if (c == 'G') {
- int columnNumber = Integer.valueOf(escapeSequence.toString());
- escapeSequence.setLength(0);
- lastLineLength = columnNumber - 1;
- escapeSequenceStarted = false;
- } else if (c == 'K') {
- int doclength = getDocument().getLength();
- int currentPosition = lastLinePosition + lastLineLength;
- getDocument().replace(currentPosition, doclength - currentPosition, "");
- escapeSequenceStarted = false;
-// } else if (c == 'm') {
-//
- }
- } else {
- escapeSequence.append(c);
- }
- continue;
- }
- if (str.charAt(i) == '\b') {
- getDocument().replace(getDocument().getLength() - 1, 1, "");
- lastLineLength--;
- } else {
- getDocument().replace(getDocument().getLength(), 0, str.substring(i, i + 1));
- lastLineLength++;
- }
- if (c == '\n') {
- lastLineLength = 0;
- lastLinePosition = getDocument().getLength();
- }
- }
- } catch (BadLocationException e) {}
- }
- });
- }
-
-}
Deleted: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -1,69 +0,0 @@
-package org.jboss.tools.forge.console;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.ui.console.IConsoleDocumentPartitioner;
-
-public class ConsolePartitioner implements IConsoleDocumentPartitioner {
-
- @Override
- public void connect(IDocument document) {
-// System.out.println("connect");
- document.setDocumentPartitioner(this);
- }
-
- @Override
- public void disconnect() {
-// System.out.println("disconnect");
- }
-
- @Override
- public void documentAboutToBeChanged(DocumentEvent event) {
-// System.out.println("documentAboutToBeChanged");
- }
-
- @Override
- public boolean documentChanged(DocumentEvent event) {
-// System.out.println("documentChanged");
- return false;
- }
-
- @Override
- public String[] getLegalContentTypes() {
-// System.out.println("getLegalContentTypes");
- return null;
- }
-
- @Override
- public String getContentType(int offset) {
-// System.out.println("getContentType");
- return null;
- }
-
- @Override
- public ITypedRegion[] computePartitioning(int offset, int length) {
-// System.out.println("computePartitioning");
- return null;
- }
-
- @Override
- public ITypedRegion getPartition(int offset) {
-// System.out.println("getPartition");
- return null;
- }
-
- @Override
- public boolean isReadOnly(int offset) {
-// System.out.println("isReadOnly");
- return false;
- }
-
- @Override
- public StyleRange[] getStyleRanges(int offset, int length) {
-// System.out.println("getStyleRanges : [offset, " + offset + "] [length, " + length + "]");
- return null;
- }
-
-}
Modified: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/old/ConsolePartitioner.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -25,8 +25,8 @@
import org.eclipse.ui.console.IConsoleDocumentPartitioner;
import org.eclipse.ui.progress.UIJob;
import org.eclipse.ui.progress.WorkbenchJob;
-import org.jboss.tools.forge.console.Console;
import org.jboss.tools.forge.console.ConsoleInputStream;
+import org.jboss.tools.forge.ui.console.Console;
/**
* Partitions an IOConsole's document
Copied: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/CommandRecorder.java (from rev 32704, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/CommandRecorder.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/CommandRecorder.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/CommandRecorder.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -0,0 +1,266 @@
+package org.jboss.tools.forge.ui.console;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.ISourceRange;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.ISetSelectionTarget;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.jboss.tools.forge.ForgeUIPlugin;
+import org.jboss.tools.forge.importer.ProjectConfigurationUpdater;
+import org.jboss.tools.forge.importer.ProjectImporter;
+
+public class CommandRecorder implements IDocumentListener {
+
+ private StringBuffer buffer = new StringBuffer();
+ private String beforePrompt = null;
+ private String currentPrompt = null;
+ private String currentCommand = null;
+
+ @Override
+ public void documentAboutToBeChanged(DocumentEvent event) {
+ }
+
+ @Override
+ public void documentChanged(DocumentEvent event) {
+ if (event.getLength() == 1 && "".equals(event.getText())) {
+ buffer.setLength(buffer.length() - 1);
+ } else {
+ buffer.append(event.getText());
+ String newPrompt = getNewPrompt();
+ if (newPrompt != null) {
+ currentPrompt = newPrompt;
+ beforePrompt = buffer.substring(0, buffer.length() - newPrompt.length());
+ buffer.setLength(0);
+ if (currentCommand != null) {
+ postProcessCurrentCommand();
+ currentCommand = null;
+ }
+ } else {
+ if (currentPrompt != null) {
+ String newCommand = getNewCommand();
+ if (newCommand != null) {
+ currentCommand = newCommand;
+ }
+ }
+ }
+ }
+ }
+
+ private String getNewPrompt() {
+ int lastLineBreak = buffer.lastIndexOf("\n");
+ if (lastLineBreak == -1) return null;
+ String lastLine = buffer.substring(lastLineBreak + 1);
+ if (lastLine.length() == 0) return null;
+ if (lastLine.charAt(0) != '[') return null;
+ int rightBracketIndex = lastLine.indexOf(']');
+ if (rightBracketIndex == -1) return null;
+ return lastLine.endsWith("$ ") ? lastLine : null;
+ }
+
+ private String getNewCommand() {
+ String candidateCommand = buffer.toString();
+ if ("pwd".equals(candidateCommand)) {
+ return "pwd";
+ } else if ("new-project".equals(candidateCommand)) {
+ return "new-project";
+ } else if ("persistence".equals(candidateCommand)) {
+ return "persistence";
+ } else if ("entity".equals(candidateCommand)) {
+ return "entity";
+ } else if ("field".equals(candidateCommand)) {
+ return "field";
+ } else if ("prettyfaces".equals(candidateCommand)) {
+ return "prettyfaces";
+ } else if ("build".equals(candidateCommand)) {
+ return "build";
+ } else {
+ return null;
+ }
+ }
+
+ private void postProcessCurrentCommand() {
+ IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
+ String projectName = currentPrompt.substring(1, currentPrompt.indexOf(']'));
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ if (project != null) {
+ try {
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
+ } catch (CoreException e) {
+ ForgeUIPlugin.log(e);
+ }
+ }
+ if ("pwd".equals(currentCommand)) {
+ // do nothing
+ } else if ("new-project".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("***SUCCESS*** Created project [");
+ if (index == -1) return;
+ if (index + 31 > beforePrompt.length()) return;
+ String str = beforePrompt.substring(index + 31);
+ index = str.lastIndexOf("] in new working directory [");
+ if (index == -1) return;
+ if (index + 28 > str.length()) return;
+ str = str.substring(index + 28);
+ index = str.indexOf("]");
+ if (index == -1) return;
+ String projectPath = str.substring(0, index);
+ index = projectPath.lastIndexOf('/');
+ String projectDirName = projectPath.substring(index + 1);
+ String projectBaseDirPath = projectPath.substring(0, index);
+ ProjectImporter importer = new ProjectImporter(projectBaseDirPath, projectDirName);
+ importer.importProject();
+ } else if ("persistence".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed [forge.spec.jpa] successfully.\nWrote ");
+ if (index == -1) return;
+ try {
+ IFile file = project.getFile("/src/main/resources/META-INF/persistence.xml");
+ if (file == null) return;
+ Object objectToSelect = file;
+ IDE.openEditor(workbenchPage, file);
+ IViewPart projectExplorer = workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
+ if (projectExplorer != null && projectExplorer instanceof ISetSelectionTarget) {
+ ((ISetSelectionTarget)projectExplorer).selectReveal(new StructuredSelection(objectToSelect));
+ }
+ IViewPart packageExplorer = workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
+ if (packageExplorer == null && projectExplorer == null) {
+ packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
+ }
+ if (packageExplorer != null && packageExplorer instanceof ISetSelectionTarget) {
+ ((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(objectToSelect));
+ }
+ } catch (PartInitException e) {
+ ForgeUIPlugin.log(e);
+ }
+ } else if ("entity".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("Picked up type <JavaResource>: ");
+ if (index == -1) return;
+ if (index + 31 > beforePrompt.length() -1) return;
+ String entityName = beforePrompt.substring(index + 31, beforePrompt.length() - 1).replace('.', '/');
+ try {
+ IFile file = project.getFile("/src/main/java/" + entityName + ".java");
+ if (file == null) return;
+ Object objectToSelect = file;
+ IDE.openEditor(workbenchPage, file);
+ IJavaElement javaElement = JavaCore.create(file);
+ if (javaElement != null && javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
+ try {
+ objectToSelect = ((ICompilationUnit)javaElement).getTypes()[0];
+ } catch (JavaModelException e) {
+ ForgeUIPlugin.log(e);
+ }
+ }
+ IViewPart projectExplorer = workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
+ if (projectExplorer != null && projectExplorer instanceof ISetSelectionTarget) {
+ ((ISetSelectionTarget)projectExplorer).selectReveal(new StructuredSelection(objectToSelect));
+ }
+ IViewPart packageExplorer = workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
+ if (packageExplorer == null && projectExplorer == null) {
+ packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
+ }
+ if (packageExplorer != null && packageExplorer instanceof ISetSelectionTarget) {
+ ((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(objectToSelect));
+ }
+ } catch (PartInitException e) {
+ ForgeUIPlugin.log(e);
+ }
+ } else if ("field".equals(currentCommand)) {
+ try {
+ int index = beforePrompt.lastIndexOf("Added field to ");
+ if (index == -1) return;
+ if (index + 15 > beforePrompt.length()) return;
+ String str = beforePrompt.substring(index + 15);
+ index = str.indexOf(':');
+ if (index == -1) return;
+ String entityName = str.substring(0, index);
+ str = str.substring(index);
+ index = str.lastIndexOf(';');
+ if (index == -1) return;
+ str = str.substring(0, index);
+ index = str.lastIndexOf(' ');
+ if (index == -1) return;
+ String fieldName = str.substring(index + 1);
+ IFile file = project.getFile("/src/main/java/" + entityName.replace('.', '/') + ".java");
+ if (file == null) return;
+ IEditorPart editorPart = IDE.openEditor(workbenchPage, file);
+ IJavaElement javaElement = JavaCore.create(file);
+ if (javaElement != null && javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
+ try {
+ IType type = ((ICompilationUnit)javaElement).getTypes()[0];
+ IField field = type.getField(fieldName);
+ if (field != null) {
+ ISourceRange sourceRange = field.getSourceRange();
+ if (sourceRange != null && editorPart != null && editorPart instanceof ITextEditor) {
+ ((ITextEditor)editorPart).selectAndReveal(sourceRange.getOffset(), sourceRange.getLength());
+ }
+ }
+ } catch (JavaModelException e) {
+ ForgeUIPlugin.log(e);
+ }
+ }
+ } catch (PartInitException e) {
+ ForgeUIPlugin.log(e);
+ }
+ } else if ("prettyfaces".equals(currentCommand)) {
+ int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed [com.ocpsoft.prettyfaces] successfully.");
+ if (index == -1) return;
+ String str = beforePrompt.substring(0, index - 1);
+ index = str.lastIndexOf("Wrote ");
+ if (index == -1) return;
+ if (index + 6 > str.length()) return;
+ str = str.substring(index + 6);
+ String projectLocation = project.getLocation().toString();
+ index = str.lastIndexOf(projectLocation);
+ if (index != 0) return;
+ str = str.substring(projectLocation.length());
+ IFile file = project.getFile(str);
+ if (file == null) return;
+ Object objectToSelect = file;
+ new ProjectConfigurationUpdater(project).updateProject();
+ try {
+ IDE.openEditor(workbenchPage, file);
+ IViewPart projectExplorer = workbenchPage.findView("org.eclipse.ui.navigator.ProjectExplorer");
+ if (projectExplorer != null && projectExplorer instanceof ISetSelectionTarget) {
+ ((ISetSelectionTarget)projectExplorer).selectReveal(new StructuredSelection(objectToSelect));
+ }
+ IViewPart packageExplorer = workbenchPage.findView("org.eclipse.jdt.ui.PackageExplorer");
+ if (packageExplorer == null && projectExplorer == null) {
+ packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer");
+ }
+ if (packageExplorer != null && packageExplorer instanceof ISetSelectionTarget) {
+ ((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(objectToSelect));
+ }
+ } catch (PartInitException e) {
+ ForgeUIPlugin.log(e);
+ }
+ } else if ("build".equals(currentCommand)) {
+
+ } else {
+
+ }
+ try {
+ workbenchPage.showView("org.jboss.tools.forge.console").setFocus();
+ } catch (PartInitException e) {
+ ForgeUIPlugin.log(e);
+ }
+ }
+
+}
Copied: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/Console.java (from rev 32704, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/Console.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/Console.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/Console.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -0,0 +1,196 @@
+package org.jboss.tools.forge.ui.console;
+
+import java.io.IOException;
+
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IDebugEventSetListener;
+import org.eclipse.debug.core.IStreamListener;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.debug.core.model.IStreamMonitor;
+import org.eclipse.debug.core.model.IStreamsProxy;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.console.IConsoleDocumentPartitioner;
+import org.eclipse.ui.console.IConsoleView;
+import org.eclipse.ui.console.TextConsole;
+import org.eclipse.ui.part.IPageBookViewPage;
+import org.jboss.tools.forge.console.ConsoleInputStream;
+import org.jboss.tools.forge.core.io.ForgeInputReadJob;
+
+public class Console extends TextConsole implements IDebugEventSetListener {
+
+ private ConsolePartitioner partitioner;
+ private ConsoleInputStream inputStream;
+ private IProcess process = null;
+ private IStreamListener outputStreamListener;
+
+
+ public Console(IProcess process) {
+ super("Forge Console", null, null, true);
+ this.process = process;
+ initInputStream();
+ initPartitioner();
+ initCommandRecorder();
+ initOutputStream();
+ initInputReadJob();
+ }
+
+ private void initCommandRecorder() {
+ getDocument().addDocumentListener(new CommandRecorder());
+ }
+
+ private void initInputStream() {
+ inputStream = new ConsoleInputStream();
+ }
+
+ private void initOutputStream() {
+ outputStreamListener = new IStreamListener() {
+ @Override
+ public void streamAppended(String text, IStreamMonitor monitor) {
+ appendString(text);
+ }
+ };
+ IStreamMonitor streamMonitor = getOutputStreamMonitor();
+ synchronized(streamMonitor) {
+ streamMonitor.addListener(outputStreamListener);
+ }
+ }
+
+ private IStreamMonitor getOutputStreamMonitor() {
+ IStreamMonitor streamMonitor = null;
+ IStreamsProxy streamsProxy = process.getStreamsProxy();
+ if (streamsProxy != null) {
+ streamMonitor = streamsProxy.getOutputStreamMonitor();
+ }
+ return streamMonitor;
+ }
+
+ private void initInputReadJob() {
+ ForgeInputReadJob inputReadJob = new ForgeInputReadJob(process.getStreamsProxy(), inputStream);
+ inputReadJob.setSystem(true);
+ inputReadJob.schedule();
+ }
+
+ private void initPartitioner() {
+ partitioner = new ConsolePartitioner();
+ partitioner.connect(getDocument());
+ }
+
+ public IPageBookViewPage createPage(IConsoleView view) {
+ throw new UnsupportedOperationException();
+ }
+
+ public ConsoleInputStream getInputStream() {
+ return inputStream;
+ }
+
+ protected IConsoleDocumentPartitioner getPartitioner() {
+ return partitioner;
+ }
+
+ public void dispose() {
+ super.dispose();
+ partitioner.disconnect();
+ closeStreams();
+ disposeStreams();
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ }
+
+ private synchronized void closeStreams() {
+ try {
+ inputStream.close();
+ } catch (IOException e) {}
+ }
+
+ private synchronized void disposeStreams() {
+ IStreamMonitor streamMonitor = getOutputStreamMonitor();
+ if (streamMonitor != null) {
+ synchronized(streamMonitor) {
+ if (outputStreamListener != null) {
+ streamMonitor.removeListener(outputStreamListener);
+ }
+ }
+ }
+ outputStreamListener = null;
+ inputStream = null;
+ }
+
+ public void handleDebugEvents(DebugEvent[] events) {
+ for (int i = 0; i < events.length; i++) {
+ DebugEvent event = events[i];
+ if (event.getSource().equals(process)) {
+ if (event.getKind() == DebugEvent.TERMINATE) {
+ closeStreams();
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ }
+ }
+ }
+ }
+
+ protected void init() {
+ super.init();
+ if (process.isTerminated()) {
+ closeStreams();
+ } else {
+ DebugPlugin.getDefault().addDebugEventListener(this);
+ }
+ }
+
+ private int lastLineLength = 0;
+ private int lastLinePosition = 0;
+ private StringBuffer escapeSequence = new StringBuffer();
+ private boolean escapeSequenceStarted = false;
+
+ public void appendString(final String str) {
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ for (int i = 0; i < str.length(); i++) {
+ char c = str.charAt(i);
+ if (c == '\r') continue; //ignore
+ if (c == '[' && escapeSequenceStarted) continue;
+ if (c == 27) {
+ escapeSequenceStarted = true;
+ continue;
+ }
+ if (escapeSequenceStarted) {
+ int type = Character.getType(c);
+ if (type == Character.LOWERCASE_LETTER || type == Character.UPPERCASE_LETTER) {
+ if (c == 'G') {
+ int columnNumber = Integer.valueOf(escapeSequence.toString());
+ escapeSequence.setLength(0);
+ lastLineLength = columnNumber - 1;
+ escapeSequenceStarted = false;
+ } else if (c == 'K') {
+ int doclength = getDocument().getLength();
+ int currentPosition = lastLinePosition + lastLineLength;
+ getDocument().replace(currentPosition, doclength - currentPosition, "");
+ escapeSequenceStarted = false;
+// } else if (c == 'm') {
+//
+ }
+ } else {
+ escapeSequence.append(c);
+ }
+ continue;
+ }
+ if (str.charAt(i) == '\b') {
+ getDocument().replace(getDocument().getLength() - 1, 1, "");
+ lastLineLength--;
+ } else {
+ getDocument().replace(getDocument().getLength(), 0, str.substring(i, i + 1));
+ lastLineLength++;
+ }
+ if (c == '\n') {
+ lastLineLength = 0;
+ lastLinePosition = getDocument().getLength();
+ }
+ }
+ } catch (BadLocationException e) {}
+ }
+ });
+ }
+
+}
Copied: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePage.java (from rev 32704, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePage.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePage.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -0,0 +1,40 @@
+package org.jboss.tools.forge.ui.console;
+
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.console.TextConsoleViewer;
+import org.eclipse.ui.part.Page;
+
+public class ConsolePage extends Page {
+
+ private TextConsoleViewer viewer;
+ private Console console;
+ private IProcess process;
+
+ public ConsolePage(IProcess process) {
+ this.process = process;
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ console = new Console(process);
+ viewer = new ConsoleViewer(parent, console);
+ console.initialize();
+ }
+
+ @Override
+ public Control getControl() {
+ return viewer == null ? null : viewer.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ viewer.getControl().setFocus();
+ }
+
+ public Console getConsole() {
+ return console;
+ }
+
+}
Copied: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePartitioner.java (from rev 32704, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/console/ConsolePartitioner.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePartitioner.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsolePartitioner.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -0,0 +1,69 @@
+package org.jboss.tools.forge.ui.console;
+
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITypedRegion;
+import org.eclipse.swt.custom.StyleRange;
+import org.eclipse.ui.console.IConsoleDocumentPartitioner;
+
+public class ConsolePartitioner implements IConsoleDocumentPartitioner {
+
+ @Override
+ public void connect(IDocument document) {
+// System.out.println("connect");
+ document.setDocumentPartitioner(this);
+ }
+
+ @Override
+ public void disconnect() {
+// System.out.println("disconnect");
+ }
+
+ @Override
+ public void documentAboutToBeChanged(DocumentEvent event) {
+// System.out.println("documentAboutToBeChanged");
+ }
+
+ @Override
+ public boolean documentChanged(DocumentEvent event) {
+// System.out.println("documentChanged");
+ return false;
+ }
+
+ @Override
+ public String[] getLegalContentTypes() {
+// System.out.println("getLegalContentTypes");
+ return null;
+ }
+
+ @Override
+ public String getContentType(int offset) {
+// System.out.println("getContentType");
+ return null;
+ }
+
+ @Override
+ public ITypedRegion[] computePartitioning(int offset, int length) {
+// System.out.println("computePartitioning");
+ return null;
+ }
+
+ @Override
+ public ITypedRegion getPartition(int offset) {
+// System.out.println("getPartition");
+ return null;
+ }
+
+ @Override
+ public boolean isReadOnly(int offset) {
+// System.out.println("isReadOnly");
+ return false;
+ }
+
+ @Override
+ public StyleRange[] getStyleRanges(int offset, int length) {
+// System.out.println("getStyleRanges : [offset, " + offset + "] [length, " + length + "]");
+ return null;
+ }
+
+}
Copied: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsoleViewer.java (from rev 32704, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsoleViewer.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/console/ConsoleViewer.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -0,0 +1,84 @@
+package org.jboss.tools.forge.ui.console;
+
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.VerifyEvent;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.console.TextConsoleViewer;
+
+public class ConsoleViewer extends TextConsoleViewer {
+
+ private static String BACKSPACE = new Character('\b').toString();
+ private static String UP_ARROW = new Character((char)16).toString();
+ private static String DOWN_ARROW = new Character((char)14).toString();
+
+ private Console console = null;
+
+ public ConsoleViewer(Composite parent, Console console) {
+ super(parent, console);
+ this.console = console;
+ getDocument().addDocumentListener(new DocumentListener());
+ }
+
+ protected void handleVerifyEvent(VerifyEvent e) {
+ console.getInputStream().appendData(e.text);
+ e.doit = false;
+ }
+
+ private void handleBackspace() {
+ console.getInputStream().appendData(BACKSPACE);
+ }
+
+ private void handleArrowUp() {
+ console.getInputStream().appendData(UP_ARROW);
+ }
+
+ private void handleArrowDown() {
+ console.getInputStream().appendData(DOWN_ARROW);
+ }
+
+ protected StyledText createTextWidget(Composite parent, int styles) {
+ StyledText styledText = super.createTextWidget(parent, styles);
+ styledText.addKeyListener(new ConsoleKeyListener());
+ return styledText;
+ }
+
+ private class DocumentListener implements IDocumentListener {
+
+ public void documentAboutToBeChanged(DocumentEvent event) {
+ }
+
+
+ public void documentChanged(DocumentEvent event) {
+ revealEndOfDocument();
+ Control control = getControl();
+ if (control instanceof StyledText) {
+ StyledText text = (StyledText)control;
+ text.setCaretOffset(text.getCharCount());
+ }
+ }
+ }
+
+ private class ConsoleKeyListener implements KeyListener {
+
+ public void keyPressed(KeyEvent e) {
+ }
+
+ public void keyReleased(KeyEvent e) {
+ if (e.keyCode == SWT.BS) {
+ handleBackspace();
+ } else if (e.keyCode == SWT.ARROW_UP) {
+ handleArrowUp();
+ } else if (e.keyCode == SWT.ARROW_DOWN) {
+ handleArrowDown();
+ }
+ }
+
+ }
+
+}
Modified: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -13,10 +13,10 @@
import org.eclipse.ui.part.PageBook;
import org.eclipse.ui.part.PageSite;
import org.eclipse.ui.part.ViewPart;
-import org.jboss.tools.forge.console.Console;
import org.jboss.tools.forge.core.preferences.ForgeRuntimesPreferences;
import org.jboss.tools.forge.core.process.ForgeRuntime;
-import org.jboss.tools.forge.view.ConsolePage;
+import org.jboss.tools.forge.ui.console.Console;
+import org.jboss.tools.forge.ui.console.ConsolePage;
public class ConsoleView extends ViewPart implements PropertyChangeListener {
Deleted: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsolePage.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -1,41 +0,0 @@
-package org.jboss.tools.forge.view;
-
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.console.TextConsoleViewer;
-import org.eclipse.ui.part.Page;
-import org.jboss.tools.forge.console.Console;
-
-public class ConsolePage extends Page {
-
- private TextConsoleViewer viewer;
- private Console console;
- private IProcess process;
-
- public ConsolePage(IProcess process) {
- this.process = process;
- }
-
- @Override
- public void createControl(Composite parent) {
- console = new Console(process);
- viewer = new ConsoleViewer(parent, console);
- console.initialize();
- }
-
- @Override
- public Control getControl() {
- return viewer == null ? null : viewer.getControl();
- }
-
- @Override
- public void setFocus() {
- viewer.getControl().setFocus();
- }
-
- public Console getConsole() {
- return console;
- }
-
-}
Deleted: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java 2011-07-07 13:26:33 UTC (rev 32707)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleViewer.java 2011-07-07 13:29:35 UTC (rev 32708)
@@ -1,85 +0,0 @@
-package org.jboss.tools.forge.view;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.console.TextConsoleViewer;
-import org.jboss.tools.forge.console.Console;
-
-public class ConsoleViewer extends TextConsoleViewer {
-
- private static String BACKSPACE = new Character('\b').toString();
- private static String UP_ARROW = new Character((char)16).toString();
- private static String DOWN_ARROW = new Character((char)14).toString();
-
- private Console console = null;
-
- public ConsoleViewer(Composite parent, Console console) {
- super(parent, console);
- this.console = console;
- getDocument().addDocumentListener(new DocumentListener());
- }
-
- protected void handleVerifyEvent(VerifyEvent e) {
- console.getInputStream().appendData(e.text);
- e.doit = false;
- }
-
- private void handleBackspace() {
- console.getInputStream().appendData(BACKSPACE);
- }
-
- private void handleArrowUp() {
- console.getInputStream().appendData(UP_ARROW);
- }
-
- private void handleArrowDown() {
- console.getInputStream().appendData(DOWN_ARROW);
- }
-
- protected StyledText createTextWidget(Composite parent, int styles) {
- StyledText styledText = super.createTextWidget(parent, styles);
- styledText.addKeyListener(new ConsoleKeyListener());
- return styledText;
- }
-
- private class DocumentListener implements IDocumentListener {
-
- public void documentAboutToBeChanged(DocumentEvent event) {
- }
-
-
- public void documentChanged(DocumentEvent event) {
- revealEndOfDocument();
- Control control = getControl();
- if (control instanceof StyledText) {
- StyledText text = (StyledText)control;
- text.setCaretOffset(text.getCharCount());
- }
- }
- }
-
- private class ConsoleKeyListener implements KeyListener {
-
- public void keyPressed(KeyEvent e) {
- }
-
- public void keyReleased(KeyEvent e) {
- if (e.keyCode == SWT.BS) {
- handleBackspace();
- } else if (e.keyCode == SWT.ARROW_UP) {
- handleArrowUp();
- } else if (e.keyCode == SWT.ARROW_DOWN) {
- handleArrowDown();
- }
- }
-
- }
-
-}
14 years, 9 months
JBoss Tools SVN: r32707 - in trunk/forge/plugins/org.jboss.tools.forge.ui: src/org/jboss/tools/forge/action and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2011-07-07 09:26:33 -0400 (Thu, 07 Jul 2011)
New Revision: 32707
Added:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java
Removed:
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java
Modified:
trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java
trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java
Log:
move ConsoleView to org.jboss.tools.forge.ui.part
Modified: trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml 2011-07-07 13:17:26 UTC (rev 32706)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/plugin.xml 2011-07-07 13:26:33 UTC (rev 32707)
@@ -9,7 +9,7 @@
</category>
<view
category="org.jboss.tools.forge"
- class="org.jboss.tools.forge.view.ConsoleView"
+ class="org.jboss.tools.forge.ui.part.ConsoleView"
id="org.jboss.tools.forge.console"
name="Forge Console"
restorable="true">
Modified: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java 2011-07-07 13:17:26 UTC (rev 32706)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StartDelegate.java 2011-07-07 13:26:33 UTC (rev 32707)
@@ -4,7 +4,7 @@
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
-import org.jboss.tools.forge.view.ConsoleView;
+import org.jboss.tools.forge.ui.part.ConsoleView;
public class StartDelegate implements IViewActionDelegate {
Modified: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java 2011-07-07 13:17:26 UTC (rev 32706)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/action/StopDelegate.java 2011-07-07 13:26:33 UTC (rev 32707)
@@ -4,7 +4,7 @@
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
-import org.jboss.tools.forge.view.ConsoleView;
+import org.jboss.tools.forge.ui.part.ConsoleView;
public class StopDelegate implements IViewActionDelegate {
Copied: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java (from rev 32694, trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java)
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java (rev 0)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/ui/part/ConsoleView.java 2011-07-07 13:26:33 UTC (rev 32707)
@@ -0,0 +1,157 @@
+package org.jboss.tools.forge.ui.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.part.MessagePage;
+import org.eclipse.ui.part.PageBook;
+import org.eclipse.ui.part.PageSite;
+import org.eclipse.ui.part.ViewPart;
+import org.jboss.tools.forge.console.Console;
+import org.jboss.tools.forge.core.preferences.ForgeRuntimesPreferences;
+import org.jboss.tools.forge.core.process.ForgeRuntime;
+import org.jboss.tools.forge.view.ConsolePage;
+
+public class ConsoleView extends ViewPart implements PropertyChangeListener {
+
+ public static ConsoleView INSTANCE;
+
+ private PageBook pageBook = null;
+ private Control notRunning;
+ private Control starting;
+ private Control running;
+ private ConsolePage forgeIsRunningPage;
+
+ private ForgeRuntime runtime;
+
+ public ConsoleView() {
+ if (INSTANCE == null) {
+ INSTANCE = this;
+ }
+ }
+
+ @Override
+ public void createPartControl(Composite parent) {
+ pageBook = new PageBook(parent, SWT.NONE);
+ createNotRunningPage(parent);
+ createStartingPage(parent);
+ showPage(notRunning);
+ }
+
+ private void createNotRunningPage(Composite parent) {
+ MessagePage page = new MessagePage();
+ page.createControl(pageBook);
+ page.init(new PageSite(getViewSite()));
+ page.setMessage("Forge is not running.");
+ notRunning = page.getControl();
+ }
+
+ private void createStartingPage(Composite parent) {
+ MessagePage page = new MessagePage();
+ page.createControl(pageBook);
+ page.init(new PageSite(getViewSite()));
+ page.setMessage("Please wait while Forge is starting");
+ starting = page.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ if (runtime != null && ForgeRuntime.STATE_RUNNING.equals(runtime.getState())) {
+ forgeIsRunningPage.setFocus();
+ }
+ }
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (ForgeRuntime.STATE_STARTING.equals(evt.getNewValue())) {
+ handleStateStarting();
+ } else if (ForgeRuntime.STATE_RUNNING.equals(evt.getNewValue())) {
+ handleStateRunning();
+ } else if (ForgeRuntime.STATE_NOT_RUNNING.equals(evt.getNewValue())) {
+ handleStateNotRunning();
+ }
+ }
+
+ private void handleStateStarting() {
+ showPage(starting);
+ createRunningPage();
+ }
+
+ private void handleStateRunning() {
+ showPage(running);
+ }
+
+ private void handleStateNotRunning() {
+ if (runtime != null) {
+ runtime.removePropertyChangeListener(INSTANCE);
+ runtime = null;
+ }
+ showPage(notRunning);
+ }
+
+ private void showPage(final Control control) {
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ pageBook.showPage(control);
+ }
+ });
+ }
+
+ private void createRunningPage() {
+ Control oldForgeIsRunning = running;
+ ConsolePage oldForgeIsRunningPage = forgeIsRunningPage;
+ forgeIsRunningPage = new ConsolePage(runtime.getProcess());
+ forgeIsRunningPage.createControl(pageBook);
+ forgeIsRunningPage.init(new PageSite(getViewSite()));
+ running = forgeIsRunningPage.getControl();
+ if (oldForgeIsRunningPage != null) {
+ Console oldConsole = oldForgeIsRunningPage.getConsole();
+ if (oldConsole != null) {
+ DebugPlugin.getDefault().removeDebugEventListener(oldConsole);
+ oldConsole.dispose();
+ }
+ oldForgeIsRunningPage.dispose();
+ }
+ if (oldForgeIsRunning != null) {
+ oldForgeIsRunning.dispose();
+ }
+ }
+
+ public void dispose() {
+ if (runtime != null) {
+ runtime.stop(null);
+ runtime = null;
+ }
+ super.dispose();
+ }
+
+ public void startForge() {
+ if (runtime != null) return;
+ runtime = ForgeRuntimesPreferences.INSTANCE.getDefault();
+ runtime.addPropertyChangeListener(INSTANCE);
+ final IProgressMonitor progressMonitor = getViewSite().getActionBars().getStatusLineManager().getProgressMonitor();
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ runtime.start(progressMonitor);
+ if (progressMonitor.isCanceled()) {
+ handleStateNotRunning();
+ }
+ }
+ });
+ }
+
+ public void stopForge() {
+ if (runtime == null) return;
+ final IProgressMonitor progressMonitor = getViewSite().getActionBars().getStatusLineManager().getProgressMonitor();
+ runtime.stop(progressMonitor);
+ }
+
+}
Deleted: trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java 2011-07-07 13:17:26 UTC (rev 32706)
+++ trunk/forge/plugins/org.jboss.tools.forge.ui/src/org/jboss/tools/forge/view/ConsoleView.java 2011-07-07 13:26:33 UTC (rev 32707)
@@ -1,156 +0,0 @@
-package org.jboss.tools.forge.view;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageSite;
-import org.eclipse.ui.part.ViewPart;
-import org.jboss.tools.forge.console.Console;
-import org.jboss.tools.forge.core.preferences.ForgeRuntimesPreferences;
-import org.jboss.tools.forge.core.process.ForgeRuntime;
-
-public class ConsoleView extends ViewPart implements PropertyChangeListener {
-
- public static ConsoleView INSTANCE;
-
- private PageBook pageBook = null;
- private Control notRunning;
- private Control starting;
- private Control running;
- private ConsolePage forgeIsRunningPage;
-
- private ForgeRuntime runtime;
-
- public ConsoleView() {
- if (INSTANCE == null) {
- INSTANCE = this;
- }
- }
-
- @Override
- public void createPartControl(Composite parent) {
- pageBook = new PageBook(parent, SWT.NONE);
- createNotRunningPage(parent);
- createStartingPage(parent);
- showPage(notRunning);
- }
-
- private void createNotRunningPage(Composite parent) {
- MessagePage page = new MessagePage();
- page.createControl(pageBook);
- page.init(new PageSite(getViewSite()));
- page.setMessage("Forge is not running.");
- notRunning = page.getControl();
- }
-
- private void createStartingPage(Composite parent) {
- MessagePage page = new MessagePage();
- page.createControl(pageBook);
- page.init(new PageSite(getViewSite()));
- page.setMessage("Please wait while Forge is starting");
- starting = page.getControl();
- }
-
- @Override
- public void setFocus() {
- if (runtime != null && ForgeRuntime.STATE_RUNNING.equals(runtime.getState())) {
- forgeIsRunningPage.setFocus();
- }
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if (ForgeRuntime.STATE_STARTING.equals(evt.getNewValue())) {
- handleStateStarting();
- } else if (ForgeRuntime.STATE_RUNNING.equals(evt.getNewValue())) {
- handleStateRunning();
- } else if (ForgeRuntime.STATE_NOT_RUNNING.equals(evt.getNewValue())) {
- handleStateNotRunning();
- }
- }
-
- private void handleStateStarting() {
- showPage(starting);
- createRunningPage();
- }
-
- private void handleStateRunning() {
- showPage(running);
- }
-
- private void handleStateNotRunning() {
- if (runtime != null) {
- runtime.removePropertyChangeListener(INSTANCE);
- runtime = null;
- }
- showPage(notRunning);
- }
-
- private void showPage(final Control control) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- pageBook.showPage(control);
- }
- });
- }
-
- private void createRunningPage() {
- Control oldForgeIsRunning = running;
- ConsolePage oldForgeIsRunningPage = forgeIsRunningPage;
- forgeIsRunningPage = new ConsolePage(runtime.getProcess());
- forgeIsRunningPage.createControl(pageBook);
- forgeIsRunningPage.init(new PageSite(getViewSite()));
- running = forgeIsRunningPage.getControl();
- if (oldForgeIsRunningPage != null) {
- Console oldConsole = oldForgeIsRunningPage.getConsole();
- if (oldConsole != null) {
- DebugPlugin.getDefault().removeDebugEventListener(oldConsole);
- oldConsole.dispose();
- }
- oldForgeIsRunningPage.dispose();
- }
- if (oldForgeIsRunning != null) {
- oldForgeIsRunning.dispose();
- }
- }
-
- public void dispose() {
- if (runtime != null) {
- runtime.stop(null);
- runtime = null;
- }
- super.dispose();
- }
-
- public void startForge() {
- if (runtime != null) return;
- runtime = ForgeRuntimesPreferences.INSTANCE.getDefault();
- runtime.addPropertyChangeListener(INSTANCE);
- final IProgressMonitor progressMonitor = getViewSite().getActionBars().getStatusLineManager().getProgressMonitor();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- runtime.start(progressMonitor);
- if (progressMonitor.isCanceled()) {
- handleStateNotRunning();
- }
- }
- });
- }
-
- public void stopForge() {
- if (runtime == null) return;
- final IProgressMonitor progressMonitor = getViewSite().getActionBars().getStatusLineManager().getProgressMonitor();
- runtime.stop(progressMonitor);
- }
-
-}
14 years, 9 months
JBoss Tools SVN: r32706 - in trunk/as/plugins: org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 09:17:26 -0400 (Thu, 07 Jul 2011)
New Revision: 32706
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
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.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java
Log:
[JBIDE-9215] moved polling related code to superclass of all delegates
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:17:26 UTC (rev 32706)
@@ -16,14 +16,17 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.server.IJBoss6Server;
+import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.core.util.PollThreadUtils;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public abstract class AbstractJBossBehaviourDelegate implements IJBossBehaviourDelegate {
private DelegatingServerBehavior actualBehavior;
-
+ protected PollThread pollThread = null;
+
@Override
public void setActualBehaviour(DelegatingServerBehavior actualBehaviour) {
this.actualBehavior = actualBehaviour;
@@ -87,4 +90,13 @@
return args;
}
+ protected void pollServer(final boolean expectedState) {
+ IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
+ this.pollThread = PollThreadUtils.pollServer(expectedState, poller , pollThread, getActualBehavior());
+ }
+
+ protected void pollServer(boolean expectedState, IServerStatePoller poller) {
+ this.pollThread = PollThreadUtils.pollServer(expectedState, poller, pollThread, getActualBehavior());
+ }
+
}
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-07 13:14:10 UTC (rev 32705)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-07-07 13:17:26 UTC (rev 32706)
@@ -53,7 +53,6 @@
private static final String STOP_LAUNCH_TYPE = "org.jboss.ide.eclipse.as.core.server.stopLaunchConfiguration"; //$NON-NLS-1$
- protected PollThread pollThread = null;
protected IProcess process;
protected boolean nextStopRequiresForce = false;
public LocalJBossBehaviorDelegate() {
@@ -209,16 +208,6 @@
return process;
}
- protected void pollServer(final boolean expectedState) {
- IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- this.pollThread = PollThreadUtils.pollServer(expectedState, poller , pollThread, getActualBehavior());
- }
-
- protected void pollServer(boolean expectedState, IServerStatePoller poller) {
- this.pollThread = PollThreadUtils.pollServer(expectedState, poller, pollThread, getActualBehavior());
- }
-
-
protected void stopPolling() {
cancelPolling(null);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java 2011-07-07 13:17:26 UTC (rev 32706)
@@ -14,12 +14,9 @@
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.AbstractJBossBehaviourDelegate;
-import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
import org.jboss.ide.eclipse.as.core.util.LaunchCommandPreferences;
-import org.jboss.ide.eclipse.as.core.util.PollThreadUtils;
public abstract class AbstractRSEBehaviourDelegate extends AbstractJBossBehaviourDelegate {
- private PollThread pollThread = null;
@Override
public String getBehaviourTypeId() {
@@ -61,7 +58,4 @@
pollServer(IServerStatePoller.SERVER_DOWN);
}
- protected void pollServer(final boolean expectedState) {
- IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- this.pollThread = PollThreadUtils.pollServer(expectedState, poller, pollThread, getActualBehavior()); }
}
14 years, 9 months
JBoss Tools SVN: r32705 - in trunk/as/plugins: org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 09:14:10 -0400 (Thu, 07 Jul 2011)
New Revision: 32705
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java
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.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
Log:
[JBIDE-9215] renamed #setServerStarting and #setServerStopping to #serverIsStopping and #serverIsStarting since those methods should be called by the delegating server behavior to notify delegates
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:01:44 UTC (rev 32704)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
@@ -49,14 +49,10 @@
protected abstract IStatus gracefullStop();
- @Deprecated
- public void serverStarting() {
- setServerStarting();
+ public void serverIsStarting() {
}
- @Deprecated
- public void serverStopping() {
- setServerStopping();
+ public void serverIsStopping() {
}
@Override
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java 2011-07-07 13:01:44 UTC (rev 32704)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java 2011-07-07 13:14:10 UTC (rev 32705)
@@ -103,13 +103,13 @@
@Override
public void setServerStarting() {
super.setServerStarting();
- getDelegate().setServerStarting();
+ getDelegate().serverIsStarting();
}
@Override
public void setServerStopping() {
super.setServerStopping();
- getDelegate().setServerStopping();
+ getDelegate().serverIsStopping();
}
protected void publishStart(final IProgressMonitor monitor) throws CoreException {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java 2011-07-07 13:01:44 UTC (rev 32704)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
@@ -27,9 +27,9 @@
public void publishFinish(final IProgressMonitor monitor) throws CoreException;
- public void setServerStarting();
+ public void serverIsStarting();
- public void setServerStopping();
+ public void serverIsStopping();
public IStatus canChangeState(String launchMode);
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-07 13:01:44 UTC (rev 32704)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
@@ -196,20 +196,12 @@
&& !process.isTerminated();
}
- /**
- * ATTENTION: don't call this directly, use {@link #getActualBehavior().getServerStarting()} instead.
- * if we would call the delegating server behavior here to set it's state, we would cause an infinite loop.
- */
- public void setServerStarting() {
+ public void serverIsStarting() {
nextStopRequiresForce = false;
pollServer(IServerStatePoller.SERVER_UP);
}
- /**
- * ATTENTION: don't call this directly, use {@link #getActualBehavior().getServerStopping()} instead.
- * if we would call the delegating server behavior here to set it's state, we would cause an infinite loop.
- */
- public void setServerStopping() {
+ public void serverIsStopping() {
pollServer(IServerStatePoller.SERVER_DOWN);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java 2011-07-07 13:01:44 UTC (rev 32704)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/AbstractRSEBehaviourDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
@@ -49,7 +49,7 @@
* ATTENTION: don't call this directly, use {@link #getActualBehavior().getServerStarting()} instead.
* if we would call the delegating server behavior here to set it's state, we would cause an infinite loop.
*/
- public void setServerStarting() {
+ public void serverIsStarting() {
pollServer(IServerStatePoller.SERVER_UP);
}
@@ -57,7 +57,7 @@
* ATTENTION: don't call this directly, use {@link #getActualBehavior().getServerStopping()} instead.
* if we would call the delegating server behavior here to set it's state, we would cause an infinite loop.
*/
- public void setServerStopping() {
+ public void serverIsStopping() {
pollServer(IServerStatePoller.SERVER_DOWN);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-07-07 13:01:44 UTC (rev 32704)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-07-07 13:14:10 UTC (rev 32705)
@@ -56,11 +56,11 @@
}
}
- public void setServerStarting() {
+ public void serverIsStarting() {
pollServer(IServerStatePoller.SERVER_UP);
}
- public void setServerStopping() {
+ public void serverIsStopping() {
pollServer(IServerStatePoller.SERVER_DOWN);
}
}
14 years, 9 months
JBoss Tools SVN: r32704 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 09:01:44 -0400 (Thu, 07 Jul 2011)
New Revision: 32704
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
Log:
[JBIDE-9215] avoided infinitie loops when setting server state by consequently calling the delegating server behavior (instead of calling #setServerStarting/#setServerStopping which then would call the delegating behavior which then would call the delegate again etc.)
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 12:56:48 UTC (rev 32703)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 13:01:44 UTC (rev 32704)
@@ -54,22 +54,12 @@
setServerStarting();
}
- @Override
- public void setServerStarting() {
- actualBehavior.setServerStarting();
- }
-
@Deprecated
public void serverStopping() {
setServerStopping();
}
@Override
- public void setServerStopping() {
- actualBehavior.setServerStopping();
- }
-
- @Override
public IStatus canChangeState(String launchMode) {
return Status.OK_STATUS;
}
14 years, 9 months
JBoss Tools SVN: r32703 - trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 08:56:48 -0400 (Thu, 07 Jul 2011)
New Revision: 32703
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java
Log:
[JBIDE-9215] removed unneeded local variable
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java 2011-07-07 12:55:25 UTC (rev 32702)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java 2011-07-07 12:56:48 UTC (rev 32703)
@@ -200,9 +200,7 @@
}
private String getDefaultStopCommand(IServer server, boolean errorOnFail) throws CoreException {
- String rseHome = null;
- rseHome = RSEUtils.getRSEHomeDir(server, errorOnFail);
- JBossServer jbs = ServerConverter.getJBossServer(server);
+ String rseHome = RSEUtils.getRSEHomeDir(server, errorOnFail);
String stop = new Path(rseHome)
.append(IJBossRuntimeResourceConstants.BIN)
14 years, 9 months
JBoss Tools SVN: r32702 - in trunk/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 08:55:25 -0400 (Thu, 07 Jul 2011)
New Revision: 32702
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/ProcessTerminatedPoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/configuration/LocalStopLaunchConfigurator.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java
Log:
[JBIDE-9215] extracted JBossBehaviorDelegate interface to its own class and renamed it to IJBossBehaviorDelegate
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/ProcessTerminatedPoller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/ProcessTerminatedPoller.java 2011-07-07 12:36:46 UTC (rev 32701)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/ProcessTerminatedPoller.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -18,7 +18,6 @@
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior.JBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
import org.jboss.ide.eclipse.as.core.server.internal.ServerStatePollerType;
@@ -61,7 +60,7 @@
}
public boolean isComplete() throws PollingException {
-// JBossBehaviourDelegate del = server.getDelegate();
+// IJBossBehaviourDelegate del = server.getDelegate();
// if( del instanceof IProcessProvider ) {
// IProcess p = ((IProcessProvider)del).getProcess();
// boolean b = p == null || p.isTerminated();
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 12:36:46 UTC (rev 32701)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossBehaviourDelegate.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -16,12 +16,11 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.server.IJBoss6Server;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior.JBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-public abstract class AbstractJBossBehaviourDelegate implements JBossBehaviourDelegate {
+public abstract class AbstractJBossBehaviourDelegate implements IJBossBehaviourDelegate {
private DelegatingServerBehavior actualBehavior;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java 2011-07-07 12:36:46 UTC (rev 32701)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DelegatingServerBehavior.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -43,21 +43,6 @@
*/
public class DelegatingServerBehavior extends DeployableServerBehavior {
- /**
- * TODO: move to its own file (so that we can hide implementations and export interfaces) & rename to IJBossBehaviourDelegate
- */
- public static interface JBossBehaviourDelegate {
- public String getBehaviourTypeId();
- public void setActualBehaviour(DelegatingServerBehavior actualBehaviour);
- public void stop(boolean force);
- public void publishStart(final IProgressMonitor monitor) throws CoreException;
- public void publishFinish(final IProgressMonitor monitor) throws CoreException;
- public void setServerStarting();
- public void setServerStopping();
- public IStatus canChangeState(String launchMode);
- public String getDefaultStopArguments() throws CoreException;
- }
-
private static HashMap<String, Class> delegateClassMap;
static {
delegateClassMap = new HashMap<String, Class>();
@@ -71,9 +56,9 @@
super();
}
- private JBossBehaviourDelegate delegate;
+ private IJBossBehaviourDelegate delegate;
private String lastModeId;
- public JBossBehaviourDelegate getDelegate() {
+ public IJBossBehaviourDelegate getDelegate() {
IJBossServerPublishMethodType type = DeploymentPreferenceLoader.getCurrentDeploymentMethodType(getServer());
String id = type == null ? LocalPublishMethod.LOCAL_PUBLISH_METHOD : type.getId();
if( id.equals(lastModeId) && delegate != null && delegate.getBehaviourTypeId().equals(id))
@@ -84,7 +69,7 @@
c = getDelegateMap().get(LocalPublishMethod.LOCAL_PUBLISH_METHOD);
try {
- JBossBehaviourDelegate o = (JBossBehaviourDelegate)c.newInstance();
+ IJBossBehaviourDelegate o = (IJBossBehaviourDelegate)c.newInstance();
o.setActualBehaviour(this);
lastModeId = id;
delegate = o;
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * 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.server.internal;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+
+public interface IJBossBehaviourDelegate {
+
+ public String getBehaviourTypeId();
+
+ public void setActualBehaviour(DelegatingServerBehavior actualBehaviour);
+
+ public void stop(boolean force);
+
+ public void publishStart(final IProgressMonitor monitor) throws CoreException;
+
+ public void publishFinish(final IProgressMonitor monitor) throws CoreException;
+
+ public void setServerStarting();
+
+ public void setServerStopping();
+
+ public IStatus canChangeState(String launchMode);
+
+ public String getDefaultStopArguments() throws CoreException;
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/IJBossBehaviourDelegate.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/configuration/LocalStopLaunchConfigurator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/configuration/LocalStopLaunchConfigurator.java 2011-07-07 12:36:46 UTC (rev 32701)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/configuration/LocalStopLaunchConfigurator.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -18,8 +18,8 @@
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
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.IJBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior.JBossBehaviourDelegate;
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.LaunchConfigUtils;
@@ -48,7 +48,7 @@
@Override
protected String getDefaultProgramArguments(JBossServer server, IJBossServerRuntime runtime) throws CoreException {
- JBossBehaviourDelegate delegate = ServerUtil.checkedGetBehaviorDelegate(server.getServer());
+ IJBossBehaviourDelegate delegate = ServerUtil.checkedGetBehaviorDelegate(server.getServer());
return delegate.getDefaultStopArguments();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java 2011-07-07 12:36:46 UTC (rev 32701)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerUtil.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -26,9 +26,9 @@
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
+import org.jboss.ide.eclipse.as.core.server.internal.IJBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior.JBossBehaviourDelegate;
public class ServerUtil {
public static IPath getServerStateLocation(IServer server) {
@@ -57,8 +57,8 @@
return serverBehavior;
}
- public static JBossBehaviourDelegate checkedGetBehaviorDelegate(IServer server) throws CoreException {
- JBossBehaviourDelegate delegate = checkedGetServerAdapter(server, DelegatingServerBehavior.class).getDelegate();
+ public static IJBossBehaviourDelegate checkedGetBehaviorDelegate(IServer server) throws CoreException {
+ IJBossBehaviourDelegate delegate = checkedGetServerAdapter(server, DelegatingServerBehavior.class).getDelegate();
if (delegate == null) {
throw new CoreException(
new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java 2011-07-07 12:36:46 UTC (rev 32701)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java 2011-07-07 12:55:25 UTC (rev 32702)
@@ -34,8 +34,8 @@
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
import org.jboss.ide.eclipse.as.core.extensions.polling.WebPortPoller;
import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior.JBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
+import org.jboss.ide.eclipse.as.core.server.internal.IJBossBehaviourDelegate;
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.DelegatingStartLaunchConfiguration.IStartLaunchSetupParticipant;
@@ -211,7 +211,7 @@
// Pull args from single utility method
// stop += StopLaunchConfiguration.getDefaultArgs(jbs);
- JBossBehaviourDelegate delegate = ServerUtil.checkedGetBehaviorDelegate(server);
+ IJBossBehaviourDelegate delegate = ServerUtil.checkedGetBehaviorDelegate(server);
stop += delegate.getDefaultStopArguments();
return stop;
}
14 years, 9 months
JBoss Tools SVN: r32701 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-07-07 08:36:46 -0400 (Thu, 07 Jul 2011)
New Revision: 32701
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
Log:
[JBIDE-9215] added missing setting of poll thread reference
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-07 12:35:52 UTC (rev 32700)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-07-07 12:36:46 UTC (rev 32701)
@@ -219,7 +219,7 @@
protected void pollServer(final boolean expectedState) {
IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- PollThreadUtils.pollServer(expectedState, poller , pollThread, getActualBehavior());
+ this.pollThread = PollThreadUtils.pollServer(expectedState, poller , pollThread, getActualBehavior());
}
protected void pollServer(boolean expectedState, IServerStatePoller poller) {
14 years, 9 months