diff options
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.java | 106 |
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(); - } -} |