Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2')
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java20
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java13
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java20
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java8
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java36
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java151
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java23
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java26
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java43
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java17
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java20
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());

Back to the top