You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/03/31 11:36:47 UTC
svn commit: r642938 - in /incubator/tuscany/java/sca:
modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/
modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/we...
Author: jsdelfino
Date: Mon Mar 31 02:36:39 2008
New Revision: 642938
URL: http://svn.apache.org/viewvc?rev=642938&view=rev
Log:
Fix for TUSCANY-2166, fixed configuration of the Tuscany library buildpath. Added progress monitor to the plugin. Removed unused exception.
Removed:
incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/Node2Exception.java
Modified:
incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java
incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java
incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java
incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java
incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/launcher/DomainManagerLauncherBootstrap.java
incubator/tuscany/java/sca/tools/eclipse/plugins/core/META-INF/MANIFEST.MF
incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java
incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java
incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java
Modified: incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java Mon Mar 31 02:36:39 2008
@@ -20,7 +20,6 @@
package org.apache.tuscany.sca.implementation.node.launcher;
import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.node.Node2Exception;
import org.apache.tuscany.sca.node.SCANode2;
/**
@@ -42,7 +41,7 @@
runtimeClassLoader = Thread.currentThread().getContextClassLoader();
}
- public void start() throws Node2Exception {
+ public void start() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(runtimeClassLoader);
@@ -52,7 +51,7 @@
}
}
- public void stop() throws Node2Exception {
+ public void stop() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(runtimeClassLoader);
Modified: incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java Mon Mar 31 02:36:39 2008
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.implementation.node.launcher;
-import org.apache.tuscany.sca.node.Node2Exception;
import org.apache.tuscany.sca.node.SCAClient;
import org.apache.tuscany.sca.node.SCANode2;
import org.apache.tuscany.sca.node.SCANode2Factory;
@@ -48,7 +47,7 @@
this.delegate = delegate;
}
- public void start() throws Node2Exception {
+ public void start() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(runtimeClassLoader);
@@ -58,7 +57,7 @@
}
}
- public void stop() throws Node2Exception {
+ public void stop() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(runtimeClassLoader);
Modified: incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java Mon Mar 31 02:36:39 2008
@@ -47,7 +47,6 @@
import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
import org.apache.tuscany.sca.host.http.ServletMappingException;
import org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherUtil;
-import org.apache.tuscany.sca.node.Node2Exception;
import org.apache.tuscany.sca.node.SCAClient;
import org.apache.tuscany.sca.node.SCANode2;
import org.apache.tuscany.sca.node.SCANode2Factory;
@@ -114,11 +113,7 @@
// Create the SCA node
SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
- try {
- node = nodeFactory.createSCANode(nodeImage);
- } catch (Node2Exception e) {
- throw new ServletException(e);
- }
+ node = nodeFactory.createSCANode(nodeImage);
// Register the Servlet host
ServletHostExtensionPoint servletHosts = servletHosts(node);
@@ -129,11 +124,7 @@
servletContext.setAttribute(SCAClient.class.getName(), node);
// Start the node
- try {
- node.start();
- } catch (Node2Exception e) {
- throw new ServletException(e);
- }
+ node.start();
// Initialize the registered Servlets
for (Servlet servlet : servlets.values()) {
@@ -278,13 +269,9 @@
servlet.destroy();
}
- // Close the SCA domain
+ // Stop the node
if (node != null) {
- try {
- node.stop();
- } catch (Node2Exception e) {
- throw new RuntimeException(e);
- }
+ node.stop();
}
}
Modified: incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java (original)
+++ incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java Mon Mar 31 02:36:39 2008
@@ -32,11 +32,11 @@
/**
* Start the composite loaded in the node.
*/
- void start() throws Node2Exception;
+ void start();
/**
* Stop the composite loaded in the node.
*/
- void stop() throws Node2Exception;
+ void stop();
}
Modified: incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java (original)
+++ incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java Mon Mar 31 02:36:39 2008
@@ -71,7 +71,7 @@
* @param configurationURI the URI of the node configuration
* @return a new SCA node.
*/
- public abstract SCANode2 createSCANode(String configurationURI) throws Node2Exception;
+ public abstract SCANode2 createSCANode(String configurationURI);
/**
* Creates a new SCA node.
@@ -80,7 +80,7 @@
* @param contributions the URI of the composite to use
* @return a new SCA node.
*/
- public abstract SCANode2 createSCANode(String compositeURI, SCAContribution... contributions) throws Node2Exception;
+ public abstract SCANode2 createSCANode(String compositeURI, SCAContribution... contributions);
/**
* Represents an SCA contribution uri + location.
Modified: incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java Mon Mar 31 02:36:39 2008
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.node.impl;
-import org.apache.tuscany.sca.node.Node2Exception;
import org.apache.tuscany.sca.node.SCANode2;
import org.apache.tuscany.sca.node.SCANode2Factory;
@@ -34,12 +33,12 @@
}
@Override
- public SCANode2 createSCANode(String configurationURI) throws Node2Exception {
+ public SCANode2 createSCANode(String configurationURI) {
return new NodeImpl(configurationURI);
}
@Override
- public SCANode2 createSCANode(String compositeURI, SCAContribution... contributions) throws Node2Exception {
+ public SCANode2 createSCANode(String compositeURI, SCAContribution... contributions) {
return new NodeImpl(compositeURI, contributions);
}
}
Modified: incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java Mon Mar 31 02:36:39 2008
@@ -50,7 +50,6 @@
import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime;
import org.apache.tuscany.sca.implementation.node.ConfiguredNodeImplementation;
import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
-import org.apache.tuscany.sca.node.Node2Exception;
import org.apache.tuscany.sca.node.SCAClient;
import org.apache.tuscany.sca.node.SCANode2;
import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
@@ -86,9 +85,8 @@
* Constructs a new SCA node.
*
* @param configurationURI the URI of the node configuration information.
- * @throws Node2Exception
*/
- NodeImpl(String configurationURI) throws Node2Exception {
+ NodeImpl(String configurationURI) {
configurationName = configurationURI;
logger.log(Level.INFO, "Creating node: " + configurationName);
@@ -119,7 +117,7 @@
configureNode(configuration);
} catch (Exception e) {
- throw new Node2Exception(e);
+ throw new ServiceRuntimeException(e);
}
}
@@ -128,9 +126,8 @@
*
* @param compositeURI
* @param contributions
- * @throws Node2Exception
*/
- NodeImpl(String compositeURI, SCAContribution[] contributions) throws Node2Exception {
+ NodeImpl(String compositeURI, SCAContribution[] contributions) {
configurationName = compositeURI;
logger.log(Level.INFO, "Creating node: " + configurationName);
@@ -163,7 +160,7 @@
configureNode(configuration);
} catch (Exception e) {
- throw new Node2Exception(e);
+ throw new ServiceRuntimeException(e);
}
}
@@ -246,7 +243,7 @@
runtime.buildComposite(composite);
}
- public void start() throws Node2Exception {
+ public void start() {
logger.log(Level.INFO, "Starting node: " + configurationName);
try {
@@ -258,11 +255,11 @@
compositeActivator.start(composite);
} catch (ActivationException e) {
- throw new Node2Exception(e);
+ throw new ServiceRuntimeException(e);
}
}
- public void stop() throws Node2Exception {
+ public void stop() {
logger.log(Level.INFO, "Stopping node: " + configurationName);
try {
@@ -274,7 +271,7 @@
compositeActivator.deactivate(composite);
} catch (ActivationException e) {
- throw new Node2Exception(e);
+ throw new ServiceRuntimeException(e);
}
}
Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/launcher/DomainManagerLauncherBootstrap.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/launcher/DomainManagerLauncherBootstrap.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/launcher/DomainManagerLauncherBootstrap.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/launcher/DomainManagerLauncherBootstrap.java Mon Mar 31 02:36:39 2008
@@ -20,7 +20,6 @@
package org.apache.tuscany.sca.workspace.admin.launcher;
import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.node.Node2Exception;
import org.apache.tuscany.sca.node.SCANode2;
/**
@@ -42,7 +41,7 @@
runtimeClassLoader = Thread.currentThread().getContextClassLoader();
}
- public void start() throws Node2Exception {
+ public void start() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(runtimeClassLoader);
@@ -52,7 +51,7 @@
}
}
- public void stop() throws Node2Exception {
+ public void stop() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(runtimeClassLoader);
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/META-INF/MANIFEST.MF?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/META-INF/MANIFEST.MF (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/META-INF/MANIFEST.MF Mon Mar 31 02:36:39 2008
@@ -15,6 +15,7 @@
org.eclipse.jdt.launching,
org.eclipse.jdt.ui.wizards,
org.eclipse.jface.dialogs,
+ org.eclipse.jface.operation,
org.eclipse.jface.resource,
org.eclipse.jface.viewers,
org.eclipse.jface.wizard,
@@ -23,6 +24,7 @@
org.eclipse.swt.graphics,
org.eclipse.swt.widgets,
org.eclipse.ui,
+ org.eclipse.ui.progress,
org.osgi.framework;version="1.4.0"
Bundle-Vendor: Apache Software Foundation
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java Mon Mar 31 02:36:39 2008
@@ -104,19 +104,6 @@
// Add the JARs from runtime/lib and runtime/modules as classpath entries
if (runtimePath != null) {
- // Add the JARs from runtime/lib
- File libDirectory = runtimePath.append("lib").toFile();
- if (libDirectory != null && libDirectory.exists()) {
- for (File file : libDirectory.listFiles()) {
- IPath path = new Path(file.getPath());
- String extension = path.getFileExtension();
- if (!"jar".equals(extension)) {
- continue;
- }
- list.add(JavaCore.newLibraryEntry(path, sourcePath, null));
- }
- }
-
// Add the jars from runtime/modules
File modulesDirectory = runtimePath.append("modules").toFile();
if (modulesDirectory != null && modulesDirectory.exists()) {
@@ -132,7 +119,7 @@
if (name.indexOf("-api-") == -1 && name.indexOf("-launcher-") == -1) {
continue;
}
- if (name.startsWith("tuscany-node-api-")) {
+ if (name.startsWith("tuscany-node-api-") || name.startsWith("tuscany-domain-api-")) {
continue;
}
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java Mon Mar 31 02:36:39 2008
@@ -22,11 +22,8 @@
import java.io.File;
import java.util.Map;
-import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
@@ -35,7 +32,6 @@
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.IVMRunner;
import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.osgi.framework.Bundle;
/**
* Launch configuration delegate for the Tuscany launch configuration.
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java?rev=642938&r1=642937&r2=642938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java Mon Mar 31 02:36:39 2008
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
+import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.Socket;
@@ -33,8 +34,10 @@
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfigurationType;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
@@ -45,9 +48,11 @@
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PlatformUI;
/**
* A launch shortcut for SCA .composite files.
@@ -58,7 +63,7 @@
private final static String TUSCANY_SCA_DOMAIN_PROJECT = "tuscany-sca-domain";
- public void launch(ISelection selection, String mode) {
+ public void launch(final ISelection selection, final String mode) {
try {
@@ -70,27 +75,53 @@
if (selections.length == 0) {
return;
}
- IFile file = (IFile)selections[0];
+ final IFile file = (IFile)selections[0];
if (!file.getFileExtension().equals("composite")) {
return;
}
+
+ // Run with a progress monitor
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, new IRunnableWithProgress() {
- // Get our launch configuration type
- ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
- ILaunchConfigurationType launchConfigurationType =launchManager.getLaunchConfigurationType(
- "org.apache.tuscany.sca.core.launch.configurationtype");
-
- // If the SCA domain controller is not running yet, launch it
- if (!isDomainManagerRunning()) {
- launchDomainManager(mode, file, launchManager, launchConfigurationType);
- if (!waitForDomainManager()) {
- throw new RuntimeException("SCA Domain Manager could not be started.");
+ public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
+ progressMonitor.beginTask("Starting SCA Composite", 100);
+
+ // Get our launch configuration type
+ ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
+ ILaunchConfigurationType launchConfigurationType =launchManager.getLaunchConfigurationType(
+ "org.apache.tuscany.sca.core.launch.configurationtype");
+ progressMonitor.worked(10);
+ if (progressMonitor.isCanceled()) {
+ return;
+ }
+
+ try {
+ // If the SCA domain controller is not running yet, launch it
+ if (!isDomainManagerRunning()) {
+ launchDomainManager(mode, file, launchManager, launchConfigurationType, progressMonitor);
+ if (progressMonitor.isCanceled()) {
+ return;
+ }
+ if (!waitForDomainManager(progressMonitor)) {
+ throw new RuntimeException("SCA Domain Manager could not be started.");
+ }
+ }
+ if (progressMonitor.isCanceled()) {
+ return;
+ }
+ progressMonitor.worked(50);
+
+ // Launch an SCA node
+ launchNode(mode, file, launchManager, launchConfigurationType, progressMonitor);
+
+ progressMonitor.done();
+
+ } catch (Exception e) {
+ throw new InvocationTargetException(e);
+ }
}
- }
+ });
- // Launch an SCA node
- launchNode(mode, file, launchManager, launchConfigurationType);
-
} catch (Exception e) {
e.printStackTrace();
}
@@ -113,7 +144,12 @@
private void launchNode(String mode,
IFile file,
ILaunchManager launchManager,
- ILaunchConfigurationType launchConfigurationType) throws CoreException, JavaModelException, IOException {
+ ILaunchConfigurationType launchConfigurationType,
+ IProgressMonitor progressMonitor) throws CoreException, JavaModelException, IOException {
+ progressMonitor.subTask("- starting SCA node");
+ if (progressMonitor.isCanceled()) {
+ return;
+ }
// Get the Java project
IJavaProject javaProject = JavaCore.create(file.getProject());
@@ -126,7 +162,7 @@
String compositeURI = compositeURI(javaProject, file);
// Configure the node
- String nodeName = configureNode(contributionURI, contributionLocation, compositeURI);
+ String nodeName = configureNode(contributionURI, contributionLocation, compositeURI, progressMonitor);
// Create a launch configuration
ILaunchConfigurationWorkingCopy configuration = launchConfigurationType.newInstance(null,
@@ -159,10 +195,15 @@
private void launchDomainManager(String mode,
IFile file,
ILaunchManager launchManager,
- ILaunchConfigurationType launchConfigurationType) throws CoreException, JavaModelException {
+ ILaunchConfigurationType launchConfigurationType,
+ IProgressMonitor progressMonitor) throws CoreException, JavaModelException {
+ progressMonitor.subTask("- starting SCA domain manager");
+ if (progressMonitor.isCanceled()) {
+ return;
+ }
// Get the SCA domain project
- IProject domainProject = domainProject();
+ IProject domainProject = domainProject(progressMonitor);
// Create a launch configuration
ILaunchConfigurationWorkingCopy configuration = launchConfigurationType.newInstance(null,
@@ -216,8 +257,12 @@
*
* @return
*/
- private static boolean waitForDomainManager() throws InterruptedException {
- for (int i = 0; i < 30; i++) {
+ private static boolean waitForDomainManager(IProgressMonitor progressMonitor) throws InterruptedException {
+ progressMonitor.subTask("- waiting for SCA domain manager");
+ for (int i = 0; i < 40; i++) {
+ if (progressMonitor.isCanceled()) {
+ return false;
+ }
if (isDomainManagerRunning()) {
return true;
}
@@ -327,7 +372,9 @@
* @return
* @throws IOException
*/
- private static String configureNode(String contributionURI, String contributionLocation, String compositeURI) throws IOException, CoreException {
+ private static String configureNode(String contributionURI, String contributionLocation, String compositeURI,
+ IProgressMonitor progressMonitor) throws IOException, CoreException {
+ progressMonitor.subTask("- configuring node");
// Send the request to configure the node
Socket client = new Socket("localhost", 9990);
@@ -340,7 +387,7 @@
String response = read(client);
// Refresh the domain project
- domainProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ domainProject(progressMonitor).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
int i = response.indexOf("<span id=\"node\">");
if (i != -1) {
@@ -362,11 +409,17 @@
* @return
* @throws CoreException
*/
- private static IProject domainProject() throws CoreException {
+ private static IProject domainProject(IProgressMonitor progressMonitor) throws CoreException {
+
IProject domainProject = ResourcesPlugin.getWorkspace().getRoot().getProject(TUSCANY_SCA_DOMAIN_PROJECT);
+ if (progressMonitor.isCanceled()) {
+ return domainProject;
+ }
if (!domainProject.exists()) {
- domainProject.create(new NullProgressMonitor());
- domainProject.open(new NullProgressMonitor());
+ progressMonitor.subTask("- creating SCA domain resources");
+
+ domainProject.create(new SubProgressMonitor(progressMonitor, 5));
+ domainProject.open(new SubProgressMonitor(progressMonitor, 5));
String html = "<html>\n" +
"<head>\n" +
@@ -378,7 +431,7 @@
"</html>";
IFile file = domainProject.getFile(new Path("domain.html"));
- file.create(new ByteArrayInputStream(html.getBytes()), true, new NullProgressMonitor());
+ file.create(new ByteArrayInputStream(html.getBytes()), true, new SubProgressMonitor(progressMonitor, 5));
}
return domainProject;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org