diff options
Diffstat (limited to 'tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath')
9 files changed, 0 insertions, 670 deletions
diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainer.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainer.java deleted file mode 100644 index ee9a3d2de9..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainer.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import java.io.File; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.osgi.framework.Bundle; - -/** - * A base classpath container implementation. - * - * @version $Rev$ $Date$ - */ -public class BaseClasspathContainer implements RuntimeClasspathContainer { - - private String pluginID; - private String libraryID; - private String libraryName; - private String distributionName; - private String sourceDistributionName; - private String distributionVersion; - private String homeProperty; - private String sourceProperty; - - /** - * Constructs a new Classpath container. - * - * @param pluginID - * @param libraryID - * @param libraryName - * @param distributionName - * @param distributionVersion - * @param homeProperty - * @param sourceProperty - */ - public BaseClasspathContainer(String pluginID, String libraryID, String libraryName, - String distributionName, String sourceDistributionName, String distributionVersion, - String homeProperty, String sourceProperty) { - this.pluginID = pluginID; - this.libraryID = libraryID; - this.libraryName = libraryName; - this.distributionName = distributionName; - this.sourceDistributionName = sourceDistributionName; - this.distributionVersion = distributionVersion; - this.homeProperty = homeProperty; - this.sourceProperty = sourceProperty; - } - - public IClasspathEntry[] getClasspathEntries() { - List<IClasspathEntry> list = new ArrayList<IClasspathEntry>(); - - // Get the runtime distribution location - IPath runtimePath = runtimePath(); - - // Get the source distribution location - IPath sourcePath = sourcePath(); - - // Add the JARs from runtime/lib and runtime/modules as classpath entries - if (runtimePath != null) { - - // Add the jars from runtime/modules - File modulesDirectory = runtimePath.append("modules").toFile(); - if (modulesDirectory != null && modulesDirectory.exists()) { - for (File file : modulesDirectory.listFiles()) { - IPath path = new Path(file.getPath()); - String name = path.lastSegment(); - String extension = path.getFileExtension(); - - // Only include API and launcher JARs - if (!"jar".equals(extension)) { - continue; - } - if (name.indexOf("-api-") == -1 && name.indexOf("-launcher-") == -1) { - continue; - } - - list.add(JavaCore.newLibraryEntry(path, sourcePath, 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 name = path.lastSegment(); - String extension = path.getFileExtension(); - - // Only include jaxb, jaxws and jsr API JARs - if (!"jar".equals(extension)) { - continue; - } - if (name.indexOf("-api-") != -1) { - if (name.startsWith("jaxb") || name.startsWith("jaxws") || name.startsWith("jsr")) { - list.add(JavaCore.newLibraryEntry(path, sourcePath, null)); - } - } - } - } - } - - return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]); - } - - public IClasspathEntry[] getRuntimeClasspathEntries() { - - // Get the runtime distribution location - IPath runtimePath = runtimePath(); - - if (runtimePath != null) { - return new IClasspathEntry[] {JavaCore.newLibraryEntry(runtimePath, null, null)}; - } else { - return new IClasspathEntry[0]; - } - } - - public String getDescription() { - return libraryName; - } - - public int getKind() { - return IClasspathContainer.K_APPLICATION; - } - - public IPath getPath() { - return new Path(libraryID); - } - - /** - * Returns the location of the runtime distribution. - * - * @return - */ - private IPath runtimePath() { - IPath path = artifactLocation(pluginID, distributionName, distributionVersion, null, null); - - if (path == null) { - - // Try to get the location of the distribution from - // the HOME property or environment variable - String home = System.getProperty(homeProperty); - if (home == null || home.length() == 0) { - home = System.getenv(homeProperty); - } - if (home != null && home.length() != 0) { - if (new File(home).exists()) { - path = new Path(home); - } - } - } - return path; - } - - /** - * Returns the location of the source distribution. - * - * @return - */ - private IPath sourcePath() { - IPath path = artifactLocation(pluginID, sourceDistributionName, distributionVersion, "src", ".zip"); - - if (path == null) { - - // Try to get the location of the source distribution from - // the SRC property or environment variable - String source = System.getProperty(sourceProperty); - if (source == null || source.length() == 0) { - source = System.getenv(sourceProperty); - } - if (source != null && source.length() != 0) { - if (new File(source).exists()) { - path = new Path(source); - } - } - } - return path; - } - - /** - * Returns the location of the specified artifact. - * - * @param pluginId - * @param artifactId - * @param version - * @param classifier - * @param extension - * @return - */ - private IPath artifactLocation(String pluginId, String artifactId, String version, String classifier, String extension) { - String artifactName; - if (classifier != null) { - artifactName = artifactId + '-' + version + '-' + classifier; - } else { - artifactName = artifactId + '-' + version; - } - if (extension != null) { - artifactName += extension; - } - try { - Bundle bundle = Platform.getBundle(pluginId); - URL location = FileLocator.find(bundle, new Path(artifactName), null); - location = FileLocator.toFileURL(location); - IPath path = new Path(new File(location.toURI()).getPath()); - return path; - } catch (Exception e) { - error("Artifact not found: " + artifactName, e); - return null; - } - } - - /** - * Log an error. - * - * @param msg - * @param e - */ - private void error(String msg, Exception e) { - Platform.getLog( - Platform.getBundle(pluginID)).log( - new Status(IStatus.ERROR, pluginID, IStatus.OK, msg, e)); - } - -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainerInitializer.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainerInitializer.java deleted file mode 100644 index 7ea8d700f7..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainerInitializer.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.ClasspathContainerInitializer; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; - -/** - * A base classpath container implementation. - * - * @version $Rev$ $Date$ - */ -public class BaseClasspathContainerInitializer extends ClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - private RuntimeClasspathContainer container; - - public BaseClasspathContainerInitializer(RuntimeClasspathContainer container) { - this.container = container; - } - - @Override - public void initialize(IPath containerPath, IJavaProject project) throws CoreException { - JavaCore.setClasspathContainer(containerPath, - new IJavaProject[] {project}, - new IClasspathContainer[] {container}, - null); - } - - @Override - public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) { - return true; - } - - public IClasspathContainer getRuntimeClasspathContainer() { - return new IClasspathContainer() { - public IClasspathEntry[] getClasspathEntries() { - return container.getRuntimeClasspathEntries(); - } - - public String getDescription() { - return container.getDescription(); - } - - public int getKind() { - return container.getKind(); - } - - public IPath getPath() { - return container.getPath(); - } - }; - } -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseLibraryEntryPage.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseLibraryEntryPage.java deleted file mode 100644 index 70e794d2ce..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseLibraryEntryPage.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.ui.wizards.IClasspathContainerPage; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; - -/** - * A base classpath container page implementation. - * - * @version $Rev$ $Date$ - */ -public class BaseLibraryEntryPage extends WizardPage implements IClasspathContainerPage { - - private String name; - private String id; - private IClasspathEntry classpathEntry; - - public BaseLibraryEntryPage(String id, String name) { - super(name); - this.name = name; - this.id = id; - } - - public void createControl(Composite parent) { - setTitle(name); - - Label label = new Label(parent, SWT.NONE); - label.setText("Press Finish to add the library."); - label.setFont(parent.getFont()); - - setControl(label); - } - - public boolean finish() { - classpathEntry = JavaCore.newContainerEntry(new Path(id)); - return true; - } - - public boolean isPageComplete() { - return true; - } - - public IClasspathEntry getSelection() { - return classpathEntry; - } - - public void setSelection(IClasspathEntry containerEntry) { - this.classpathEntry = containerEntry; - } -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainer.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainer.java deleted file mode 100644 index 53a8f8b32f..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainer.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class CoreClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public CoreClasspathContainer() { - super("org.apache.tuscany.sca.plugin.core", - "org.apache.tuscany.sca.plugin.core.runtime.library", "Tuscany SCA Core Library", - "tuscany-sca", "tuscany-distribution-core", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainerInitializer.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainerInitializer.java deleted file mode 100644 index 883c7c0781..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainerInitializer.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.CoreClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class CoreClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public CoreClasspathContainerInitializer() { - super(new CoreClasspathContainer()); - } - -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreLibraryEntryPage.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreLibraryEntryPage.java deleted file mode 100644 index f90483a00d..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreLibraryEntryPage.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseLibraryEntryPage; - - -/** - * A classpath container page for the core runtime library. - * - * @version $Rev$ $Date$ - */ -public class CoreLibraryEntryPage extends BaseLibraryEntryPage { - - public CoreLibraryEntryPage() { - super("org.apache.tuscany.sca.plugin.core.runtime.library", "Tuscany SCA Core Library"); - } - -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainer.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainer.java deleted file mode 100644 index 4830268272..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainer.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; - -/** - * A provider of a classpath container for use when launching the Tuscany - * runtime. - * - * @version $Rev: $ $Date: $ - */ -public interface RuntimeClasspathContainer extends IClasspathContainer { - - /** - * Returns the classpath entries to use at runtime. - * - * @return - */ - IClasspathEntry[] getRuntimeClasspathEntries(); - -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializer.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializer.java deleted file mode 100644 index 18850d9333..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializer.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.classpath; - -import org.eclipse.jdt.core.IClasspathContainer; - -/** - * A provider of a classpath container for use when launching the Tuscany - * runtime. - * - * @version $Rev: $ $Date: $ - */ -public interface RuntimeClasspathContainerInitializer { - - /** - * Returns the classpath container to use. - * - * @return - */ - IClasspathContainer getRuntimeClasspathContainer(); - -} diff --git a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializerExtensionPoint.java b/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializerExtensionPoint.java deleted file mode 100644 index 909290859a..0000000000 --- a/tags/java/sca/2.0-M1/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializerExtensionPoint.java +++ /dev/null @@ -1,74 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.plugin.core.classpath;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-/**
- * Utility functions to help list extensions registered in the runtime classpath
- * extension point.
- *
- * @version $Rev: $ $Date: $
- */
-public class RuntimeClasspathContainerInitializerExtensionPoint {
-
- private static final String EXTENSION_POINT_ID = "org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer";
-
- /**
- * Return the installed runtime classpath entries.
- *
- * @return
- * @throws CoreException
- */
- public static String installedRuntimeClasspath() throws CoreException {
-
- List<IClasspathEntry> classpathEntries = new ArrayList<IClasspathEntry>();
- for (IExtension extension: Platform.getExtensionRegistry().getExtensionPoint(EXTENSION_POINT_ID).getExtensions()) {
- for (IConfigurationElement configuration: extension.getConfigurationElements()) {
- RuntimeClasspathContainerInitializer initializer = (RuntimeClasspathContainerInitializer)configuration.createExecutableExtension("class");
- IClasspathContainer container = initializer.getRuntimeClasspathContainer();
- classpathEntries.addAll(Arrays.asList(container.getClasspathEntries()));
- }
- }
-
- String separator = System.getProperty("path.separator");
- StringBuffer classpath = new StringBuffer();
- for (int i = 0, n = classpathEntries.size(); i < n; i++) {
- IClasspathEntry entry = classpathEntries.get(i);
- if (i >0) {
- classpath.append(separator);
- }
- classpath.append(entry.getPath().toFile().toURI().getPath());
- }
-
- return classpath.toString();
- }
-
-}
|