[jboss-cvs] JBossAS SVN: r99903 - in projects/jboss-osgi/projects: bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 25 09:31:53 EST 2010
Author: thomas.diesler at jboss.com
Date: 2010-01-25 09:31:52 -0500 (Mon, 25 Jan 2010)
New Revision: 99903
Modified:
projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/OSGiBundle.java
projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/EmbeddedBundle.java
projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteBundle.java
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java
projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java
Log:
[JBOSGI-272] Implement bundle header localization
Modified: projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/OSGiBundle.java
===================================================================
--- projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/OSGiBundle.java 2010-01-25 14:31:10 UTC (rev 99902)
+++ projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/OSGiBundle.java 2010-01-25 14:31:52 UTC (rev 99903)
@@ -68,6 +68,11 @@
public abstract Dictionary<String, String> getHeaders();
/**
+ * Returns this bundle's Manifest headers and values localized to the specified locale.
+ */
+ public abstract Dictionary<String, String> getHeaders(String locale);
+
+ /**
* Returns this bundle's current state.
*/
public abstract int getState();
Modified: projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/EmbeddedBundle.java
===================================================================
--- projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/EmbeddedBundle.java 2010-01-25 14:31:10 UTC (rev 99902)
+++ projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/EmbeddedBundle.java 2010-01-25 14:31:52 UTC (rev 99903)
@@ -93,6 +93,13 @@
}
@Override
+ @SuppressWarnings("unchecked")
+ public Dictionary<String, String> getHeaders(String locale)
+ {
+ return bundle.getHeaders(locale);
+ }
+
+ @Override
public long getBundleId()
{
return bundle.getBundleId();
Modified: projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteBundle.java
===================================================================
--- projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteBundle.java 2010-01-25 14:31:10 UTC (rev 99902)
+++ projects/jboss-osgi/projects/bundles/husky/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteBundle.java 2010-01-25 14:31:52 UTC (rev 99903)
@@ -63,7 +63,8 @@
private long bundleId;
private String symbolicName;
private ObjectName objectName;
- private Dictionary<String, String> headers;
+ private Dictionary<String, String> defaultHeaders;
+ private Dictionary<String, String> rawHeaders;
private Version version;
boolean uninstalled;
@@ -85,9 +86,11 @@
symbolicName = bundle.getSymbolicName();
objectName = bundle.getObjectName();
location = bundle.getLocation();
- headers = bundle.getHeaders();
+
+ defaultHeaders = bundle.getHeaders(null);
+ rawHeaders = bundle.getHeaders("");
- String versionStr = headers.get(Constants.BUNDLE_VERSION);
+ String versionStr = defaultHeaders.get(Constants.BUNDLE_VERSION);
version = Version.parseVersion(versionStr);
}
@@ -138,10 +141,22 @@
@SuppressWarnings("unchecked")
public Dictionary<String, String> getHeaders()
{
- return new UnmodifiableDictionary(headers);
+ return new UnmodifiableDictionary(defaultHeaders);
}
@Override
+ @SuppressWarnings("unchecked")
+ public Dictionary<String, String> getHeaders(String locale)
+ {
+ if (locale == null)
+ return new UnmodifiableDictionary(defaultHeaders);
+ else if (locale.length() == 0)
+ return new UnmodifiableDictionary(rawHeaders);
+ else
+ return bundle.getHeaders(locale);
+ }
+
+ @Override
public String getProperty(String key)
{
assertNotUninstalled();
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java 2010-01-25 14:31:10 UTC (rev 99902)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java 2010-01-25 14:31:52 UTC (rev 99903)
@@ -105,11 +105,16 @@
return bundle.getLocation();
}
- @SuppressWarnings("rawtypes")
public Dictionary<String, String> getHeaders()
{
+ return getHeaders(null);
+ }
+
+ @SuppressWarnings("rawtypes")
+ public Dictionary<String, String> getHeaders(String locale)
+ {
Hashtable<String, String> retHeaders = new Hashtable<String, String>();
- Dictionary bundleHeaders = bundle.getHeaders();
+ Dictionary bundleHeaders = bundle.getHeaders(locale);
Enumeration keys = bundleHeaders.keys();
while (keys.hasMoreElements())
{
Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java 2010-01-25 14:31:10 UTC (rev 99902)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java 2010-01-25 14:31:52 UTC (rev 99903)
@@ -75,6 +75,11 @@
Dictionary<String, String> getHeaders();
/**
+ * Returns this bundle's Manifest headers and values localized to the specified locale.
+ */
+ Dictionary<String, String> getHeaders(String locale);
+
+ /**
* Returns the value of the specified property from the BundleContext.
*/
String getProperty(String key);
More information about the jboss-cvs-commits
mailing list