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/06/04 03:24:31 UTC
svn commit: r662938 - in
/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core:
classpath/ launch/
Author: jsdelfino
Date: Tue Jun 3 18:24:31 2008
New Revision: 662938
URL: http://svn.apache.org/viewvc?rev=662938&view=rev
Log:
Fixed determination of Tuscany feature location.
Modified:
incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java
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/classpath/TuscanyRuntimeClasspathContainer.java
incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java
incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java?rev=662938&r1=662937&r2=662938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java Tue Jun 3 18:24:31 2008
@@ -19,6 +19,11 @@
package org.apache.tuscany.sca.core.classpath;
+import static org.apache.tuscany.sca.core.log.LogUtil.error;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -26,12 +31,14 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
/**
- * Utility functions handling the runtime classpath.
+ * Utility functions to help determine the runtime classpath.
*
* @version $Rev: $ $Date: $
*/
@@ -39,6 +46,9 @@
private static final String TUSCANY_RUNTIME_LIBRARIES = "org.apache.tuscany.sca.core.runtimeLibraries";
+ private static final String TUSCANY_FEATURE = "org.apache.tuscany.sca.feature";
+ private static final String TUSCANY_VERSION = "1.2.0";
+
/**
* Return the installed runtime classpath entries.
*
@@ -68,4 +78,93 @@
return classpath.toString();
}
+ /**
+ * Returns the Tuscany feature location.
+ *
+ * @return
+ */
+ static IPath feature() {
+ try {
+ URL location = Platform.getInstallLocation().getURL();
+ File feature = new File(location.getPath() + "/features/" + TUSCANY_FEATURE + "_" + TUSCANY_VERSION);
+ return new Path(feature.getPath());
+ } catch (Exception e) {
+ error("Tuscany runtime feature not found", e);
+ return null;
+ }
+ }
+
+ /**
+ * Returns the location of the runtime distribution under the Tuscany feature.
+ *
+ * @param feature
+ * @return
+ */
+ static IPath runtime(IPath feature) {
+ IPath runtimePath = null;
+ try {
+
+ // Find the Tuscany distribution under the feature's runtime directory
+ // Typically runtime/distro-archive-name/un-archived-distro-dir
+ File file = new File(feature.toFile(), "runtime");
+ if (file.exists()) {
+ File distro = null;
+ for (File f: file.listFiles()) {
+ if (f.getName().contains("tuscany-sca")) {
+ distro = f;
+ break;
+ }
+ }
+ if (distro != null) {
+ for (File f: distro.listFiles()) {
+ if (f.getName().contains("tuscany-sca")) {
+ runtimePath = new Path(f.getPath());
+ break;
+ }
+ }
+ if (runtimePath == null) {
+ error("Tuscany runtime distribution directory not found", new FileNotFoundException(distro.getAbsolutePath()));
+ }
+ } else {
+ error("Tuscany runtime distribution archive not found", new FileNotFoundException(file.getAbsolutePath()));
+ }
+ } else {
+ error("Tuscany runtime feature not found", new FileNotFoundException(file.getAbsolutePath()));
+ }
+ } catch (Exception e) {
+ error("Tuscany runtime feature not found", e);
+ }
+ return runtimePath;
+ }
+
+ /**
+ * Returns the location of the src distribution under the Tuscany feature.
+ *
+ * @param feature
+ * @return
+ */
+ static IPath src(IPath feature) {
+ IPath sourcePath = null;
+ try {
+
+ // Find the Tuscany source distribution under the feature's src directory
+ // Typically src/distro-archive-src.zip
+ File file = new File(feature.toFile(), "src");
+ if (file.exists()) {
+ File distro = null;
+ for (File f: file.listFiles()) {
+ if (f.getName().contains("tuscany-sca") && f.getName().endsWith("-src.zip")) {
+ distro = f;
+ break;
+ }
+ }
+ if (distro != null) {
+ sourcePath = new Path(distro.getPath());
+ }
+ }
+ } catch (Exception e) {
+ }
+ return sourcePath;
+ }
+
}
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=662938&r1=662937&r2=662938&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 Tue Jun 3 18:24:31 2008
@@ -19,17 +19,16 @@
package org.apache.tuscany.sca.core.classpath;
-import static org.apache.tuscany.sca.core.log.LogUtil.error;
+import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.feature;
+import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.runtime;
+import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.src;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
@@ -46,49 +45,17 @@
private static final String TUSCANY_HOME = "TUSCANY_HOME";
private static final String TUSCANY_SRC = "TUSCANY_SRC";
- private static final String TUSCANY_FEATURE = "org.apache.tuscany.sca.feature";
-
public TuscanyClasspathContainer() {
}
public IClasspathEntry[] getClasspathEntries() {
List<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
+ // Find the Tuscany feature
+ IPath feature = feature();
+
// Get the runtime location from the installed Tuscany feature
- IPath runtimePath = null;
- try {
-
- // Find the Tuscany distribution under the feature's runtime directory
- // Typically runtime/distro-archive-name/un-archived-distro-dir
- URL url = Platform.getBundle(TUSCANY_FEATURE).getResource("runtime");
- File file = new File(url.getPath());
- if (file.exists()) {
- File distro = null;
- for (File f: file.listFiles()) {
- if (f.getName().contains("tuscany-sca")) {
- distro = f;
- break;
- }
- }
- if (distro != null) {
- for (File f: distro.listFiles()) {
- if (f.getName().contains("tuscany-sca")) {
- runtimePath = new Path(f.getPath());
- break;
- }
- }
- if (runtimePath == null) {
- error("Tuscany runtime distribution directory not found", new FileNotFoundException(distro.getAbsolutePath()));
- }
- } else {
- error("Tuscany runtime distribution archive not found", new FileNotFoundException(file.getAbsolutePath()));
- }
- } else {
- error("Tuscany runtime feature not found", new FileNotFoundException(file.getAbsolutePath()));
- }
- } catch (Exception e) {
- error("Tuscany runtime feature not found", e);
- }
+ IPath runtimePath = runtime(feature);
if (runtimePath == null) {
@@ -106,27 +73,7 @@
}
// Get the source location from the installed Tuscany feature
- IPath sourcePath = null;
- try {
-
- // Find the Tuscany source distribution under the feature's src directory
- // Typically src/distro-archive-src.zip
- URL url = Platform.getBundle(TUSCANY_FEATURE).getResource("src");
- File file = new File(url.getPath());
- if (file.exists()) {
- File distro = null;
- for (File f: file.listFiles()) {
- if (f.getName().contains("tuscany-sca") && f.getName().endsWith("-src.zip")) {
- distro = f;
- break;
- }
- }
- if (distro != null) {
- sourcePath = new Path(distro.getPath());
- }
- }
- } catch (Exception e) {
- }
+ IPath sourcePath = src(feature);
if (sourcePath == null) {
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java?rev=662938&r1=662937&r2=662938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java Tue Jun 3 18:24:31 2008
@@ -19,13 +19,13 @@
package org.apache.tuscany.sca.core.classpath;
+import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.feature;
+import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.runtime;
+
import java.io.File;
-import java.net.URL;
-import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
@@ -41,43 +41,16 @@
private static final String TUSCANY_HOME = "TUSCANY_HOME";
- private static final String TUSCANY_FEATURE = "features/org.apache.tuscany.sca.feature_1.2.0";
-
- private static final String TUSCANY_FEATURE_RUNTIME = TUSCANY_FEATURE + "/runtime";
-
public TuscanyRuntimeClasspathContainer() {
}
public IClasspathEntry[] getClasspathEntries() {
+ // Find the Tuscany feature
+ IPath feature = feature();
+
// Get the runtime location from the installed Tuscany feature
- IPath runtimePath = null;
- try {
-
- // Find the Tuscany distribution under the feature's runtime directory
- // Typically runtime/distro-archive-name/un-archived-distro-dir
- URL url = FileLocator.toFileURL(Platform.getInstallLocation().getURL());
- File file = new File(url.toURI());
- file = new File(file, TUSCANY_FEATURE_RUNTIME);
- if (file.exists()) {
- File distro = null;
- for (File f: file.listFiles()) {
- if (f.getName().contains("tuscany-sca")) {
- distro = f;
- break;
- }
- }
- if (distro != null) {
- for (File f: distro.listFiles()) {
- if (f.getName().contains("tuscany-sca")) {
- runtimePath = new Path(f.getPath());
- break;
- }
- }
- }
- }
- } catch (Exception e) {
- }
+ IPath runtimePath = runtime(feature);
if (runtimePath == null) {
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java?rev=662938&r1=662937&r2=662938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java Tue Jun 3 18:24:31 2008
@@ -204,7 +204,7 @@
newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, domainProject.getLocation().toString());
// Pass the runtime classpath as a system property
- newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "-DTUSCANY_PATH=" + ClasspathUtil.installedRuntimeClasspath());
+ newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "\"-DTUSCANY_PATH=" + ClasspathUtil.installedRuntimeClasspath() + "\"");
// Save the configuration
newConfiguration.doSave();
Modified: incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java?rev=662938&r1=662937&r2=662938&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java (original)
+++ incubator/tuscany/java/sca/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java Tue Jun 3 18:24:31 2008
@@ -41,7 +41,6 @@
import org.eclipse.debug.core.ILaunchConfigurationType;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.core.LaunchManager;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
@@ -131,7 +130,7 @@
newConfiguration.setAttribute("COMPOSITE_PATH", file.getFullPath().toString());
// Pass the runtime classpath as a system property
- newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "-DTUSCANY_PATH=" + ClasspathUtil.installedRuntimeClasspath());
+ newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "\"-DTUSCANY_PATH=" + ClasspathUtil.installedRuntimeClasspath() + "\"");
// Save the configuration
newConfiguration.doSave();