You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2015/11/03 16:49:23 UTC

[10/13] oodt git commit: OODT-917 replace hashtables

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java b/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java
index 7f32391..6183dd7 100644
--- a/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java
+++ b/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java
@@ -18,7 +18,7 @@ package org.apache.oodt.cas.metadata;
 //JDK imports
 
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
@@ -405,7 +405,7 @@ public class Metadata {
    * combined.
    */
   @Deprecated
-  public void addMetadata(HashMap<String, Object> metadata, boolean replace) {
+  public void addMetadata(ConcurrentHashMap<String, Object> metadata, boolean replace) {
     // for back compat: the old method allowed us to give it a
     // Map<String,String> and it still worked
 	for (Map.Entry<String, Object> key : metadata.entrySet()) {
@@ -499,7 +499,7 @@ public class Metadata {
     public Group(String name) {
       this.name = name;
       this.values = new Vector<String>();
-      this.children = new HashMap<String, Group>();
+      this.children = new ConcurrentHashMap<String, Group>();
     }
 
     public String getName() {
@@ -606,7 +606,7 @@ public class Metadata {
   }
 
   public Map<String, Object> getMap() {
-    Map<String, Object> table = new HashMap<String, Object>();
+    Map<String, Object> table = new ConcurrentHashMap<String, Object>();
     for (String key : this.getAllKeys()) {
       table.put(key, this.getAllMetadata(key));
     }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/ProdTypePatternMetExtractor.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/ProdTypePatternMetExtractor.java b/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/ProdTypePatternMetExtractor.java
index cc5b1cd..9e8f2f2 100644
--- a/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/ProdTypePatternMetExtractor.java
+++ b/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/ProdTypePatternMetExtractor.java
@@ -25,7 +25,7 @@ import org.xml.sax.SAXException;
 
 import java.io.File;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -152,17 +152,17 @@ public class ProdTypePatternMetExtractor extends CmdLineMetExtractor {
         /*
          * full file name reg exp => prod type
          */
-        private final Map<Pattern, String> prodTypePatterns = new HashMap<Pattern, String>();
+        private final Map<Pattern, String> prodTypePatterns = new ConcurrentHashMap<Pattern, String>();
 
         /*
          * prod type => list of met elements in the file name
          */
-        private final Map<String, List<String>> prodTypeElements = new HashMap<String, List<String>>();
+        private final Map<String, List<String>> prodTypeElements = new ConcurrentHashMap<String, List<String>>();
 
         /*
          * met elements => element reg exp patterns
          */
-        private final Map<String, Pattern> elementPatterns = new HashMap<String, Pattern>();
+        private final Map<String, Pattern> elementPatterns = new ConcurrentHashMap<String, Pattern>();
 
 
         Map<Pattern, String> getProdTypePatterns() {

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/mvn/archetypes/radix/src/main/resources/archetype-resources/solr/src/main/resources/oodt-fm/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/mvn/archetypes/radix/src/main/resources/archetype-resources/solr/src/main/resources/oodt-fm/conf/solrconfig.xml b/mvn/archetypes/radix/src/main/resources/archetype-resources/solr/src/main/resources/oodt-fm/conf/solrconfig.xml
index f02039f..36f53b1 100644
--- a/mvn/archetypes/radix/src/main/resources/archetype-resources/solr/src/main/resources/oodt-fm/conf/solrconfig.xml
+++ b/mvn/archetypes/radix/src/main/resources/archetype-resources/solr/src/main/resources/oodt-fm/conf/solrconfig.xml
@@ -489,8 +489,8 @@
     <!-- Solr Internal Query Caches
 
          There are two implementations of cache available for Solr,
-         LRUCache, based on a synchronized LinkedHashMap, and
-         FastLRUCache, based on a ConcurrentHashMap.  
+         LRUCache, based on a synchronized LinkedConcurrentHashMap, and
+         FastLRUCache, based on a ConcurrentConcurrentHashMap.
 
          FastLRUCache has faster gets and slower puts in single
          threaded operation and thus is generally faster than LRUCache
@@ -513,7 +513,7 @@
                (LRUCache or FastLRUCache)
            size - the maximum number of entries in the cache
            initialSize - the initial capacity (number of entries) of
-               the cache.  (see java.util.HashMap)
+               the cache.  (see java.util.ConcurrentHashMap)
            autowarmCount - the number of entries to prepopulate from
                and old cache.  
       -->

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/opendapps/src/main/java/org/apache/oodt/opendapps/DatasetCrawler.java
----------------------------------------------------------------------
diff --git a/opendapps/src/main/java/org/apache/oodt/opendapps/DatasetCrawler.java b/opendapps/src/main/java/org/apache/oodt/opendapps/DatasetCrawler.java
index 89f06ef..760dea6 100644
--- a/opendapps/src/main/java/org/apache/oodt/opendapps/DatasetCrawler.java
+++ b/opendapps/src/main/java/org/apache/oodt/opendapps/DatasetCrawler.java
@@ -18,16 +18,24 @@
 package org.apache.oodt.opendapps;
 
 //JDK imports
+
 import org.apache.oodt.cas.metadata.Metadata;
 import org.apache.oodt.opendapps.config.OpendapConfig;
 import org.apache.oodt.opendapps.extractors.MetadataExtractor;
 import org.apache.oodt.opendapps.extractors.ThreddsMetadataExtractor;
 
-import java.util.*;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import thredds.catalog.*;
+import thredds.catalog.InvAccess;
+import thredds.catalog.InvCatalogRef;
+import thredds.catalog.InvDataset;
+import thredds.catalog.InvService;
+import thredds.catalog.ServiceType;
 import thredds.catalog.crawl.CatalogCrawler;
 
 /**
@@ -48,7 +56,7 @@ public class DatasetCrawler implements CatalogCrawler.Listener {
 
   public DatasetCrawler(String datasetURL, OpendapConfig conf) {
     this.datasetURL = datasetURL.endsWith("/") ? datasetURL : datasetURL + "/";
-    this.datasetMet = new HashMap<String, Metadata>();
+    this.datasetMet = new ConcurrentHashMap<String, Metadata>();
     this.conf = conf;
   }
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/opendapps/src/main/java/org/apache/oodt/opendapps/config/ProcessingInstructions.java
----------------------------------------------------------------------
diff --git a/opendapps/src/main/java/org/apache/oodt/opendapps/config/ProcessingInstructions.java b/opendapps/src/main/java/org/apache/oodt/opendapps/config/ProcessingInstructions.java
index 08ad5e6..4e2e01f 100644
--- a/opendapps/src/main/java/org/apache/oodt/opendapps/config/ProcessingInstructions.java
+++ b/opendapps/src/main/java/org/apache/oodt/opendapps/config/ProcessingInstructions.java
@@ -17,7 +17,7 @@
 package org.apache.oodt.opendapps.config;
 
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -39,7 +39,7 @@ public class ProcessingInstructions {
 	 * Local storage for processing instructions.
 	 * Note that the order of the XML elements is not preserved (on purpose).
 	 */
-	private final Map<String, Set<String>> instructions = new HashMap<String, Set<String>>();
+	private final Map<String, Set<String>> instructions = new ConcurrentHashMap<String, Set<String>>();
 	
 	/**
 	 * Returns all values for a named instruction,

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/opendapps/src/main/java/org/apache/oodt/opendapps/util/ProfileUtils.java
----------------------------------------------------------------------
diff --git a/opendapps/src/main/java/org/apache/oodt/opendapps/util/ProfileUtils.java b/opendapps/src/main/java/org/apache/oodt/opendapps/util/ProfileUtils.java
index 1817d92..8ed95f9 100644
--- a/opendapps/src/main/java/org/apache/oodt/opendapps/util/ProfileUtils.java
+++ b/opendapps/src/main/java/org/apache/oodt/opendapps/util/ProfileUtils.java
@@ -37,7 +37,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.Enumeration;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.TimeZone;
@@ -188,7 +188,7 @@ public class ProfileUtils {
       OpendapConfig conf, DConnect dConn, Metadata datasetMet, Profile profile) throws Exception {
   	
     OpendapProfileElementExtractor pe = new OpendapProfileElementExtractor(conf);
-    Map<String, ProfileElement> profElements = new HashMap<String, ProfileElement>();
+    Map<String, ProfileElement> profElements = new ConcurrentHashMap<String, ProfileElement>();
 
     // extracts all variables defined in DDS
     try {

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEConfigurationFile.java
----------------------------------------------------------------------
diff --git a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEConfigurationFile.java b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEConfigurationFile.java
index b98bd0a..14cfc22 100644
--- a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEConfigurationFile.java
+++ b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEConfigurationFile.java
@@ -16,7 +16,7 @@
 package org.apache.oodt.pcs.input;
 
 //OCO imports
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 
 /**
@@ -70,7 +70,7 @@ public class PGEConfigurationFile implements PGEConfigFileKeys {
    * </p>
    */
   public PGEConfigurationFile() {
-    this.pgeSpecificGroups = new HashMap<String, PGEGroup>();
+    this.pgeSpecificGroups = new ConcurrentHashMap<String, PGEGroup>();
     this.inputProductFiles = new PGEGroup(INPUT_PRODUCT_FILES_GROUP);
     this.staticFileIdentificationFiles = new PGEGroup(SFIF_FILE_GROUP);
     this.dynamicAuxiliaryInputFiles = new PGEGroup(

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEDataHandler.java
----------------------------------------------------------------------
diff --git a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEDataHandler.java b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEDataHandler.java
index 1915b6b..eb6dd19 100644
--- a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEDataHandler.java
+++ b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEDataHandler.java
@@ -16,7 +16,7 @@
 package org.apache.oodt.pcs.input;
 
 //JDK imports
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.logging.Logger;
 import org.xml.sax.Attributes;
@@ -40,13 +40,13 @@ public class PGEDataHandler extends DefaultHandler implements PGEDataParseKeys {
       .getName());
 
   /* scalars to be set as tags are encountered */
-  private Map scalars = new HashMap();
+  private Map scalars = new ConcurrentHashMap();
 
   /* vectors to be set as tags are encountered */
-  private Map vectors = new HashMap();
+  private Map vectors = new ConcurrentHashMap();
 
   /* matrices to be set as tags are encountered */
-  private Map matrices = new HashMap();
+  private Map matrices = new ConcurrentHashMap();
 
   /* the status of the parse handler */
   private int parseStatus = UNSET;

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEGroup.java
----------------------------------------------------------------------
diff --git a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEGroup.java b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEGroup.java
index 9012fb2..24b0332 100644
--- a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEGroup.java
+++ b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEGroup.java
@@ -16,7 +16,7 @@
 package org.apache.oodt.pcs.input;
 
 //JDK imports
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 
 /**
@@ -34,16 +34,16 @@ public class PGEGroup {
   /* the name of the PGEGroup */
   private String name = null;
 
-  /* the HashMap of PGEScalars */
+  /* the ConcurrentHashMap of PGEScalars */
   private Map<String, PGEScalar> scalars = null;
 
-  /* the HashMap of PGEVectors */
+  /* the ConcurrentHashMap of PGEVectors */
   private Map<String, PGEVector> vectors = null;
 
-  /* the HashMap of PGEMatrixs */
+  /* the ConcurrentHashMap of PGEMatrixs */
   private Map<String, PGEMatrix> matrixs = null;
 
-  /* the HashMap of PGEGroups */
+  /* the ConcurrentHashMap of PGEGroups */
   private Map<String, PGEGroup> groups = null;
 
   /**
@@ -53,10 +53,10 @@ public class PGEGroup {
    */
   public PGEGroup(String name) {
     this.name = name;
-    this.scalars = new HashMap<String, PGEScalar>();
-    this.vectors = new HashMap<String, PGEVector>();
-    this.matrixs = new HashMap<String, PGEMatrix>();
-    this.groups = new HashMap<String, PGEGroup>();
+    this.scalars = new ConcurrentHashMap<String, PGEScalar>();
+    this.vectors = new ConcurrentHashMap<String, PGEVector>();
+    this.matrixs = new ConcurrentHashMap<String, PGEMatrix>();
+    this.groups = new ConcurrentHashMap<String, PGEGroup>();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEXMLFileUtils.java
----------------------------------------------------------------------
diff --git a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEXMLFileUtils.java b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEXMLFileUtils.java
index 5839544..1fb8677 100644
--- a/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEXMLFileUtils.java
+++ b/pcs/input/src/main/java/org/apache/oodt/pcs/input/PGEXMLFileUtils.java
@@ -26,7 +26,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
@@ -63,7 +63,7 @@ public final class PGEXMLFileUtils {
       return Collections.emptyMap();
     }
 
-    Map matrixMap = new HashMap(matrixs.getLength());
+    Map matrixMap = new ConcurrentHashMap(matrixs.getLength());
 
     // for each matrix in the list, create a PGEMatrix with the name
     // attribute and the appropriate value
@@ -192,7 +192,7 @@ public final class PGEXMLFileUtils {
       return Collections.emptyMap();
     }
 
-    Map scalarMap = new HashMap(scalars.getLength());
+    Map scalarMap = new ConcurrentHashMap(scalars.getLength());
 
     // for each scalar in the list, create a PGEScalar with the name
     // attribute, and appropriate value
@@ -249,7 +249,7 @@ public final class PGEXMLFileUtils {
       return Collections.emptyMap();
     }
 
-    Map vectorMap = new HashMap(vectors.getLength());
+    Map vectorMap = new ConcurrentHashMap(vectors.getLength());
 
     // for each vector in the list, create a PGEVector with the name
     // attribute, and appropriate value

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/services/src/main/java/org/apache/oodt/pcs/services/HealthResource.java
----------------------------------------------------------------------
diff --git a/pcs/services/src/main/java/org/apache/oodt/pcs/services/HealthResource.java b/pcs/services/src/main/java/org/apache/oodt/pcs/services/HealthResource.java
index 3478dc2..b2d9b8d 100644
--- a/pcs/services/src/main/java/org/apache/oodt/pcs/services/HealthResource.java
+++ b/pcs/services/src/main/java/org/apache/oodt/pcs/services/HealthResource.java
@@ -19,7 +19,7 @@ package org.apache.oodt.pcs.services;
 
 //JDK imports
 import java.net.MalformedURLException;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
@@ -80,7 +80,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String healthReport() {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("daemonStatus", this.encodeDaemonOutput(report));
     output.put("crawlerStatus", this.encodeCrawlerHealthReportOutput(report));
@@ -95,7 +95,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String ingestReport() {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("ingestHealth", this.encodeIngestHealthList(report));
     return this.encodeReportAsJson(output);
@@ -106,7 +106,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String ingestReportByName(@PathParam("cname") String crawlerName) {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("ingestHealth", this
         .encodeIngestHealthList(report, crawlerName));
@@ -118,7 +118,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String jobsReport() {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("jobHealth", this.encodeJobHealthStatusList(report));
     return this.encodeReportAsJson(output);
@@ -129,7 +129,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String jobsReportByState(@PathParam("state") String jobState) {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("jobHealth", this.encodeJobHealthStatusList(report, jobState));
     return this.encodeReportAsJson(output);
@@ -140,7 +140,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String daemonReport() {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("daemonStatus", this.encodeDaemonOutput(report));
     return this.encodeReportAsJson(output);
@@ -151,7 +151,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String daemonReportByName(@PathParam("dname") String daemonName) {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("daemonStatus", this.encodeDaemonOutput(report, daemonName));
     return this.encodeReportAsJson(output);
@@ -163,7 +163,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String crawlerHealthReport() {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("crawlerStatus", this.encodeCrawlerHealthReportOutput(report));
     return this.encodeReportAsJson(output);
@@ -175,7 +175,7 @@ public class HealthResource extends PCSService {
   public String getCrawlerHealthReportByName(
       @PathParam("cname") String crawlerName) {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("crawlerStatus", this.encodeCrawlerHealthReportOutput(report,
         crawlerName));
@@ -187,7 +187,7 @@ public class HealthResource extends PCSService {
   @Produces("text/plain")
   public String getLatestIngestedFiles() {
     PCSHealthMonitorReport report = mon.getReport();
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("generated", report.getCreateDateIsoFormat());
     output.put("latestFiles", this.encodeLatestFilesOutput(report));
     return this.encodeReportAsJson(output);
@@ -200,7 +200,7 @@ public class HealthResource extends PCSService {
   }
 
   private Map<String, Object> encodeCrawlerHealth(CrawlerHealth health) {
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("crawler", health.getCrawlerName());
     output.put("avgCrawlTime", health.getAvgCrawlTime());
     output.put("numCrawls", health.getNumCrawls());
@@ -208,7 +208,7 @@ public class HealthResource extends PCSService {
   }
 
   private Map<String, Object> encodeJobStatus(JobHealthStatus status) {
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     output.put("state", status.getStatus());
     output.put("numJobs", status.getNumPipelines());
     return output;
@@ -224,7 +224,7 @@ public class HealthResource extends PCSService {
     if (prodMet == null) {
       prodMet = new Metadata();
     }
-    Map<String, Object> fileOutput = new HashMap<String, Object>();
+    Map<String, Object> fileOutput = new ConcurrentHashMap<String, Object>();
     fileOutput.put("filepath", fm.getFilePath(p));
     fileOutput.put("receivedTime", prodMet.getMetadata("CAS."
         + CoreMetKeys.PRODUCT_RECEVIED_TIME) != null ? prodMet
@@ -233,7 +233,7 @@ public class HealthResource extends PCSService {
   }
 
   private Map<String, String> encodeCrawlerStatus(CrawlerStatus status) {
-    Map<String, String> output = new HashMap<String, String>();
+    Map<String, String> output = new ConcurrentHashMap<String, String>();
     output.put("crawlerName", status.getInfo().getCrawlerName());
     output.put("crawlerPort", status.getInfo().getCrawlerPort());
     output.put("url", status.getCrawlHost());
@@ -296,7 +296,7 @@ public class HealthResource extends PCSService {
 
   private Map<String, Object> encodeLatestFilesOutput(
       PCSHealthMonitorReport report) {
-    Map<String, Object> latestFilesOutput = new HashMap<String, Object>();
+    Map<String, Object> latestFilesOutput = new ConcurrentHashMap<String, Object>();
     latestFilesOutput.put("topN", PCSHealthMonitor.TOP_N_PRODUCTS);
     List<Object> latestFilesList = new Vector<Object>();
     for (Product prod : (List<Product>) (List<?>) report
@@ -341,7 +341,7 @@ public class HealthResource extends PCSService {
 
   private Map<String, Object> encodeDaemonOutput(PCSHealthMonitorReport report,
       String... daemonName) {
-    Map<String, Object> daemonOutput = new HashMap<String, Object>();
+    Map<String, Object> daemonOutput = new ConcurrentHashMap<String, Object>();
     if (daemonName.length > 0) {
       if (daemonName[0].equals("fm")) {
         daemonOutput.put("fm", this.encodeDaemonStatus(report.getFmStatus()));
@@ -385,7 +385,7 @@ public class HealthResource extends PCSService {
   }
 
   private Map<String, String> encodeDaemonStatus(PCSDaemonStatus status) {
-    Map<String, String> output = new HashMap<String, String>();
+    Map<String, String> output = new ConcurrentHashMap<String, String>();
     output.put("daemon", status.getDaemonName());
     output.put("url", status.getUrlStr());
     output.put("status", status.getStatus());

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/services/src/main/java/org/apache/oodt/pcs/services/PedigreeResource.java
----------------------------------------------------------------------
diff --git a/pcs/services/src/main/java/org/apache/oodt/pcs/services/PedigreeResource.java b/pcs/services/src/main/java/org/apache/oodt/pcs/services/PedigreeResource.java
index 3f5e979..e610e92 100644
--- a/pcs/services/src/main/java/org/apache/oodt/pcs/services/PedigreeResource.java
+++ b/pcs/services/src/main/java/org/apache/oodt/pcs/services/PedigreeResource.java
@@ -20,7 +20,7 @@ package org.apache.oodt.pcs.services;
 //JDK imports
 import java.net.MalformedURLException;
 import java.util.Arrays;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
@@ -96,7 +96,7 @@ public class PedigreeResource extends PCSService {
   }
 
   private String encodePedigreeAsJson(PedigreeTree up, PedigreeTree down) {
-    Map<String, Object> output = new HashMap<String, Object>();
+    Map<String, Object> output = new ConcurrentHashMap<String, Object>();
     if (up != null) {
       output.put("upstream", this.encodePedigreeTreeAsJson(up.getRoot()));
     }
@@ -110,7 +110,7 @@ public class PedigreeResource extends PCSService {
 
   private Object encodePedigreeTreeAsJson(PedigreeTreeNode node) {
     if (node.getNumChildren() > 0) {
-      Map<String, Object> map = new HashMap<String, Object>();
+      Map<String, Object> map = new ConcurrentHashMap<String, Object>();
       List<Object> list = new Vector<Object>();
       for (int i = 0; i < node.getNumChildren(); i++) {
         list.add(this

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pcs/services/src/main/java/org/apache/oodt/pcs/services/config/PCSServiceConfig.java
----------------------------------------------------------------------
diff --git a/pcs/services/src/main/java/org/apache/oodt/pcs/services/config/PCSServiceConfig.java b/pcs/services/src/main/java/org/apache/oodt/pcs/services/config/PCSServiceConfig.java
index 463f471..fa9eb7b 100644
--- a/pcs/services/src/main/java/org/apache/oodt/pcs/services/config/PCSServiceConfig.java
+++ b/pcs/services/src/main/java/org/apache/oodt/pcs/services/config/PCSServiceConfig.java
@@ -21,7 +21,7 @@ package org.apache.oodt.pcs.services.config;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Enumeration;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -46,7 +46,7 @@ public class PCSServiceConfig implements PCSServiceConfMetKeys {
       .getName());
 
   public PCSServiceConfig(ServletConfig config) {
-    this.parameters = new HashMap<String, String>();
+    this.parameters = new ConcurrentHashMap<String, String>();
     this.readContextParams(config);
   }
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pge/src/test/java/org/apache/oodt/cas/pge/TestPGETaskInstance.java
----------------------------------------------------------------------
diff --git a/pge/src/test/java/org/apache/oodt/cas/pge/TestPGETaskInstance.java b/pge/src/test/java/org/apache/oodt/cas/pge/TestPGETaskInstance.java
index f10b031..985ab77 100644
--- a/pge/src/test/java/org/apache/oodt/cas/pge/TestPGETaskInstance.java
+++ b/pge/src/test/java/org/apache/oodt/cas/pge/TestPGETaskInstance.java
@@ -18,10 +18,6 @@ package org.apache.oodt.cas.pge;
 
 //OODT static imports
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.oodt.cas.crawl.AutoDetectProductCrawler;
 import org.apache.oodt.cas.crawl.ProductCrawler;
@@ -40,6 +36,11 @@ import org.apache.oodt.cas.pge.writers.MockDynamicConfigFileWriter;
 import org.apache.oodt.cas.workflow.metadata.CoreMetKeys;
 import org.apache.oodt.cas.workflow.structs.WorkflowTaskConfiguration;
 import org.apache.oodt.cas.workflow.system.XmlRpcWorkflowManagerClient;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+
 import org.junit.After;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -52,7 +53,12 @@ import java.io.File;
 import java.io.FileFilter;
 import java.io.FileInputStream;
 import java.io.StringReader;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.logging.Handler;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -386,8 +392,8 @@ public class TestPGETaskInstance {
        assertEquals(dumpValList.getLength(), expectedValList.getLength());
        
        
-       Map<String, String> dumpKeyValMap = new HashMap<String, String>();
-       Map<String, String> expectedKeyValMap = new HashMap<String, String>();
+       Map<String, String> dumpKeyValMap = new ConcurrentHashMap<String, String>();
+       Map<String, String> expectedKeyValMap = new ConcurrentHashMap<String, String>();
        
        for (int i = 0; i < dumpKeyList.getLength(); i++) {
            

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandler.java
----------------------------------------------------------------------
diff --git a/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandler.java b/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandler.java
index 16141ae..016d714 100644
--- a/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandler.java
+++ b/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandler.java
@@ -39,7 +39,7 @@ import java.io.FileNotFoundException;
 import java.io.OutputStream;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -100,7 +100,7 @@ public class OFSNFileHandler implements LargeProductQueryHandler,
     }
 
     // used to cache handlers -- map of RT type to Get/List handler instance
-    HANDLER_CACHE = new HashMap<String, Object>();
+    HANDLER_CACHE = new ConcurrentHashMap<String, Object>();
   }
 
   /*

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandlerConfiguration.java
----------------------------------------------------------------------
diff --git a/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandlerConfiguration.java b/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandlerConfiguration.java
index 89bfdb5..46d97c9 100644
--- a/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandlerConfiguration.java
+++ b/product/src/main/java/org/apache/oodt/product/handlers/ofsn/OFSNFileHandlerConfiguration.java
@@ -20,7 +20,7 @@ package org.apache.oodt.product.handlers.ofsn;
 
 //JDK imports
 import java.util.Arrays;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -43,7 +43,7 @@ public class OFSNFileHandlerConfiguration {
   private String name;
 
   public OFSNFileHandlerConfiguration(String productRoot, String id, String name) {
-    this.handlerTable = new HashMap<String, OFSNHandlerConfig>();
+    this.handlerTable = new ConcurrentHashMap<String, OFSNHandlerConfig>();
     this.productRoot = productRoot;
     this.id = id;
     this.name = name;

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/product/src/site/xdoc/tutorials/qh/index.xml
----------------------------------------------------------------------
diff --git a/product/src/site/xdoc/tutorials/qh/index.xml b/product/src/site/xdoc/tutorials/qh/index.xml
index c684ad7..b8e34f6 100755
--- a/product/src/site/xdoc/tutorials/qh/index.xml
+++ b/product/src/site/xdoc/tutorials/qh/index.xml
@@ -110,12 +110,12 @@
 	  source file, <code>ConstantHandler.java</code>:
 	</p>
 
-	<source>import java.util.HashMap;
+	<source>import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import jpl.eda.product.QueryHandler;
 public class ConstantHandler
   implements QueryHandler {
-  private static final Map CONSTANTS = new HashMap();
+  private static final Map CONSTANTS = new ConcurrentHashMap();
   static {
     CONSTANTS.put("pi",    "3.14159265...");
     CONSTANTS.put("e",     "2.7182818285...");
@@ -423,7 +423,7 @@ public class ConstantHandler
 	<code>ConstantHandler.java</code>:</p>
 
 	<source>import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -435,7 +435,7 @@ import jpl.eda.xmlquery.XMLQuery;
 
 public class ConstantHandler
   implements QueryHandler {
-  private static final Map CONSTANTS = new HashMap();
+  private static final Map CONSTANTS = new ConcurrentHashMap();
   static {
     CONSTANTS.put("pi",    "3.14159265...");
     CONSTANTS.put("e",     "2.7182818285...");

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/profile/src/main/java/org/apache/oodt/profile/Profile.java
----------------------------------------------------------------------
diff --git a/profile/src/main/java/org/apache/oodt/profile/Profile.java b/profile/src/main/java/org/apache/oodt/profile/Profile.java
index 510c348..8f9cc6e 100644
--- a/profile/src/main/java/org/apache/oodt/profile/Profile.java
+++ b/profile/src/main/java/org/apache/oodt/profile/Profile.java
@@ -38,7 +38,7 @@ import java.io.OutputStreamWriter;
 import java.io.Serializable;
 import java.net.URI;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -365,7 +365,7 @@ public class Profile implements Serializable, Cloneable, Comparable<Object>, Doc
 	 *
 	 * This mapping is from element name (a {@link String}) to {@link ProfileElement}.
 	 */
-	protected Map<String, ProfileElement> elements = new HashMap<String, ProfileElement>();
+	protected Map<String, ProfileElement> elements = new ConcurrentHashMap<String, ProfileElement>();
 
 	/**
 	 * Try to parse an XML profile in a file in its XML vocabulary.  If successful,

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/profile/src/main/java/org/apache/oodt/profile/handlers/lightweight/LightweightProfileServer.java
----------------------------------------------------------------------
diff --git a/profile/src/main/java/org/apache/oodt/profile/handlers/lightweight/LightweightProfileServer.java b/profile/src/main/java/org/apache/oodt/profile/handlers/lightweight/LightweightProfileServer.java
index 188d47f..bf70670 100644
--- a/profile/src/main/java/org/apache/oodt/profile/handlers/lightweight/LightweightProfileServer.java
+++ b/profile/src/main/java/org/apache/oodt/profile/handlers/lightweight/LightweightProfileServer.java
@@ -25,6 +25,7 @@ import org.apache.oodt.profile.ProfileException;
 import org.apache.oodt.profile.handlers.ProfileHandler;
 import org.apache.oodt.xmlquery.QueryElement;
 import org.apache.oodt.xmlquery.XMLQuery;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.xml.sax.ErrorHandler;
@@ -36,7 +37,14 @@ import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.Stack;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * A lightweight profile server.
@@ -256,7 +264,7 @@ final public class LightweightProfileServer implements ProfileHandler {
 	 * using just the one file, so there should be no need for this cache.  Who added
 	 * this?  And if it were me, what was I smoking?
 	 */
-	private static Map cache = new HashMap();
+	private static Map cache = new ConcurrentHashMap();
 
 	/** My ID. */
 	private String id;

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/protocol/api/src/main/java/org/apache/oodt/cas/protocol/config/SpringProtocolConfig.java
----------------------------------------------------------------------
diff --git a/protocol/api/src/main/java/org/apache/oodt/cas/protocol/config/SpringProtocolConfig.java b/protocol/api/src/main/java/org/apache/oodt/cas/protocol/config/SpringProtocolConfig.java
index b658921..9f27c86 100644
--- a/protocol/api/src/main/java/org/apache/oodt/cas/protocol/config/SpringProtocolConfig.java
+++ b/protocol/api/src/main/java/org/apache/oodt/cas/protocol/config/SpringProtocolConfig.java
@@ -20,7 +20,7 @@ package org.apache.oodt.cas.protocol.config;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -41,7 +41,7 @@ public class SpringProtocolConfig implements ProtocolConfig {
 	
 	public SpringProtocolConfig(String configFile) {
 		Validate.notNull(configFile, "SpringProtocolConfig configFile cannnot be NULL");
-		factoryMap = new HashMap<String, List<ProtocolFactory>>();
+		factoryMap = new ConcurrentHashMap<String, List<ProtocolFactory>>();
 		loadFactories(new FileSystemXmlApplicationContext(configFile));
 	}
 	

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/protocol/api/src/main/java/org/apache/oodt/cas/protocol/system/ProtocolManager.java
----------------------------------------------------------------------
diff --git a/protocol/api/src/main/java/org/apache/oodt/cas/protocol/system/ProtocolManager.java b/protocol/api/src/main/java/org/apache/oodt/cas/protocol/system/ProtocolManager.java
index 630ab29..462e0d5 100644
--- a/protocol/api/src/main/java/org/apache/oodt/cas/protocol/system/ProtocolManager.java
+++ b/protocol/api/src/main/java/org/apache/oodt/cas/protocol/system/ProtocolManager.java
@@ -26,7 +26,7 @@ import org.apache.oodt.cas.protocol.ProtocolFactory;
 
 //JDK imports
 import java.net.URI;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.logging.Logger;
@@ -46,7 +46,7 @@ public class ProtocolManager {
     public ProtocolManager(ProtocolConfig protocolConfig) {
     	Validate.notNull(protocolConfig, "protocolConfig must not be NULL");
     	this.protocolConfig = protocolConfig;
-    	verifiedMap = new HashMap<URI, ProtocolFactory>();
+    	verifiedMap = new ConcurrentHashMap<URI, ProtocolFactory>();
     }
     
     public ProtocolConfig getConfig() {

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/protocol/api/src/main/java/org/apache/oodt/cas/protocol/verify/BasicProtocolVerifierFactory.java
----------------------------------------------------------------------
diff --git a/protocol/api/src/main/java/org/apache/oodt/cas/protocol/verify/BasicProtocolVerifierFactory.java b/protocol/api/src/main/java/org/apache/oodt/cas/protocol/verify/BasicProtocolVerifierFactory.java
index c7fa6ef..e4646fc 100644
--- a/protocol/api/src/main/java/org/apache/oodt/cas/protocol/verify/BasicProtocolVerifierFactory.java
+++ b/protocol/api/src/main/java/org/apache/oodt/cas/protocol/verify/BasicProtocolVerifierFactory.java
@@ -18,7 +18,7 @@ package org.apache.oodt.cas.protocol.verify;
 
 //JDK imports
 import java.net.URI;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 
 //OODT imports
@@ -37,7 +37,7 @@ public class BasicProtocolVerifierFactory implements ProtocolVerifierFactory {
 		if (testCdMap != null) {
 			return new BasicProtocolVerifier(testCdMap);
 		} else {
-			return new BasicProtocolVerifier(new HashMap<URI, ProtocolFile>());
+			return new BasicProtocolVerifier(new ConcurrentHashMap<URI, ProtocolFile>());
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/protocol/http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
----------------------------------------------------------------------
diff --git a/protocol/http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java b/protocol/http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
index b3ff038..fd1f86c 100644
--- a/protocol/http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
+++ b/protocol/http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
@@ -33,7 +33,7 @@ import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -50,7 +50,7 @@ import java.util.Map;
 public class HttpProtocol implements Protocol {
 
   public static final int INT = 1024;
-  private static Map<String, List<HttpFile>> linkChildren = new HashMap<String, List<HttpFile>>();
+  private static Map<String, List<HttpFile>> linkChildren = new ConcurrentHashMap<String, List<HttpFile>>();
 
   private HttpFile parentFile;
   private HttpFile currentFile;

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
index 1e06be4..372a623 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
@@ -21,7 +21,7 @@ package org.apache.oodt.cas.pushpull.config;
 //JDK imports
 import java.io.File;
 import java.io.FileInputStream;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import org.w3c.dom.Element;
@@ -46,14 +46,14 @@ import org.apache.oodt.commons.xml.XMLUtils;
  */
 public class ParserInfo implements ConfigParserMetKeys{
 
-    private HashMap<String, String> parserToRetrievalMethodMap;
+    private ConcurrentHashMap<String, String> parserToRetrievalMethodMap;
 
     /* our log stream */
     private static final Logger LOG = Logger.getLogger(ParserInfo.class
             .getName());
 
     public ParserInfo() {
-        parserToRetrievalMethodMap = new HashMap<String, String>();
+        parserToRetrievalMethodMap = new ConcurrentHashMap<String, String>();
     }
 
     public void loadParserInfo(File xmlFile) throws ConfigException {

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
index 87054dc..97cb18f 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
@@ -23,7 +23,7 @@ import org.apache.oodt.cas.pushpull.filerestrictions.Parser;
 
 //JDK imports
 import java.io.File;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.Map.Entry;
 import java.util.regex.Pattern;
@@ -47,7 +47,7 @@ public class PropFilesInfo {
 
     private LinkedList<RegExpAndParser> patterns;
 
-    private HashMap<File, Parser> fileToParserMap;
+    private ConcurrentHashMap<File, Parser> fileToParserMap;
 
     private DownloadInfo di;
 
@@ -57,7 +57,7 @@ public class PropFilesInfo {
     }
 
     public void setDownloadInfo(DownloadInfo di,
-            HashMap<File, Parser> fileToParserMap) {
+            ConcurrentHashMap<File, Parser> fileToParserMap) {
         this.di = di;
         this.fileToParserMap = fileToParserMap;
     }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
index a499021..eebafab 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
@@ -27,7 +27,7 @@ import org.apache.oodt.commons.xml.XMLUtils;
 //JDK imports
 import java.io.File;
 import java.io.FileInputStream;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -52,7 +52,7 @@ public class ProtocolInfo implements ConfigParserMetKeys {
 
     private static final int DEFAULT_PG_SIZE = 8;
 
-    private HashMap<String, LinkedList<Class<ProtocolFactory>>> protocolClassReference;
+    private ConcurrentHashMap<String, LinkedList<Class<ProtocolFactory>>> protocolClassReference;
 
     /* our log stream */
     private static final Logger LOG = Logger.getLogger(ProtocolInfo.class
@@ -61,7 +61,7 @@ public class ProtocolInfo implements ConfigParserMetKeys {
     public ProtocolInfo() {
         timeout = 0;
         pgSize = DEFAULT_PG_SIZE;
-        protocolClassReference = new HashMap<String, LinkedList<Class<ProtocolFactory>>>();
+        protocolClassReference = new ConcurrentHashMap<String, LinkedList<Class<ProtocolFactory>>>();
     }
 
     public void loadProtocolFactoryInfoFromFile(File protocolFactoryInfo)

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/RemoteSpecs.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/RemoteSpecs.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/RemoteSpecs.java
index 3f84e95..9e25a25 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/RemoteSpecs.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/RemoteSpecs.java
@@ -33,7 +33,7 @@ import org.w3c.dom.NodeList;
 import java.io.File;
 import java.io.FileInputStream;
 import java.net.URL;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -195,7 +195,7 @@ public class RemoteSpecs implements ConfigParserMetKeys {
             }
             NodeList propsList = ((Element) propInfoNode)
                 .getElementsByTagName(PROP_FILE_TAG);
-            HashMap<File, Parser> propFileToParserMap = new HashMap<File, Parser>();
+            ConcurrentHashMap<File, Parser> propFileToParserMap = new ConcurrentHashMap<File, Parser>();
             for (int p = 0; p < propsList.getLength(); p++) {
               Element propElem = (Element) propsList.item(p);
               propFileToParserMap

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/SiteInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/SiteInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/SiteInfo.java
index 8cedd59..63ed83c 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/SiteInfo.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/SiteInfo.java
@@ -23,7 +23,7 @@ import org.apache.oodt.cas.pushpull.protocol.RemoteSite;
 
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.Map.Entry;
 import java.util.Set;
@@ -47,10 +47,10 @@ public class SiteInfo {
     private final static Logger LOG = Logger.getLogger(SiteInfo.class
         .getName());
 
-    private HashMap<String, RemoteSite> aliasAndRemoteSite;
+    private ConcurrentHashMap<String, RemoteSite> aliasAndRemoteSite;
 
     public SiteInfo() {
-        aliasAndRemoteSite = new HashMap<String, RemoteSite>();
+        aliasAndRemoteSite = new ConcurrentHashMap<String, RemoteSite>();
     }
 
     public void addSite(RemoteSite rs) {

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/GlobalVariables.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/GlobalVariables.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/GlobalVariables.java
index 5750550..12e2038 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/GlobalVariables.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/GlobalVariables.java
@@ -19,7 +19,7 @@
 package org.apache.oodt.cas.pushpull.expressions;
 
 //JDK imports
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * 
@@ -32,7 +32,7 @@ import java.util.HashMap;
  */
 public class GlobalVariables {
 
-    public static final HashMap<String, Variable> hashMap = new HashMap<String, Variable>();
+    public static final ConcurrentHashMap<String, Variable> ConcurrentHashMap = new ConcurrentHashMap<String, Variable>();
 
     private GlobalVariables() {
     }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/Method.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/Method.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/Method.java
index 4d951d2..783d332 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/Method.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/expressions/Method.java
@@ -128,7 +128,7 @@ public class Method {
 
                     if (globalVar) {
                         try {
-                            output.addLast(GlobalVariables.hashMap.get(variable
+                            output.addLast(GlobalVariables.ConcurrentHashMap.get(variable
                                     .toString()));
                         } catch (Exception e) {
                             LOG.log(Level.SEVERE, e.getMessage());

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/filerestrictions/parsers/DirStructXmlParser.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/filerestrictions/parsers/DirStructXmlParser.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/filerestrictions/parsers/DirStructXmlParser.java
index 155aa82..d89936e 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/filerestrictions/parsers/DirStructXmlParser.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/filerestrictions/parsers/DirStructXmlParser.java
@@ -37,7 +37,7 @@ import org.xml.sax.InputSource;
 
 import java.io.FileInputStream;
 import java.text.ParseException;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.StringTokenizer;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -59,7 +59,7 @@ public class DirStructXmlParser implements Parser {
     private static final Logger LOG = Logger.getLogger(DirStructXmlParser.class
             .getName());
     
-    private static final HashMap<String, Method> methodRepo = new HashMap<String, Method>();
+    private static final ConcurrentHashMap<String, Method> methodRepo = new ConcurrentHashMap<String, Method>();
 
     public DirStructXmlParser() {}
 
@@ -150,7 +150,7 @@ public class DirStructXmlParser implements Parser {
                               break;
                             }
                         }
-                        Variable v = GlobalVariables.hashMap.get(variable
+                        Variable v = GlobalVariables.ConcurrentHashMap.get(variable
                                 .toString());
                         if (v == null) {
                           throw new Exception("No variable defined with name '" + variable.toString() + "'");
@@ -269,7 +269,7 @@ public class DirStructXmlParser implements Parser {
                 }
 
                 // store Variable in list of Variables
-                GlobalVariables.hashMap.put(variable.getName(), variable);
+                GlobalVariables.ConcurrentHashMap.put(variable.getName(), variable);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/protocol/ProtocolHandler.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/protocol/ProtocolHandler.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/protocol/ProtocolHandler.java
index 862a76a..ccafbbf 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/protocol/ProtocolHandler.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/protocol/ProtocolHandler.java
@@ -18,6 +18,7 @@
 package org.apache.oodt.cas.pushpull.protocol;
 
 //OODT imports
+
 import org.apache.oodt.cas.protocol.Protocol;
 import org.apache.oodt.cas.protocol.ProtocolFactory;
 import org.apache.oodt.cas.protocol.ProtocolFile;
@@ -27,16 +28,21 @@ import org.apache.oodt.cas.protocol.util.ProtocolFileFilter;
 import org.apache.oodt.cas.pushpull.config.ProtocolInfo;
 import org.apache.oodt.cas.pushpull.exceptions.RemoteConnectionException;
 
-//JDK imports
 import java.io.File;
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Map.Entry;
+import java.util.Set;
+import java.util.Vector;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+//JDK imports
+
 
 /**
  * This class is responsible for creating the appropriate Protocol for the given
@@ -54,13 +60,13 @@ import java.util.logging.Logger;
  */
 public class ProtocolHandler {
 
-  private final HashMap<URI, ProtocolFactory> urlAndProtocolFactory;
+  private final ConcurrentHashMap<URI, ProtocolFactory> urlAndProtocolFactory;
 
-  private final HashMap<URI, Protocol> reuseProtocols;
+  private final ConcurrentHashMap<URI, Protocol> reuseProtocols;
 
-  private final HashMap<RemoteSiteFile, PagingInfo> pageInfos;
+  private final ConcurrentHashMap<RemoteSiteFile, PagingInfo> pageInfos;
 
-  private final HashMap<RemoteSiteFile, List<RemoteSiteFile>> pathAndFileListMap;
+  private final ConcurrentHashMap<RemoteSiteFile, List<RemoteSiteFile>> pathAndFileListMap;
 
   private final ProtocolInfo pi;
 
@@ -76,10 +82,10 @@ public class ProtocolHandler {
    */
   public ProtocolHandler(ProtocolInfo pi) {
     this.pi = pi;
-    urlAndProtocolFactory = new HashMap<URI, ProtocolFactory>();
-    reuseProtocols = new HashMap<URI, Protocol>();
-    pageInfos = new HashMap<RemoteSiteFile, PagingInfo>();
-    pathAndFileListMap = new HashMap<RemoteSiteFile, List<RemoteSiteFile>>();
+    urlAndProtocolFactory = new ConcurrentHashMap<URI, ProtocolFactory>();
+    reuseProtocols = new ConcurrentHashMap<URI, Protocol>();
+    pageInfos = new ConcurrentHashMap<RemoteSiteFile, PagingInfo>();
+    pathAndFileListMap = new ConcurrentHashMap<RemoteSiteFile, List<RemoteSiteFile>>();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DataFileToPropFileLinker.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DataFileToPropFileLinker.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DataFileToPropFileLinker.java
index 790eb1d..5bd4be3 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DataFileToPropFileLinker.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DataFileToPropFileLinker.java
@@ -20,7 +20,7 @@ package org.apache.oodt.cas.pushpull.retrievalsystem;
 
 //JDK imports
 import java.io.File;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.Map.Entry;
 
@@ -38,9 +38,9 @@ import org.apache.oodt.cas.protocol.ProtocolFile;
  */
 public class DataFileToPropFileLinker implements DownloadListener {
 
-    private HashMap<String, File> protocolFilePathAndPropFileMap;
+    private ConcurrentHashMap<String, File> protocolFilePathAndPropFileMap;
 
-    private HashMap<File, String> propFileToErrorsMap;
+    private ConcurrentHashMap<File, String> propFileToErrorsMap;
 
     private LinkedList<ProtocolFile> downloadingDataFiles;
 
@@ -49,8 +49,8 @@ public class DataFileToPropFileLinker implements DownloadListener {
     private LinkedList<ProtocolFile> successDataFiles;
 
     public DataFileToPropFileLinker() {
-        this.protocolFilePathAndPropFileMap = new HashMap<String, File>();
-        this.propFileToErrorsMap = new HashMap<File, String>();
+        this.protocolFilePathAndPropFileMap = new ConcurrentHashMap<String, File>();
+        this.propFileToErrorsMap = new ConcurrentHashMap<File, String>();
         downloadingDataFiles = new LinkedList<ProtocolFile>();
         failedDataFiles = new LinkedList<ProtocolFile>();
         successDataFiles = new LinkedList<ProtocolFile>();

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DownloadThreadEvaluator.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DownloadThreadEvaluator.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DownloadThreadEvaluator.java
index d2ae8fa..a43dcd1 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DownloadThreadEvaluator.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/DownloadThreadEvaluator.java
@@ -23,7 +23,7 @@ package org.apache.oodt.cas.pushpull.retrievalsystem;
 import org.apache.oodt.cas.pushpull.exceptions.ThreadEvaluatorException;
 
 import java.io.File;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.Map.Entry;
 import java.util.Set;
@@ -43,7 +43,7 @@ import java.util.logging.Logger;
  */
 public class DownloadThreadEvaluator {
     private static Logger LOG = Logger.getLogger(DownloadThreadEvaluator.class.getName());
-    private HashMap<File, DownloadingFileInfo> fileAndDownloadingFileInfo;
+    private ConcurrentHashMap<File, DownloadingFileInfo> fileAndDownloadingFileInfo;
 
     private final int MAX_THREADS;
 
@@ -54,7 +54,7 @@ public class DownloadThreadEvaluator {
     public DownloadThreadEvaluator(int maxThreads) {
         this.MAX_THREADS = maxThreads;
         downloadSpeedsForEachThread = new double[maxThreads + 1];
-        fileAndDownloadingFileInfo = new HashMap<File, DownloadingFileInfo>();
+        fileAndDownloadingFileInfo = new ConcurrentHashMap<File, DownloadingFileInfo>();
         currentThreadCount = 0;
     }
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/RetrievalSetup.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/RetrievalSetup.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/RetrievalSetup.java
index bbc009e..3113620 100644
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/RetrievalSetup.java
+++ b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/retrievalsystem/RetrievalSetup.java
@@ -27,7 +27,7 @@ import org.apache.oodt.cas.pushpull.retrievalmethod.RetrievalMethod;
 
 //JDK imports
 import java.io.*;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.logging.Level;
@@ -51,7 +51,7 @@ public class RetrievalSetup {
 
     private final HashSet<File> alreadyProcessedPropFiles;
 
-    private final HashMap<Class<RetrievalMethod>, RetrievalMethod> classToRmMap;
+    private final ConcurrentHashMap<Class<RetrievalMethod>, RetrievalMethod> classToRmMap;
 
     private boolean downloadingProps;
 
@@ -67,7 +67,7 @@ public class RetrievalSetup {
         this.config = config;
         this.siteInfo = siteInfo;
         alreadyProcessedPropFiles = new HashSet<File>();
-        classToRmMap = new HashMap<Class<RetrievalMethod>, RetrievalMethod>();
+        classToRmMap = new ConcurrentHashMap<Class<RetrievalMethod>, RetrievalMethod>();
         linker = new DataFileToPropFileLinker();
     }
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/XmlRpcBatchMgr.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/XmlRpcBatchMgr.java b/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/XmlRpcBatchMgr.java
index d925b8e..fe178ec 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/XmlRpcBatchMgr.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/XmlRpcBatchMgr.java
@@ -31,7 +31,7 @@ import org.apache.oodt.cas.resource.structs.exceptions.MonitorException;
 
 //JDK imports
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
@@ -61,8 +61,8 @@ public class XmlRpcBatchMgr implements Batchmgr {
     private Map specToProxyMap;
 
     public XmlRpcBatchMgr() {
-        nodeToJobMap = new HashMap();
-        specToProxyMap = new HashMap();
+        nodeToJobMap = new ConcurrentHashMap();
+        specToProxyMap = new ConcurrentHashMap();
     }
 
     /*

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/MemoryJobRepository.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/MemoryJobRepository.java b/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/MemoryJobRepository.java
index 3c4424f..97bb11a 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/MemoryJobRepository.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/MemoryJobRepository.java
@@ -20,7 +20,7 @@ package org.apache.oodt.cas.resource.jobrepo;
 
 //JDK imports
 import java.util.Date;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 //OODT imports
 import org.apache.oodt.commons.util.DateConvert;
@@ -33,17 +33,17 @@ import org.apache.oodt.cas.resource.structs.exceptions.JobRepositoryException;
  * @version $Revision$
  * 
  * An implementation of a {@link JobRepository} that uses an internal
- * {@link HashMap} for persisting its {@link JobSpec}s.
+ * {@link ConcurrentHashMap} for persisting its {@link JobSpec}s.
  */
 public class MemoryJobRepository implements JobRepository {
 
   /*
    * our storage for {@link JobSpec}s. A map of job id to {@link JobSpec}.
    */
-  private HashMap jobMap = null;
+  private ConcurrentHashMap jobMap = null;
 
   public MemoryJobRepository() {
-    jobMap = new HashMap();
+    jobMap = new ConcurrentHashMap();
   }
 
   /*

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/XStreamJobRepository.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/XStreamJobRepository.java b/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/XStreamJobRepository.java
index cb6edaa..e9a4da1 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/XStreamJobRepository.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/jobrepo/XStreamJobRepository.java
@@ -22,7 +22,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -55,7 +55,7 @@ public class XStreamJobRepository implements JobRepository {
 	public XStreamJobRepository(File workingDir, int maxHistory) {
 		this.workingDir = workingDir;
 		this.maxHistory = Math.max(maxHistory == -1 ? Integer.MAX_VALUE : maxHistory, 1);
-		this.jobMap = Collections.synchronizedMap(new HashMap<String, String>());
+		this.jobMap = Collections.synchronizedMap(new ConcurrentHashMap<String, String>());
 		this.jobPrecedence = new Vector<String>();
 	}
 	

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/monitor/AssignmentMonitor.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/AssignmentMonitor.java b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/AssignmentMonitor.java
index 7daab5d..ec9ab59 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/AssignmentMonitor.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/AssignmentMonitor.java
@@ -22,7 +22,7 @@ import org.apache.oodt.cas.resource.structs.ResourceNode;
 import org.apache.oodt.cas.resource.structs.exceptions.MonitorException;
 
 import java.net.URL;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Vector;
 
@@ -45,14 +45,14 @@ import java.util.Vector;
 public class AssignmentMonitor implements Monitor {
 	
     /* our nodes map */
-    private HashMap<String, ResourceNode> nodesMap;
+    private ConcurrentHashMap<String, ResourceNode> nodesMap;
 
     /* our load map */
-    private HashMap<String, Integer> loadMap;
+    private ConcurrentHashMap<String, Integer> loadMap;
 
     public AssignmentMonitor(List<ResourceNode> nodes) {
-        nodesMap = new HashMap<String, ResourceNode>();
-        loadMap = new HashMap<String, Integer>();
+        nodesMap = new ConcurrentHashMap<String, ResourceNode>();
+        loadMap = new ConcurrentHashMap<String, Integer>();
         
         for (ResourceNode node : nodes) {
             nodesMap.put(node.getNodeId(), node);

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaAdapter.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaAdapter.java b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaAdapter.java
index 35db224..1dc1530 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaAdapter.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaAdapter.java
@@ -34,7 +34,7 @@ import java.io.InputStreamReader;
 import java.io.StringReader;
 import java.net.Socket;
 import java.net.UnknownHostException;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -88,10 +88,10 @@ public class GangliaAdapter {
      */
     private Map<String, Map<String,String>> filterNodes (List<Cluster> gridStatus){
 
-        Map<String, Map<String,String>> nodes = new HashMap<String, Map<String,String>>();
+        Map<String, Map<String,String>> nodes = new ConcurrentHashMap<String, Map<String,String>>();
         for (Cluster cluster : gridStatus) {
             for (Host host : cluster.getHosts()) {
-                    Map<String, String> metrics = new HashMap<String, String>();
+                    Map<String, String> metrics = new ConcurrentHashMap<String, String>();
                     for (Metric metric : host.getMetrics()) {
                         metrics.put(metric.getName(), metric.getValue());
                     }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaResourceMonitor.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaResourceMonitor.java b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaResourceMonitor.java
index d2b20ad..3c0e733 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaResourceMonitor.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaResourceMonitor.java
@@ -25,7 +25,7 @@ import org.apache.oodt.cas.resource.structs.exceptions.MonitorException;
 
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
@@ -63,9 +63,9 @@ public class GangliaResourceMonitor implements Monitor {
 	public GangliaResourceMonitor(LoadCalculator loadCalculator,
 			String gmetadHost, int gmetadPort) {
 		this.loadCalculator = loadCalculator;
-		this.loadMap = new HashMap<String, Integer>();
-		this.gmetaNodes = new HashMap<String, Map<String, String>>();
-		this.gmetaAdapters = new HashMap<String, GangliaAdapter>();
+		this.loadMap = new ConcurrentHashMap<String, Integer>();
+		this.gmetaNodes = new ConcurrentHashMap<String, Map<String, String>>();
+		this.gmetaAdapters = new ConcurrentHashMap<String, GangliaAdapter>();
 		try {
 			this.initGmetaNodes(gmetadHost, gmetadPort);
 		} catch (Exception e) {
@@ -252,7 +252,7 @@ public class GangliaResourceMonitor implements Monitor {
 	}
 
 	private void addGmetadNode(String host, int port) {
-		Map<String, String> rootNode = new HashMap<String, String>();
+		Map<String, String> rootNode = new ConcurrentHashMap<String, String>();
 		rootNode.put("host", host);
 		rootNode.put("port", String.valueOf(port));
 		this.gmetaNodes.put(host, rootNode);

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaXMLParser.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaXMLParser.java b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaXMLParser.java
index f9de47a..b0211ca 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaXMLParser.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/GangliaXMLParser.java
@@ -25,7 +25,7 @@ import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 
 /**
@@ -43,7 +43,7 @@ public class GangliaXMLParser extends DefaultHandler implements GangliaMetKeys {
     private Host currentHost;
     private List<Metric> currentHostMetrics;
     private Metric currentMetric;
-    private HashMap<String, String> extraData;
+    private ConcurrentHashMap<String, String> extraData;
 
     /**
      * {@inheritDoc}
@@ -78,7 +78,7 @@ public class GangliaXMLParser extends DefaultHandler implements GangliaMetKeys {
             this.currentMetric = new Metric(atts.getValue(NAME), atts.getValue(VAL), atts.getValue(TYPE),
                     atts.getValue(UNITS), atts.getValue(TN), atts.getValue(TMAX), atts.getValue(DMAX),
                     atts.getValue(SLOPE), atts.getValue(SOURCE));
-            this.extraData = new HashMap<String, String>();
+            this.extraData = new ConcurrentHashMap<String, String>();
 
         } else if (name.equals(EXTRA_ELEMENT)) {
             this.extraData.put(atts.getValue(NAME), atts.getValue(VAL));

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/configuration/Metric.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/configuration/Metric.java b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/configuration/Metric.java
index 3fcbcee..30fb155 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/configuration/Metric.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/monitor/ganglia/configuration/Metric.java
@@ -17,7 +17,7 @@
 
 package org.apache.oodt.cas.resource.monitor.ganglia.configuration;
 
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * @author rajith
@@ -44,7 +44,7 @@ public class Metric {
     private String dmax;
     private String slope;
     private String source;
-    private HashMap<String, String> extraData;
+    private ConcurrentHashMap<String, String> extraData;
 
     public Metric(String name, String value, String valueType, String units,
                   String tn, String tmax, String dmax, String slope, String source) {
@@ -96,11 +96,11 @@ public class Metric {
         return source;
     }
 
-    public HashMap<String, String> getExtraData() {
+    public ConcurrentHashMap<String, String> getExtraData() {
         return extraData;
     }
 
-    public void setExtraData(HashMap<String, String> extraData) {
+    public void setExtraData(ConcurrentHashMap<String, String> extraData) {
         this.extraData = extraData;
     }
 }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/mux/QueueMuxBatchManager.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/mux/QueueMuxBatchManager.java b/resource/src/main/java/org/apache/oodt/cas/resource/mux/QueueMuxBatchManager.java
index 8a17a90..5101b23 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/mux/QueueMuxBatchManager.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/mux/QueueMuxBatchManager.java
@@ -18,7 +18,7 @@
 package org.apache.oodt.cas.resource.mux;
 
 import java.util.List;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -43,7 +43,7 @@ public class QueueMuxBatchManager implements Batchmgr {
     private Logger LOG = Logger.getLogger(QueueMuxBatchManager.class.getName());
 
     BackendManager backend;
-    Map<String,String> jobIdToQueue = new HashMap<String,String>();
+    Map<String,String> jobIdToQueue = new ConcurrentHashMap<String,String>();
     JobRepository repo;
 
     /**

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/mux/StandardBackendManager.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/mux/StandardBackendManager.java b/resource/src/main/java/org/apache/oodt/cas/resource/mux/StandardBackendManager.java
index 6647588..ff36ea6 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/mux/StandardBackendManager.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/mux/StandardBackendManager.java
@@ -16,7 +16,7 @@
  */
 package org.apache.oodt.cas.resource.mux;
 
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -40,7 +40,7 @@ import org.apache.oodt.cas.resource.structs.exceptions.QueueManagerException;
  * @author starchmd
  */
 public class StandardBackendManager implements BackendManager {
-    Map<String,BackendSet> queueToBackend = new HashMap<String,BackendSet>();
+    Map<String,BackendSet> queueToBackend = new ConcurrentHashMap<String,BackendSet>();
 
     /**
      * Add in a backend set to this manager.

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/scheduler/QueueManager.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/scheduler/QueueManager.java b/resource/src/main/java/org/apache/oodt/cas/resource/scheduler/QueueManager.java
index 8afc30b..6b45951 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/scheduler/QueueManager.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/scheduler/QueueManager.java
@@ -18,15 +18,17 @@
 package org.apache.oodt.cas.resource.scheduler;
 
 //OODT imports
+
 import org.apache.oodt.cas.resource.structs.exceptions.QueueManagerException;
 
-//JDK imports
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
 
+//JDK imports
+
 /**
  * 
  * @author bfoster

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/structs/NameValueJobInput.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/structs/NameValueJobInput.java b/resource/src/main/java/org/apache/oodt/cas/resource/structs/NameValueJobInput.java
index b14cfa9..73c26ab 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/structs/NameValueJobInput.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/structs/NameValueJobInput.java
@@ -19,7 +19,7 @@
 package org.apache.oodt.cas.resource.structs;
 
 //JDK imports
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.Properties;
 
@@ -91,7 +91,7 @@ public class NameValueJobInput implements JobInput {
    * @see org.apache.oodt.cas.resource.util.XmlRpcWriteable#write()
    */
   public Object write() {
-    Map writeable = new HashMap();
+    Map writeable = new ConcurrentHashMap();
     if (props != null && props.size() > 0) {
       for (Object o : props.keySet()) {
         String key = (String) o;

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/system/extern/XmlRpcBatchStub.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/system/extern/XmlRpcBatchStub.java b/resource/src/main/java/org/apache/oodt/cas/resource/system/extern/XmlRpcBatchStub.java
index 9f41840..c0898fa 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/system/extern/XmlRpcBatchStub.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/system/extern/XmlRpcBatchStub.java
@@ -29,7 +29,7 @@ import org.apache.oodt.cas.resource.util.XmlRpcStructFactory;
 import org.apache.xmlrpc.WebServer;
 
 import java.util.Date;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.Vector;
 import java.util.logging.Level;
@@ -69,7 +69,7 @@ public class XmlRpcBatchStub {
         webServer.addHandler("batchstub", this);
         webServer.start();
 
-        jobThreadMap = new HashMap();
+        jobThreadMap = new ConcurrentHashMap();
 
         LOG.log(Level.INFO, "XmlRpc Batch Stub started by "
                             + System.getProperty("user.name", "unknown"));

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/main/java/org/apache/oodt/cas/resource/util/Ulimit.java
----------------------------------------------------------------------
diff --git a/resource/src/main/java/org/apache/oodt/cas/resource/util/Ulimit.java b/resource/src/main/java/org/apache/oodt/cas/resource/util/Ulimit.java
index e556068..a78aeff 100644
--- a/resource/src/main/java/org/apache/oodt/cas/resource/util/Ulimit.java
+++ b/resource/src/main/java/org/apache/oodt/cas/resource/util/Ulimit.java
@@ -25,7 +25,7 @@ import org.apache.oodt.cas.resource.exceptions.ResourceException;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
@@ -187,7 +187,7 @@ public final class Ulimit implements UlimitMetKeys {
                 .getInputStream()));
 
         String line;
-        Map properties = new HashMap();
+        Map properties = new ConcurrentHashMap();
 
         while ((line = in.readLine()) != null) {
             UlimitProperty property = parseProperty(line);

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/test/java/org/apache/oodt/cas/resource/monitor/TestGangliaXMLParser.java
----------------------------------------------------------------------
diff --git a/resource/src/test/java/org/apache/oodt/cas/resource/monitor/TestGangliaXMLParser.java b/resource/src/test/java/org/apache/oodt/cas/resource/monitor/TestGangliaXMLParser.java
index 4d212cd..9c046b6 100644
--- a/resource/src/test/java/org/apache/oodt/cas/resource/monitor/TestGangliaXMLParser.java
+++ b/resource/src/test/java/org/apache/oodt/cas/resource/monitor/TestGangliaXMLParser.java
@@ -34,7 +34,7 @@ import org.xml.sax.SAXException;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParserFactory;
 import java.io.*;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 
 /**
@@ -140,7 +140,7 @@ public class TestGangliaXMLParser extends TestCase {
         assertEquals("gmond", metric.getSource());
 
         //extra data of the metric
-        HashMap<String, String> extraData = metric.getExtraData();
+        ConcurrentHashMap<String, String> extraData = metric.getExtraData();
         assertEquals("disk", extraData.get(GangliaMetKeys.GROUP));
         assertEquals("Total free disk space", extraData.get(GangliaMetKeys.DESC));
         assertEquals("Disk Space Available", extraData.get(GangliaMetKeys.TITLE));

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/resource/src/test/java/org/apache/oodt/cas/resource/mux/TestQueueMuxMonitor.java
----------------------------------------------------------------------
diff --git a/resource/src/test/java/org/apache/oodt/cas/resource/mux/TestQueueMuxMonitor.java b/resource/src/test/java/org/apache/oodt/cas/resource/mux/TestQueueMuxMonitor.java
index b2d0724..4cfd05b 100644
--- a/resource/src/test/java/org/apache/oodt/cas/resource/mux/TestQueueMuxMonitor.java
+++ b/resource/src/test/java/org/apache/oodt/cas/resource/mux/TestQueueMuxMonitor.java
@@ -20,7 +20,7 @@ package org.apache.oodt.cas.resource.mux;
 //OODT imports
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -55,7 +55,7 @@ public class TestQueueMuxMonitor extends TestCase {
     protected void setUp() {
         try {
             //Map monitor to nodes list
-            map = new HashMap<MockMonitor,List<ResourceNode>>();
+            map = new ConcurrentHashMap<MockMonitor,List<ResourceNode>>();
             List<ResourceNode> nodes1 = getNodesList("mock-1");
             List<ResourceNode> nodes2 = getNodesList("mock-2");
             //Backend Manager setup

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/streaming/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/MesosBatchManager.java
----------------------------------------------------------------------
diff --git a/streaming/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/MesosBatchManager.java b/streaming/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/MesosBatchManager.java
index 0f67f36..e2ab82b 100644
--- a/streaming/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/MesosBatchManager.java
+++ b/streaming/resource/src/main/java/org/apache/oodt/cas/resource/batchmgr/MesosBatchManager.java
@@ -16,7 +16,7 @@
  */
 package org.apache.oodt.cas.resource.batchmgr;
 
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 
 import org.apache.commons.lang.NotImplementedException;
@@ -38,7 +38,7 @@ import org.apache.oodt.cas.resource.structs.exceptions.MesosFrameworkException;
  */
 public class MesosBatchManager implements Batchmgr {
 
-    Map<String,TaskID> map = new HashMap<String,TaskID>();
+    Map<String,TaskID> map = new ConcurrentHashMap<String,TaskID>();
     SchedulerDriver driver;
     JobRepository repo;
     Monitor mon;

http://git-wip-us.apache.org/repos/asf/oodt/blob/fb5cd1f0/streaming/resource/src/main/java/org/apache/oodt/cas/resource/monitor/MesosMonitor.java
----------------------------------------------------------------------
diff --git a/streaming/resource/src/main/java/org/apache/oodt/cas/resource/monitor/MesosMonitor.java b/streaming/resource/src/main/java/org/apache/oodt/cas/resource/monitor/MesosMonitor.java
index 4a8b374..8d91d84 100644
--- a/streaming/resource/src/main/java/org/apache/oodt/cas/resource/monitor/MesosMonitor.java
+++ b/streaming/resource/src/main/java/org/apache/oodt/cas/resource/monitor/MesosMonitor.java
@@ -17,7 +17,7 @@
 package org.apache.oodt.cas.resource.monitor;
 
 import java.net.URL;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +32,7 @@ import org.apache.oodt.cas.resource.structs.exceptions.MonitorException;
  */
 public class MesosMonitor implements Monitor {
 
-    private static HashMap<String, ResourceNode> nodesMap = new HashMap<String, ResourceNode>();
+    private static ConcurrentHashMap<String, ResourceNode> nodesMap = new ConcurrentHashMap<String, ResourceNode>();
     /* (non-Javadoc)
      * @see org.apache.oodt.cas.resource.monitor.Monitor#getLoad(org.apache.oodt.cas.resource.structs.ResourceNode)
      */