Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Bull2010-04-24 04:22:25 +0000
committerIan Bull2010-04-24 04:22:25 +0000
commitbcde189cc17726636e028561c235fdad914ce74e (patch)
tree844f8b99e912019f5c6fce6079e9cc476e1418dc /bundles/org.eclipse.equinox.p2.updatesite
parentfbd1aa35b5a1d31e2b2f62c7fd91c4e90dd8afaf (diff)
downloadrt.equinox.p2-bcde189cc17726636e028561c235fdad914ce74e.tar.gz
rt.equinox.p2-bcde189cc17726636e028561c235fdad914ce74e.tar.xz
rt.equinox.p2-bcde189cc17726636e028561c235fdad914ce74e.zip
bug 277340: [publisher] Category publishing only publishes one version of a featurev20100424-0100
https://bugs.eclipse.org/bugs/show_bug.cgi?id=277340
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.updatesite')
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java14
1 files changed, 7 insertions, 7 deletions
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 6e338ef84..4d5bd4040 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
@@ -105,8 +105,8 @@ public class SiteXMLAction extends AbstractPublisherAction {
for (SiteFeature feature : featuresToCategories.keySet()) {
if (monitor.isCanceled())
return Status.CANCEL_STATUS;
- IInstallableUnit iu = getFeatureIU(feature, publisherInfo, results);
- if (iu == null)
+ Collection<IInstallableUnit> ius = getFeatureIU(feature, publisherInfo, results);
+ if (ius == null)
continue;
Set<SiteCategory> categories = featuresToCategories.get(feature);
// if there are no categories for this feature then add it to the default category.
@@ -118,7 +118,7 @@ public class SiteXMLAction extends AbstractPublisherAction {
featureIUs = new HashSet<IInstallableUnit>();
categoriesToIUs.put(category, featureIUs);
}
- featureIUs.add(iu);
+ featureIUs.addAll(ius);
}
}
addSiteIUsToCategories(categoriesToIUs, publisherInfo, results);
@@ -183,13 +183,13 @@ public class SiteXMLAction extends AbstractPublisherAction {
private static final IExpression qualifierMatchExpr = ExpressionUtil.parse("id == $0 && version ~= $1"); //$NON-NLS-1$
- private IInstallableUnit getFeatureIU(SiteFeature feature, IPublisherInfo publisherInfo, IPublisherResult results) {
+ private Collection<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 ? Version.create(versionString) : Version.emptyVersion;
IQuery<IInstallableUnit> query = null;
if (version.equals(Version.emptyVersion)) {
- query = QueryUtil.createLatestQuery(QueryUtil.createIUQuery(id));
+ query = QueryUtil.createIUQuery(id);
} else {
String qualifier;
try {
@@ -200,7 +200,7 @@ public class SiteXMLAction extends AbstractPublisherAction {
if (qualifier != null && qualifier.endsWith(QUALIFIER)) {
VersionRange range = createVersionRange(version.toString());
IQuery<IInstallableUnit> qualifierQuery = QueryUtil.createMatchQuery(qualifierMatchExpr, id, range);
- query = QueryUtil.createLatestQuery(qualifierQuery);
+ query = qualifierQuery;
} else {
query = QueryUtil.createLimitQuery(QueryUtil.createIUQuery(id, version), 1);
}
@@ -213,7 +213,7 @@ public class SiteXMLAction extends AbstractPublisherAction {
queryResult = publisherInfo.getContextMetadataRepository().query(query, null);
if (!queryResult.isEmpty())
- return queryResult.iterator().next();
+ return queryResult.toUnmodifiableSet();
return null;
}

Back to the top