Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PatchedFeature.java')
-rw-r--r--update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PatchedFeature.java106
1 files changed, 0 insertions, 106 deletions
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PatchedFeature.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PatchedFeature.java
deleted file mode 100644
index bc9dae9cc..000000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PatchedFeature.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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.update.internal.core;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-/**
- * Feature and corresponding patch features
- */
-public class PatchedFeature {
- private IFeatureReference feature;
- private Collection patches = new HashSet();
- /**
- *
- */
- public PatchedFeature(IFeatureReference feature) {
- super();
- this.feature = feature;
- }
- public void addPatch(IFeatureReference patch) {
- patches.add(patch);
- }
- /**
- * @return Returns the feature.
- */
- public IFeatureReference getFeature() {
- return feature;
- }
- /**
- * @return Returns the patches.
- */
- public IFeatureReference[] getPatches() {
- return (IFeatureReference[]) patches.toArray(new IFeatureReference[patches.size()]);
- }
- /**
- * @return Returns the feature and the patches.
- */
- public IFeatureReference[] getFeatureAndPatches() {
- IFeatureReference[] features = new IFeatureReference[patches.size() + 1];
- features[0] = feature;
- System.arraycopy(getPatches(), 0, features, 1, patches.size());
- return features;
- }
- /**
- * Obtains all plugins from the feature and its patches. Each plugin will
- * have unique ID.
- * If there are multiple version of plugin with same ID among the feature
- * and its patches, highest version plugins are chosen.
- *
- * @return FeaturePlugin[]
- */
- public FeaturePlugin[] getPlugins() {
- // Use a map of PatchedPluigns by plugin ID
- // to collect one version of each plugin
- Map plugins = new HashMap();
- IFeatureReference[] featureRefs = getFeatureAndPatches();
- // for each (feature or any patch)
- for (int i = 0; i < featureRefs.length; i++) {
- try {
- IFeature feature = featureRefs[i].getFeature(null);
- if (feature == null) {
- UpdateCore.warn("Null Feature", new Exception()); //$NON-NLS-1$
- continue;
- }
- // get plugin entries
- IPluginEntry[] entries = feature.getPluginEntries();
- for (int entr = 0; entr < entries.length; entr++) {
- String pluginId = entries[entr].getVersionedIdentifier().getIdentifier();
- PluginVersionIdentifier pluginVersion = entries[entr].getVersionedIdentifier().getVersion();
- // check if map contains >= version of same plugin
- FeaturePlugin existingPlugin = (FeaturePlugin) plugins.get(pluginId);
- if (existingPlugin != null && existingPlugin.getEntry().getVersionedIdentifier().getVersion().isGreaterOrEqualTo(pluginVersion)) {
- // same or newer plugin already collected
- continue;
- } else {
- plugins.put(pluginId, new FeaturePlugin(entries[entr], feature));
- }
- }
- } catch (CoreException e) {
- UpdateCore.warn(null, e);
- }
- }
- return (FeaturePlugin[]) plugins.values().toArray(new FeaturePlugin[plugins.size()]);
- }
- public String toString() {
- StringBuffer str = new StringBuffer(feature.toString());
- IFeatureReference[] patches = getFeatureAndPatches();
- for (int i = 0; i < patches.length; i++) {
- str.append(" +patch=" + patches[i].toString() + " "); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return str.toString();
- }
-}

Back to the top