summaryrefslogtreecommitdiffstats
path: root/tags/java/sca/2.0-M3-RC3a/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleActivator.java
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java/sca/2.0-M3-RC3a/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleActivator.java')
-rw-r--r--tags/java/sca/2.0-M3-RC3a/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleActivator.java152
1 files changed, 0 insertions, 152 deletions
diff --git a/tags/java/sca/2.0-M3-RC3a/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleActivator.java b/tags/java/sca/2.0-M3-RC3a/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleActivator.java
deleted file mode 100644
index af13d2ee98..0000000000
--- a/tags/java/sca/2.0-M3-RC3a/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleActivator.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.contribution.osgi.impl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
-
-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;
-
-/**
- * The Bundle Activator that receives the BundleContext
- */
-public class OSGiBundleActivator implements BundleActivator {
- private static BundleContext bundleContext;
-
- public static BundleContext getBundleContext() {
- return bundleContext;
- }
-
- public void start(BundleContext context) throws Exception {
- bundleContext = context;
- }
-
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- }
-
- public static Bundle findBundle(URL bundleURL) {
- if (bundleContext == null) {
- return null;
- }
- Bundle[] installedBundles = bundleContext.getBundles();
- for (Bundle bundle : installedBundles) {
- URL root = bundle.getEntry("/");
- if (root != null && root.getHost() != null && root.getHost().equals(bundleURL.getHost())) {
- return bundle;
- }
- }
- return null;
- }
-
- public static Bundle findBundle(String symbolicName, String version) {
- if (bundleContext == null) {
- return null;
- }
- Bundle[] bundles = bundleContext.getBundles();
- if (version == null) {
- version = "0.0.0";
- }
- for (Bundle b : bundles) {
- String v = (String)b.getHeaders().get(Constants.BUNDLE_VERSION);
- if (v == null) {
- v = "0.0.0";
- }
- if (b.getSymbolicName().equals(symbolicName) && (version.equals("0.0.0") || v.equals(version))) {
- return b;
- }
- }
- return null;
- }
-
- public static Bundle installBundle(String location, InputStream is) throws BundleException {
- getBundleContext();
- return bundleContext.installBundle(location, is);
- }
-
- public static Bundle installBundle(String location) throws BundleException, IOException {
- getBundleContext();
-
- URL url = new URL(location);
- Bundle bundle = null;
- InputStream is = url.openStream();
- JarInputStream jar = new JarInputStream(is);
-
- Manifest manifest = jar.getManifest();
- jar.close();
- if (manifest != null) {
- String symbolicName = manifest.getMainAttributes().getValue(Constants.BUNDLE_SYMBOLICNAME);
- String version = manifest.getMainAttributes().getValue(Constants.BUNDLE_VERSION);
- if (symbolicName != null) {
- bundle = findBundle(symbolicName, version);
- if (bundle != null) {
- return bundle;
- }
- } else {
- return null;
- }
- } else {
- return null;
- }
- try {
- is = url.openStream();
- bundle = bundleContext.installBundle(location, is);
- } finally {
- is.close();
- }
- return bundle;
- }
-
- public static Bundle findBundleByLocation(String bundleLocation) {
- if (bundleContext != null) {
- Bundle[] installedBundles = bundleContext.getBundles();
- for (Bundle bundle : installedBundles) {
- if (bundle.getLocation().equals(bundleLocation))
- return bundle;
- }
- }
- return null;
- }
-
- public static Bundle findBundle(String bundleLocation) {
- if (bundleContext != null) {
- if (bundleLocation.startsWith("bundle:") || bundleLocation.startsWith("bundleresource:")
- || bundleLocation.startsWith("bundleentry:")) {
- try {
- return findBundle(new URL(bundleLocation));
- } catch (MalformedURLException e) {
- // ignore
- }
- } else {
- return findBundleByLocation(bundleLocation);
- }
- }
- return null;
- }
-
-}