diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-13 01:23:07 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-13 01:23:07 +0000 |
commit | 539451c7e13d98504e6f3368d892406494ca711d (patch) | |
tree | 6fe54167c75379c836d9df585d6267df89f511d4 /sca-java-1.x/tags/1.5.1-RC4/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java | |
parent | b055ebe9fe44990f9dad2ed8c1c789aa43b2538d (diff) |
Removing obsolete release candidate tags
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835693 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-java-1.x/tags/1.5.1-RC4/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/sca-java-1.x/tags/1.5.1-RC4/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java b/sca-java-1.x/tags/1.5.1-RC4/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java deleted file mode 100644 index 5e4a0ed338..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC4/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java +++ /dev/null @@ -1,174 +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.node.osgi.launcher; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.felix.framework.Felix; -import org.apache.felix.framework.cache.BundleCache; -import org.apache.felix.framework.util.FelixConstants; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; -import org.osgi.framework.Constants; - -/** - * - */ -public class FelixOSGiHost implements OSGiHost { - - private Felix felix; - private LauncherBundleActivator activator; - //private ClassLoader tccl; - - private final static String systemPackages = - "org.osgi.framework; version=1.3.0," + "org.osgi.service.packageadmin; version=1.2.0, " - + "org.osgi.service.startlevel; version=1.0.0, " - + "org.osgi.service.url; version=1.0.0, " - + "org.osgi.util.tracker; version=1.3.2, " - + "javax.xml, " - + "javax.xml.datatype, " - + "javax.xml.namespace, " - + "javax.xml.parsers, " - + "javax.xml.transform, " - + "javax.xml.transform.dom, " - + "javax.xml.transform.sax, " - + "javax.xml.transform.stream, " - + "javax.xml.validation, " - + "javax.xml.xpath, " - // Force the classes to be imported from the system bundle - // + "javax.xml.stream, " - // + "javax.xml.stream.util, " - + "javax.sql," - + "org.w3c.dom, " - + "org.xml.sax, " - + "org.xml.sax.ext, " - + "org.xml.sax.helpers, " - + "javax.security.auth, " - + "javax.security.cert, " - + "javax.security.auth.login, " - + "javax.security.auth.callback, " - + "javax.naming, " - + "javax.naming.spi, " - + "javax.naming.directory, " - + "javax.management, " - + "javax.imageio, " - + "sun.misc, " - + "javax.net, " - + "javax.net.ssl, " - + "javax.crypto, " - + "javax.rmi, " - + "javax.transaction, " - + "javax.transaction.xa"; - - public LauncherBundleActivator getActivator() { - if (activator == null) { - activator = new LauncherBundleActivator(); - } - return activator; - } - - public void setActivator(LauncherBundleActivator activator) { - this.activator = activator; - } - - public BundleContext start() { - try { - startup(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - BundleContext bundleContext = felix.getBundleContext(); - return bundleContext; - } - - public void stop() { - try { - shutdown(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - - private void startup() throws BundleException { - if (felix != null) { - throw new IllegalStateException("Felix is already running."); - } - - // Create a configuration property map. - Map<String, String> configMap = new HashMap<String, String>(); - // Configure the Felix instance to be embedded. - configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true"); - // Add core OSGi packages to be exported from the class path - // via the system bundle. - configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, systemPackages); - // Explicitly specify the directory to use for caching bundles. - configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "target/.felix"); - List<BundleActivator> list = new ArrayList<BundleActivator>(); - - list.add(getActivator()); - - // Now create an instance of the framework with - // our configuration properties and activator. - felix = new Felix(configMap, list); - - // Now start Felix instance. - felix.start(); - - //tccl = Thread.currentThread().getContextClassLoader(); - //Thread.currentThread().setContextClassLoader(getContextClassLoader(felix.getBundleContext())); - - } - - private ClassLoader getContextClassLoader(BundleContext bundleContext) { - for (Bundle b : bundleContext.getBundles()) { - if ("org.apache.tuscany.sca.extensibility.osgi".equals(b.getSymbolicName())) { - try { - b.start(); - Class<?> discovererClass = b.loadClass("org.apache.tuscany.sca.extensibility.ServiceDiscovery"); - Method getInstance = discovererClass.getMethod("getInstance"); - Object instance = getInstance.invoke(null); - Method getter = discovererClass.getMethod("getServiceDiscoverer"); - Object discoverer = getter.invoke(instance); - - Method getCL = discoverer.getClass().getMethod("getContextClassLoader"); - ClassLoader cl = (ClassLoader)getCL.invoke(discoverer); - return cl; - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - } - return null; - } - - private void shutdown() throws BundleException { - if (felix != null) { - felix.stopAndWait(); - } - //Thread.currentThread().setContextClassLoader(tccl); - } - -} |