[jboss-osgi-commits] JBoss-OSGI SVN: r93059 - in projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing: internal and 1 other directory.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Tue Sep 1 02:46:08 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-09-01 02:46:07 -0400 (Tue, 01 Sep 2009)
New Revision: 93059
Modified:
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiBundle.java
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java
Log:
Use Bundle.getVersion(). Better error handling on getBundle() after install.
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiBundle.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiBundle.java 2009-09-01 06:21:54 UTC (rev 93058)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiBundle.java 2009-09-01 06:46:07 UTC (rev 93059)
@@ -25,6 +25,7 @@
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
+import org.osgi.framework.Version;
/**
* An abstraction of an OSGi {@link Bundle}.
@@ -45,9 +46,9 @@
public abstract String getSymbolicName();
/**
- * Returns the version of this bundle as specified by its Bundle-Version manifest header.
+ * Returns the version of this bundle.
*/
- public abstract String getVersion();
+ public abstract Version getVersion();
/**
* Returns this bundle's Manifest headers and values.
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java 2009-09-01 06:21:54 UTC (rev 93058)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java 2009-09-01 06:46:07 UTC (rev 93059)
@@ -27,7 +27,7 @@
import org.jboss.osgi.spi.testing.OSGiBundle;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
+import org.osgi.framework.Version;
/**
* An OSGi Test Case
@@ -64,9 +64,9 @@
}
@Override
- public String getVersion()
+ public Version getVersion()
{
- return getHeaders().get(Constants.BUNDLE_VERSION);
+ return bundle.getVersion();
}
@Override
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java 2009-09-01 06:21:54 UTC (rev 93058)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java 2009-09-01 06:46:07 UTC (rev 93059)
@@ -77,7 +77,7 @@
{
DeployerService service = (DeployerService)context.getService(sref);
service.deploy(bundleURL);
- bundle = getBundle(symbolicName, version);
+ bundle = getBundle(symbolicName, version, true);
}
else
{
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java 2009-09-01 06:21:54 UTC (rev 93058)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java 2009-09-01 06:46:07 UTC (rev 93059)
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
@@ -49,6 +50,7 @@
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.Version;
/**
* An abstract implementation of the {@link OSGiRuntime}
@@ -184,21 +186,33 @@
public OSGiBundle getBundle(String symbolicName, String version)
{
+ OSGiBundle bundle = getBundle(symbolicName, version, false);
+ return bundle;
+ }
+
+ protected OSGiBundle getBundle(String symbolicName, String versionStr, boolean mustExist)
+ {
OSGiBundle bundle = null;
- for (OSGiBundle aux : getBundles())
+ Version version = Version.parseVersion(versionStr);
+ List<OSGiBundle> bundles = Arrays.asList(getBundles());
+ for (OSGiBundle aux : bundles)
{
if (aux.getSymbolicName().equals(symbolicName))
{
- if (version == null || version.equals(aux.getVersion()))
+ if (versionStr == null || version.equals(aux.getVersion()))
{
bundle = aux;
break;
}
}
}
+
+ if (bundle == null && mustExist == true)
+ throw new IllegalStateException("Cannot obtain bundle: " + symbolicName + "-" + version + ". We have " + bundles);
+
return bundle;
}
-
+
protected String getManifestEntry(String location, String key)
{
Manifest manifest = getManifest(location);
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java 2009-09-01 06:21:54 UTC (rev 93058)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java 2009-09-01 06:46:07 UTC (rev 93059)
@@ -29,6 +29,7 @@
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
+import org.osgi.framework.Version;
/**
* An implementation of a remote {@link OSGiBundle}
@@ -48,7 +49,7 @@
private long bundleId;
private String symbolicName;
- private String version;
+ private Version version;
public RemoteBundle(OSGiRuntimeImpl runtime, ManagedBundleMBean bundle, String location)
{
@@ -58,7 +59,9 @@
this.bundleId = bundle.getBundleId();
this.symbolicName = bundle.getSymbolicName();
- this.version = getHeaders().get(Constants.BUNDLE_VERSION);
+
+ String versionStr = getHeaders().get(Constants.BUNDLE_VERSION);
+ this.version = Version.parseVersion(versionStr);
}
@Override
@@ -80,7 +83,7 @@
}
@Override
- public String getVersion()
+ public Version getVersion()
{
return version;
}
More information about the jboss-osgi-commits
mailing list