202020
BundleUtils uses non-API methods
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java
index 5158ba1..e8b65b7 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java
@@ -19,7 +19,6 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.framework.internal.core.AbstractBundle;
import org.osgi.framework.Bundle;
import org.osgi.framework.Version;
@@ -65,9 +64,8 @@
static public Version getVersion(String bundleId) {
Version result = null;
Bundle bundle = Platform.getBundle(bundleId);
- if (bundle instanceof AbstractBundle) {
- result = ((AbstractBundle) bundle).getVersion();
- }
+ String versionString = (String) bundle.getHeaders().get("Bundle-Version");
+ result = new Version(versionString);
return result;
}
diff --git a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/TestBundleUtils.java b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/TestBundleUtils.java
new file mode 100644
index 0000000..e822a12
--- /dev/null
+++ b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/TestBundleUtils.java
@@ -0,0 +1,15 @@
+package org.eclipse.wst.ws.tests.unittest;
+
+import junit.framework.TestCase;
+
+import org.eclipse.wst.ws.internal.common.BundleUtils;
+import org.osgi.framework.Version;
+
+public class TestBundleUtils extends TestCase {
+
+ public void testGetVersion() {
+ Version version = BundleUtils.getVersion("org.eclipse.wst.ws");
+ assertNotNull("version should never be null", version);
+ }
+
+}