diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2')
15 files changed, 204 insertions, 192 deletions
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java index 5321d13da..fafe4e912 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java @@ -9,9 +9,10 @@ ******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite; +import org.eclipse.equinox.p2.core.ProvisionException; + import java.net.URI; import org.eclipse.core.runtime.*; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; import org.eclipse.equinox.p2.publisher.IPublisherInfo; import org.eclipse.equinox.p2.publisher.IPublisherResult; diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java index ac5e456ab..cdc70b705 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java @@ -58,15 +58,15 @@ public class DefaultSiteParser extends DefaultHandler { private boolean DESCRIPTION_SITE_ALREADY_SEEN = false; // Current object stack (used to hold the current object we are // populating in this plugin descriptor - Stack objectStack = new Stack(); + Stack<Object> objectStack = new Stack<Object>(); private SAXParser parser; // Current State Information - Stack stateStack = new Stack(); + Stack<Integer> stateStack = new Stack<Integer>(); // List of string keys for translated strings - private final List messageKeys = new ArrayList(4); + private final List<String> messageKeys = new ArrayList<String>(4); private MultiStatus status; private final URI siteLocation; @@ -130,8 +130,8 @@ public class DefaultSiteParser extends DefaultHandler { public DefaultSiteParser(URI siteLocation) { super(); this.siteLocation = siteLocation; - stateStack = new Stack(); - objectStack = new Stack(); + stateStack = new Stack<Integer>(); + objectStack = new Stack<Object>(); status = null; DESCRIPTION_SITE_ALREADY_SEEN = false; try { @@ -155,7 +155,7 @@ public class DefaultSiteParser extends DefaultHandler { public void characters(char[] ch, int start, int length) { String text = new String(ch, start, length); //only push if description - int state = ((Integer) stateStack.peek()).intValue(); + int state = stateStack.peek().intValue(); if (state == STATE_DESCRIPTION_SITE || state == STATE_DESCRIPTION_CATEGORY_DEF) objectStack.push(text); @@ -171,7 +171,7 @@ public class DefaultSiteParser extends DefaultHandler { String text = null; URLEntry info = null; - int state = ((Integer) stateStack.peek()).intValue(); + int state = stateStack.peek().intValue(); switch (state) { case STATE_IGNORED_ELEMENT : case STATE_ARCHIVE : @@ -501,7 +501,7 @@ public class DefaultSiteParser extends DefaultHandler { */ public SiteModel parse(InputStream in) throws SAXException, IOException { stateStack.push(new Integer(STATE_INITIAL)); - currentState = ((Integer) stateStack.peek()).intValue(); + currentState = stateStack.peek().intValue(); parser.parse(new InputSource(in), this); if (objectStack.isEmpty()) throw new SAXException(Messages.DefaultSiteParser_NoSiteTag); @@ -511,7 +511,7 @@ public class DefaultSiteParser extends DefaultHandler { return site; } String stack = ""; //$NON-NLS-1$ - Iterator iter = objectStack.iterator(); + Iterator<Object> iter = objectStack.iterator(); while (iter.hasNext()) { stack = stack + iter.next().toString() + "\r\n"; //$NON-NLS-1$ } @@ -797,7 +797,7 @@ public class DefaultSiteParser extends DefaultHandler { internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownStartState, (new String[] {getState(currentState)}))); break; } - int newState = ((Integer) stateStack.peek()).intValue(); + int newState = stateStack.peek().intValue(); if (newState != STATE_IGNORED_ELEMENT) currentState = newState; diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java index af0e3ba73..9a0809483 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java @@ -36,7 +36,7 @@ public class DigestParser extends DefaultHandler { private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance(); private SAXParser parser; - private final List features = new ArrayList(); + private final List<Feature> features = new ArrayList<Feature>(); private final FeatureManifestParser featureHandler = new FeatureManifestParser(false); public DigestParser() { @@ -82,7 +82,7 @@ public class DigestParser extends DefaultHandler { return null; is = new BufferedInputStream(jar.getInputStream(entry)); parser.parse(new InputSource(is), this); - return (Feature[]) features.toArray(new Feature[features.size()]); + return features.toArray(new Feature[features.size()]); } catch (IOException e) { LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingDigest, location), e)); } catch (SAXException e) { diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java index 6fd9d0e0b..04b9f66ba 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java @@ -10,6 +10,8 @@ ******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite; +import org.eclipse.equinox.p2.publisher.IPublisherAction; + import java.io.File; import java.util.ArrayList; import org.eclipse.core.runtime.*; @@ -71,12 +73,12 @@ public class LocalUpdateSiteAction implements IPublisherAction { protected IPublisherAction[] createActions() { createAdvice(); - ArrayList result = new ArrayList(); + ArrayList<IPublisherAction> result = new ArrayList<IPublisherAction>(); // create an action that just publishes the raw bundles and features IPublisherAction action = new MergeResultsAction(new IPublisherAction[] {createFeaturesAction(), createBundlesAction()}, IPublisherResult.MERGE_ALL_NON_ROOT); result.add(action); result.add(createSiteXMLAction()); - return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]); + return result.toArray(new IPublisherAction[result.size()]); } private IPublisherAction createSiteXMLAction() { diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java index 64e568e61..26434ef8e 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java @@ -10,11 +10,12 @@ ******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite; +import org.eclipse.equinox.p2.core.ProvisionException; + import java.util.*; import org.eclipse.core.runtime.*; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; -import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey; -import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.publisher.*; import org.eclipse.equinox.p2.publisher.eclipse.*; import org.eclipse.equinox.spi.p2.publisher.PublisherHelper; @@ -48,7 +49,7 @@ public class RemoteFeaturesAction extends FeaturesAction { } protected void generateFeatureIUs(Feature[] featureList, IPublisherResult result) { - Properties extraProperties = new Properties(); + Map<String, String> extraProperties = new HashMap<String, String>(); extraProperties.put(IInstallableUnit.PROP_PARTIAL_IU, Boolean.TRUE.toString()); for (int i = 0; i < featureList.length; i++) { Feature feature = featureList[i]; @@ -56,7 +57,7 @@ public class RemoteFeaturesAction extends FeaturesAction { for (int j = 0; j < featureEntries.length; j++) { FeatureEntry entry = featureEntries[j]; if (entry.isPlugin() && !entry.isRequires()) { - Dictionary mockManifest = new Properties(); + Dictionary<String, String> mockManifest = new Hashtable<String, String>(); mockManifest.put("Manifest-Version", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$ mockManifest.put("Bundle-ManifestVersion", "2"); //$NON-NLS-1$ //$NON-NLS-2$ mockManifest.put("Bundle-SymbolicName", entry.getId()); //$NON-NLS-1$ @@ -69,7 +70,7 @@ public class RemoteFeaturesAction extends FeaturesAction { } } IInstallableUnit featureIU = createFeatureJarIU(feature, new PublisherInfo()); - List childIUs = new ArrayList(); + List<IInstallableUnit> childIUs = new ArrayList<IInstallableUnit>(); childIUs.add(featureIU); IInstallableUnit groupIU = createGroupIU(feature, childIUs, new PublisherInfo()); result.addIU(featureIU, IPublisherResult.ROOT); diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java index 428c06122..f7278e23e 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java @@ -10,6 +10,8 @@ ******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite; +import org.eclipse.equinox.p2.publisher.IPublisherAction; + import java.util.ArrayList; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.p2.core.helpers.Tracing; @@ -55,10 +57,10 @@ public class RemoteUpdateSiteAction implements IPublisherAction { } protected IPublisherAction[] createActions() { - ArrayList result = new ArrayList(); + ArrayList<IPublisherAction> result = new ArrayList<IPublisherAction>(); result.add(new RemoteFeaturesAction(updateSite)); result.add(createSiteXMLAction()); - return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]); + return result.toArray(new IPublisherAction[result.size()]); } private IPublisherAction createSiteXMLAction() { diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java index 131016e6e..06ed2a961 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java @@ -12,8 +12,7 @@ package org.eclipse.equinox.internal.p2.updatesite; import java.net.MalformedURLException; import java.net.URL; -import java.util.Comparator; -import java.util.Map; +import java.util.*; /** * A category in an update site. @@ -22,11 +21,11 @@ import java.util.Map; */ public class SiteCategory { - private static Comparator comp; + private static Comparator<SiteCategory> comp; private String description; private String label; private String name; - private Map localizations; + private Map<Locale, Map<String, String>> localizations; /** * Returns a comparator for category models. @@ -34,19 +33,16 @@ public class SiteCategory { * @return comparator * @since 2.0 */ - public static Comparator getComparator() { + public static Comparator<SiteCategory> getComparator() { if (comp == null) { - comp = new Comparator() { + comp = new Comparator<SiteCategory>() { /* * @see Comparator#compare(Object,Object) * Returns 0 if versions are equal. * Returns -1 if object1 is after than object2. * Returns +1 if object1 is before than object2. */ - public int compare(Object o1, Object o2) { - - SiteCategory cat1 = (SiteCategory) o1; - SiteCategory cat2 = (SiteCategory) o2; + public int compare(SiteCategory cat1, SiteCategory cat2) { if (cat1.equals(cat2)) return 0; @@ -108,7 +104,7 @@ public class SiteCategory { * @return a map from locale to property set * @since 3.4 */ - public Map getLocalizations() { + public Map<Locale, Map<String, String>> getLocalizations() { return this.localizations; } @@ -181,7 +177,7 @@ public class SiteCategory { * @param localizations as a map from locale to property set * @since 3.4 */ - public void setLocalizations(Map localizations) { + public void setLocalizations(Map<Locale, Map<String, String>> localizations) { this.localizations = localizations; } diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java index 3ad51042a..0a70eba90 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java @@ -26,7 +26,7 @@ public class SiteFeature { private String arch; // performance private URL base; - private List /* of String*/categoryNames; + private List<String> categoryNames; private String featureId; private String featureVersion; private String label; @@ -99,7 +99,7 @@ public class SiteFeature { */ public void addCategoryName(String categoryName) { if (this.categoryNames == null) - this.categoryNames = new ArrayList(); + this.categoryNames = new ArrayList<String>(); if (!this.categoryNames.contains(categoryName)) this.categoryNames.add(categoryName); } @@ -180,7 +180,7 @@ public class SiteFeature { if (categoryNames == null) return new String[0]; - return (String[]) categoryNames.toArray(new String[0]); + return categoryNames.toArray(new String[0]); } /** @@ -337,7 +337,7 @@ public class SiteFeature { if (categoryNames == null) this.categoryNames = null; else - this.categoryNames = new ArrayList(Arrays.asList(categoryNames)); + this.categoryNames = new ArrayList<String>(Arrays.asList(categoryNames)); } /** diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java index d0bd69475..ec7b4a184 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java @@ -22,16 +22,16 @@ import org.eclipse.equinox.p2.publisher.eclipse.URLEntry; */ public class SiteModel { - private List /*of ArchiveReferenceModel*/archiveReferences; + private List<URLEntry> archiveReferences; /** * Map of String (category id) -> SiteCategory */ - private Map categories; + private Map<String, SiteCategory> categories; private URLEntry description; /** * Map of String (feature id) -> SiteFeature */ - private List features; + private List<SiteFeature> features; private URI locationURI; private String locationURIString; private String mirrorsURIString; @@ -39,8 +39,8 @@ public class SiteModel { private String type; private URLEntry[] associateSites; private String digestURIString; - private List messageKeys; - private Map localizations; + private List<String> messageKeys; + private Map<Locale, Map<String, String>> localizations; /** * Creates an uninitialized site model object. @@ -60,7 +60,7 @@ public class SiteModel { */ public void addArchive(URLEntry archiveReference) { if (this.archiveReferences == null) - this.archiveReferences = new ArrayList(); + this.archiveReferences = new ArrayList<URLEntry>(); if (!this.archiveReferences.contains(archiveReference)) this.archiveReferences.add(archiveReference); } @@ -72,7 +72,7 @@ public class SiteModel { */ public void addCategory(SiteCategory category) { if (categories == null) - categories = new HashMap(); + categories = new HashMap<String, SiteCategory>(); if (!categories.containsKey(category.getName())) { categories.put(category.getName(), category); if (localizations != null && !localizations.isEmpty()) @@ -87,7 +87,7 @@ public class SiteModel { */ public void addFeature(SiteFeature featureReference) { if (this.features == null) - this.features = new ArrayList(); + this.features = new ArrayList<SiteFeature>(); this.features.add(featureReference); } @@ -103,7 +103,7 @@ public class SiteModel { if (archiveReferences == null || archiveReferences.size() == 0) return new URLEntry[0]; - return (URLEntry[]) archiveReferences.toArray(new URLEntry[0]); + return archiveReferences.toArray(new URLEntry[0]); } public URLEntry[] getAssociatedSites() { @@ -119,7 +119,7 @@ public class SiteModel { public SiteCategory[] getCategories() { if (categories == null || categories.size() == 0) return new SiteCategory[0]; - return (SiteCategory[]) categories.values().toArray(new SiteCategory[0]); + return categories.values().toArray(new SiteCategory[0]); } /** @@ -127,7 +127,7 @@ public class SiteModel { * @return the category with the given name, or <code>null</code> */ public SiteCategory getCategory(String name) { - return (SiteCategory) (categories == null ? null : categories.get(name)); + return (categories == null ? null : categories.get(name)); } /** @@ -147,7 +147,7 @@ public class SiteModel { public SiteFeature[] getFeatures() { if (features == null || features.size() == 0) return new SiteFeature[0]; - return (SiteFeature[]) features.toArray(new SiteFeature[0]); + return features.toArray(new SiteFeature[0]); } /** @@ -157,7 +157,7 @@ public class SiteModel { * @return a map from locale to property set * @since 3.4 */ - public Map getLocalizations() { + public Map<Locale, Map<String, String>> getLocalizations() { return this.localizations; } @@ -192,7 +192,7 @@ public class SiteModel { * @return the list of keys for translatable strings; may be null * @since 3.4 */ - public List getMessageKeys() { + public List<String> getMessageKeys() { return messageKeys; } @@ -236,13 +236,11 @@ public class SiteModel { * @param localizations as a map from locale to property set * @since 3.4 */ - public void setLocalizations(Map localizations) { + public void setLocalizations(Map<Locale, Map<String, String>> localizations) { this.localizations = localizations; if (localizations != null && !localizations.isEmpty() && // categories != null && !categories.isEmpty()) { - for (Iterator catIter = categories.entrySet().iterator(); catIter.hasNext();) { - Map.Entry entry = (Map.Entry) catIter.next(); - SiteCategory category = (SiteCategory) entry.getValue(); + for (SiteCategory category : categories.values()) { category.setLocalizations(localizations); } } @@ -264,7 +262,7 @@ public class SiteModel { * @param keys for translatable strings * @since 3.4 */ - public void setMessageKeys(List keys) { + public void setMessageKeys(List<String> keys) { this.messageKeys = keys; } diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java index 2a3fdfc8f..dc12af6cc 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java @@ -10,23 +10,24 @@ ******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite; -import org.eclipse.equinox.internal.provisional.p2.metadata.Version; -import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange; - import java.io.File; import java.net.URI; import java.net.URISyntaxException; import java.util.*; +import java.util.Map.Entry; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.p2.core.helpers.LogHelper; -import org.eclipse.equinox.internal.provisional.p2.core.*; -import org.eclipse.equinox.internal.provisional.p2.metadata.*; +import org.eclipse.equinox.internal.p2.metadata.query.LatestIUVersionQuery; +import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory; import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription; -import org.eclipse.equinox.internal.provisional.p2.metadata.query.*; -import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository; -import org.eclipse.equinox.internal.provisional.p2.repository.IRepository; +import org.eclipse.equinox.p2.core.ProvisionException; +import org.eclipse.equinox.p2.metadata.*; +import org.eclipse.equinox.p2.metadata.query.InstallableUnitQuery; import org.eclipse.equinox.p2.publisher.*; import org.eclipse.equinox.p2.publisher.eclipse.URLEntry; +import org.eclipse.equinox.p2.query.*; +import org.eclipse.equinox.p2.repository.IRepository; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; import org.eclipse.equinox.spi.p2.publisher.LocalizationHelper; import org.eclipse.equinox.spi.p2.publisher.PublisherHelper; @@ -38,7 +39,7 @@ public class SiteXMLAction extends AbstractPublisherAction { static final private String QUALIFIER = "qualifier"; //$NON-NLS-1$ protected UpdateSite updateSite; private SiteCategory defaultCategory; - private HashSet defaultCategorySet; + private HashSet<SiteCategory> defaultCategorySet; protected URI location; private String categoryQualifier = null; @@ -73,7 +74,7 @@ public class SiteXMLAction extends AbstractPublisherAction { defaultCategory.setDescription("Default category for otherwise uncategorized features"); //$NON-NLS-1$ defaultCategory.setLabel("Uncategorized"); //$NON-NLS-1$ defaultCategory.setName("Default"); //$NON-NLS-1$ - defaultCategorySet = new HashSet(1); + defaultCategorySet = new HashSet<SiteCategory>(1); defaultCategorySet.add(defaultCategory); } @@ -92,24 +93,22 @@ public class SiteXMLAction extends AbstractPublisherAction { } private IStatus generateCategories(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor) { - Map categoriesToFeatureIUs = new HashMap(); - Map featuresToCategories = getFeatureToCategoryMappings(info); - for (Iterator i = featuresToCategories.keySet().iterator(); i.hasNext();) { + Map<SiteCategory, Set<IInstallableUnit>> categoriesToFeatureIUs = new HashMap<SiteCategory, Set<IInstallableUnit>>(); + Map<SiteFeature, Set<SiteCategory>> featuresToCategories = getFeatureToCategoryMappings(info); + for (SiteFeature feature : featuresToCategories.keySet()) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; - SiteFeature feature = (SiteFeature) i.next(); IInstallableUnit iu = getFeatureIU(feature, info, results); if (iu == null) continue; - Set categories = (Set) featuresToCategories.get(feature); + Set<SiteCategory> categories = featuresToCategories.get(feature); // if there are no categories for this feature then add it to the default category. if (categories == null || categories.isEmpty()) categories = defaultCategorySet; - for (Iterator it = categories.iterator(); it.hasNext();) { - SiteCategory category = (SiteCategory) it.next(); - Set featureIUs = (Set) categoriesToFeatureIUs.get(category); + for (SiteCategory category : categories) { + Set<IInstallableUnit> featureIUs = categoriesToFeatureIUs.get(category); if (featureIUs == null) { - featureIUs = new HashSet(); + featureIUs = new HashSet<IInstallableUnit>(); categoriesToFeatureIUs.put(category, featureIUs); } featureIUs.add(iu); @@ -122,45 +121,43 @@ public class SiteXMLAction extends AbstractPublisherAction { private IInstallableUnit getFeatureIU(SiteFeature feature, IPublisherInfo publisherInfo, IPublisherResult results) { String id = feature.getFeatureIdentifier() + ".feature.group"; //$NON-NLS-1$ String versionString = feature.getFeatureVersion(); - Version version = versionString != null && versionString.length() > 0 ? new Version(versionString) : Version.emptyVersion; - Query query = null; - Collector collector = null; + Version version = versionString != null && versionString.length() > 0 ? Version.create(versionString) : Version.emptyVersion; + IQuery<IInstallableUnit> query = null; if (version.equals(Version.emptyVersion)) { - query = new CompositeQuery(new Query[] {new InstallableUnitQuery(id), new LatestIUVersionQuery()}); - collector = new Collector(); - } else if (version.getQualifier() != null && version.getQualifier().endsWith(QUALIFIER)) { - final String v = versionString.substring(0, versionString.indexOf(QUALIFIER)); - Query qualifierQuery = new InstallableUnitQuery(id) { - private String qualifierVersion = v.endsWith(".") ? v.substring(0, v.length() - 1) : v; //$NON-NLS-1$ - - public boolean isMatch(Object object) { - if (super.isMatch(object)) { - IInstallableUnit candidate = (IInstallableUnit) object; - return candidate.getVersion().toString().startsWith(qualifierVersion); - } - return false; - } - }; - query = new CompositeQuery(new Query[] {qualifierQuery, new LatestIUVersionQuery()}); - collector = new Collector(); + query = new PipedQuery<IInstallableUnit>(new InstallableUnitQuery(id), new LatestIUVersionQuery<IInstallableUnit>()); } else { - query = new InstallableUnitQuery(id, version); - collector = new Collector() { - public boolean accept(Object object) { - super.accept(object); - return false; //stop searching once we've found one - } - }; + String qualifier; + try { + qualifier = Version.toOSGiVersion(version).getQualifier(); + } catch (UnsupportedOperationException e) { + qualifier = null; + } + if (qualifier != null && qualifier.endsWith(QUALIFIER)) { + final String v = versionString.substring(0, versionString.indexOf(QUALIFIER)); + IQuery<IInstallableUnit> qualifierQuery = new InstallableUnitQuery(id) { + private String qualifierVersion = v.endsWith(".") ? v.substring(0, v.length() - 1) : v; //$NON-NLS-1$ + + public boolean isMatch(IInstallableUnit candidate) { + if (super.isMatch(candidate)) { + return candidate.getVersion().toString().startsWith(qualifierVersion); + } + return false; + } + }; + query = new PipedQuery<IInstallableUnit>(qualifierQuery, new LatestIUVersionQuery<IInstallableUnit>()); + } else { + query = new LimitQuery<IInstallableUnit>(new InstallableUnitQuery(id, version), 1); + } } - collector = results.query(query, collector, null); - if (collector.size() == 0) - collector = publisherInfo.getMetadataRepository().query(query, collector, null); - if (collector.size() == 0 && publisherInfo.getContextMetadataRepository() != null) - collector = publisherInfo.getContextMetadataRepository().query(query, collector, null); + IQueryResult<IInstallableUnit> queryResult = results.query(query, null); + if (queryResult.isEmpty()) + queryResult = publisherInfo.getMetadataRepository().query(query, null); + if (queryResult.isEmpty() && publisherInfo.getContextMetadataRepository() != null) + queryResult = publisherInfo.getContextMetadataRepository().query(query, null); - if (collector.size() == 1) - return (IInstallableUnit) collector.iterator().next(); + if (!queryResult.isEmpty()) + return queryResult.iterator().next(); return null; } @@ -169,8 +166,8 @@ public class SiteXMLAction extends AbstractPublisherAction { * if available. Returns an empty map if there is not site.xml, or no categories. * @return A map of SiteFeature -> Set<SiteCategory>. */ - protected Map getFeatureToCategoryMappings(IPublisherInfo info) { - HashMap mappings = new HashMap(); + protected Map<SiteFeature, Set<SiteCategory>> getFeatureToCategoryMappings(IPublisherInfo info) { + HashMap<SiteFeature, Set<SiteCategory>> mappings = new HashMap<SiteFeature, Set<SiteCategory>>(); if (updateSite == null) return mappings; SiteModel site = updateSite.getSite(); @@ -199,12 +196,12 @@ public class SiteXMLAction extends AbstractPublisherAction { File siteFile = URIUtil.toFile(updateSite.getLocation()); if (siteFile != null && siteFile.exists()) { File siteParent = siteFile.getParentFile(); - List messageKeys = site.getMessageKeys(); + List<String> messageKeys = site.getMessageKeys(); if (siteParent.isDirectory()) { - String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]); + String[] keyStrings = messageKeys.toArray(new String[messageKeys.size()]); site.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$ } else if (siteFile.getName().endsWith(".jar")) { //$NON-NLS-1$ - String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]); + String[] keyStrings = messageKeys.toArray(new String[messageKeys.size()]); site.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$ } } @@ -213,7 +210,7 @@ public class SiteXMLAction extends AbstractPublisherAction { for (int i = 0; i < features.length; i++) { //add a mapping for each category this feature belongs to String[] categoryNames = features[i].getCategoryNames(); - Set categories = new HashSet(); + Set<SiteCategory> categories = new HashSet<SiteCategory>(); mappings.put(features[i], categories); for (int j = 0; j < categoryNames.length; j++) { SiteCategory category = site.getCategory(categoryNames[j]); @@ -251,10 +248,9 @@ public class SiteXMLAction extends AbstractPublisherAction { * @param categoriesToFeatures Map of SiteCategory ->Set (Feature IUs in that category). * @param result The generator result being built */ - protected void generateCategoryIUs(Map categoriesToFeatures, IPublisherResult result) { - for (Iterator it = categoriesToFeatures.keySet().iterator(); it.hasNext();) { - SiteCategory category = (SiteCategory) it.next(); - result.addIU(createCategoryIU(category, (Set) categoriesToFeatures.get(category), null), IPublisherResult.NON_ROOT); + protected void generateCategoryIUs(Map<SiteCategory, Set<IInstallableUnit>> categoriesToFeatures, IPublisherResult result) { + for (SiteCategory category : categoriesToFeatures.keySet()) { + result.addIU(createCategoryIU(category, categoriesToFeatures.get(category), null), IPublisherResult.NON_ROOT); } } @@ -265,7 +261,7 @@ public class SiteXMLAction extends AbstractPublisherAction { * @param parentCategory The parent category, or <code>null</code> * @return an IU representing the category */ - public IInstallableUnit createCategoryIU(SiteCategory category, Set featureIUs, IInstallableUnit parentCategory) { + public IInstallableUnit createCategoryIU(SiteCategory category, Set<IInstallableUnit> featureIUs, IInstallableUnit parentCategory) { InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription(); cat.setSingleton(true); String categoryId = buildCategoryId(category.getName()); @@ -276,9 +272,8 @@ public class SiteXMLAction extends AbstractPublisherAction { cat.setProperty(IInstallableUnit.PROP_NAME, label != null ? label : category.getName()); cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, category.getDescription()); - ArrayList reqsConfigurationUnits = new ArrayList(featureIUs.size()); - for (Iterator iterator = featureIUs.iterator(); iterator.hasNext();) { - IInstallableUnit iu = (IInstallableUnit) iterator.next(); + ArrayList<IRequirement> reqsConfigurationUnits = new ArrayList<IRequirement>(featureIUs.size()); + for (IInstallableUnit iu : featureIUs) { VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true); reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter(), false, false)); } @@ -286,30 +281,28 @@ public class SiteXMLAction extends AbstractPublisherAction { if (parentCategory != null) { reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, parentCategory.getId(), VersionRange.emptyRange, parentCategory.getFilter(), false, false)); } - cat.setRequiredCapabilities((IRequiredCapability[]) reqsConfigurationUnits.toArray(new IRequiredCapability[reqsConfigurationUnits.size()])); + cat.setRequiredCapabilities(reqsConfigurationUnits.toArray(new IRequirement[reqsConfigurationUnits.size()])); // Create set of provided capabilities - ArrayList providedCapabilities = new ArrayList(); + ArrayList<IProvidedCapability> providedCapabilities = new ArrayList<IProvidedCapability>(); providedCapabilities.add(PublisherHelper.createSelfCapability(categoryId, cat.getVersion())); - Map localizations = category.getLocalizations(); + Map<Locale, Map<String, String>> localizations = category.getLocalizations(); if (localizations != null) { - for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) { - Locale locale = (Locale) iter.next(); - Properties translatedStrings = (Properties) localizations.get(locale); - Enumeration propertyKeys = translatedStrings.propertyNames(); - while (propertyKeys.hasMoreElements()) { - String nextKey = (String) propertyKeys.nextElement(); - cat.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey)); + for (Entry<Locale, Map<String, String>> locEntry : localizations.entrySet()) { + Locale locale = locEntry.getKey(); + Map<String, String> translatedStrings = locEntry.getValue(); + for (Entry<String, String> e : translatedStrings.entrySet()) { + cat.setProperty(locale.toString() + '.' + e.getKey(), e.getValue()); } providedCapabilities.add(PublisherHelper.makeTranslationCapability(categoryId, locale)); } } - cat.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); + cat.setCapabilities(providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); cat.setArtifacts(new IArtifactKey[0]); - cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$ + cat.setProperty(InstallableUnitDescription.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$ return MetadataFactory.createInstallableUnit(cat); } diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java index 461d38ce3..5b6a821f1 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java @@ -10,6 +10,10 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite; +import org.eclipse.equinox.p2.core.ProvisionException; + +import org.eclipse.equinox.p2.publisher.eclipse.Feature; + import java.io.*; import java.net.*; import java.util.HashMap; @@ -21,7 +25,6 @@ import org.eclipse.equinox.internal.p2.core.helpers.LogHelper; import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureParser; import org.eclipse.equinox.internal.p2.repository.AuthenticationFailedException; import org.eclipse.equinox.internal.p2.repository.RepositoryTransport; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; import org.eclipse.equinox.p2.publisher.eclipse.*; import org.eclipse.osgi.util.NLS; import org.xml.sax.SAXException; @@ -50,9 +53,9 @@ public class UpdateSite { * Some variables for caching. */ // map of String (URI.toString()) to UpdateSite - private static Map siteCache = new HashMap(); + private static Map<String, UpdateSite> siteCache = new HashMap<String, UpdateSite>(); // map of String (featureID_featureVersion) to Feature - private Map featureCache = new HashMap(); + private Map<String, Feature> featureCache = new HashMap<String, Feature>(); /* * Return a URI based on the given URI, which points to a site.xml file. @@ -81,7 +84,7 @@ public class UpdateSite { public static synchronized UpdateSite loadCategoryFile(URI location, IProgressMonitor monitor) throws ProvisionException { if (location == null) return null; - UpdateSite result = (UpdateSite) siteCache.get(location.toString()); + UpdateSite result = siteCache.get(location.toString()); if (result != null) return result; InputStream input = null; @@ -119,7 +122,7 @@ public class UpdateSite { public static synchronized UpdateSite load(URI location, IProgressMonitor monitor) throws ProvisionException { if (location == null) return null; - UpdateSite result = (UpdateSite) siteCache.get(location.toString()); + UpdateSite result = siteCache.get(location.toString()); if (result != null) return result; InputStream input = null; @@ -436,7 +439,7 @@ public class UpdateSite { */ public synchronized Feature[] loadFeatures(IProgressMonitor monitor) throws ProvisionException { if (!featureCache.isEmpty()) - return (Feature[]) featureCache.values().toArray(new Feature[featureCache.size()]); + return featureCache.values().toArray(new Feature[featureCache.size()]); Feature[] result = loadFeaturesFromDigest(monitor); return result == null ? loadFeaturesFromSite(monitor) : result; } @@ -477,7 +480,7 @@ public class UpdateSite { Feature[] features = new DigestParser().parse(digestFile, digestURI); if (features == null) return null; - Map tmpFeatureCache = new HashMap(features.length); + Map<String, Feature> tmpFeatureCache = new HashMap<String, Feature>(features.length); for (int i = 0; i < features.length; i++) { String key = features[i].getId() + VERSION_SEPARATOR + features[i].getVersion(); tmpFeatureCache.put(key, features[i]); @@ -518,7 +521,7 @@ public class UpdateSite { private Feature[] loadFeaturesFromSite(IProgressMonitor monitor) throws ProvisionException { SiteFeature[] siteFeatures = site.getFeatures(); FeatureParser featureParser = new FeatureParser(); - Map tmpFeatureCache = new HashMap(siteFeatures.length); + Map<String, Feature> tmpFeatureCache = new HashMap<String, Feature>(siteFeatures.length); for (int i = 0; i < siteFeatures.length; i++) { if (monitor.isCanceled()) { @@ -546,13 +549,13 @@ public class UpdateSite { } } featureCache = tmpFeatureCache; - return (Feature[]) featureCache.values().toArray(new Feature[featureCache.size()]); + return featureCache.values().toArray(new Feature[featureCache.size()]); } /* * Load the features that are included by the given feature. */ - private void loadIncludedFeatures(Feature feature, FeatureParser featureParser, Map features, IProgressMonitor monitor) throws ProvisionException { + private void loadIncludedFeatures(Feature feature, FeatureParser featureParser, Map<String, Feature> features, IProgressMonitor monitor) throws ProvisionException { FeatureEntry[] featureEntries = feature.getEntries(); for (int i = 0; i < featureEntries.length; i++) { if (monitor.isCanceled()) diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java index 517816bb6..d8ba4e035 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java @@ -15,9 +15,10 @@ import java.net.URI; import java.util.Map; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; -import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.core.ProvisionException; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.query.*; +import org.eclipse.equinox.p2.repository.artifact.*; public class UpdateSiteArtifactRepository implements IArtifactRepository { @@ -56,10 +57,6 @@ public class UpdateSiteArtifactRepository implements IArtifactRepository { return delegate.getArtifactDescriptors(key); } - public IArtifactKey[] getArtifactKeys() { - return delegate.getArtifactKeys(); - } - public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) { return delegate.getArtifacts(requests, monitor); } @@ -97,7 +94,7 @@ public class UpdateSiteArtifactRepository implements IArtifactRepository { return delegate.getName(); } - public Map getProperties() { + public Map<String, String> getProperties() { return delegate.getProperties(); } @@ -133,7 +130,20 @@ public class UpdateSiteArtifactRepository implements IArtifactRepository { throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ } + @SuppressWarnings("rawtypes") public Object getAdapter(Class adapter) { return delegate.getAdapter(adapter); } + + public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) { + return delegate.createArtifactDescriptor(key); + } + + public IQueryable<IArtifactDescriptor> descriptorQueryable() { + return delegate.descriptorQueryable(); + } + + public IQueryResult<IArtifactKey> query(IQuery<IArtifactKey> query, IProgressMonitor monitor) { + return delegate.query(query, monitor); + } } diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java index 1a1f2b281..fea37bd60 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java @@ -14,19 +14,20 @@ package org.eclipse.equinox.internal.p2.updatesite.artifact; import java.net.URI; import java.util.*; import org.eclipse.core.runtime.*; +import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor; +import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryFactory; import org.eclipse.equinox.internal.p2.updatesite.Activator; import org.eclipse.equinox.internal.p2.updatesite.UpdateSite; import org.eclipse.equinox.internal.p2.updatesite.metadata.Messages; import org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory; -import org.eclipse.equinox.internal.provisional.p2.artifact.repository.*; -import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepDescriptor; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; -import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey; -import org.eclipse.equinox.internal.provisional.p2.repository.IRepository; -import org.eclipse.equinox.internal.provisional.p2.repository.IRepositoryManager; -import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory; -import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory; +import org.eclipse.equinox.p2.core.ProvisionException; +import org.eclipse.equinox.p2.metadata.IArtifactKey; import org.eclipse.equinox.p2.publisher.eclipse.*; +import org.eclipse.equinox.p2.repository.IRepository; +import org.eclipse.equinox.p2.repository.IRepositoryManager; +import org.eclipse.equinox.p2.repository.artifact.*; +import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactRepositoryFactory; +import org.eclipse.equinox.p2.repository.artifact.spi.ProcessingStepDescriptor; import org.eclipse.osgi.util.NLS; public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFactory { @@ -34,13 +35,12 @@ public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFacto /* (non-Javadoc) * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map) */ - public IArtifactRepository create(URI location, String name, String type, Map properties) { + public IArtifactRepository create(URI location, String name, String type, Map<String, String> properties) { return null; } private static final String PROP_ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$ private static final String PROP_FORCE_THREADING = "eclipse.p2.force.threading"; //$NON-NLS-1$ - private static final String PROP_FORMAT_PACKED = "packed"; //$NON-NLS-1$ private static final String PROP_SITE_CHECKSUM = "site.checksum"; //$NON-NLS-1$ private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$ @@ -74,6 +74,7 @@ public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFacto public IArtifactRepository loadRepository(URI location, IProgressMonitor monitor) { URI localRepositoryURL = UpdateSiteMetadataRepositoryFactory.getLocalRepositoryLocation(location); SimpleArtifactRepositoryFactory factory = new SimpleArtifactRepositoryFactory(); + factory.setAgent(getAgent()); try { return factory.load(localRepositoryURL, 0, monitor); } catch (ProvisionException e) { @@ -85,7 +86,7 @@ public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFacto public void initializeRepository(IArtifactRepository repository, URI location, IProgressMonitor monitor) throws ProvisionException { UpdateSite updateSite = UpdateSite.load(location, monitor); - String savedChecksum = (String) repository.getProperties().get(PROP_SITE_CHECKSUM); + String savedChecksum = repository.getProperties().get(PROP_SITE_CHECKSUM); if (savedChecksum != null && savedChecksum.equals(updateSite.getChecksum())) return; @@ -101,24 +102,24 @@ public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFacto private void generateArtifactDescriptors(UpdateSite updateSite, IArtifactRepository repository, IProgressMonitor monitor) throws ProvisionException { final String PACK_EXT = ".pack.gz"; //$NON-NLS-1$ Feature[] features = updateSite.loadFeatures(monitor); - Set allSiteArtifacts = new HashSet(); + Set<IArtifactDescriptor> allSiteArtifacts = new HashSet<IArtifactDescriptor>(); boolean packSupported = updateSite.getSite().isPack200Supported(); for (int i = 0; i < features.length; i++) { Feature feature = features[i]; IArtifactKey featureKey = FeaturesAction.createFeatureArtifactKey(feature.getId(), feature.getVersion()); - ArtifactDescriptor featureArtifactDescriptor = new ArtifactDescriptor(featureKey); + SimpleArtifactDescriptor featureArtifactDescriptor = new SimpleArtifactDescriptor(featureKey); URI featureURL = updateSite.getFeatureURI(feature.getId(), feature.getVersion()); featureArtifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, featureURL.toString()); allSiteArtifacts.add(featureArtifactDescriptor); if (packSupported) { // Update site supports pack200, create a packed descriptor - featureArtifactDescriptor = new ArtifactDescriptor(featureKey); + featureArtifactDescriptor = new SimpleArtifactDescriptor(featureKey); featureURL = updateSite.getFeatureURI(feature.getId(), feature.getVersion()); featureArtifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, featureURL.toString() + PACK_EXT); - ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$ + IProcessingStepDescriptor[] steps = new IProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$ featureArtifactDescriptor.setProcessingSteps(steps); - featureArtifactDescriptor.setProperty(IArtifactDescriptor.FORMAT, PROP_FORMAT_PACKED); + featureArtifactDescriptor.setProperty(IArtifactDescriptor.FORMAT, IArtifactDescriptor.FORMAT_PACKED); allSiteArtifacts.add(featureArtifactDescriptor); } @@ -127,7 +128,7 @@ public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFacto FeatureEntry entry = featureEntries[j]; if (entry.isPlugin() && !entry.isRequires()) { IArtifactKey key = BundlesAction.createBundleArtifactKey(entry.getId(), entry.getVersion()); - ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor(key); + SimpleArtifactDescriptor artifactDescriptor = new SimpleArtifactDescriptor(key); URI pluginURL = updateSite.getPluginURI(entry); artifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, pluginURL.toString()); allSiteArtifacts.add(artifactDescriptor); @@ -135,19 +136,19 @@ public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFacto if (packSupported) { // Update site supports pack200, create a packed descriptor key = BundlesAction.createBundleArtifactKey(entry.getId(), entry.getVersion()); - artifactDescriptor = new ArtifactDescriptor(key); + artifactDescriptor = new SimpleArtifactDescriptor(key); pluginURL = updateSite.getPluginURI(entry); artifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, pluginURL.toString() + PACK_EXT); - ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$ + IProcessingStepDescriptor[] steps = new IProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$ artifactDescriptor.setProcessingSteps(steps); - artifactDescriptor.setProperty(IArtifactDescriptor.FORMAT, PROP_FORMAT_PACKED); + artifactDescriptor.setProperty(IArtifactDescriptor.FORMAT, IArtifactDescriptor.FORMAT_PACKED); allSiteArtifacts.add(artifactDescriptor); } } } } - IArtifactDescriptor[] descriptors = (IArtifactDescriptor[]) allSiteArtifacts.toArray(new IArtifactDescriptor[allSiteArtifacts.size()]); + IArtifactDescriptor[] descriptors = allSiteArtifacts.toArray(new IArtifactDescriptor[allSiteArtifacts.size()]); repository.addDescriptors(descriptors); } } diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java index 34dd890d3..311304235 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java @@ -13,10 +13,10 @@ package org.eclipse.equinox.internal.p2.updatesite.metadata; import java.net.URI; import java.util.Map; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; -import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector; -import org.eclipse.equinox.internal.provisional.p2.metadata.query.Query; -import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.query.IQuery; +import org.eclipse.equinox.p2.query.IQueryResult; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; public class UpdateSiteMetadataRepository implements IMetadataRepository { @@ -43,7 +43,7 @@ public class UpdateSiteMetadataRepository implements IMetadataRepository { throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ } - public boolean removeInstallableUnits(Query query, IProgressMonitor monitor) { + public boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor) { throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ } @@ -59,7 +59,7 @@ public class UpdateSiteMetadataRepository implements IMetadataRepository { return delegate.getName(); } - public Map getProperties() { + public Map<String, String> getProperties() { return delegate.getProperties(); } @@ -95,11 +95,12 @@ public class UpdateSiteMetadataRepository implements IMetadataRepository { throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$ } + @SuppressWarnings("rawtypes") public Object getAdapter(Class adapter) { return delegate.getAdapter(adapter); } - public Collector query(Query query, Collector collector, IProgressMonitor monitor) { - return delegate.query(query, collector, monitor); + public IQueryResult<IInstallableUnit> query(IQuery<IInstallableUnit> query, IProgressMonitor monitor) { + return delegate.query(query, monitor); } }
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java index 528739500..7314e1492 100644 --- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java +++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java @@ -12,6 +12,12 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.updatesite.metadata; +import org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory; + +import org.eclipse.equinox.p2.repository.metadata.spi.MetadataRepositoryFactory; + +import org.eclipse.equinox.p2.core.ProvisionException; + import java.io.File; import java.io.FileNotFoundException; import java.net.URI; @@ -21,12 +27,9 @@ import org.eclipse.ecf.filetransfer.UserCancelledException; import org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository; import org.eclipse.equinox.internal.p2.repository.AuthenticationFailedException; import org.eclipse.equinox.internal.p2.updatesite.*; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; -import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository; -import org.eclipse.equinox.internal.provisional.p2.repository.IRepositoryManager; -import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory; -import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory; import org.eclipse.equinox.p2.publisher.*; +import org.eclipse.equinox.p2.repository.IRepositoryManager; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; import org.eclipse.osgi.util.NLS; public class UpdateSiteMetadataRepositoryFactory extends MetadataRepositoryFactory { @@ -40,9 +43,9 @@ public class UpdateSiteMetadataRepositoryFactory extends MetadataRepositoryFacto } /* (non-Javadoc) - * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map) + * @see org.eclipse.equinox.p2.repository.metadata.spi.MetadataRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map) */ - public IMetadataRepository create(URI location, String name, String type, Map properties) { + public IMetadataRepository create(URI location, String name, String type, Map<String, String> properties) { return null; } @@ -91,6 +94,7 @@ public class UpdateSiteMetadataRepositoryFactory extends MetadataRepositoryFacto public IMetadataRepository loadRepository(URI location, IProgressMonitor monitor) { URI localRepositoryURL = getLocalRepositoryLocation(location); SimpleMetadataRepositoryFactory factory = new SimpleMetadataRepositoryFactory(); + factory.setAgent(getAgent()); try { return factory.load(localRepositoryURL, 0, monitor); } catch (ProvisionException e) { @@ -102,7 +106,7 @@ public class UpdateSiteMetadataRepositoryFactory extends MetadataRepositoryFacto public void initializeRepository(IMetadataRepository repository, URI location, IProgressMonitor monitor) throws ProvisionException { UpdateSite updateSite = UpdateSite.load(location, monitor); - String savedChecksum = (String) repository.getProperties().get(PROP_SITE_CHECKSUM); + String savedChecksum = repository.getProperties().get(PROP_SITE_CHECKSUM); if (savedChecksum != null && savedChecksum.equals(updateSite.getChecksum())) return; repository.setProperty(PROP_SITE_CHECKSUM, updateSite.getChecksum()); |