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:19 UTC

[06/13] oodt git commit: OODT-917 replace hashtable with its modern equivilant

OODT-917 replace hashtable with its modern equivilant


Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/e43e8f07
Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/e43e8f07
Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/e43e8f07

Branch: refs/heads/master
Commit: e43e8f073411d07c6239af134ac1016f8b3c679d
Parents: a666bd1
Author: Tom Barber <to...@analytical-labs.com>
Authored: Tue Nov 3 00:16:47 2015 +0000
Committer: Tom Barber <to...@analytical-labs.com>
Committed: Tue Nov 3 00:16:47 2015 +0000

----------------------------------------------------------------------
 .../oodt/cas/filemgr/browser/model/Results.java |   2 +-
 .../catalog/cli/action/PagedQueryCliAction.java |   2 +-
 .../cas/catalog/cli/action/QueryCliAction.java  |   2 +-
 .../dictionary/WorkflowManagerDictionary.java   |   2 +-
 .../system/impl/CatalogServiceLocal.java        |   6 +-
 .../cas/crawl/AutoDetectProductCrawler.java     |   2 +-
 .../cas/crawl/config/ProductCrawlerBean.java    |   2 +-
 .../cas/curation/service/MetadataResource.java  |   4 +-
 .../curation/util/CurationXmlStructFactory.java |   2 +-
 .../cas/filemgr/catalog/ScienceDataCatalog.java |   4 +-
 .../extractors/AbstractFilemgrMetExtractor.java |   2 +-
 .../cas/filemgr/system/XmlRpcFileManager.java   | 164 +++++++-------
 .../filemgr/system/XmlRpcFileManagerClient.java | 162 +++++++-------
 .../cas/filemgr/util/XmlRpcStructFactory.java   | 218 +++++++++----------
 .../repository/TestXMLRepositoryManager.java    |   2 +-
 .../system/TestXmlRpcFileManagerClient.java     |   6 +-
 .../filemgr/util/TestXmlRpcStructFactory.java   |  12 +-
 .../org/apache/oodt/cas/metadata/Metadata.java  |  42 +++-
 .../oodt/cas/metadata/SerializableMetadata.java |   2 +-
 .../extractors/FilenameTokenMetExtractor.java   |  10 +-
 .../org/apache/oodt/pcs/tools/PCSTrace.java     |   6 +-
 .../org/apache/oodt/cas/pge/util/XmlHelper.java |  10 +-
 .../pge/writers/ExternExtractorMetWriter.java   |   2 +-
 .../profile/handlers/cas/util/ProfileUtils.java |   2 +-
 .../cas/pushpull/daemon/DaemonLauncher.java     |   2 +-
 .../cas/resource/scheduler/LRUScheduler.java    |   1 -
 .../cas/resource/structs/NameValueJobInput.java |  11 +-
 .../resource/system/XmlRpcResourceManager.java  |  44 ++--
 .../system/XmlRpcResourceManagerClient.java     |  10 +-
 .../resource/system/extern/XmlRpcBatchStub.java |  19 +-
 .../cas/resource/util/XmlRpcStructFactory.java  |   9 +-
 .../security/sso/opensso/IdentityDetails.java   |   5 +-
 .../oodt/security/sso/opensso/UserDetails.java  |   2 +-
 .../oodt/cas/product/rdf/RDFDatasetServlet.java |   2 +-
 .../oodt/cas/product/rdf/RDFProductServlet.java |   2 +-
 .../cli/action/DynWorkflowCliAction.java        |   2 +-
 .../cli/action/GetWorkflowInstMetCliAction.java |   2 +-
 .../workflow/cli/action/SendEventCliAction.java |   2 +-
 .../oodt/cas/workflow/examples/MailTask.java    |  12 +-
 .../DataSourceWorkflowInstanceRepository.java   |   4 +-
 .../LuceneWorkflowInstanceRepository.java       |  38 ++--
 .../instrepo/WorkflowInstanceMetMap.java        |   2 +-
 .../oodt/cas/workflow/structs/TaskJobInput.java |  28 +--
 .../workflow/system/XmlRpcWorkflowManager.java  |  42 ++--
 .../system/XmlRpcWorkflowManagerClient.java     |  50 ++---
 .../cas/workflow/util/XmlRpcStructFactory.java  |  33 +--
 .../TestLuceneWorkflowInstanceRepository.java   |   4 +-
 .../system/TestXmlRpcWorkflowManagerClient.java |   4 +-
 .../org/apache/oodt/xmlquery/QueryHeader.java   |   8 +-
 49 files changed, 524 insertions(+), 482 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/model/Results.java
