diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:07:45 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:07:45 +0000 |
commit | 6a3ca6736c808c1647854e405ef379b609f276db (patch) | |
tree | 67670193d3511b227100419589d0f2ec0bb02cc0 /branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany | |
parent | 9f395ebf3ec27f89c8dc63137bc99c8d6b0cff6d (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835126 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany')
10 files changed, 0 insertions, 1158 deletions
diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java deleted file mode 100644 index 0b3ff3774a..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java +++ /dev/null @@ -1,152 +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.core.classpath; - -import java.io.File; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -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; - -/** - * A classpath container for the Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public class TuscanyClasspathContainer implements IClasspathContainer { - - private static final String TUSCANY_HOME = "TUSCANY_HOME"; - private static final String TUSCANY_SRC = "TUSCANY_SRC"; - - private static final String TUSCANY_FEATURE = - "features/org.apache.tuscany.sca.feature_1.2.1"; - - private static final String TUSCANY_FEATURE_RUNTIME = TUSCANY_FEATURE + - "/runtime/apache-tuscany-sca-1.2.1-incubating-SNAPSHOT/" + - "tuscany-sca-1.2.1-incubating-SNAPSHOT"; - private static final String TUSCANY_FEATURE_SRC = TUSCANY_FEATURE + - "/src/apache-tuscany-sca-1.2.1-incubating-SNAPSHOT-src.zip"; - - public TuscanyClasspathContainer() { - } - - public IClasspathEntry[] getClasspathEntries() { - List<IClasspathEntry> list = new ArrayList<IClasspathEntry>(); - - // Get the runtime location from the installed Tuscany feature - IPath runtimePath = null; - try { - //FIXME Need a better way to find the location of the Tuscany feature - URL url = FileLocator.toFileURL(Platform.getInstallLocation().getURL()); - File file = new File(url.toURI()); - file = new File(file, TUSCANY_FEATURE_RUNTIME); - if (file.exists()) { - runtimePath = new Path(file.getPath()); - } - } catch (Exception e) { - - // Try to get the location of the Tuscany binary distribution from - // the TUSCANY_HOME property or environment variable - String home = System.getProperty(TUSCANY_HOME); - if (home == null || home.length() == 0) { - home = System.getenv(TUSCANY_HOME); - } - if (home != null && home.length() != 0) { - if (new File(home).exists()) { - runtimePath = new Path(home); - } - } - } - - // Get the source location from the installed Tuscany feature - IPath sourcePath = null; - try { - //FIXME Need a better way to find the location of the Tuscany feature - URL url = FileLocator.toFileURL(Platform.getInstallLocation().getURL()); - File file = new File(url.toURI()); - file = new File(file, TUSCANY_FEATURE_SRC); - if (file.exists()) { - sourcePath = new Path(file.getPath()); - } - } catch (Exception e) { - - // Try to get the location of the Tuscany source distribution from - // the TUSCANY_SRC property or environment variable - String source = System.getProperty(TUSCANY_SRC); - if (source == null || source.length() == 0) { - source = System.getenv(TUSCANY_SRC); - } - if (source != null && source.length() != 0) { - if (new File(source).exists()) { - sourcePath = new Path(source); - } - } - } - - // 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; - } - if (name.startsWith("tuscany-node-api-") || name.startsWith("tuscany-domain-api-")) { - continue; - } - - list.add(JavaCore.newLibraryEntry(path, sourcePath, null)); - } - } - } - - return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]); - } - - public String getDescription() { - return "Tuscany Library"; - } - - public int getKind() { - return IClasspathContainer.K_APPLICATION; - } - - public IPath getPath() { - return new Path("org.apache.tuscany.sca.runtime.library"); - } - -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java deleted file mode 100644 index c82281b243..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java +++ /dev/null @@ -1,50 +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.core.classpath; - -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.IJavaProject; -import org.eclipse.jdt.core.JavaCore; - -/** - * A classpath container initializer for the Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public class TuscanyClasspathContainerInitializer extends ClasspathContainerInitializer { - - @Override - public void initialize(IPath containerPath, IJavaProject project) throws CoreException { - - TuscanyClasspathContainer classpathContainer = new TuscanyClasspathContainer(); - JavaCore.setClasspathContainer(containerPath, - new IJavaProject[] {project}, - new IClasspathContainer[] {classpathContainer}, - null); - } - - @Override - public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) { - return true; - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java deleted file mode 100644 index 0bc1734253..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java +++ /dev/null @@ -1,70 +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.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 classpath container page for the Tuscany runtime library. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLibraryEntryPage extends WizardPage implements IClasspathContainerPage { - - private IClasspathEntry classpathEntry; - - public TuscanyLibraryEntryPage() { - super("Tuscany"); - } - - public void createControl(Composite parent) { - setTitle("Tuscany Library"); - - Label label = new Label(parent, SWT.NONE); - label.setText("Press Finish to add the Tuscany Library"); - label.setFont(parent.getFont()); - - setControl(label); - } - - public boolean finish() { - classpathEntry = JavaCore.newContainerEntry(new Path("org.apache.tuscany.sca.runtime.library")); - return true; - } - - public boolean isPageComplete() { - return true; - } - - public IClasspathEntry getSelection() { - return classpathEntry; - } - - public void setSelection(IClasspathEntry containerEntry) { - this.classpathEntry = containerEntry; - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java deleted file mode 100644 index a2050e44d9..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java +++ /dev/null @@ -1,73 +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.core.launch; - -import java.io.File; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.model.ILaunchConfigurationDelegate; -import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate; -import org.eclipse.jdt.launching.ExecutionArguments; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMRunner; -import org.eclipse.jdt.launching.VMRunnerConfiguration; - -/** - * Launch configuration delegate for the Tuscany launch configuration. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate implements - ILaunchConfigurationDelegate { - - public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) - throws CoreException { - - // Verify the configuration - String mainTypeName = verifyMainTypeName(configuration); - IVMInstall vm = verifyVMInstall(configuration); - IVMRunner runner = vm.getVMRunner(mode); - - ExecutionArguments execArgs = - new ExecutionArguments(getVMArguments(configuration), getProgramArguments(configuration)); - Map vmAttributesMap = getVMSpecificAttributesMap(configuration); - String[] classpath = getClasspath(configuration); - - File workingDir = verifyWorkingDirectory(configuration); - String workingDirName = null; - if (workingDir != null) - workingDirName = workingDir.getAbsolutePath(); - - // Create a VM runner configuration - VMRunnerConfiguration runConfig = new VMRunnerConfiguration(mainTypeName, classpath); - runConfig.setProgramArguments(execArgs.getProgramArgumentsArray()); - runConfig.setVMArguments(execArgs.getVMArgumentsArray()); - runConfig.setVMSpecificAttributesMap(vmAttributesMap); - runConfig.setWorkingDirectory(workingDirName); - runConfig.setBootClassPath(getBootpath(configuration)); - - // Run!! - runner.run(runConfig, launch, monitor); - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java deleted file mode 100644 index 738fe2638e..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java +++ /dev/null @@ -1,48 +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.core.launch; - -import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; -import org.eclipse.debug.ui.CommonTab; -import org.eclipse.debug.ui.EnvironmentTab; -import org.eclipse.debug.ui.ILaunchConfigurationDialog; -import org.eclipse.debug.ui.ILaunchConfigurationTab; -import org.eclipse.debug.ui.ILaunchConfigurationTabGroup; -import org.eclipse.debug.ui.sourcelookup.SourceLookupTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab; - -/** - * Tab groups from the Tuscany launch configuration. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup implements - ILaunchConfigurationTabGroup { - - public void createTabs(ILaunchConfigurationDialog dialog, String mode) { - ILaunchConfigurationTab[] tabs = - new ILaunchConfigurationTab[] {new JavaArgumentsTab(), new JavaJRETab(), new JavaClasspathTab(), - new SourceLookupTab(), new EnvironmentTab(), new CommonTab()}; - - setTabs(tabs); - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java deleted file mode 100644 index 73845b12af..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchShortcut.java +++ /dev/null @@ -1,446 +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.core.launch; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -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; - -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.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.ui.ILaunchShortcut; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -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. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchShortcut implements ILaunchShortcut { - - private final static String TUSCANY_SCA_DOMAIN_PROJECT = "tuscany-sca-domain"; - - public void launch(final ISelection selection, final String mode) { - - try { - - // Make sure we have a .composite file selected - if (!(selection instanceof IStructuredSelection)) { - return; - } - Object[] selections = ((IStructuredSelection)selection).toArray(); - if (selections.length == 0) { - return; - } - 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() { - PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() { - - public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException { - try { - 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; - } - - // 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); - } finally { - progressMonitor.done(); - } - } - }); - - } catch (Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.core", "Could not launch SCA composite", e)); - } - } - - public void launch(IEditorPart editor, String mode) { - //TODO later... - } - - /** - * Launch an SCA node. - * - * @param mode - * @param file - * @param launchManager - * @param launchConfigurationType - * @throws CoreException - * @throws JavaModelException - */ - private void launchNode(String mode, - IFile file, - ILaunchManager launchManager, - 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()); - - // Get the contribution location and URI - String contributionLocation = contributionLocation(javaProject); - String contributionURI = contributionURI(javaProject); - - // Determine the composite file URI - String compositeURI = compositeURI(javaProject, file); - - // Configure the node - String nodeName = configureNode(contributionURI, contributionLocation, compositeURI, progressMonitor); - - // Create a launch configuration - ILaunchConfigurationWorkingCopy configuration = launchConfigurationType.newInstance(null, - launchManager.generateUniqueLaunchConfigurationNameFrom(file.getFullPath().removeFileExtension().lastSegment())); - - // Set the project and type to launch - configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.tuscany.sca.node.launcher.NodeLauncher"); - configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, file.getProject().getName()); - - // Pass the URL of the node install image to the launcher - configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, - "http://localhost:9990/node-image/" + nodeName); - - // Save the configuration - configuration.doSave(); - - // Launch - configuration.launch(mode, null); - } - - /** - * Launch the SCA domain manager. - * - * @param mode - * @param launchManager - * @param launchConfigurationType - * @throws CoreException - * @throws JavaModelException - */ - private void launchDomainManager(String mode, - IFile file, - ILaunchManager launchManager, - 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(progressMonitor); - - // Create a launch configuration - ILaunchConfigurationWorkingCopy configuration = launchConfigurationType.newInstance(null, - launchManager.generateUniqueLaunchConfigurationNameFrom("Apache Tuscany SCA Domain Manager")); - - // Set the project and type to launch - configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, file.getProject().getName()); - configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.tuscany.sca.node.launcher.DomainManagerLauncher"); - configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, domainProject.getLocation().toString()); - - // Save the configuration - configuration.doSave(); - - // Launch - configuration.launch(mode, null); - } - - private static final String PING_HEADER = - "GET /ping HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String PING_CONTENT = ""; - private static final String PING = - PING_HEADER + PING_CONTENT.getBytes().length + "\n\n" + PING_CONTENT; - - /** - * Returns true if the SCA domain controller is running. - * - * @return - */ - private static boolean isDomainManagerRunning() { - try { - Socket client = new Socket("localhost", 9990); - OutputStream os = client.getOutputStream(); - os.write(PING.getBytes()); - os.flush(); - String response = read(client); - if (response.indexOf("<span id=\"ping\">") != -1) { - return true; - } else { - return false; - } - } catch (IOException e) { - return false; - } - } - - /** - * Wait for domain to be running. - * - * @return - */ - private static boolean waitForDomainManager(IProgressMonitor progressMonitor) throws InterruptedException { - progressMonitor.subTask("Contacting SCA domain manager"); - for (int i = 0; i < 40; i++) { - if (progressMonitor.isCanceled()) { - return false; - } - if (isDomainManagerRunning()) { - return true; - } - Thread.sleep(500); - } - return false; - } - - /** - * Read a String from a socket. - * - * @param socket - * @return - * @throws IOException - */ - private static String read(Socket socket) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } - - /** - * Returns the location of the SCA contribution representing a Java project. - * @param javaProject - * @return - * @throws MalformedURLException - * @throws JavaModelException - */ - private static String contributionLocation(IJavaProject javaProject) throws MalformedURLException, JavaModelException { - IPath location = javaProject.getOutputLocation(); - IResource resource; - if (location.segmentCount() == 1) { - resource = javaProject.getProject(); - } else { - resource = javaProject.getProject().getWorkspace().getRoot().getFolder(location); - } - location = resource.getLocation(); - String url = location.toFile().toURI().toURL().toString(); - if (url.endsWith("/")) { - url = url.substring(0, url.length() - 1); - } - return url; - } - - /** - * Returns the URI of the SCA contribution representing a Java project. - * @param javaProject - * @return - */ - private static String contributionURI(IJavaProject javaProject) { - return javaProject.getProject().getName(); - } - - /** - * Returns the SCA artifact URI of a composite file inside a Java project. - * - * @param javaProject - * @param file - * @return - * @throws JavaModelException - */ - private static String compositeURI(IJavaProject javaProject, IFile file) throws JavaModelException { - - // Find the Java source container containing the specified file - IClasspathEntry[] classpathEntries = javaProject.getRawClasspath(); - int sourceFolderSegments = 0; - for (IClasspathEntry entry : classpathEntries) { - if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { - sourceFolderSegments = entry.getPath().matchingFirstSegments(file.getFullPath()); - if (sourceFolderSegments > 0) - break; - } - } - - // Determine the composite URI - String compositeURI = file.getFullPath().removeFirstSegments(sourceFolderSegments).toString(); - return compositeURI; - } - - private static final String START_HEADER1 = - "GET /quickstart?"; - private static final String START_HEADER2 = - " HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String START_CONTENT = ""; - - /** - * Send a request to the SCA domain manager to configure an SCA node for - * the specified composite. - * - * @param contributionURI - * @param contributionLocation - * @param compositeURI - * @return - * @throws IOException - */ - 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); - OutputStream os = client.getOutputStream(); - String request = START_HEADER1 + - "contribution=" + contributionURI + "&location=" + contributionLocation + "&composite=" + compositeURI + - START_HEADER2 + START_CONTENT.getBytes().length + "\n\n" + START_CONTENT; - os.write(request.getBytes()); - os.flush(); - String response = read(client); - - // Refresh the domain project - domainProject(progressMonitor).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); - - int i = response.indexOf("<span id=\"node\">"); - if (i != -1) { - - // Extract the node name - response = response.substring(i + 16); - i = response.indexOf("</span>"); - String nodeName = response.substring(0, i); - return nodeName; - - } else { - throw new RuntimeException("Node could not be configured: " + response); - } - } - - /** - * Returns the SCA domain project. - * - * @return - * @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()) { - progressMonitor.subTask("Creating SCA domain resources"); - - domainProject.create(new SubProgressMonitor(progressMonitor, 5)); - domainProject.open(new SubProgressMonitor(progressMonitor, 5)); - - String html = "<html>\n" + - "<head>\n" + - "<meta http-equiv=\"refresh\" content=\"0;url=http://localhost:9990/ui/home\">\n" + - "</head>\n" + - "<body>\n" + - "<a href=\"http://localhost:9990/ui/home\">SCA Domain</a>\n" + - "</body>\n" + - "</html>"; - - IFile file = domainProject.getFile(new Path("domain.html")); - file.create(new ByteArrayInputStream(html.getBytes()), true, new SubProgressMonitor(progressMonitor, 5)); - } - return domainProject; - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java deleted file mode 100644 index 09b800fe1b..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java +++ /dev/null @@ -1,53 +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.core.newwizards; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWizard; - -/** - * A wizard to create new .componentType files. - * - * @version $Rev$ $Date$ - */ -public class NewComponentTypeWizard extends Wizard implements IWorkbenchWizard { - - private IWorkbench workbench; - private IStructuredSelection selection; - private NewComponentTypeWizardPage mainPage; - - public void init(IWorkbench workbench, IStructuredSelection selection) { - this.workbench = workbench; - this.selection = selection; - setWindowTitle("New SCA ComponentType"); - } - - public void addPages() { - mainPage = new NewComponentTypeWizardPage(workbench, selection); - addPage(mainPage); - } - - @Override - public boolean performFinish() { - return mainPage.finish(); - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java deleted file mode 100644 index 08407e9993..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java +++ /dev/null @@ -1,103 +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.core.newwizards; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintWriter; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.dialogs.WizardNewFileCreationPage; -import org.eclipse.ui.ide.IDE; - -/** - * Wizard page for the new .componentType file wizard. - * - * @version $Rev$ $Date$ - */ -public class NewComponentTypeWizardPage extends WizardNewFileCreationPage { - - private IWorkbench workbench; - - public NewComponentTypeWizardPage(IWorkbench workbench, IStructuredSelection selection) { - super("New SCA ComponentType Page", selection); - - this.workbench = workbench; - - setTitle("SCA ComponentType"); - setDescription("Create a new SCA ComponentType."); - - try { - String location = FileLocator.toFileURL(Platform.getBundle("org.apache.tuscany.sca.core").getEntry("/")).getFile().toString(); - setImageDescriptor(ImageDescriptor.createFromImageData((new ImageLoader()).load(location + "/icons/tuscany.gif")[0])); - } catch (Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.core", "Could not create wizard", e)); - } - - setFileExtension("componentType"); - setFileName("sample.componentType"); - - } - - public boolean finish() { - try { - IFile file = createNewFile(); - - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); - IDE.openEditor(workbenchPage, file, true); - } catch (Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.core", "Could not open editor", e)); - return false; - } - return true; - } - - @Override - protected InputStream getInitialContents() { - - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - PrintWriter printWriter = new PrintWriter(outputStream); - printWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - printWriter.println("<componentType xmlns=\"http://www.osoa.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:t=\"http://tuscany.apache.org/xmlns/sca/1.0\">"); - printWriter.println(); - printWriter.println(); - printWriter.println("</componentType>"); - printWriter.close(); - - return new ByteArrayInputStream(outputStream.toByteArray()); - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java deleted file mode 100644 index f07f0b643c..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java +++ /dev/null @@ -1,53 +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.core.newwizards; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWizard; - -/** - * A wizard to create new .composite files. - * - * @version $Rev$ $Date$ - */ -public class NewCompositeWizard extends Wizard implements IWorkbenchWizard { - - private IWorkbench workbench; - private IStructuredSelection selection; - private NewCompositeWizardPage mainPage; - - public void init(IWorkbench workbench, IStructuredSelection selection) { - this.workbench = workbench; - this.selection = selection; - setWindowTitle("New SCA Composite"); - } - - public void addPages() { - mainPage = new NewCompositeWizardPage(workbench, selection); - addPage(mainPage); - } - - @Override - public boolean performFinish() { - return mainPage.finish(); - } -} diff --git a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java b/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java deleted file mode 100644 index aab0177f73..0000000000 --- a/branches/sca-java-1.2.1/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java +++ /dev/null @@ -1,110 +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.core.newwizards; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintWriter; - -import org.eclipse.core.resources.IFile; -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.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.dialogs.WizardNewFileCreationPage; -import org.eclipse.ui.ide.IDE; - -/** - * Wizard page for the new .composite file wizard. - * - * @version $Rev$ $Date$ - */ -public class NewCompositeWizardPage extends WizardNewFileCreationPage { - - private IWorkbench workbench; - - public NewCompositeWizardPage(IWorkbench workbench, IStructuredSelection selection) { - super("New SCA Composite Page", selection); - - this.workbench = workbench; - - setTitle("SCA Composite"); - setDescription("Create a new SCA Composite."); - - try { - String location = FileLocator.toFileURL(Platform.getBundle("org.apache.tuscany.sca.core").getEntry("/")).getFile().toString(); - setImageDescriptor(ImageDescriptor.createFromImageData((new ImageLoader()).load(location + "/icons/tuscany.gif")[0])); - } catch (Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.core", "Could not create wizard", e)); - } - - setFileExtension("composite"); - setFileName("sample.composite"); - - } - - public boolean finish() { - try { - IFile file = createNewFile(); - - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); - IDE.openEditor(workbenchPage, file, true); - } catch (Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.core", "Could not open editor", e)); - return false; - } - return true; - } - - @Override - protected InputStream getInitialContents() { - - IPath path = new Path(getFileName()); - String name = path.removeFileExtension().toString(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - PrintWriter printWriter = new PrintWriter(outputStream); - printWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - printWriter.println("<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:t=\"http://tuscany.apache.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:c=\"http://" + name + "\""); - printWriter.println(" targetNamespace=\"http://" + name + "\""); - printWriter.println(" name=\"" + name + "\">"); - printWriter.println(); - printWriter.println(); - printWriter.println("</composite>"); - printWriter.close(); - - return new ByteArrayInputStream(outputStream.toByteArray()); - } -} |