Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi.compatibility.plugins/src/org/eclipse/osgi/compatibility/plugins/PluginConverterHook.java')
-rw-r--r--bundles/org.eclipse.osgi.compatibility.plugins/src/org/eclipse/osgi/compatibility/plugins/PluginConverterHook.java108
1 files changed, 0 insertions, 108 deletions
diff --git a/bundles/org.eclipse.osgi.compatibility.plugins/src/org/eclipse/osgi/compatibility/plugins/PluginConverterHook.java b/bundles/org.eclipse.osgi.compatibility.plugins/src/org/eclipse/osgi/compatibility/plugins/PluginConverterHook.java
deleted file mode 100644
index 3ff76b4b8..000000000
--- a/bundles/org.eclipse.osgi.compatibility.plugins/src/org/eclipse/osgi/compatibility/plugins/PluginConverterHook.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2017 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.compatibility.plugins;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-
-import org.eclipse.osgi.framework.util.CaseInsensitiveDictionaryMap;
-import org.eclipse.osgi.internal.hookregistry.ActivatorHookFactory;
-import org.eclipse.osgi.internal.hookregistry.BundleFileWrapperFactoryHook;
-import org.eclipse.osgi.internal.hookregistry.HookConfigurator;
-import org.eclipse.osgi.internal.hookregistry.HookRegistry;
-import org.eclipse.osgi.service.pluginconversion.PluginConversionException;
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.eclipse.osgi.storage.BundleInfo.Generation;
-import org.eclipse.osgi.storage.bundlefile.BundleEntry;
-import org.eclipse.osgi.storage.bundlefile.BundleFile;
-import org.eclipse.osgi.storage.bundlefile.BundleFileWrapper;
-import org.eclipse.osgi.storage.bundlefile.FileBundleEntry;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceRegistration;
-
-public class PluginConverterHook implements HookConfigurator {
- @Override
- public void addHooks(final HookRegistry hookRegistry) {
- PluginConverterImpl tempConverter;
- try {
- tempConverter = new PluginConverterImpl(hookRegistry);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- final PluginConverterImpl converter = tempConverter;
- hookRegistry.addBundleFileWrapperFactoryHook(new BundleFileWrapperFactoryHook() {
-
- @Override
- public BundleFileWrapper wrapBundleFile(BundleFile bundleFile, Generation generation, boolean base) {
- if (!base) {
- return null;
- }
- return new BundleFileWrapper(bundleFile) {
-
- @Override
- public BundleEntry getEntry(String path) {
- BundleEntry entry = getBundleFile().getEntry(path);
- if (!PluginConverterImpl.OSGI_BUNDLE_MANIFEST.equals(path)) {
- return entry;
- }
- Map<String, String> headers = null;
- if (entry != null) {
- try {
- headers = ManifestElement.parseBundleManifest(entry.getInputStream(), new CaseInsensitiveDictionaryMap<String, String>());
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- if (headers.containsKey(Constants.BUNDLE_MANIFESTVERSION)) {
- return entry;
- }
- if (headers.containsKey(Constants.BUNDLE_SYMBOLICNAME)) {
- return entry;
- }
- }
- try {
- File manifest = converter.convertManifest(getBaseFile(), null, true, null, true, null, false);
- if (manifest == null) {
- return entry;
- }
- return new FileBundleEntry(manifest, PluginConverterImpl.OSGI_BUNDLE_MANIFEST);
- } catch (PluginConversionException e) {
- throw new RuntimeException(e);
- }
- }
- };
- }
- });
-
- hookRegistry.addActivatorHookFactory(new ActivatorHookFactory() {
-
- @Override
- public BundleActivator createActivator() {
- return new BundleActivator() {
- ServiceRegistration<PluginConverter> reg;
-
- @Override
- public void start(BundleContext context) throws Exception {
- reg = context.registerService(PluginConverter.class, converter, null);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- reg.unregister();
- }
- };
- }
- });
- }
-}

Back to the top