Author: rfeng
Date: Thu Jan 29 21:51:11 2009
New Revision: 739035
URL: http://svn.apache.org/viewvc?rev=739035&view=rev
Log:
Pass arguments into EquinoxHost so that equinox runtime options can be honored
from the main()
Modified:
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
Modified:
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java?rev=739035&r1=739034&r2=739035&view=diff
==============================================================================
---
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
(original)
+++
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java
Thu Jan 29 21:51:11 2009
@@ -83,7 +83,7 @@
try {
// Start the OSGi host
- equinox = new EquinoxHost();
+ equinox = new EquinoxHost(args);
equinox.start();
// Start the domain manager
Modified:
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java?rev=739035&r1=739034&r2=739035&view=diff
==============================================================================
---
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
(original)
+++
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java
Thu Jan 29 21:51:11 2009
@@ -67,22 +67,31 @@
private BundleContext bundleContext;
private Bundle launcherBundle;
private boolean startedEclipse;
- private Set<URL> dependencies;
private List<String> bundleFiles = new ArrayList<String>();
private List<String> bundleNames = new ArrayList<String>();
private List<String> jarFiles = new ArrayList<String>();
private Map<String, Bundle> allBundles = new HashMap<String, Bundle>();
private List<Bundle> installedBundles = new ArrayList<Bundle>();
+ private Set<URL> bundleLocations;
+ private String[] arguments = {};
+
public EquinoxHost() {
super();
}
- public EquinoxHost(Set<URL> dependencies) {
+ public EquinoxHost(Set<URL> urls) {
super();
- this.dependencies = dependencies;
+ this.bundleLocations = urls;
}
+ public EquinoxHost(String[] args) {
+ super();
+ if (args != null) {
+ this.arguments = args;
+ }
+ }
+
private static String getSystemProperty(final String name) {
return AccessController.doPrivileged(new PrivilegedAction<String>() {
public String run() {
@@ -142,7 +151,7 @@
EclipseStarter.setInitialProperties(props);
// Start Eclipse
- bundleContext = EclipseStarter.startup(new String[] {}, null);
+ bundleContext = EclipseStarter.startup(arguments, null);
startedEclipse = true;
} else {
@@ -153,7 +162,7 @@
// Determine the runtime classpath entries
Set<URL> urls;
- urls = findDependencies();
+ urls = findBundleLocations();
// Sort out which are bundles (and not already installed) and
which are just
// regular JARs
@@ -320,21 +329,21 @@
}
}
- private Set<URL> findDependencies() throws FileNotFoundException,
URISyntaxException, MalformedURLException {
- if (dependencies == null) {
+ private Set<URL> findBundleLocations() throws FileNotFoundException,
URISyntaxException, MalformedURLException {
+ if (bundleLocations == null) {
if (!startedEclipse) {
// Use classpath entries from a distribution if there is one
and the modules
// directories available in a dev environment for example
- dependencies = runtimeClasspathEntries(true, false, true);
+ bundleLocations = runtimeClasspathEntries(true, false, true);
} else {
// Use classpath entries from a distribution if there is one
and the classpath
// entries on the current application's classloader
- dependencies = runtimeClasspathEntries(true, true, false);
+ bundleLocations = runtimeClasspathEntries(true, true, false);
}
}
- return dependencies;
+ return bundleLocations;
}
/**
@@ -368,4 +377,12 @@
}
}
+ public void setBundleLocations(Set<URL> bundleLocations) {
+ this.bundleLocations = bundleLocations;
+ }
+
+ public void setArguments(String[] arguments) {
+ this.arguments = arguments;
+ }
+
}
Modified:
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java?rev=739035&r1=739034&r2=739035&view=diff
==============================================================================
---
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
(original)
+++
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java
Thu Jan 29 21:51:11 2009
@@ -72,7 +72,7 @@
try {
// Start the OSGi host
- equinox = new EquinoxHost();
+ equinox = new EquinoxHost(args);
equinox.start();
// Start the node
Modified:
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java?rev=739035&r1=739034&r2=739035&view=diff
==============================================================================
---
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
(original)
+++
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java
Thu Jan 29 21:51:11 2009
@@ -41,8 +41,8 @@
/**
* Constructs a new node launcher.
*/
- private NodeLauncher() {
- equinoxHost = new EquinoxHost();
+ private NodeLauncher(String args[]) {
+ equinoxHost = new EquinoxHost(args);
bundleContext = equinoxHost.start();
}
@@ -51,8 +51,8 @@
*
* @return a new launcher instance
*/
- public static NodeLauncher newInstance() {
- return new NodeLauncher();
+ public static NodeLauncher newInstance(String[] args) {
+ return new NodeLauncher(args);
}
/**
@@ -101,7 +101,7 @@
logger.info("Apache Tuscany SCA Node is starting...");
// Create a node launcher
- NodeLauncher launcher = newInstance();
+ NodeLauncher launcher = newInstance(args);
EquinoxHost equinox = launcher.equinoxHost;
Object node = null;
Modified:
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java?rev=739035&r1=739034&r2=739035&view=diff
==============================================================================
---
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
(original)
+++
tuscany/java/sca/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java
Thu Jan 29 21:51:11 2009
@@ -34,7 +34,7 @@
@BeforeClass
public static void setUp() {
try {
- launcher = NodeLauncher.newInstance();
+ launcher = NodeLauncher.newInstance(null);
} catch (Exception e) {
e.printStackTrace();
}