Fix for bug 247095
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
index 53e28cd..e28b8d7 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin;singleton:=true
-Bundle-Version: 1.0.2.qualifier
+Bundle-Version: 1.0.3.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Import-Package: org.eclipse.osgi.service.pluginconversion;version="1.0.0",
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
index 69a6f58..c3c1c1a 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
+++ b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
@@ -124,7 +124,6 @@
public int hashCode() {
int result = symbolicName == null ? 0 : symbolicName.hashCode();
result = result + (version == null ? 0 : version.hashCode());
- result = result + (location == null ? 0 : new Path(location).toFile().hashCode());
return result;
}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
index 8192c6f..ebb4132 100644
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
+Bundle-Version: 1.0.3.qualifier
Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator
Bundle-RequiredExecutionEnvironment: J2SE-1.4,
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
index 0154e65..0f1fdab 100644
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
+++ b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
@@ -87,8 +87,6 @@
if (contains(list, file))
return false;
} else if (Site.POLICY_USER_INCLUDE.equals(policy)) {
- if (isFeature(file))
- return true;
// we are only interested in plug-ins in the list
if (!contains(list, file))
return false;
@@ -102,11 +100,6 @@
return !isToBeRemoved(file);
}
- private boolean isFeature(File file) {
- String parent = file.getParent();
- return parent != null && parent.endsWith(FEATURES);
- }
-
/*
* Return a boolean value indicating whether or not the feature pointed to
* by the given file is in the update manager's list of features to be
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
index 8894fa2..3970e63 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.0.2.qualifier
+Bundle-Version: 1.0.3.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.reconciler.dropins.Activator
Bundle-RequiredExecutionEnvironment: J2SE-1.4,
CDC-1.1/Foundation-1.1
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
index 296d021..b262693 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
@@ -42,16 +42,32 @@
private long lastModified = -1l;
private Set configRepositories;
- private String toString(String[] list) {
- if (list == null || list.length == 0)
- return ""; //$NON-NLS-1$
+ private String toString(Feature[] features, String[] list) {
StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < list.length; i++) {
- buffer.append(list[i]);
- if (i + 1 < list.length)
- buffer.append(',');
+ if (features != null) {
+ for (int i = 0; i < features.length; i++) {
+ String featureURL = features[i].getUrl();
+ if (featureURL != null)
+ buffer.append(featureURL).append(',');
+ else {
+ String id = features[i].getId();
+ String version = features[i].getVersion();
+ if (id != null && version != null)
+ buffer.append("features/" + id + "_" + version + "/,"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ }
}
- return buffer.toString();
+ if (list != null) {
+ for (int i = 0; i < list.length; i++) {
+ buffer.append(list[i]).append(',');
+ if (i + 1 < list.length)
+ buffer.append(',');
+ }
+ }
+ if (buffer.length() == 0)
+ return ""; //$NON-NLS-1$
+
+ return buffer.substring(0, buffer.length() - 1);
}
/*
@@ -181,7 +197,7 @@
URL location = new URL(eclipseExtensionURL);
Map properties = new HashMap();
properties.put(SiteListener.SITE_POLICY, site.getPolicy());
- properties.put(SiteListener.SITE_LIST, toString(site.getList()));
+ properties.put(SiteListener.SITE_LIST, toString(site.getFeatures(), site.getList()));
properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
// deal with the metadata repository