From ab6904bc2f622129bc548391745b08eb0c219e57 Mon Sep 17 00:00:00 2001 From: rfeng Date: Tue, 21 Jul 2009 07:03:47 +0000 Subject: Fix svn:eol-style and svn:keywords properties for java/xml files git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@796166 13f79535-47bb-0310-9956-ffa450edef68 --- .../launcher/ContributionLocationHelper.java | 2 +- .../node/equinox/launcher/FrameworkLauncher.java | 252 ++++++------ .../sca/node/equinox/launcher/NodeLauncher2.java | 434 ++++++++++----------- .../node/equinox/launcher/NodeLauncherCommand.java | 114 +++--- .../src/test/resources/HelloWorld.composite | 68 ++-- 5 files changed, 435 insertions(+), 435 deletions(-) (limited to 'java/sca/modules/node-launcher-equinox/src') diff --git a/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/ContributionLocationHelper.java b/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/ContributionLocationHelper.java index fd7aaed4c8..056ec080ba 100644 --- a/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/ContributionLocationHelper.java +++ b/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/ContributionLocationHelper.java @@ -29,7 +29,7 @@ import org.osgi.framework.Bundle; /** * ContributionLocationHelper * - * @version $Rev: $ $Date: $ + * @version $Rev$ $Date$ */ public class ContributionLocationHelper { diff --git a/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/FrameworkLauncher.java b/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/FrameworkLauncher.java index 777ab59df3..380056e470 100644 --- a/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/FrameworkLauncher.java +++ b/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/FrameworkLauncher.java @@ -1,126 +1,126 @@ -/* - * 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.node.equinox.launcher; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.Hashtable; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.eclipse.osgi.framework.console.CommandProvider; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.launch.Framework; -import org.osgi.framework.launch.FrameworkFactory; - -/** - * Launcher for the OSGi framework using the framework launch APIs - */ -public class FrameworkLauncher implements BundleActivator { - private static final Logger logger = Logger.getLogger(FrameworkLauncher.class.getName()); - - private FrameworkFactory factory; - private boolean isEquinox; - - @SuppressWarnings("unchecked") - private synchronized FrameworkFactory loadFrameworkFactory() { - if (factory == null) { - // Use reflection APIs to call ServiceDiscovery to avoid hard dependency to tuscany-extensibility - try { - ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); - InputStream is = - classLoader.getResourceAsStream("META-INF/services/" + FrameworkFactory.class.getName()); - if (is == null) { - classLoader = FrameworkFactory.class.getClassLoader(); - is = classLoader.getResourceAsStream("META-INF/services/" + FrameworkFactory.class.getName()); - } - if (is == null) { - return null; - } - BufferedReader reader = null; - String line = null; - try { - reader = new BufferedReader(new InputStreamReader(is)); - while (true) { - line = reader.readLine(); - if (line == null) - break; - line = line.trim(); - if (!line.startsWith("#") && !"".equals(line)) { - break; - } - } - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - // Ignore - } - } - } - if (line != null) { - Class factoryImplClass = - (Class)Class.forName(line, false, classLoader); - factory = factoryImplClass.newInstance(); - if (factory != null && factory.getClass().getName().startsWith("org.eclipse.osgi.")) { - isEquinox = true; - } - - } - } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - return factory; - } - - public Framework newFramework(Map properties) { - FrameworkFactory factory = loadFrameworkFactory(); - if (factory == null) { - return null; - } - return factory.newFramework(properties); - } - - public boolean isEquinox() { - return isEquinox; - } - - public void start(BundleContext context) throws Exception { - EquinoxHost.injectedBundleContext = context; - if (context.getClass().getName().startsWith("org.eclipse.osgi.")) { - isEquinox = true; - try { - context.registerService(CommandProvider.class.getName(), new NodeLauncherCommand(), new Hashtable()); - } catch (NoClassDefFoundError e) { - // Ignore it - } - } - } - - public void stop(BundleContext context) throws Exception { - EquinoxHost.injectedBundleContext = null; - } -} +/* + * 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.node.equinox.launcher; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Hashtable; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.eclipse.osgi.framework.console.CommandProvider; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.launch.Framework; +import org.osgi.framework.launch.FrameworkFactory; + +/** + * Launcher for the OSGi framework using the framework launch APIs + */ +public class FrameworkLauncher implements BundleActivator { + private static final Logger logger = Logger.getLogger(FrameworkLauncher.class.getName()); + + private FrameworkFactory factory; + private boolean isEquinox; + + @SuppressWarnings("unchecked") + private synchronized FrameworkFactory loadFrameworkFactory() { + if (factory == null) { + // Use reflection APIs to call ServiceDiscovery to avoid hard dependency to tuscany-extensibility + try { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + InputStream is = + classLoader.getResourceAsStream("META-INF/services/" + FrameworkFactory.class.getName()); + if (is == null) { + classLoader = FrameworkFactory.class.getClassLoader(); + is = classLoader.getResourceAsStream("META-INF/services/" + FrameworkFactory.class.getName()); + } + if (is == null) { + return null; + } + BufferedReader reader = null; + String line = null; + try { + reader = new BufferedReader(new InputStreamReader(is)); + while (true) { + line = reader.readLine(); + if (line == null) + break; + line = line.trim(); + if (!line.startsWith("#") && !"".equals(line)) { + break; + } + } + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + // Ignore + } + } + } + if (line != null) { + Class factoryImplClass = + (Class)Class.forName(line, false, classLoader); + factory = factoryImplClass.newInstance(); + if (factory != null && factory.getClass().getName().startsWith("org.eclipse.osgi.")) { + isEquinox = true; + } + + } + } catch (Throwable e) { + logger.log(Level.SEVERE, e.getMessage(), e); + } + } + return factory; + } + + public Framework newFramework(Map properties) { + FrameworkFactory factory = loadFrameworkFactory(); + if (factory == null) { + return null; + } + return factory.newFramework(properties); + } + + public boolean isEquinox() { + return isEquinox; + } + + public void start(BundleContext context) throws Exception { + EquinoxHost.injectedBundleContext = context; + if (context.getClass().getName().startsWith("org.eclipse.osgi.")) { + isEquinox = true; + try { + context.registerService(CommandProvider.class.getName(), new NodeLauncherCommand(), new Hashtable()); + } catch (NoClassDefFoundError e) { + // Ignore it + } + } + } + + public void stop(BundleContext context) throws Exception { + EquinoxHost.injectedBundleContext = null; + } +} diff --git a/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher2.java b/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher2.java index fc299b3d53..14018a7af5 100644 --- a/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher2.java +++ b/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher2.java @@ -1,217 +1,217 @@ -/* - * 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.node.equinox.launcher; - -import static org.apache.tuscany.sca.node.equinox.launcher.NodeLauncherUtil.node; - -import java.io.File; -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.osgi.framework.BundleContext; - -/** - * A launcher for SCA nodes. - * - * @version $Rev: 720905 $ $Date: 2008-11-26 15:47:28 +0000 (Wed, 26 Nov 2008) $ - */ -public class NodeLauncher2 { - - static final Logger logger = Logger.getLogger(NodeLauncher2.class.getName()); - private EquinoxHost equinoxHost; - private BundleContext bundleContext; - - /** - * Constructs a new node launcher. - */ - private NodeLauncher2() { - equinoxHost = new EquinoxHost(); - bundleContext = equinoxHost.start(); - } - - /** - * Returns a new launcher instance. - * - * @return a new launcher instance - */ - public static NodeLauncher2 newInstance() { - return new NodeLauncher2(); - } - - /** - * Creates a new SCA node from the configuration URL - * - * @param configurationURL the URL of the node configuration which is the ATOM feed - * that contains the URI of the composite and a collection of URLs for the contributions - * - * @return a new SCA node. - * @throws LauncherException - */ - public T createNode(String configurationURL) throws LauncherException { - return (T)node(configurationURL, null, null, null, bundleContext); - } - - /** - * Creates a new SCA OSGi Node. - * - * @param compositeURI the URI of the composite to use - * @param contributions the URI of the contributions that provides the composites and related - * artifacts. If the list is empty, then we will use the thread context classloader to discover - * the contribution on the classpath - * - * @return a new SCA node. - * @throws LauncherException - */ - public T createNode(String compositeURI, Contribution... contributions) throws LauncherException { - return (T)node(null, compositeURI, null, contributions, bundleContext); - } - - /** - * Creates a new SCA OSGi Node. - * - * @param compositeURI the URI of the composite to use - * @param compositeContent the XML content of the composite to use - * @param contributions the URI of the contributions that provides the composites and related artifacts - * @return a new SCA node. - * @throws LauncherException - */ - public T createNode(String compositeURI, String compositeContent, Contribution... contributions) - throws LauncherException { - return (T)node(null, compositeURI, compositeContent, contributions, bundleContext); - } - - public static void main(String[] args) throws Exception { - logger.info("Apache Tuscany SCA Node is starting..."); - - // Create a node launcher - NodeLauncher2 launcher = newInstance(); - - EquinoxHost equinox = launcher.equinoxHost; - Object node = null; - ShutdownThread shutdown = null; - try { - - Contribution[] contributions = new Contribution[args.length]; - for (int i=0; i T createNode(String configurationURL) throws LauncherException { + return (T)node(configurationURL, null, null, null, bundleContext); + } + + /** + * Creates a new SCA OSGi Node. + * + * @param compositeURI the URI of the composite to use + * @param contributions the URI of the contributions that provides the composites and related + * artifacts. If the list is empty, then we will use the thread context classloader to discover + * the contribution on the classpath + * + * @return a new SCA node. + * @throws LauncherException + */ + public T createNode(String compositeURI, Contribution... contributions) throws LauncherException { + return (T)node(null, compositeURI, null, contributions, bundleContext); + } + + /** + * Creates a new SCA OSGi Node. + * + * @param compositeURI the URI of the composite to use + * @param compositeContent the XML content of the composite to use + * @param contributions the URI of the contributions that provides the composites and related artifacts + * @return a new SCA node. + * @throws LauncherException + */ + public T createNode(String compositeURI, String compositeContent, Contribution... contributions) + throws LauncherException { + return (T)node(null, compositeURI, compositeContent, contributions, bundleContext); + } + + public static void main(String[] args) throws Exception { + logger.info("Apache Tuscany SCA Node is starting..."); + + // Create a node launcher + NodeLauncher2 launcher = newInstance(); + + EquinoxHost equinox = launcher.equinoxHost; + Object node = null; + ShutdownThread shutdown = null; + try { + + Contribution[] contributions = new Contribution[args.length]; + for (int i=0; i]: The configuration folder for Equinox\n" - // + " [-bundles ]: A list of bundles to be installed\n" - + "\t[-c ]: The composite URI\n" - + "\t[-t ]: Time to live in milliseconds before the node is stopped\n" - + "\tcontribution1 ... contributionN: A list of contribution files or URLs\n"; - } - - public void _tuscany(CommandInterpreter ci) throws Exception { - List args = new ArrayList(); - while (true) { - String arg = ci.nextArgument(); - if (arg == null) { - break; - } - args.add(arg); - } - NodeLauncher.main(args.toArray(new String[args.size()])); - } - -} +/* + * 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.node.equinox.launcher; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.osgi.framework.console.CommandInterpreter; +import org.eclipse.osgi.framework.console.CommandProvider; + +/** + * An Equinox console command extension for Tuscany + * http://www.ibm.com/developerworks/library/os-ecl-osgiconsole/index.html + */ +public class NodeLauncherCommand implements CommandProvider { + + public String getHelp() { + return "---Apache Tuscany Commands for Equinox---\n" + + "\ttuscany - Launch an SCA node\n" + + "\tAgruments:\n" + // + " [-config ]: The configuration folder for Equinox\n" + // + " [-bundles ]: A list of bundles to be installed\n" + + "\t[-c ]: The composite URI\n" + + "\t[-t ]: Time to live in milliseconds before the node is stopped\n" + + "\tcontribution1 ... contributionN: A list of contribution files or URLs\n"; + } + + public void _tuscany(CommandInterpreter ci) throws Exception { + List args = new ArrayList(); + while (true) { + String arg = ci.nextArgument(); + if (arg == null) { + break; + } + args.add(arg); + } + NodeLauncher.main(args.toArray(new String[args.size()])); + } + +} diff --git a/java/sca/modules/node-launcher-equinox/src/test/resources/HelloWorld.composite b/java/sca/modules/node-launcher-equinox/src/test/resources/HelloWorld.composite index e232226fd3..ccd116e848 100644 --- a/java/sca/modules/node-launcher-equinox/src/test/resources/HelloWorld.composite +++ b/java/sca/modules/node-launcher-equinox/src/test/resources/HelloWorld.composite @@ -1,34 +1,34 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + -- cgit v1.2.3