----------------------------------------------------------------------
diff --git a/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/model/Results.java b/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/model/Results.java
index 1baf0be..248067e 100644
--- a/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/model/Results.java
+++ b/app/fmbrowser/src/main/java/org/apache/oodt/cas/filemgr/browser/model/Results.java
@@ -45,7 +45,7 @@ public class Results {
     if (products.size() > 0) {
       data = new String[products.size() + 1][];
 
-      Hashtable hash = products.firstElement().getHashtable();
+      Hashtable hash = products.firstElement().getHashTable();
       int numCols = hash.size();
       data[0] = new String[numCols];
       int i = 0;

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/PagedQueryCliAction.java
----------------------------------------------------------------------
diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/PagedQueryCliAction.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/PagedQueryCliAction.java
index caff615..8af24a0 100644
--- a/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/PagedQueryCliAction.java
+++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/PagedQueryCliAction.java
@@ -66,7 +66,7 @@ public class PagedQueryCliAction extends CatalogServiceCliAction {
             printer.print("ID: " + tMet.getTransactionId() + " ; CatalogIDs: "
                   + tMet.getCatalogIds() + " ; Metadata: (");
             StringBuilder sb = new StringBuilder("");
-            for (Object metKey : tMet.getMetadata().getHashtable().keySet()) {
+            for (Object metKey : tMet.getMetadata().getMap().keySet()) {
                sb.append(metKey).append("=").append(tMet.getMetadata().getAllMetadata((String) metKey)
                                                         .toString().replaceAll("[\\[\\]]", "'")).append(", ");
             }

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/QueryCliAction.java
----------------------------------------------------------------------
diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/QueryCliAction.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/QueryCliAction.java
index de9b59e..0a8eaf2 100644
--- a/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/QueryCliAction.java
+++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/cli/action/QueryCliAction.java
@@ -61,7 +61,7 @@ public class QueryCliAction  extends CatalogServiceCliAction {
             printer.print("ID: " + tMet.getTransactionId() + " ; CatalogIDs: "
                   + tMet.getCatalogIds() + " ; Metadata: (");
             StringBuilder sb = new StringBuilder("");
-            for (Object metKey : tMet.getMetadata().getHashtable().keySet()) {
+            for (Object metKey : tMet.getMetadata().getMap().keySet()) {
                sb.append(metKey).append("=").append(tMet.getMetadata().getAllMetadata((String) metKey)
                                                         .toString().replaceAll("[\\[\\]]", "'")).append(", ");
             }

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/catalog/src/main/java/org/apache/oodt/cas/catalog/struct/impl/dictionary/WorkflowManagerDictionary.java
----------------------------------------------------------------------
diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/struct/impl/dictionary/WorkflowManagerDictionary.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/struct/impl/dictionary/WorkflowManagerDictionary.java
index b5e8688..5630b6f 100644
--- a/catalog/src/main/java/org/apache/oodt/cas/catalog/struct/impl/dictionary/WorkflowManagerDictionary.java
+++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/struct/impl/dictionary/WorkflowManagerDictionary.java
@@ -38,7 +38,7 @@ public class WorkflowManagerDictionary implements Dictionary {
 	public TermBucket lookup(Metadata metadata) {
 		if (metadata.getMetadata("ProductType") != null && metadata.getAllMetadata("ProductType").contains("Workflows")) {
 			TermBucket workflowBucket = new TermBucket("Workflows");
-			for (Object key : metadata.getHashtable().keySet()) {
+			for (Object key : metadata.getMap().keySet()) {
 			  workflowBucket.addTerm(new Term((String) key, metadata.getAllMetadata((String) key)));
 			}
 			return workflowBucket;

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/catalog/src/main/java/org/apache/oodt/cas/catalog/system/impl/CatalogServiceLocal.java
----------------------------------------------------------------------
diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/system/impl/CatalogServiceLocal.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/system/impl/CatalogServiceLocal.java
index 0415c7a..fdc4962 100644
--- a/catalog/src/main/java/org/apache/oodt/cas/catalog/system/impl/CatalogServiceLocal.java
+++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/system/impl/CatalogServiceLocal.java
@@ -919,7 +919,7 @@ public class CatalogServiceLocal implements CatalogService {
 					}
 				}
 			}
-			if (metadata.getHashtable().keySet().size() > 0) {
+			if (metadata.getMap().keySet().size() > 0) {
 			  metadataSet.add(new TransactionalMetadata(
 				  new TransactionReceipt(transactionReceipt.getTransactionId(), successfulCatalogReceipts), metadata));
 			}
@@ -936,7 +936,7 @@ public class CatalogServiceLocal implements CatalogService {
 				try {
 					CatalogReceipt catalogReceipt = this.ingestMapper.getCatalogReceipt(catalogServiceTransactionId, catalog.getId());
 					if (catalogReceipt != null) {
-						metadata.addMetadata(catalog.getMetadata(catalogReceipt.getTransactionId()).getHashtable());
+						metadata.addMetadata(catalog.getMetadata(catalogReceipt.getTransactionId()).getMap());
 						catalogReceipts.add(catalogReceipt);
 					}
 				}catch (Exception e) {
@@ -951,7 +951,7 @@ public class CatalogServiceLocal implements CatalogService {
 					}
 				}
 			}
-			if (metadata.getHashtable().keySet().size() > 0) {
+			if (metadata.getMap().keySet().size() > 0) {
 			  metadataSet.add(
 				  new TransactionalMetadata(new TransactionReceipt(catalogServiceTransactionId, catalogReceipts),
 					  metadata));

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java
----------------------------------------------------------------------
diff --git a/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java b/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java
index d937e9f..f946862 100644
--- a/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java
+++ b/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java
@@ -84,7 +84,7 @@ public class AutoDetectProductCrawler extends ProductCrawler implements
          Metadata m = spec.getMetExtractor()
                           .extractMetadata(product);
          if (m != null) {
-            metadata.addMetadata(m.getHashtable(), true);
+            metadata.addMetadata(m.getMap(), true);
          }
       }
       return metadata;

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/crawler/src/main/java/org/apache/oodt/cas/crawl/config/ProductCrawlerBean.java
----------------------------------------------------------------------
diff --git a/crawler/src/main/java/org/apache/oodt/cas/crawl/config/ProductCrawlerBean.java b/crawler/src/main/java/org/apache/oodt/cas/crawl/config/ProductCrawlerBean.java
index 47b56c5..d4f6774 100644
--- a/crawler/src/main/java/org/apache/oodt/cas/crawl/config/ProductCrawlerBean.java
+++ b/crawler/src/main/java/org/apache/oodt/cas/crawl/config/ProductCrawlerBean.java
@@ -177,7 +177,7 @@ public abstract class ProductCrawlerBean implements
 	}
 
 	public void setGlobalMetadata(Metadata globalMetadata) {
-		this.globalMetadata.addMetadata(globalMetadata.getHashtable());
+		this.globalMetadata.addMetadata(globalMetadata.getMap());
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/curator/services/src/main/java/org/apache/oodt/cas/curation/service/MetadataResource.java
----------------------------------------------------------------------
diff --git a/curator/services/src/main/java/org/apache/oodt/cas/curation/service/MetadataResource.java b/curator/services/src/main/java/org/apache/oodt/cas/curation/service/MetadataResource.java
index 2c146f8..6ec8119 100644
--- a/curator/services/src/main/java/org/apache/oodt/cas/curation/service/MetadataResource.java
+++ b/curator/services/src/main/java/org/apache/oodt/cas/curation/service/MetadataResource.java
@@ -368,7 +368,7 @@ public class MetadataResource extends CurationService {
   
 
   private JSONObject getMetadataAsJSON(Metadata metadata) {
-    return JSONObject.fromObject(metadata.getHashtable());
+    return JSONObject.fromObject(metadata.getMap());
   }
 
   private Metadata getMetadataFromJSON(String metadataJSON) {
@@ -407,7 +407,7 @@ public class MetadataResource extends CurationService {
     StringBuilder html = new StringBuilder();
 
     html.append("<table>\r\n");
-    for (String key : (Set<String>) metadata.getHashtable().keySet()) {
+    for (String key : (Set<String>) metadata.getMap().keySet()) {
       html.append(" <tr>\r\n");
       html.append("  <th>").append(key).append("</th>\r\n");
       html.append("  <td class=\"").append(key).append("\">");

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/curator/services/src/main/java/org/apache/oodt/cas/curation/util/CurationXmlStructFactory.java
----------------------------------------------------------------------
diff --git a/curator/services/src/main/java/org/apache/oodt/cas/curation/util/CurationXmlStructFactory.java b/curator/services/src/main/java/org/apache/oodt/cas/curation/util/CurationXmlStructFactory.java
index 46ecbf2..193071c 100644
--- a/curator/services/src/main/java/org/apache/oodt/cas/curation/util/CurationXmlStructFactory.java
+++ b/curator/services/src/main/java/org/apache/oodt/cas/curation/util/CurationXmlStructFactory.java
@@ -77,7 +77,7 @@ public class CurationXmlStructFactory {
 
     Element metadataRootElem = doc.createElement("metadata");
     
-    for (Object metKey : type.getTypeMetadata().getHashtable().keySet()) {
+    for (Object metKey : type.getTypeMetadata().getMap().keySet()) {
       String key = (String) metKey;
       List<String> vals = type.getTypeMetadata().getAllMetadata(key);
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/ScienceDataCatalog.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/ScienceDataCatalog.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/ScienceDataCatalog.java
index c25f759..b91b83e 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/ScienceDataCatalog.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/ScienceDataCatalog.java
@@ -94,7 +94,7 @@ public class ScienceDataCatalog implements Catalog {
       // that do not already exist in the database
       Metadata paramMetadata = getMetadataSubset(m, Pattern.compile("param_*"));
 
-      for (Enumeration keys = paramMetadata.getHashtable().keys(); keys
+      for (Enumeration keys = paramMetadata.getHashTable().keys(); keys
           .hasMoreElements();) {
 
         String key = (String) keys.nextElement();
@@ -1183,7 +1183,7 @@ public class ScienceDataCatalog implements Catalog {
 
     Metadata subset = new Metadata();
 
-    for (Object key : m.getHashtable().keySet()) {
+    for (Object key : m.getMap().keySet()) {
 
       Matcher matcher = pattern.matcher((String) key);
       if (matcher.lookingAt()) {

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/AbstractFilemgrMetExtractor.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/AbstractFilemgrMetExtractor.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/AbstractFilemgrMetExtractor.java
index 9d415f2..13d71fa 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/AbstractFilemgrMetExtractor.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/AbstractFilemgrMetExtractor.java
@@ -107,7 +107,7 @@ public abstract class AbstractFilemgrMetExtractor implements
     }
 
     protected void merge(Metadata src, Metadata dest) {
-        dest.addMetadata(src.getHashtable());
+        dest.addMetadata(src.getMap());
     }
 
     protected File getProductFile(Product product)

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
index a8af882..992f420 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
@@ -18,8 +18,6 @@
 package org.apache.oodt.cas.filemgr.system;
 
 
-import com.google.common.collect.Lists;
-
 import org.apache.oodt.cas.filemgr.catalog.Catalog;
 import org.apache.oodt.cas.filemgr.datatransfer.DataTransfer;
 import org.apache.oodt.cas.filemgr.datatransfer.TransferStatusTracker;
@@ -54,9 +52,10 @@ import org.apache.oodt.cas.filemgr.versioning.VersioningUtils;
 import org.apache.oodt.cas.metadata.Metadata;
 import org.apache.oodt.cas.metadata.exceptions.MetExtractionException;
 import org.apache.oodt.commons.date.DateUtils;
-import org.apache.oodt.commons.exceptions.CommonsException;
 import org.apache.xmlrpc.WebServer;
 
+import com.google.common.collect.Lists;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -65,11 +64,12 @@ import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.text.ParseException;
 import java.util.Arrays;
-import java.util.Hashtable;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 import java.util.Vector;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -162,39 +162,39 @@ public class XmlRpcFileManager {
       return status;
     }
 
-    public boolean transferringProduct(Hashtable<String, Object> productHash) {
+    public boolean transferringProduct(Map<String, Object> productHash) {
         Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         transferStatusTracker.transferringProduct(p);
         return true;
     }
 
-    public Hashtable<String, Object> getCurrentFileTransfer() {
+    public Map<String, Object> getCurrentFileTransfer() {
         FileTransferStatus status = transferStatusTracker
                 .getCurrentFileTransfer();
         if (status == null) {
-            return new Hashtable<String, Object>();
+            return new HashMap<String, Object>();
         } else {
           return XmlRpcStructFactory.getXmlRpcFileTransferStatus(status);
         }
     }
 
-    public Vector<Hashtable<String, Object>> getCurrentFileTransfers() {
+    public Vector<Map<String, Object>> getCurrentFileTransfers() {
         List<FileTransferStatus> currentTransfers = transferStatusTracker.getCurrentFileTransfers();
 
         if (currentTransfers != null && currentTransfers.size() > 0) {
             return XmlRpcStructFactory
                     .getXmlRpcFileTransferStatuses(currentTransfers);
         } else {
-          return new Vector<Hashtable<String, Object>>();
+          return new Vector<Map<String, Object>>();
         }
     }
 
-    public double getProductPctTransferred(Hashtable<String, Object> productHash) {
+    public double getProductPctTransferred(Map<String, Object> productHash) {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
       return transferStatusTracker.getPctTransferred(product);
     }
 
-    public double getRefPctTransferred(Hashtable<String, Object> refHash) {
+    public double getRefPctTransferred(Map<String, Object> refHash) {
         Reference reference = XmlRpcStructFactory
                 .getReferenceFromXmlRpc(refHash);
         double pct = 0.0;
@@ -211,20 +211,20 @@ public class XmlRpcFileManager {
         return pct;
     }
 
-    public boolean removeProductTransferStatus(Hashtable<String, Object> productHash) {
+    public boolean removeProductTransferStatus(Map<String, Object> productHash) {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         transferStatusTracker.removeProductTransferStatus(product);
         return true;
     }
 
-    public boolean isTransferComplete(Hashtable<String, Object> productHash) {
+    public boolean isTransferComplete(Map<String, Object> productHash) {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         return transferStatusTracker.isTransferComplete(product);
     }
 
-    public Hashtable<String, Object> pagedQuery(
-            Hashtable<String, Object> queryHash,
-            Hashtable<String, Object> productTypeHash,
+    public Map<String, Object> pagedQuery(
+            Map<String, Object> queryHash,
+            Map<String, Object> productTypeHash,
             int pageNum) throws CatalogException {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
@@ -256,8 +256,8 @@ public class XmlRpcFileManager {
         return XmlRpcStructFactory.getXmlRpcProductPage(prodPage);
     }
 
-    public Hashtable<String, Object> getFirstPage(
-            Hashtable<String, Object> productTypeHash) {
+    public Map<String, Object> getFirstPage(
+            Map<String, Object> productTypeHash) {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
         ProductPage page = catalog.getFirstPage(type);
@@ -271,8 +271,8 @@ public class XmlRpcFileManager {
         return XmlRpcStructFactory.getXmlRpcProductPage(page);
     }
 
-    public Hashtable<String, Object> getLastPage(
-            Hashtable<String, Object> productTypeHash) {
+    public Map<String, Object> getLastPage(
+            Map<String, Object> productTypeHash) {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
         ProductPage page = catalog.getLastProductPage(type);
@@ -286,9 +286,9 @@ public class XmlRpcFileManager {
         return XmlRpcStructFactory.getXmlRpcProductPage(page);
     }
 
-    public Hashtable<String, Object> getNextPage(
-            Hashtable<String, Object> productTypeHash,
-            Hashtable<String, Object> currentPageHash) {
+    public Map<String, Object> getNextPage(
+            Map<String, Object> productTypeHash,
+            Map<String, Object> currentPageHash) {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
         ProductPage currPage = XmlRpcStructFactory
@@ -304,9 +304,9 @@ public class XmlRpcFileManager {
         return XmlRpcStructFactory.getXmlRpcProductPage(page);
     }
 
-    public Hashtable<String, Object> getPrevPage(
-            Hashtable<String, Object> productTypeHash,
-            Hashtable<String, Object> currentPageHash) {
+    public Map<String, Object> getPrevPage(
+            Map<String, Object> productTypeHash,
+            Map<String, Object> currentPageHash) {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
         ProductPage currPage = XmlRpcStructFactory
@@ -322,7 +322,7 @@ public class XmlRpcFileManager {
         return XmlRpcStructFactory.getXmlRpcProductPage(page);
     }
 
-    public String addProductType(Hashtable<String, Object> productTypeHash)
+    public String addProductType(Map<String, Object> productTypeHash)
             throws RepositoryManagerException {
         ProductType productType = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
@@ -332,14 +332,14 @@ public class XmlRpcFileManager {
     }
 
     public synchronized boolean setProductTransferStatus(
-            Hashtable<String, Object> productHash)
+            Map<String, Object> productHash)
             throws CatalogException {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         catalog.setProductTransferStatus(product);
         return true;
     }
 
-    public int getNumProducts(Hashtable<String, Object> productTypeHash)
+    public int getNumProducts(Map<String, Object> productTypeHash)
             throws CatalogException {
         int numProducts;
 
@@ -359,7 +359,7 @@ public class XmlRpcFileManager {
         return numProducts;
     }
 
-    public Vector<Hashtable<String, Object>> getTopNProducts(int n)
+    public Vector<Map<String, Object>> getTopNProducts(int n)
             throws CatalogException {
         List<Product> topNProducts;
 
@@ -375,8 +375,8 @@ public class XmlRpcFileManager {
         }
     }
 
-    public Vector<Hashtable<String, Object>> getTopNProducts(int n,
-            Hashtable<String, Object> productTypeHash)
+    public Vector<Map<String, Object>> getTopNProducts(int n,
+            Map<String, Object> productTypeHash)
             throws CatalogException {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
@@ -402,20 +402,20 @@ public class XmlRpcFileManager {
                 && p.getTransferStatus().equals(Product.STATUS_RECEIVED);
     }
 
-    public Hashtable<String, Object> getMetadata(
-            Hashtable<String, Object> productHash) throws CatalogException {
+    public Map<String, Object> getMetadata(
+        Map<String, Object> productHash) throws CatalogException {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
-        return this.getMetadata(product).getHashtable();
+        return this.getMetadata(product).getMap();
     }
 
-    public Hashtable<String, Object> getReducedMetadata(
-            Hashtable<String, Object> productHash, Vector<String> elements)
+    public Map<String, Object> getReducedMetadata(
+            Map<String, Object> productHash, Vector<String> elements)
             throws CatalogException {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
-        return this.getReducedMetadata(product, elements).getHashtable();
+        return this.getReducedMetadata(product, elements).getMap();
     }
 
-    public Vector<Hashtable<String, Object>> getProductTypes()
+    public Vector<Map<String, Object>> getProductTypes()
             throws RepositoryManagerException {
         List<ProductType> productTypeList;
 
@@ -432,8 +432,8 @@ public class XmlRpcFileManager {
         }
     }
 
-    public Vector<Hashtable<String, Object>> getProductReferences(
-            Hashtable<String, Object> productHash)
+    public Vector<Map<String, Object>> getProductReferences(
+            Map<String, Object> productHash)
             throws CatalogException {
         List<Reference> referenceList;
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
@@ -451,7 +451,7 @@ public class XmlRpcFileManager {
 
     }
 
-    public Hashtable<String, Object> getProductById(String productId)
+    public Map<String, Object> getProductById(String productId)
             throws CatalogException {
         Product product = null;
 
@@ -480,7 +480,7 @@ public class XmlRpcFileManager {
 
     }
 
-    public Hashtable<String, Object> getProductByName(String productName)
+    public Map<String, Object> getProductByName(String productName)
             throws CatalogException {
         Product product = null;
 
@@ -508,8 +508,8 @@ public class XmlRpcFileManager {
         }
     }
 
-    public Vector<Hashtable<String, Object>> getProductsByProductType(
-            Hashtable<String, Object> productTypeHash)
+    public Vector<Map<String, Object>> getProductsByProductType(
+            Map<String, Object> productTypeHash)
             throws CatalogException {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
@@ -527,8 +527,8 @@ public class XmlRpcFileManager {
         }
     }
 
-    public Vector<Hashtable<String, Object>> getElementsByProductType(
-            Hashtable<String, Object> productTypeHash)
+    public Vector<Map<String, Object>> getElementsByProductType(
+            Map<String, Object> productTypeHash)
             throws ValidationLayerException {
         ProductType type = XmlRpcStructFactory
                 .getProductTypeFromXmlRpc(productTypeHash);
@@ -547,7 +547,7 @@ public class XmlRpcFileManager {
 
     }
 
-    public Hashtable<String, Object> getElementById(String elementId)
+    public Map<String, Object> getElementById(String elementId)
             throws ValidationLayerException {
         Element element;
 
@@ -562,7 +562,7 @@ public class XmlRpcFileManager {
         }
     }
 
-    public Hashtable<String, Object> getElementByName(String elementName)
+    public Map<String, Object> getElementByName(String elementName)
             throws ValidationLayerException {
         Element element;
 
@@ -578,8 +578,8 @@ public class XmlRpcFileManager {
         }
     }
 
-    public Vector<Hashtable<String, Object>> complexQuery(
-            Hashtable<String, Object> complexQueryHash) throws CatalogException {
+    public Vector<Map<String, Object>> complexQuery(
+            Map<String, Object> complexQueryHash) throws CatalogException {
         try {
             ComplexQuery complexQuery = XmlRpcStructFactory
                     .getComplexQueryFromXmlRpc(complexQueryHash);
@@ -639,9 +639,9 @@ public class XmlRpcFileManager {
         }
     }
     
-    public Vector<Hashtable<String, Object>> query(
-            Hashtable<String, Object> queryHash,
-            Hashtable<String, Object> productTypeHash)
+    public Vector<Map<String, Object>> query(
+            Map<String, Object> queryHash,
+            Map<String, Object> productTypeHash)
             throws CatalogException {
         Query query = XmlRpcStructFactory.getQueryFromXmlRpc(queryHash);
         ProductType type = XmlRpcStructFactory
@@ -649,14 +649,14 @@ public class XmlRpcFileManager {
         return XmlRpcStructFactory.getXmlRpcProductList(this.query(query, type));
     }
 
-    public Hashtable<String, Object> getProductTypeByName(String productTypeName)
+    public Map<String, Object> getProductTypeByName(String productTypeName)
             throws RepositoryManagerException {
         ProductType type = repositoryManager
                 .getProductTypeByName(productTypeName);
         return XmlRpcStructFactory.getXmlRpcProductType(type);
     }
 
-    public Hashtable<String, Object> getProductTypeById(String productTypeId)
+    public Map<String, Object> getProductTypeById(String productTypeId)
             throws RepositoryManagerException {
         ProductType type;
 
@@ -672,8 +672,8 @@ public class XmlRpcFileManager {
         }
     }
     
-    public synchronized boolean updateMetadata(Hashtable<String, Object> productHash, 
-        Hashtable<String, Object> metadataHash) throws CatalogException{
+    public synchronized boolean updateMetadata(Map<String, Object> productHash, 
+        Map<String, Object> metadataHash) throws CatalogException{
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         Metadata met = new Metadata();
         met.addMetadata(metadataHash);
@@ -683,28 +683,28 @@ public class XmlRpcFileManager {
         return true;
     }
 
-    public synchronized String catalogProduct(Hashtable<String, Object> productHash)
+    public synchronized String catalogProduct(Map<String, Object> productHash)
             throws CatalogException {
         Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         return catalogProduct(p);
     }
 
-    public synchronized boolean addMetadata(Hashtable<String, Object> productHash,
-            Hashtable<String, String> metadata) throws CatalogException {
+    public synchronized boolean addMetadata(Map<String, Object> productHash,
+            Map<String, String> metadata) throws CatalogException {
         Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         Metadata m = new Metadata();
-        m.addMetadata((Hashtable)metadata);
+        m.addMetadata((Map)metadata);
         return addMetadata(p, m) != null;
     }
 
-    public synchronized boolean addProductReferences(Hashtable<String, Object> productHash)
+    public synchronized boolean addProductReferences(Map<String, Object> productHash)
             throws CatalogException {
         Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
         return addProductReferences(product);
     }
 
-    public String ingestProduct(Hashtable<String, Object> productHash,
-      Hashtable<String, String> metadata, boolean clientTransfer)
+    public String ingestProduct(Map<String, Object> productHash,
+      Map<String, String> metadata, boolean clientTransfer)
       throws
         CatalogException {
 
@@ -717,7 +717,7 @@ public class XmlRpcFileManager {
 
       // now add the metadata
       Metadata m = new Metadata();
-      m.addMetadata((Hashtable)metadata);
+      m.addMetadata((Map)metadata);
       Metadata expandedMetdata = addMetadata(p, m);
 
       // version the product
@@ -865,7 +865,7 @@ public class XmlRpcFileManager {
       return success;
     }
 
-    public boolean moveProduct(Hashtable<String, Object> productHash, String newPath)
+    public boolean moveProduct(Map<String, Object> productHash, String newPath)
             throws DataTransferException {
 
         Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
@@ -943,7 +943,7 @@ public class XmlRpcFileManager {
       return true;
     }
 
-    public boolean modifyProduct(Hashtable<?, ?> productHash) throws CatalogException {
+    public boolean modifyProduct(Map<?, ?> productHash) throws CatalogException {
         Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
 
         try {
@@ -957,7 +957,7 @@ public class XmlRpcFileManager {
         return true;
     }
 
-    public boolean removeProduct(Hashtable<String, Object> productHash) throws CatalogException {
+    public boolean removeProduct(Map<String, Object> productHash) throws CatalogException {
         Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
 
         try {
@@ -971,29 +971,29 @@ public class XmlRpcFileManager {
         return true;
     }
     
-    public Hashtable<String, Object> getCatalogValues(
-            Hashtable<String, Object> metadataHash,
-            Hashtable<String, Object> productTypeHash)
+    public Map<String, Object> getCatalogValues(
+            Map<String, Object> metadataHash,
+            Map<String, Object> productTypeHash)
             throws RepositoryManagerException {
         Metadata m = new Metadata();
         m.addMetadata(metadataHash);
         ProductType productType = XmlRpcStructFactory.getProductTypeFromXmlRpc(productTypeHash);
-        return this.getCatalogValues(m, productType).getHashtable();
+        return this.getCatalogValues(m, productType).getMap();
     }
     
-    public Hashtable<String, Object> getOrigValues(
-            Hashtable<String, Object> metadataHash,
-            Hashtable<String, Object> productTypeHash)
+    public Map<String, Object> getOrigValues(
+        Map<String, Object> metadataHash,
+        Map<String, Object> productTypeHash)
             throws RepositoryManagerException {
         Metadata m = new Metadata();
         m.addMetadata(metadataHash);
         ProductType productType = XmlRpcStructFactory.getProductTypeFromXmlRpc(productTypeHash);
-        return this.getOrigValues(m, productType).getHashtable();
+        return this.getOrigValues(m, productType).getMap();
     }
     
-    public Hashtable<String, Object> getCatalogQuery(
-            Hashtable<String, Object> queryHash,
-            Hashtable<String, Object> productTypeHash)
+    public Map<String, Object> getCatalogQuery(
+            Map<String, Object> queryHash,
+            Map<String, Object> productTypeHash)
             throws RepositoryManagerException, QueryFormulationException {
         Query query = XmlRpcStructFactory.getQueryFromXmlRpc(queryHash);
         ProductType productType = XmlRpcStructFactory.getProductTypeFromXmlRpc(productTypeHash);
@@ -1103,7 +1103,7 @@ public class XmlRpcFileManager {
         }
 
         Metadata met = new Metadata();
-        met.addMetadata(metadata.getHashtable());
+        met.addMetadata(metadata.getMap());
 
         if (product.getProductType().getExtractors() != null) {
             for (ExtractorSpec spec: product.getProductType().getExtractors()) {

http://git-wip-us.apache.org/repos/asf/oodt/blob/e43e8f07/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java
index a1828c3..268f32d 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java
@@ -54,7 +54,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.net.URL;
-import java.util.Hashtable;
+import java.util.Map;
 import java.util.List;
 import java.util.Vector;
 import java.util.logging.Level;
@@ -222,7 +222,7 @@ public class XmlRpcFileManagerClient {
     public boolean transferringProduct(Product product)
             throws DataTransferException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
 
@@ -242,7 +242,7 @@ public class XmlRpcFileManagerClient {
 
     public boolean removeProductTransferStatus(Product product)
             throws DataTransferException {
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         Vector<Object> argList = new Vector<Object>();
         argList.add(productHash);
@@ -263,7 +263,7 @@ public class XmlRpcFileManagerClient {
 
     public boolean isTransferComplete(Product product)
             throws DataTransferException {
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         Vector<Object> argList = new Vector<Object>();
         argList.add(productHash);
@@ -284,7 +284,7 @@ public class XmlRpcFileManagerClient {
 
     public boolean moveProduct(Product product, String newPath)
             throws DataTransferException {
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         Vector<Object> argList = new Vector<Object>();
         argList.add(productHash);
@@ -304,7 +304,7 @@ public class XmlRpcFileManagerClient {
     }
 
     public boolean modifyProduct(Product product) throws CatalogException {
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
 
         Vector<Object> argList = new Vector<Object>();
@@ -326,7 +326,7 @@ public class XmlRpcFileManagerClient {
     }
 
     public boolean removeProduct(Product product) throws CatalogException {
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
 
         Vector<Object> argList = new Vector<Object>();
@@ -352,11 +352,11 @@ public class XmlRpcFileManagerClient {
             throws DataTransferException {
         Vector<Object> argList = new Vector<Object>();
 
-        Hashtable<String, Object> statusHash;
+        Map<String, Object> statusHash;
         FileTransferStatus status = null;
 
         try {
-            statusHash = (Hashtable<String, Object>) client.execute(
+            statusHash = (Map<String, Object>) client.execute(
                     "filemgr.getCurrentFileTransfer", argList);
         } catch (XmlRpcException e) {
             throw new DataTransferException(e);
@@ -377,11 +377,11 @@ public class XmlRpcFileManagerClient {
             throws DataTransferException {
         Vector<Object> argList = new Vector<Object>();
 
-        Vector<Hashtable<String, Object>> statusVector;
+        Vector<Map<String, Object>> statusVector;
         List<FileTransferStatus> statuses = null;
 
         try {
-            statusVector = (Vector<Hashtable<String, Object>>) client.execute(
+            statusVector = (Vector<Map<String, Object>>) client.execute(
                     "filemgr.getCurrentFileTransfers", argList);
         } catch (XmlRpcException e) {
             throw new DataTransferException(e);
@@ -400,7 +400,7 @@ public class XmlRpcFileManagerClient {
     public double getProductPctTransferred(Product product)
             throws DataTransferException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
         Double pct;
@@ -424,7 +424,7 @@ public class XmlRpcFileManagerClient {
     public double getRefPctTransferred(Reference reference)
             throws DataTransferException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> refHash = XmlRpcStructFactory
+        Map<String, Object> refHash = XmlRpcStructFactory
                 .getXmlRpcReference(reference);
         argList.add(refHash);
         Double pct;
@@ -449,18 +449,18 @@ public class XmlRpcFileManagerClient {
     public ProductPage pagedQuery(Query query, ProductType type, int pageNum)
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> queryHash = XmlRpcStructFactory
+        Map<String, Object> queryHash = XmlRpcStructFactory
                 .getXmlRpcQuery(query);
-        Hashtable<String, Object> typeHash = XmlRpcStructFactory
+        Map<String, Object> typeHash = XmlRpcStructFactory
                 .getXmlRpcProductType(type);
         argList.add(queryHash);
         argList.add(typeHash);
         argList.add(pageNum);
 
-        Hashtable<String, Object> pageHash;
+        Map<String, Object> pageHash;
 
         try {
-            pageHash = (Hashtable<String, Object>) client.execute(
+            pageHash = (Map<String, Object>) client.execute(
                     "filemgr.pagedQuery", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -477,10 +477,10 @@ public class XmlRpcFileManagerClient {
         argList.add(XmlRpcStructFactory.getXmlRpcProductType(type));
 
         ProductPage page = null;
-        Hashtable<String, Object> pageHash;
+        Map<String, Object> pageHash;
 
         try {
-            pageHash = (Hashtable<String, Object>) client.execute(
+            pageHash = (Map<String, Object>) client.execute(
                     "filemgr.getFirstPage", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -502,10 +502,10 @@ public class XmlRpcFileManagerClient {
         argList.add(XmlRpcStructFactory.getXmlRpcProductType(type));
 
         ProductPage page = null;
-        Hashtable<String, Object> pageHash;
+        Map<String, Object> pageHash;
 
         try {
-            pageHash = (Hashtable<String, Object>) client.execute(
+            pageHash = (Map<String, Object>) client.execute(
                     "filemgr.getLastPage", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -528,10 +528,10 @@ public class XmlRpcFileManagerClient {
         argList.add(XmlRpcStructFactory.getXmlRpcProductPage(currPage));
 
         ProductPage page = null;
-        Hashtable<String, Object> pageHash;
+        Map<String, Object> pageHash;
 
         try {
-            pageHash = (Hashtable<String, Object>) client.execute(
+            pageHash = (Map<String, Object>) client.execute(
                     "filemgr.getNextPage", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -554,10 +554,10 @@ public class XmlRpcFileManagerClient {
         argList.add(XmlRpcStructFactory.getXmlRpcProductPage(currPage));
 
         ProductPage page = null;
-        Hashtable<String, Object> pageHash;
+        Map<String, Object> pageHash;
 
         try {
-            pageHash = (Hashtable<String, Object>) client.execute(
+            pageHash = (Map<String, Object>) client.execute(
                     "filemgr.getPrevPage", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -576,7 +576,7 @@ public class XmlRpcFileManagerClient {
             throws RepositoryManagerException {
         String productTypeId;
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> typeHash = XmlRpcStructFactory
+        Map<String, Object> typeHash = XmlRpcStructFactory
                 .getXmlRpcProductType(type);
         argList.add(typeHash);
 
@@ -635,10 +635,10 @@ public class XmlRpcFileManagerClient {
         Vector<Object> argList = new Vector<Object>();
         argList.add(n);
 
-        Vector<Hashtable<String, Object>> topNProducts;
+        Vector<Map<String, Object>> topNProducts;
 
         try {
-            topNProducts = (Vector<Hashtable<String, Object>>) client.execute(
+            topNProducts = (Vector<Map<String, Object>>) client.execute(
                     "filemgr.getTopNProducts", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -655,14 +655,14 @@ public class XmlRpcFileManagerClient {
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
         argList.add(n);
-        Hashtable<String, Object> productTypeHash = XmlRpcStructFactory
+        Map<String, Object> productTypeHash = XmlRpcStructFactory
                 .getXmlRpcProductType(type);
         argList.add(productTypeHash);
 
-        Vector<Hashtable<String, Object>> topNProducts;
+        Vector<Map<String, Object>> topNProducts;
 
         try {
-            topNProducts = (Vector<Hashtable<String, Object>>) client.execute(
+            topNProducts = (Vector<Map<String, Object>>) client.execute(
                     "filemgr.getTopNProducts", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -677,7 +677,7 @@ public class XmlRpcFileManagerClient {
     public void setProductTransferStatus(Product product)
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
 
@@ -693,7 +693,7 @@ public class XmlRpcFileManagerClient {
 
     public void addProductReferences(Product product) throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
 
@@ -711,7 +711,7 @@ public class XmlRpcFileManagerClient {
 
     Vector<Object> argList = new Vector<Object>();
     argList.add(XmlRpcStructFactory.getXmlRpcProduct(product));
-    argList.add(metadata.getHashtable());
+    argList.add(metadata.getMap());
 
     try {
       client.execute("filemgr.addMetadata", argList);
@@ -726,7 +726,7 @@ public class XmlRpcFileManagerClient {
       throws CatalogException {
     Vector<Object> argList = new Vector<Object>();
     argList.add(XmlRpcStructFactory.getXmlRpcProduct(product));
-    argList.add(met.getHashtable());
+    argList.add(met.getMap());
 
     boolean result;
 
@@ -763,14 +763,14 @@ public class XmlRpcFileManagerClient {
     @SuppressWarnings("unchecked")
     public Metadata getMetadata(Product product) throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
 
-        Hashtable<String, Object> metadata;
+        Map<String, Object> metadata;
 
         try {
-            metadata = (Hashtable<String, Object>) client.execute(
+            metadata = (Map<String, Object>) client.execute(
                     "filemgr.getMetadata", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -788,15 +788,15 @@ public class XmlRpcFileManagerClient {
     public Metadata getReducedMetadata(Product product, List<?> elements)
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
         argList.add(new Vector(elements));
 
-        Hashtable<String, Object> metadata;
+        Map<String, Object> metadata;
 
         try {
-            metadata = (Hashtable<String, Object>) client.execute(
+            metadata = (Map<String, Object>) client.execute(
                     "filemgr.getReducedMetadata", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -864,14 +864,14 @@ public class XmlRpcFileManagerClient {
     public List<Product> getProductsByProductType(ProductType type)
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productTypeHash = XmlRpcStructFactory
+        Map<String, Object> productTypeHash = XmlRpcStructFactory
                 .getXmlRpcProductType(type);
         argList.add(productTypeHash);
 
-        Vector<Hashtable<String, Object>> productVector;
+        Vector<Map<String, Object>> productVector;
 
         try {
-            productVector = (Vector<Hashtable<String, Object>>) client.execute(
+            productVector = (Vector<Map<String, Object>>) client.execute(
                     "filemgr.getProductsByProductType", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -890,15 +890,15 @@ public class XmlRpcFileManagerClient {
     public List<Element> getElementsByProductType(ProductType type)
             throws ValidationLayerException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> productTypeHash = XmlRpcStructFactory
+        Map<String, Object> productTypeHash = XmlRpcStructFactory
                 .getXmlRpcProductType(type);
 
         argList.add(productTypeHash);
 
-        Vector<Hashtable<String, Object>> elementVector;
+        Vector<Map<String, Object>> elementVector;
 
         try {
-            elementVector = (Vector<Hashtable<String, Object>>) client.execute(
+            elementVector = (Vector<Map<String, Object>>) client.execute(
                     "filemgr.getElementsByProductType", argList);
         } catch (XmlRpcException e) {
             throw new ValidationLayerException(e);
@@ -919,10 +919,10 @@ public class XmlRpcFileManagerClient {
         Vector<Object> argList = new Vector<Object>();
         argList.add(elementId);
 
-        Hashtable<String, Object> elementHash;
+        Map<String, Object> elementHash;
 
         try {
-            elementHash = (Hashtable<String, Object>) client.execute(
+            elementHash = (Map<String, Object>) client.execute(
                     "filemgr.getElementById", argList);
         } catch (XmlRpcException e) {
             throw new ValidationLayerException(e);
@@ -943,10 +943,10 @@ public class XmlRpcFileManagerClient {
         Vector<Object> argList = new Vector<Object>();
         argList.add(elementName);
 
-        Hashtable<String, Object> elementHash;
+        Map<String, Object> elementHash;
 
         try {
-            elementHash = (Hashtable<String, Object>) client.execute(
+            elementHash = (Map<String, Object>) client.execute(
                     "filemgr.getElementByName", argList);
         } catch (XmlRpcException e) {
             throw new ValidationLayerException(e);
@@ -968,10 +968,10 @@ public class XmlRpcFileManagerClient {
         argList.add(elementName);
         argList.add(XmlRpcStructFactory.getXmlRpcProductType(type));
 
-        Hashtable<String, Object> elementHash;
+        Map<String, Object> elementHash;
 
         try {
-            elementHash = (Hashtable<String, Object>) client.execute(
+            elementHash = (Map<String, Object>) client.execute(
                     "filemgr.getElementByName", argList);
         } catch (XmlRpcException e) {
             throw new ValidationLayerException(e);
@@ -989,12 +989,12 @@ public class XmlRpcFileManagerClient {
     public List<QueryResult> complexQuery(ComplexQuery complexQuery)
             throws CatalogException {
         try {
-            Hashtable<String, Object> complexQueryHash = XmlRpcStructFactory
+            Map<String, Object> complexQueryHash = XmlRpcStructFactory
                     .getXmlRpcComplexQuery(complexQuery);
             Vector<Object> argList = new Vector<Object>();
             argList.add(complexQueryHash);
             @SuppressWarnings("unchecked")
-            Vector<Hashtable<String, Object>> queryResultHashVector = (Vector<Hashtable<String, Object>>) client
+            Vector<Map<String, Object>> queryResultHashVector = (Vector<Map<String, Object>>) client
                     .execute("filemgr.complexQuery", argList);
             return XmlRpcStructFactory
                     .getQueryResultsFromXmlRpc(queryResultHashVector);
@@ -1008,17 +1008,17 @@ public class XmlRpcFileManagerClient {
     public List<Product> query(Query query, ProductType type)
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
-        Hashtable<String, Object> queryHash = XmlRpcStructFactory
+        Map<String, Object> queryHash = XmlRpcStructFactory
                 .getXmlRpcQuery(query);
-        Hashtable<String, Object> typeHash = XmlRpcStructFactory
+        Map<String, Object> typeHash = XmlRpcStructFactory
                 .getXmlRpcProductType(type);
         argList.add(queryHash);
         argList.add(typeHash);
 
-        Vector<Hashtable<String, Object>> productVector;
+        Vector<Map<String, Object>> productVector;
 
         try {
-            productVector = (Vector<Hashtable<String, Object>>) client.execute(
+            productVector = (Vector<Map<String, Object>>) client.execute(
                     "filemgr.query", argList);
         } catch (XmlRpcException e) {
             LOG.log(Level.SEVERE, e.getMessage());
@@ -1039,12 +1039,12 @@ public class XmlRpcFileManagerClient {
     @SuppressWarnings("unchecked")
     public ProductType getProductTypeByName(String productTypeName)
             throws RepositoryManagerException {
-        Hashtable<String, Object> productTypeHash;
+        Map<String, Object> productTypeHash;
         Vector<Object> argList = new Vector<Object>();
         argList.add(productTypeName);
 
         try {
-            productTypeHash = (Hashtable<String, Object>) client.execute(
+            productTypeHash = (Map<String, Object>) client.execute(
                     "filemgr.getProductTypeByName", argList);
         } catch (XmlRpcException e) {
             throw new RepositoryManagerException(e.getLocalizedMessage());
@@ -1063,12 +1063,12 @@ public class XmlRpcFileManagerClient {
     @SuppressWarnings("unchecked")
     public ProductType getProductTypeById(String productTypeId)
             throws RepositoryManagerException {
-        Hashtable<String, Object> productTypeHash;
+        Map<String, Object> productTypeHash;
         Vector<Object> argList = new Vector<Object>();
         argList.add(productTypeId);
 
         try {
-            productTypeHash = (Hashtable<String, Object>) client.execute(
+            productTypeHash = (Map<String, Object>) client.execute(
                     "filemgr.getProductTypeById", argList);
         } catch (XmlRpcException e) {
             throw new RepositoryManagerException(e);
@@ -1089,10 +1089,10 @@ public class XmlRpcFileManagerClient {
             throws RepositoryManagerException {
         Vector<Object> argList = new Vector<Object>();
 
-        Vector<Hashtable<String, Object>> productTypeVector;
+        Vector<Map<String, Object>> productTypeVector;
 
         try {
-            productTypeVector = (Vector<Hashtable<String, Object>>) client
+            productTypeVector = (Vector<Map<String, Object>>) client
                     .execute("filemgr.getProductTypes", argList);
         } catch (XmlRpcException e) {
             throw new RepositoryManagerException(e);
@@ -1113,13 +1113,13 @@ public class XmlRpcFileManagerClient {
             throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
 
-        Vector<Hashtable<String, Object>> productReferenceVector;
-        Hashtable<String, Object> productHash = XmlRpcStructFactory
+        Vector<Map<String, Object>> productReferenceVector;
+        Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
         argList.add(productHash);
 
         try {
-            productReferenceVector = (Vector<Hashtable<String, Object>>) client
+            productReferenceVector = (Vector<Map<String, Object>>) client
                     .execute("filemgr.getProductReferences", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -1139,11 +1139,11 @@ public class XmlRpcFileManagerClient {
     public Product getProductById(String productId) throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
 
-        Hashtable<String, Object> productHash;
+        Map<String, Object> productHash;
         argList.add(productId);
 
         try {
-            productHash = (Hashtable<String, Object>) client.execute(
+            productHash = (Map<String, Object>) client.execute(
                     "filemgr.getProductById", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -1162,11 +1162,11 @@ public class XmlRpcFileManagerClient {
     public Product getProductByName(String productName) throws CatalogException {
         Vector<Object> argList = new Vector<Object>();
 
-        Hashtable<String, Object> productHash;
+        Map<String, Object> productHash;
         argList.add(productName);
 
         try {
-            productHash = (Hashtable<String, Object>) client.execute(
+            productHash = (Map<String, Object>) client.execute(
                     "filemgr.getProductByName", argList);
         } catch (XmlRpcException e) {
             throw new CatalogException(e);
@@ -1186,10 +1186,10 @@ public class XmlRpcFileManagerClient {
         try {
             // ingest product
             Vector<Object> argList = new Vector<Object>();
-            Hashtable<String, Object> productHash = XmlRpcStructFactory
+            Map<String, Object> productHash = XmlRpcStructFactory
                     .getXmlRpcProduct(product);
             argList.add(productHash);
-            argList.add(metadata.getHashtable());
+            argList.add(metadata.getMap());
             argList.add(clientTransfer);
             String productId = (String) client.execute("filemgr.ingestProduct",
                     argList);
@@ -1288,7 +1288,7 @@ public class XmlRpcFileManagerClient {
           LOG.log(Level.SEVERE, "Failed to ingest product [ name:" +product.getProductName() + "] :" + e2.getMessage() + " -- rolling back ingest");
           try {
             Vector<Object> argList = new Vector<Object>();
-            Hashtable<String, Object> productHash = XmlRpcStructFactory
+            Map<String, Object> productHash = XmlRpcStructFactory
                 .getXmlRpcProduct(product);
             argList.add(productHash);
             client.execute("filemgr.removeProduct", argList);
@@ -1303,7 +1303,7 @@ public class XmlRpcFileManagerClient {
                                 "/ name:" +product.getProductName() + "] :" + e + " -- rolling back ingest");
             try {
                 Vector<Object> argList = new Vector<Object>();
-                Hashtable<String, Object> productHash = XmlRpcStructFactory
+                Map<String, Object> productHash = XmlRpcStructFactory
                         .getXmlRpcProduct(product);
                 argList.add(productHash);
                 client.execute("filemgr.removeProduct", argList);
@@ -1321,11 +1321,11 @@ public class XmlRpcFileManagerClient {
     public Metadata getCatalogValues(Metadata metadata, ProductType productType)
             throws XmlRpcException, IOException {
         Vector<Object> args = new Vector<Object>();
-        args.add(metadata.getHashtable());
+        args.add(metadata.getMap());
         args.add(XmlRpcStructFactory.getXmlRpcProductType(productType));
 
         Metadata m = new Metadata();
-        m.addMetadata((Hashtable<String, Object>) this.client.execute(
+        m.addMetadata((Map<String, Object>) this.client.execute(
                 "filemgr.getCatalogValues", args));
 
         return m;
@@ -1335,11 +1335,11 @@ public class XmlRpcFileManagerClient {
     public Metadata getOrigValues(Metadata metadata, ProductType productType)
             throws XmlRpcException, IOException {
         Vector<Object> args = new Vector<Object>();
-        args.add(metadata.getHashtable());
+        args.add(metadata.getMap());
         args.add(XmlRpcStructFactory.getXmlRpcProductType(productType));
 
         Metadata m = new Metadata();
-        m.addMetadata((Hashtable<String, Object>) this.client.execute(
+        m.addMetadata((Map<String, Object>) this.client.execute(
                 "filemgr.getOrigValues", args));
 
         return m;
@@ -1352,7 +1352,7 @@ public class XmlRpcFileManagerClient {
         args.add(XmlRpcStructFactory.getXmlRpcQuery(query));
         args.add(XmlRpcStructFactory.getXmlRpcProductType(productType));
         return XmlRpcStructFactory
-                .getQueryFromXmlRpc((Hashtable<String, Object>) this.client
+                .getQueryFromXmlRpc((Map<String, Object>) this.client
                         .execute("filemgr.getCatalogQuery", args));
     }