Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources')
-rw-r--r--bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/NullPackageSource.java15
-rw-r--r--bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java14
2 files changed, 13 insertions, 16 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/NullPackageSource.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/NullPackageSource.java
index cc0ec615a..d397e4140 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/NullPackageSource.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/NullPackageSource.java
@@ -14,8 +14,11 @@
package org.eclipse.osgi.internal.loader.sources;
import java.net.URL;
-import java.util.*;
-import org.eclipse.osgi.framework.util.KeyedHashSet;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* This class is used to optimize finding provided-packages for a bundle.
@@ -24,7 +27,7 @@ import org.eclipse.osgi.framework.util.KeyedHashSet;
* be done again.
*/
public class NullPackageSource extends PackageSource {
- static KeyedHashSet sources;
+ static Map<String, NullPackageSource> sources = new HashMap<>();
private NullPackageSource(String name) {
super(name);
@@ -51,13 +54,11 @@ public class NullPackageSource extends PackageSource {
}
public static synchronized NullPackageSource getNullPackageSource(String name) {
- if (sources == null)
- sources = new KeyedHashSet();
- NullPackageSource result = (NullPackageSource) sources.getByKey(name);
+ NullPackageSource result = sources.get(name);
if (result != null)
return result;
result = new NullPackageSource(name);
- sources.add(result);
+ sources.put(name, result);
return result;
}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java
index 516ac33d0..c7e490319 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java
@@ -19,7 +19,6 @@ import java.util.Collection;
import java.util.Enumeration;
import org.eclipse.osgi.container.ModuleRevision;
import org.eclipse.osgi.container.ModuleWiring;
-import org.eclipse.osgi.framework.util.KeyedElement;
import org.eclipse.osgi.internal.framework.EquinoxBundle;
import org.eclipse.osgi.internal.framework.EquinoxContainer;
import org.eclipse.osgi.internal.loader.BundleLoader;
@@ -28,7 +27,7 @@ import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceFactory;
import org.osgi.service.packageadmin.PackageAdmin;
-public abstract class PackageSource implements KeyedElement {
+public abstract class PackageSource {
protected final String id;
public PackageSource(String id) {
@@ -42,18 +41,15 @@ public abstract class PackageSource implements KeyedElement {
public abstract SingleSourcePackage[] getSuppliers();
- public boolean compare(KeyedElement other) {
- return id.equals(((PackageSource) other).getId());
+ public boolean compare(PackageSource other) {
+ return id.equals(other.getId());
}
- public int getKeyHashCode() {
+ @Override
+ public int hashCode() {
return id.hashCode();
}
- public Object getKey() {
- return id;
- }
-
public boolean isNullSource() {
return false;
}

Back to the top