[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