[jboss-osgi-commits] JBoss-OSGI SVN: r95951 - in projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework: deployers and 3 other directories.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Tue Nov 3 08:51:25 EST 2009


Author: adrian at jboss.org
Date: 2009-11-03 08:51:24 -0500 (Tue, 03 Nov 2009)
New Revision: 95951

Modified:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/OSGiDeployersWrapper.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/OSGiParameters.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/plugins/internal/AutoInstallPluginImpl.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleCapability.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleResolver.java
Log:
[JBOSGI-199] - Use thread safe collections for mutable info

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -36,13 +36,13 @@
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Dictionary;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
@@ -151,10 +151,10 @@
    private OSGiSystemState systemBundle;
 
    /** The registered manager plugins */
-   private Map<Class<?>, Plugin> plugins = new LinkedHashMap<Class<?>, Plugin>();
+   private Map<Class<?>, Plugin> plugins = Collections.synchronizedMap(new LinkedHashMap<Class<?>, Plugin>());
 
    /** The frame work properties */
-   private Map<String, Object> properties = new HashMap<String, Object>();
+   private Map<String, Object> properties = new ConcurrentHashMap<String, Object>();
 
    static
    {

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/OSGiDeployersWrapper.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/OSGiDeployersWrapper.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/OSGiDeployersWrapper.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -23,10 +23,10 @@
 
 import static org.jboss.osgi.spi.OSGiConstants.PROPERTY_AUTO_START;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.jboss.deployers.client.spi.Deployment;
 import org.jboss.deployers.client.spi.main.MainDeployer;
@@ -63,7 +63,7 @@
    private PackageAdmin packageAdmin;
 
    /** The list of unresolved bundles */
-   private List<OSGiBundleState> unresolvedBundles = new ArrayList<OSGiBundleState>();
+   private List<OSGiBundleState> unresolvedBundles = new CopyOnWriteArrayList<OSGiBundleState>();
 
    public OSGiDeployersWrapper(MainDeployer mainDeployer, OSGiBundleManager bundleManager)
    {

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -53,11 +53,11 @@
 import java.net.URL;
 import java.util.Arrays;
 import java.util.Dictionary;
-import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.jar.Manifest;
 import java.util.jar.Attributes.Name;
 
@@ -90,7 +90,7 @@
       registry.registerVersionComparator(Version.class, String.class, new OSGiVersionToStringComparator());
    }
 
-   protected transient Map<String, Object> cachedAttributes = new HashMap<String, Object>();
+   protected transient Map<String, Object> cachedAttributes = new ConcurrentHashMap<String, Object>();
 
    protected transient ParameterizedAttribute parameters;
    

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/OSGiParameters.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/OSGiParameters.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/OSGiParameters.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -21,17 +21,23 @@
 */
 package org.jboss.osgi.framework.metadata.internal;
 
+import static org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE;
+import static org.osgi.framework.Constants.BUNDLE_VERSION_ATTRIBUTE;
+import static org.osgi.framework.Constants.RESOLUTION_DIRECTIVE;
+import static org.osgi.framework.Constants.RESOLUTION_MANDATORY;
+import static org.osgi.framework.Constants.VERSION_ATTRIBUTE;
+import static org.osgi.framework.Constants.VISIBILITY_DIRECTIVE;
+import static org.osgi.framework.Constants.VISIBILITY_PRIVATE;
+
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.logging.Logger;
 import org.jboss.osgi.framework.metadata.Parameter;
 import org.jboss.osgi.framework.metadata.VersionRange;
 
-import static org.osgi.framework.Constants.*;
-
 /**
  * OSGi parameter values.
  * Util for transforming parameter info to actual useful values.
@@ -48,7 +54,7 @@
    public OSGiParameters(Map<String, Parameter> parameters)
    {
       this.parameters = Collections.unmodifiableMap(parameters);
-      this.cachedAttributes = new HashMap<String, Object>();
+      this.cachedAttributes = new ConcurrentHashMap<String, Object>();
    }
 
    protected Map<String, Parameter> getParameters()

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/plugins/internal/AutoInstallPluginImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/plugins/internal/AutoInstallPluginImpl.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/plugins/internal/AutoInstallPluginImpl.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -24,9 +24,9 @@
 //$Id$
 
 import java.net.URL;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.logging.Logger;
 import org.jboss.osgi.framework.bundle.OSGiBundleManager;
@@ -48,7 +48,7 @@
    private List<URL> autoInstall;
    private List<URL> autoStart;
    
-   private Map<URL, Bundle> autoBundles = new HashMap<URL, Bundle>();
+   private Map<URL, Bundle> autoBundles = new ConcurrentHashMap<URL, Bundle>();
    
    public AutoInstallPluginImpl(OSGiBundleManager bundleManager)
    {

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleCapability.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleCapability.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleCapability.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -21,9 +21,9 @@
  */
 package org.jboss.osgi.framework.resolver;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.jboss.classloading.plugins.metadata.PackageCapability;
 import org.jboss.classloading.spi.dependency.Module;
@@ -90,7 +90,7 @@
    void wireRequirement(BundleRequirement bundleRequirement)
    {
       if (wires == null)
-         wires = new ArrayList<BundleRequirement>();
+         wires = new CopyOnWriteArrayList<BundleRequirement>();
       
       wires.add(bundleRequirement);
    }

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleResolver.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleResolver.java	2009-11-03 13:50:39 UTC (rev 95950)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/BundleResolver.java	2009-11-03 13:51:24 UTC (rev 95951)
@@ -23,10 +23,10 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.classloading.plugins.metadata.PackageCapability;
 import org.jboss.classloading.plugins.metadata.PackageRequirement;
@@ -60,8 +60,8 @@
    private static final Logger log = Logger.getLogger(BundleResolver.class);
 
    private OSGiBundleManager bundleManager;
-   private Map<OSGiBundleState, List<BundleCapability>> bundleCapabilitiesMap = new HashMap<OSGiBundleState, List<BundleCapability>>();
-   private Map<OSGiBundleState, List<BundleRequirement>> bundleRequirementsMap = new HashMap<OSGiBundleState, List<BundleRequirement>>();
+   private Map<OSGiBundleState, List<BundleCapability>> bundleCapabilitiesMap = new ConcurrentHashMap<OSGiBundleState, List<BundleCapability>>();
+   private Map<OSGiBundleState, List<BundleRequirement>> bundleRequirementsMap = new ConcurrentHashMap<OSGiBundleState, List<BundleRequirement>>();
 
    public BundleResolver(OSGiBundleManager bundleManager)
    {



More information about the jboss-osgi-commits mailing list