[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