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/04 13:19:06 UTC
[3/6] oodt git commit: OODT-917 alter XMLRPC interface to support
more generic map types where suitable
http://git-wip-us.apache.org/repos/asf/oodt/blob/8705ccf4/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlRpcStructFactory.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlRpcStructFactory.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlRpcStructFactory.java
index d10ef2a..bf15529 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlRpcStructFactory.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlRpcStructFactory.java
@@ -50,784 +50,704 @@ import java.util.concurrent.ConcurrentHashMap;
* @author mattmann
* @author bfoster
* @version $Revision$
- *
- * <p>
- * A factory class for creating File Manager structures suitable for transfer
- * over the XML-RPC pipe, and for reading objects from the XML-RPC pipe into
- * File Manager structs.
- * </p>
- *
+ * <p/>
+ * <p> A factory class for creating File Manager structures suitable for transfer over the XML-RPC pipe, and
+ * for reading objects from the XML-RPC pipe into File Manager structs. </p>
*/
public final class XmlRpcStructFactory {
- private XmlRpcStructFactory() throws InstantiationException {
- throw new InstantiationException(
- "Don't instantiate XmlRpcStructFactories!");
- }
-
- public static Map<String, Object> getXmlRpcFileTransferStatus(
- FileTransferStatus status) {
- Map<String, Object> statusHash = new Hashtable<String, Object>();
- statusHash.put("bytesTransferred",Long.toString(status
- .getBytesTransferred()));
- statusHash.put("parentProduct", getXmlRpcProduct(status
- .getParentProduct()));
- statusHash.put("fileRef", getXmlRpcReference(status.getFileRef()));
- return statusHash;
- }
-
+ private XmlRpcStructFactory() throws InstantiationException {
+ throw new InstantiationException(
+ "Don't instantiate XmlRpcStructFactories!");
+ }
+
+ public static Map<String, Object> getXmlRpcFileTransferStatus(
+ FileTransferStatus status) {
+ Map<String, Object> statusHash = new Hashtable<String, Object>();
+ statusHash.put("bytesTransferred", Long.toString(status
+ .getBytesTransferred()));
+ statusHash.put("parentProduct", getXmlRpcProduct(status
+ .getParentProduct()));
+ statusHash.put("fileRef", getXmlRpcReference(status.getFileRef()));
+ return statusHash;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static FileTransferStatus getFileTransferStatusFromXmlRpc(
+ Map<String, Object> statusHash) {
+ FileTransferStatus status = new FileTransferStatus();
+ status.setBytesTransferred(Long.parseLong(statusHash
+ .get("bytesTransferred").toString()));
+ status.setParentProduct(getProductFromXmlRpc((Hashtable<String, Object>) statusHash.get("parentProduct")));
+ status.setFileRef(getReferenceFromXmlRpc((Hashtable<String, Object>) statusHash.get("fileRef")));
+ return status;
+ }
+
+ public static Vector<Map<String, Object>> getXmlRpcFileTransferStatuses(List<FileTransferStatus> statuses) {
+ Vector<Map<String, Object>> statusVector = new Vector<Map<String, Object>>();
+
+ if (statuses != null && statuses.size() > 0) {
+
+ for (FileTransferStatus status : statuses) {
+ statusVector.add(getXmlRpcFileTransferStatus(status));
+ }
+ }
+
+ return statusVector;
+ }
+
+ public static List<FileTransferStatus> getFileTransferStatusesFromXmlRpc(Vector<Map<String, Object>> statusVector) {
+ List<FileTransferStatus> statuses = new Vector<FileTransferStatus>();
+
+ if (statusVector != null && statusVector.size() > 0) {
+ for (Map<String, Object> statusHash : statusVector) {
+ FileTransferStatus status = getFileTransferStatusFromXmlRpc(statusHash);
+ statuses.add(status);
+ }
+ }
+
+ return statuses;
+ }
+
+ public static Map<String, Object> getXmlRpcProductPage(ProductPage page) {
+ Hashtable<String, Object> productPageHash = new Hashtable<String, Object>();
+ productPageHash.put("totalPages", page.getTotalPages());
+ productPageHash.put("pageNum", page.getPageNum());
+ productPageHash.put("pageSize", page.getPageSize());
+ productPageHash.put("pageProducts", getXmlRpcProductList(page
+ .getPageProducts()));
+ return productPageHash;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static ProductPage getProductPageFromXmlRpc(Map<String, Object> productPageHash) {
+ ProductPage page = new ProductPage();
+ page.setPageNum((Integer) productPageHash.get("pageNum"));
+ page
+ .setPageSize((Integer) productPageHash.get("pageSize"));
+ page.setTotalPages((Integer) productPageHash.get("totalPages"));
+ page.setPageProducts(getProductListFromXmlRpc((Vector<Map<String, Object>>) productPageHash
+ .get("pageProducts")));
+ return page;
+ }
+
+ public static Map<String, Object> getXmlRpcComplexQuery(ComplexQuery complexQuery) {
+ Map<String, Object> complexQueryHash = getXmlRpcQuery(complexQuery);
+ if (complexQuery.getReducedProductTypeNames() != null) {
+ complexQueryHash
+ .put("reducedProductTypeNames", new Vector<String>(complexQuery.getReducedProductTypeNames()));
+ } else {
+ complexQueryHash.put("reducedProductTypeNames", new Vector<String>());
+ }
+ if (complexQuery.getReducedMetadata() != null) {
+ complexQueryHash.put("reducedMetadata", new Vector<String>(complexQuery.getReducedMetadata()));
+ } else {
+ complexQueryHash.put("reducedMetadata", new Vector<String>());
+ }
+ if (complexQuery.getSortByMetKey() != null) {
+ complexQueryHash.put("sortByMetKey", complexQuery.getSortByMetKey());
+ }
+ if (complexQuery.getToStringResultFormat() != null) {
+ complexQueryHash.put("toStringResultFormat", complexQuery.getToStringResultFormat());
+ }
+ if (complexQuery.getQueryFilter() != null) {
+ complexQueryHash.put("queryFilter", getXmlRpcQueryFilter(complexQuery.getQueryFilter()));
+ }
+ return complexQueryHash;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static ComplexQuery getComplexQueryFromXmlRpc(Map<String, Object> complexQueryHash) {
+ ComplexQuery complexQuery = new ComplexQuery();
+ complexQuery.setCriteria(getQueryFromXmlRpc(complexQueryHash).getCriteria());
+ if (((Vector<String>) complexQueryHash.get("reducedProductTypeNames")).size() > 0) {
+ complexQuery.setReducedProductTypeNames((Vector<String>) complexQueryHash.get("reducedProductTypeNames"));
+ }
+ if (((Vector<String>) complexQueryHash.get("reducedMetadata")).size() > 0) {
+ complexQuery.setReducedMetadata((Vector<String>) complexQueryHash.get("reducedMetadata"));
+ }
+ complexQuery.setSortByMetKey((String) complexQueryHash.get("sortByMetKey"));
+ complexQuery.setToStringResultFormat((String) complexQueryHash.get("toStringResultFormat"));
+ if (complexQueryHash.get("queryFilter") != null) {
+ complexQuery.setQueryFilter(
+ getQueryFilterFromXmlRpc((Map<String, Object>) complexQueryHash.get("queryFilter")));
+ }
+ return complexQuery;
+ }
+
+ public static Map<String, Object> getXmlRpcQueryFilter(QueryFilter queryFilter) {
+ Map<String, Object> queryFilterHash = new ConcurrentHashMap<String, Object>();
+ queryFilterHash.put("startDateTimeMetKey", queryFilter.getStartDateTimeMetKey());
+ queryFilterHash.put("endDateTimeMetKey", queryFilter.getEndDateTimeMetKey());
+ queryFilterHash.put("priorityMetKey", queryFilter.getPriorityMetKey());
+ queryFilterHash.put("filterAlgor", getXmlRpcFilterAlgor(queryFilter.getFilterAlgor()));
+ queryFilterHash.put("versionConverterClass", queryFilter.getConverter().getClass().getCanonicalName());
+ return queryFilterHash;
+ }
+
+ public static QueryFilter getQueryFilterFromXmlRpc(Map<String, Object> queryFilterHash) {
+ String startDateTimeMetKey = (String) queryFilterHash.get("startDateTimeMetKey");
+ String endDateTimeMetKey = (String) queryFilterHash.get("endDateTimeMetKey");
+ String priorityMetKey = (String) queryFilterHash.get("priorityMetKey");
@SuppressWarnings("unchecked")
- public static FileTransferStatus getFileTransferStatusFromXmlRpc(
- Map<String, Object> statusHash) {
- FileTransferStatus status = new FileTransferStatus();
- status.setBytesTransferred(Long.parseLong(statusHash
- .get("bytesTransferred").toString()));
- status.setParentProduct(getProductFromXmlRpc((Hashtable<String, Object>) statusHash.get("parentProduct")));
- status.setFileRef(getReferenceFromXmlRpc((Hashtable<String, Object>) statusHash.get("fileRef")));
- return status;
- }
-
- public static Vector<Map<String, Object>> getXmlRpcFileTransferStatuses(List<FileTransferStatus> statuses) {
- Vector<Map<String, Object>> statusVector = new Vector<Map<String, Object>>();
-
- if (statuses != null && statuses.size() > 0) {
-
- for (FileTransferStatus status : statuses) {
- statusVector.add(getXmlRpcFileTransferStatus(status));
- }
- }
+ FilterAlgor filterAlgor = getFilterAlgorFromXmlRpc((Map<String, Object>) queryFilterHash.get("filterAlgor"));
+ QueryFilter queryFilter = new QueryFilter(startDateTimeMetKey, endDateTimeMetKey, priorityMetKey, filterAlgor);
+ queryFilter.setConverter(GenericFileManagerObjectFactory
+ .getVersionConverterFromClassName((String) queryFilterHash.get("versionConverterClass")));
+ return queryFilter;
+ }
+
+ public static Map<String, Object> getXmlRpcFilterAlgor(FilterAlgor filterAlgor) {
+ Map<String, Object> filterAlgorHash = new ConcurrentHashMap<String, Object>();
+ filterAlgorHash.put("class", filterAlgor.getClass().getCanonicalName());
+ filterAlgorHash.put("epsilon", Long.toString(filterAlgor.getEpsilon()));
+ return filterAlgorHash;
+ }
+
+ public static FilterAlgor getFilterAlgorFromXmlRpc(Map<String, Object> filterAlgorHash) {
+ FilterAlgor filterAlgor =
+ GenericFileManagerObjectFactory.getFilterAlgorFromClassName((String) filterAlgorHash.get("class"));
+ if (filterAlgor != null) {
+ filterAlgor.setEpsilon(Long.parseLong((String) filterAlgorHash.get("epsilon")));
+ }
+ return filterAlgor;
+ }
+
+ public static Vector<Map<String, Object>> getXmlRpcQueryResults(List<QueryResult> queryResults) {
+ Vector<Map<String, Object>> queryResultHashVector = new Vector<Map<String, Object>>();
+ for (QueryResult queryResult : queryResults) {
+ queryResultHashVector.add(getXmlRpcQueryResult(queryResult));
+ }
+ return queryResultHashVector;
+ }
- return statusVector;
+ public static List<QueryResult> getQueryResultsFromXmlRpc(Vector<Map<String, Object>> queryResultHashVector) {
+ List<QueryResult> queryResults = new Vector<QueryResult>();
+ for (Map<String, Object> queryResultHash : queryResultHashVector) {
+ queryResults.add(getQueryResultFromXmlRpc(queryResultHash));
}
+ return queryResults;
+ }
- public static List<FileTransferStatus> getFileTransferStatusesFromXmlRpc(Vector<Map<String, Object>> statusVector) {
- List<FileTransferStatus> statuses = new Vector<FileTransferStatus>();
-
- if (statusVector != null && statusVector.size() > 0) {
- for (Map<String, Object> statusHash : statusVector) {
- FileTransferStatus status = getFileTransferStatusFromXmlRpc(statusHash);
- statuses.add(status);
- }
- }
-
- return statuses;
+ public static Map<String, Object> getXmlRpcQueryResult(QueryResult queryResult) {
+ Hashtable<String, Object> queryResultHash = new Hashtable<String, Object>();
+ if (queryResult.getToStringFormat() != null) {
+ queryResultHash.put("toStringFormat", queryResult.getToStringFormat());
}
+ queryResultHash.put("product", getXmlRpcProduct(queryResult.getProduct()));
+ queryResultHash.put("metadata", queryResult.getMetadata().getHashTable());
+ return queryResultHash;
+ }
- public static Map<String, Object> getXmlRpcProductPage(ProductPage page) {
- Hashtable<String, Object>productPageHash = new Hashtable<String, Object>();
- productPageHash.put("totalPages", page.getTotalPages());
- productPageHash.put("pageNum", page.getPageNum());
- productPageHash.put("pageSize", page.getPageSize());
- productPageHash.put("pageProducts", getXmlRpcProductList(page
- .getPageProducts()));
- return productPageHash;
- }
- @SuppressWarnings("unchecked")
- public static ProductPage getProductPageFromXmlRpc(Map<String, Object> productPageHash) {
- ProductPage page = new ProductPage();
- page.setPageNum((Integer) productPageHash.get("pageNum"));
- page
- .setPageSize((Integer) productPageHash.get("pageSize"));
- page.setTotalPages((Integer) productPageHash.get("totalPages"));
- page.setPageProducts(getProductListFromXmlRpc((Vector<Map<String, Object>>) productPageHash
- .get("pageProducts")));
- return page;
- }
-
- public static Map<String, Object> getXmlRpcComplexQuery(ComplexQuery complexQuery) {
- Map<String, Object> complexQueryHash = getXmlRpcQuery(complexQuery);
- if (complexQuery.getReducedProductTypeNames() != null) {
- complexQueryHash
- .put("reducedProductTypeNames", new Vector<String>(complexQuery.getReducedProductTypeNames()));
- } else {
- complexQueryHash.put("reducedProductTypeNames", new Vector<String>());
- }
- if (complexQuery.getReducedMetadata() != null) {
- complexQueryHash.put("reducedMetadata", new Vector<String>(complexQuery.getReducedMetadata()));
- } else {
- complexQueryHash.put("reducedMetadata", new Vector<String>());
- }
- if (complexQuery.getSortByMetKey() != null) {
- complexQueryHash.put("sortByMetKey", complexQuery.getSortByMetKey());
- }
- if (complexQuery.getToStringResultFormat() != null) {
- complexQueryHash.put("toStringResultFormat", complexQuery.getToStringResultFormat());
- }
- if (complexQuery.getQueryFilter() != null) {
- complexQueryHash.put("queryFilter", getXmlRpcQueryFilter(complexQuery.getQueryFilter()));
- }
- return complexQueryHash;
- }
+ @SuppressWarnings("unchecked")
+ public static QueryResult getQueryResultFromXmlRpc(Map<String, Object> queryResultHash) {
+ Product product = getProductFromXmlRpc((Map<String, Object>) queryResultHash.get("product"));
+ Metadata metadata = new Metadata();
+ metadata.addMetadata((Map<String, Object>) queryResultHash.get("metadata"));
+ QueryResult queryResult = new QueryResult(product, metadata);
+ queryResult.setToStringFormat((String) queryResultHash.get("toStringFormat"));
+ return queryResult;
+ }
- @SuppressWarnings("unchecked")
- public static ComplexQuery getComplexQueryFromXmlRpc(Map<String, Object> complexQueryHash) {
- ComplexQuery complexQuery = new ComplexQuery();
- complexQuery.setCriteria(getQueryFromXmlRpc(complexQueryHash).getCriteria());
- if (((Vector<String>) complexQueryHash.get("reducedProductTypeNames")).size() > 0) {
- complexQuery.setReducedProductTypeNames((Vector<String>) complexQueryHash.get("reducedProductTypeNames"));
- }
- if (((Vector<String>) complexQueryHash.get("reducedMetadata")).size() > 0) {
- complexQuery.setReducedMetadata((Vector<String>) complexQueryHash.get("reducedMetadata"));
- }
- complexQuery.setSortByMetKey((String) complexQueryHash.get("sortByMetKey"));
- complexQuery.setToStringResultFormat((String) complexQueryHash.get("toStringResultFormat"));
- if (complexQueryHash.get("queryFilter") != null) {
- complexQuery.setQueryFilter(
- getQueryFilterFromXmlRpc((Map<String, Object>) complexQueryHash.get("queryFilter")));
- }
- return complexQuery;
+ public static Map<String, Object> getXmlRpcProduct(Product product) {
+ Map<String, Object> productHash = new Hashtable<String, Object>();
+ if (product.getProductId() != null) {
+ productHash.put("id", product.getProductId());
}
-
- public static ComplexQuery getComplexQueryFromXmlRpcMap(Map<String, Object> complexQueryHash) {
- ComplexQuery complexQuery = new ComplexQuery();
- complexQuery.setCriteria(getQueryFromXmlRpcMap(complexQueryHash).getCriteria());
- if (((Vector<String>) complexQueryHash.get("reducedProductTypeNames")).size() > 0) {
- complexQuery.setReducedProductTypeNames((Vector<String>) complexQueryHash.get("reducedProductTypeNames"));
- }
- if (((Vector<String>) complexQueryHash.get("reducedMetadata")).size() > 0) {
- complexQuery.setReducedMetadata((Vector<String>) complexQueryHash.get("reducedMetadata"));
- }
- complexQuery.setSortByMetKey((String) complexQueryHash.get("sortByMetKey"));
- complexQuery.setToStringResultFormat((String) complexQueryHash.get("toStringResultFormat"));
- if (complexQueryHash.get("queryFilter") != null) {
- complexQuery.setQueryFilter(
- getQueryFilterFromXmlRpc((Map<String, Object>) complexQueryHash.get("queryFilter")));
- }
- return complexQuery;
- }
- public static Map<String, Object> getXmlRpcQueryFilter(QueryFilter queryFilter) {
- Map<String, Object> queryFilterHash = new ConcurrentHashMap<String, Object>();
- queryFilterHash.put("startDateTimeMetKey", queryFilter.getStartDateTimeMetKey());
- queryFilterHash.put("endDateTimeMetKey", queryFilter.getEndDateTimeMetKey());
- queryFilterHash.put("priorityMetKey", queryFilter.getPriorityMetKey());
- queryFilterHash.put("filterAlgor", getXmlRpcFilterAlgor(queryFilter.getFilterAlgor()));
- queryFilterHash.put("versionConverterClass", queryFilter.getConverter().getClass().getCanonicalName());
- return queryFilterHash;
- }
-
- public static QueryFilter getQueryFilterFromXmlRpc(Map<String, Object> queryFilterHash) {
- String startDateTimeMetKey = (String) queryFilterHash.get("startDateTimeMetKey");
- String endDateTimeMetKey = (String) queryFilterHash.get("endDateTimeMetKey");
- String priorityMetKey = (String) queryFilterHash.get("priorityMetKey");
- @SuppressWarnings("unchecked")
- FilterAlgor filterAlgor = getFilterAlgorFromXmlRpc((Map<String, Object>) queryFilterHash.get("filterAlgor"));
- QueryFilter queryFilter = new QueryFilter(startDateTimeMetKey, endDateTimeMetKey, priorityMetKey, filterAlgor);
- queryFilter.setConverter(GenericFileManagerObjectFactory.getVersionConverterFromClassName((String) queryFilterHash.get("versionConverterClass")));
- return queryFilter;
- }
-
- public static Map<String, Object> getXmlRpcFilterAlgor(FilterAlgor filterAlgor) {
- Map<String, Object> filterAlgorHash = new ConcurrentHashMap<String, Object>();
- filterAlgorHash.put("class", filterAlgor.getClass().getCanonicalName());
- filterAlgorHash.put("epsilon", Long.toString(filterAlgor.getEpsilon()));
- return filterAlgorHash;
- }
-
- public static FilterAlgor getFilterAlgorFromXmlRpc(Map<String, Object> filterAlgorHash) {
- FilterAlgor filterAlgor = GenericFileManagerObjectFactory.getFilterAlgorFromClassName((String) filterAlgorHash.get("class"));
- if (filterAlgor != null) {
- filterAlgor.setEpsilon(Long.parseLong((String) filterAlgorHash.get("epsilon")));
- }
- return filterAlgor;
+ if (product.getProductName() != null) {
+ productHash.put("name", product.getProductName());
}
-
- public static Vector<Map<String, Object>> getXmlRpcQueryResults(List<QueryResult> queryResults) {
- Vector<Map<String, Object>> queryResultHashVector = new Vector<Map<String, Object>>();
- for (QueryResult queryResult : queryResults) {
- queryResultHashVector.add(getXmlRpcQueryResult(queryResult));
- }
- return queryResultHashVector;
+ if (product.getProductType() != null) {
+ productHash.put("type", getXmlRpcProductType(product.getProductType()));
}
-
- public static Vector<Map<String, Object>> getXmlRpcQueryResultsMap(List<QueryResult> queryResults) {
- Vector<Map<String, Object>> queryResultHashVector = new Vector<Map<String, Object>>();
- for (QueryResult queryResult : queryResults) {
- queryResultHashVector.add(getXmlRpcQueryResult(queryResult));
- }
- return queryResultHashVector;
+ if (product.getProductStructure() != null) {
+ productHash.put("structure", product.getProductStructure());
}
-
- public static List<QueryResult> getQueryResultsFromXmlRpc(Vector<Map<String, Object>> queryResultHashVector) {
- List<QueryResult> queryResults = new Vector<QueryResult>();
- for (Map<String, Object> queryResultHash : queryResultHashVector) {
- queryResults.add(getQueryResultFromXmlRpc(queryResultHash));
- }
- return queryResults;
+ if (product.getTransferStatus() != null) {
+ productHash.put("transferStatus", product.getTransferStatus());
}
-
- public static List<QueryResult> getQueryResultsFromXmlRpcMap(Vector<Map<String, Object>>
- queryResultHashVector) {
- List<QueryResult> queryResults = new Vector<QueryResult>();
- for (Map<String, Object> queryResultHash : queryResultHashVector) {
- queryResults.add(getQueryResultFromXmlRpc(queryResultHash));
- }
- return queryResults;
+ if (product.getProductReferences() != null) {
+ productHash.put("references", getXmlRpcReferences(product
+ .getProductReferences()));
}
- public static Map<String, Object> getXmlRpcQueryResult(QueryResult queryResult) {
- Hashtable<String, Object> queryResultHash = new Hashtable<String, Object>();
- if (queryResult.getToStringFormat() != null) {
- queryResultHash.put("toStringFormat", queryResult.getToStringFormat());
- }
- queryResultHash.put("product", getXmlRpcProduct(queryResult.getProduct()));
- queryResultHash.put("metadata", queryResult.getMetadata().getHashTable());
- return queryResultHash;
+ if (product.getRootRef() != null) {
+ productHash.put("rootReference", getXmlRpcReference(product
+ .getRootRef()));
}
+ return productHash;
+ }
-
- @SuppressWarnings("unchecked")
- public static QueryResult getQueryResultFromXmlRpc(Map<String, Object> queryResultHash) {
- Product product = getProductFromXmlRpc((Map<String, Object>) queryResultHash.get("product"));
- Metadata metadata = new Metadata();
- metadata.addMetadata((Map<String, Object>) queryResultHash.get("metadata"));
- QueryResult queryResult = new QueryResult(product, metadata);
- queryResult.setToStringFormat((String) queryResultHash.get("toStringFormat"));
- return queryResult;
- }
-
- public static Map<String, Object> getXmlRpcProduct(Product product) {
- Map<String, Object> productHash = new Hashtable<String, Object>();
- if (product.getProductId() != null) {
- productHash.put("id", product.getProductId());
- }
- if (product.getProductName() != null) {
- productHash.put("name", product.getProductName());
- }
- if (product.getProductType() != null) {
- productHash.put("type", getXmlRpcProductType(product.getProductType()));
- }
- if (product.getProductStructure() != null) {
- productHash.put("structure", product.getProductStructure());
- }
- if (product.getTransferStatus() != null) {
- productHash.put("transferStatus", product.getTransferStatus());
- }
- if (product.getProductReferences() != null) {
- productHash.put("references", getXmlRpcReferences(product
- .getProductReferences()));
- }
- if (product.getRootRef() != null) {
- productHash.put("rootReference", getXmlRpcReference(product
- .getRootRef()));
- }
- return productHash;
+ @SuppressWarnings("unchecked")
+ public static Product getProductFromXmlRpc(Map<?, ?> productHash) {
+ Product product = new Product();
+ product.setProductId((String) productHash.get("id"));
+ product.setProductName((String) productHash.get("name"));
+ if (productHash.get("type") != null) {
+ product.setProductType(getProductTypeFromXmlRpc(
+ (Map<String, Object>) productHash.get("type")));
}
-
- @SuppressWarnings("unchecked")
- public static Product getProductFromXmlRpc(Map<?, ?> productHash) {
- Product product = new Product();
- product.setProductId((String) productHash.get("id"));
- product.setProductName((String) productHash.get("name"));
- if (productHash.get("type") != null) {
- product.setProductType(getProductTypeFromXmlRpc(
- (Map<String, Object>) productHash.get("type")));
- }
- product.setProductStructure((String) productHash.get("structure"));
- product.setTransferStatus((String) productHash.get("transferStatus"));
- if (productHash.get("references") != null) {
- product.setProductReferences(getReferencesFromXmlRpc(
- (Vector<Map<String, Object>>) productHash
- .get("references")));
- }
- if (productHash.get("rootReference") != null) {
- product.setRootRef(getReferenceFromXmlRpc(
- (Map<String, Object>) productHash.get("rootReference")));
- }
- return product;
+ product.setProductStructure((String) productHash.get("structure"));
+ product.setTransferStatus((String) productHash.get("transferStatus"));
+ if (productHash.get("references") != null) {
+ product.setProductReferences(getReferencesFromXmlRpc(
+ (Vector<Map<String, Object>>) productHash
+ .get("references")));
}
-
- public static List<Product> getProductListFromXmlRpc(Vector<Map<String, Object>> productVector) {
- List<Product> productList = new Vector<Product>();
-
- for (Map<String, Object> productHash : productVector) {
- Product product = getProductFromXmlRpc(productHash);
- productList.add(product);
- }
-
- return productList;
+ if (productHash.get("rootReference") != null) {
+ product.setRootRef(getReferenceFromXmlRpc(
+ (Map<String, Object>) productHash.get("rootReference")));
}
+ return product;
+ }
- public static Vector<Map<String, Object>> getXmlRpcProductListMap(List<Product> products) {
- Vector<Map<String, Object>> productVector = new Vector<Map<String, Object>>();
+ public static List<Product> getProductListFromXmlRpc(Vector<Map<String, Object>> productVector) {
+ List<Product> productList = new Vector<Product>();
- if (products == null) {
- return productVector;
- }
-
- for (Product product : products) {
- Map<String, Object> productHash = getXmlRpcProduct(product);
- productVector.add(productHash);
- }
-
- return productVector;
+ for (Map<String, Object> productHash : productVector) {
+ Product product = getProductFromXmlRpc(productHash);
+ productList.add(product);
}
- public static Vector<Map<String, Object>> getXmlRpcProductList(List<Product> products) {
- Vector<Map<String, Object>> productVector = new Vector<Map<String, Object>>();
+ return productList;
+ }
- if (products == null) {
- return productVector;
- }
- for (Product product : products) {
- Map<String, Object> productHash = getXmlRpcProduct(product);
- productVector.add(productHash);
- }
+ public static Vector<Map<String, Object>> getXmlRpcProductList(List<Product> products) {
+ Vector<Map<String, Object>> productVector = new Vector<Map<String, Object>>();
- return productVector;
+ if (products == null) {
+ return productVector;
}
- public static Vector<Map<String, Object>> getXmlRpcProductTypeList(List<ProductType> productTypes) {
- Vector<Map<String, Object>> productTypeVector = new Vector<Map<String, Object>>();
-
- if (productTypes == null) {
- return productTypeVector;
- }
-
- for (ProductType type : productTypes) {
- Map<String, Object> typeHash = getXmlRpcProductType(type);
- productTypeVector.add(typeHash);
- }
- return productTypeVector;
+ for (Product product : products) {
+ Map<String, Object> productHash = getXmlRpcProduct(product);
+ productVector.add(productHash);
}
- public static List<ProductType> getProductTypeListFromXmlRpc(Vector<Map<String, Object>> productTypeVector) {
- List<ProductType> productTypeList = new Vector<ProductType>();
- for (Map<String, Object> productTypeHash : productTypeVector) {
- ProductType type = getProductTypeFromXmlRpc(productTypeHash);
- productTypeList.add(type);
- }
+ return productVector;
+ }
- return productTypeList;
- }
+ public static Vector<Map<String, Object>> getXmlRpcProductTypeList(List<ProductType> productTypes) {
+ Vector<Map<String, Object>> productTypeVector = new Vector<Map<String, Object>>();
- public static Map<String, Object> getXmlRpcProductType(ProductType type) {
- Map<String, Object> productTypeHash = new Hashtable<String, Object>();
- // TODO(bfoster): ProductType ID is currently required by XmlRpcFileManager.
- productTypeHash.put("id", type.getProductTypeId());
- if (type.getName() != null) {
- productTypeHash.put("name", type.getName());
- }
- if (type.getDescription() != null) {
- productTypeHash.put("description", type.getDescription());
- }
- if (type.getProductRepositoryPath() != null) {
- productTypeHash.put("repositoryPath",type.getProductRepositoryPath());
- }
- if (type.getVersioner() != null) {
- productTypeHash.put("versionerClass", type.getVersioner());
- }
- if (type.getTypeMetadata() != null) {
- productTypeHash.put("typeMetadata", type.getTypeMetadata().getHashTable());
- }
- if (type.getExtractors() != null) {
- productTypeHash.put("typeExtractors", getXmlRpcTypeExtractors(type.getExtractors()));
- }
- if (type.getHandlers() != null) {
- productTypeHash.put("typeHandlers", getXmlRpcTypeHandlers(type.getHandlers()));
- }
- return productTypeHash;
+ if (productTypes == null) {
+ return productTypeVector;
}
- @SuppressWarnings("unchecked")
- public static ProductType getProductTypeFromXmlRpc(Map<String, Object> productTypeHash) {
- ProductType type = new ProductType();
- type.setDescription((String) productTypeHash.get("description"));
- type.setName((String) productTypeHash.get("name"));
- type.setProductRepositoryPath((String) productTypeHash.get("repositoryPath"));
- type.setProductTypeId((String) productTypeHash.get("id"));
- type.setVersioner((String) productTypeHash.get("versionerClass"));
- if (productTypeHash.get("typeMetadata") != null) {
- Metadata typeMet = new Metadata();
- typeMet.addMetadata((Map<String, Object>) productTypeHash.get("typeMetadata"));
- type.setTypeMetadata(typeMet);
- }
- if (productTypeHash.get("typeExtractors") != null) {
- type.setExtractors(getTypeExtractorsFromXmlRpc(
- (Vector<Map<String, Object>>) productTypeHash
- .get("typeExtractors")));
- }
- if (productTypeHash.get("typeHandlers") != null) {
- type.setHandlers(getTypeHandlersFromXmlRpc(
- (Vector<Map<String, Object>>) productTypeHash
- .get("typeHandlers")));
- }
- return type;
- }
-
- public static Vector<Map<String, Object>> getXmlRpcTypeExtractors(List<ExtractorSpec> extractors) {
- Vector<Map<String, Object>> extractorsVector = new Vector<Map<String, Object>>();
-
- if (extractors != null && extractors.size() > 0) {
- for (ExtractorSpec spec : extractors) {
- extractorsVector.add(getXmlRpcExtractorSpec(spec));
- }
- }
-
- return extractorsVector;
- }
- public static Vector<Map<String, Object>> getXmlRpcTypeExtractorsMap(List<ExtractorSpec> extractors) {
- Vector<Map<String, Object>> extractorsVector = new Vector<Map<String, Object>>();
-
- if (extractors != null && extractors.size() > 0) {
- for (ExtractorSpec spec : extractors) {
- extractorsVector.add(getXmlRpcExtractorSpec(spec));
- }
- }
-
- return extractorsVector;
+ for (ProductType type : productTypes) {
+ Map<String, Object> typeHash = getXmlRpcProductType(type);
+ productTypeVector.add(typeHash);
}
+ return productTypeVector;
+ }
- public static Map<String, Object> getXmlRpcExtractorSpec(ExtractorSpec spec) {
- Map<String, Object> extractorHash = new Hashtable<String, Object>();
- extractorHash.put("className", spec.getClassName());
- extractorHash.put("config",
- getXmlRpcProperties(spec.getConfiguration()));
- return extractorHash;
+ public static List<ProductType> getProductTypeListFromXmlRpc(Vector<Map<String, Object>> productTypeVector) {
+ List<ProductType> productTypeList = new Vector<ProductType>();
+ for (Map<String, Object> productTypeHash : productTypeVector) {
+ ProductType type = getProductTypeFromXmlRpc(productTypeHash);
+ productTypeList.add(type);
}
- public static Vector<Map<String, Object>> getXmlRpcTypeHandlers(List<TypeHandler> typeHandlers) {
- Vector<Map<String, Object>> handlersVector = new Vector<Map<String, Object>>();
+ return productTypeList;
+ }
- if (typeHandlers != null && typeHandlers.size() > 0) {
- for (TypeHandler typeHandler : typeHandlers) {
- handlersVector.add(getXmlRpcTypeHandler(typeHandler));
- }
- }
-
- return handlersVector;
+ public static Map<String, Object> getXmlRpcProductType(ProductType type) {
+ Map<String, Object> productTypeHash = new Hashtable<String, Object>();
+ // TODO(bfoster): ProductType ID is currently required by XmlRpcFileManager.
+ productTypeHash.put("id", type.getProductTypeId());
+ if (type.getName() != null) {
+ productTypeHash.put("name", type.getName());
}
-
- public static Map<String, Object> getXmlRpcTypeHandler(TypeHandler typeHandler) {
- Map<String, Object> handlerHash = new Hashtable<String, Object>();
- handlerHash.put("className", typeHandler != null ?
- typeHandler.getClass().getCanonicalName():"");
- handlerHash.put("elementName", typeHandler != null ?
- typeHandler.getElementName():"");
- return handlerHash;
+ if (type.getDescription() != null) {
+ productTypeHash.put("description", type.getDescription());
}
-
- public static List<ExtractorSpec> getTypeExtractorsFromXmlRpc(Vector<Map<String, Object>> extractorsVector) {
- List<ExtractorSpec> extractors = new Vector<ExtractorSpec>();
-
- if (extractorsVector != null && extractorsVector.size() > 0) {
- for (Map<String, Object> extractorSpecHash : extractorsVector) {
- extractors.add(getExtractorSpecFromXmlRpc(extractorSpecHash));
- }
- }
-
- return extractors;
+ if (type.getProductRepositoryPath() != null) {
+ productTypeHash.put("repositoryPath", type.getProductRepositoryPath());
}
-
- @SuppressWarnings("unchecked")
- public static ExtractorSpec getExtractorSpecFromXmlRpc(
- Map<String, Object> extractorSpecHash) {
- ExtractorSpec spec = new ExtractorSpec();
- spec.setClassName((String) extractorSpecHash.get("className"));
- spec
- .setConfiguration(getPropertiesFromXmlRpc((Map<String, String>) extractorSpecHash
- .get("config")));
- return spec;
- }
-
- public static List<TypeHandler> getTypeHandlersFromXmlRpc(Vector<Map<String, Object>> handlersVector) {
- List<TypeHandler> handlers = new Vector<TypeHandler>();
-
- if (handlersVector != null && handlersVector.size() > 0) {
- for (Map<String, Object> typeHandlerHash : handlersVector) {
- handlers.add(getTypeHandlerFromXmlRpc(typeHandlerHash));
- }
- }
-
- return handlers;
- }
-
- public static TypeHandler getTypeHandlerFromXmlRpc(
- Map<String, Object> typeHandlerHash) {
- TypeHandler typeHandler = GenericFileManagerObjectFactory
- .getTypeHandlerFromClassName((String) typeHandlerHash.get("className"));
- if(typeHandler != null) {
- typeHandler.setElementName((String) typeHandlerHash.get("elementName"));
- }
- return typeHandler;
+ if (type.getVersioner() != null) {
+ productTypeHash.put("versionerClass", type.getVersioner());
}
-
- public static Properties getPropertiesFromXmlRpc(Map<String, String> propHash) {
- Properties props = new Properties();
-
- if (propHash != null && propHash.keySet().size() > 0) {
- for (Map.Entry<String, String> propName : propHash.entrySet()) {
- String propValue = propName.getValue();
- props.setProperty(propName.getKey(), propValue);
- }
- }
-
- return props;
+ if (type.getTypeMetadata() != null) {
+ productTypeHash.put("typeMetadata", type.getTypeMetadata().getHashTable());
}
-
- public static Map<String, String> getXmlRpcProperties(Properties props) {
- Map<String, String> propHash = new Hashtable<String, String>();
-
- if (props != null && props.keySet().size() > 0) {
- for (Object o : props.keySet()) {
- String propName = (String) o;
- String propValue = props.getProperty(propName);
- propHash.put(propName, propValue);
- }
- }
-
- return propHash;
+ if (type.getExtractors() != null) {
+ productTypeHash.put("typeExtractors", getXmlRpcTypeExtractors(type.getExtractors()));
}
-
- public static Vector<Map<String, Object>> getXmlRpcReferencesMap(List<Reference> references) {
- Vector<Map<String, Object>> refVector = new Vector<Map<String, Object>>();
-
- if (references == null) {
- return refVector;
- }
-
- for (Reference reference : references) {
- Map<String, Object> refHash = getXmlRpcReference(reference);
- refVector.add(refHash);
- }
-
- return refVector;
+ if (type.getHandlers() != null) {
+ productTypeHash.put("typeHandlers", getXmlRpcTypeHandlers(type.getHandlers()));
}
+ return productTypeHash;
+ }
- public static Vector<Map<String, Object>> getXmlRpcReferences(List<Reference> references) {
- Vector<Map<String, Object>> refVector = new Vector<Map<String, Object>>();
-
- if (references == null) {
- return refVector;
- }
-
- for (Reference reference : references) {
- Map<String, Object> refHash = getXmlRpcReference(reference);
- refVector.add(refHash);
- }
-
- return refVector;
- }
- public static List<Reference> getReferencesFromXmlRpc(Vector<Map<String, Object>> referenceVector) {
- List<Reference> references = new Vector<Reference>();
- for (Map<String, Object> aReferenceVector : referenceVector) {
- Reference r = getReferenceFromXmlRpc(aReferenceVector);
- references.add(r);
- }
- return references;
- }
-
- public static Map<String, Object> getXmlRpcReference(Reference reference) {
- Map<String, Object> referenceHash = new Hashtable<String, Object>();
- referenceHash.put("origReference", reference.getOrigReference());
- referenceHash.put("dataStoreReference", reference
- .getDataStoreReference() != null ? reference
- .getDataStoreReference() : "");
- referenceHash.put("fileSize",
- Long.toString(reference.getFileSize()));
- referenceHash.put("mimeType", (reference.getMimeType() == null) ? ""
- : reference.getMimeType().getName());
- return referenceHash;
- }
-
- public static Reference getReferenceFromXmlRpc(Map<String, Object> referenceHash) {
- Reference reference = new Reference();
- reference.setDataStoreReference((String) referenceHash
- .get("dataStoreReference"));
- reference.setOrigReference((String) referenceHash.get("origReference"));
- reference.setFileSize(Long.parseLong(referenceHash.get("fileSize").toString()));
- reference.setMimeType((String) referenceHash.get("mimeType"));
- return reference;
- }
-
- public static Reference getReferenceFromXmlRpcHashtable(Map<String, Object> referenceHash) {
- Reference reference = new Reference();
- reference.setDataStoreReference((String) referenceHash
- .get("dataStoreReference"));
- reference.setOrigReference((String) referenceHash.get("origReference"));
- reference.setFileSize(Long.parseLong(referenceHash.get("fileSize").toString()));
- reference.setMimeType((String) referenceHash.get("mimeType"));
- return reference;
- }
-
- public static Vector<Map<String, Object>> getXmlRpcElementListHashtable(List<Element> elementList) {
- Vector<Map<String, Object>> elementVector = new Vector<Map<String, Object>>(elementList.size());
- for (Element element : elementList) {
- Map<String, Object> elementHash = getXmlRpcElementHashTable(element);
- elementVector.add(elementHash);
- }
- return elementVector;
+ @SuppressWarnings("unchecked")
+ public static ProductType getProductTypeFromXmlRpc(Map<String, Object> productTypeHash) {
+ ProductType type = new ProductType();
+ type.setDescription((String) productTypeHash.get("description"));
+ type.setName((String) productTypeHash.get("name"));
+ type.setProductRepositoryPath((String) productTypeHash.get("repositoryPath"));
+ type.setProductTypeId((String) productTypeHash.get("id"));
+ type.setVersioner((String) productTypeHash.get("versionerClass"));
+ if (productTypeHash.get("typeMetadata") != null) {
+ Metadata typeMet = new Metadata();
+ typeMet.addMetadata((Map<String, Object>) productTypeHash.get("typeMetadata"));
+ type.setTypeMetadata(typeMet);
}
-
- public static Vector<Map<String, Object>> getXmlRpcElementList(List<Element> elementList) {
- Vector<Map<String, Object>> elementVector = new Vector<Map<String, Object>>(elementList.size());
- for (Element element : elementList) {
- Map<String, Object> elementHash = getXmlRpcElement(element);
- elementVector.add(elementHash);
- }
- return elementVector;
+ if (productTypeHash.get("typeExtractors") != null) {
+ type.setExtractors(getTypeExtractorsFromXmlRpc(
+ (Vector<Map<String, Object>>) productTypeHash
+ .get("typeExtractors")));
}
-
- public static List<Element> getElementListFromXmlRpc(Vector<Map<String, Object>> elementVector) {
- List<Element> elementList = new Vector<Element>(elementVector.size());
- for (Map<String, Object> elementHash : elementVector) {
- Element element = getElementFromXmlRpc(elementHash);
- elementList.add(element);
- }
- return elementList;
+ if (productTypeHash.get("typeHandlers") != null) {
+ type.setHandlers(getTypeHandlersFromXmlRpc(
+ (Vector<Map<String, Object>>) productTypeHash
+ .get("typeHandlers")));
}
+ return type;
+ }
- public static Map<String, Object> getXmlRpcElement(Element element) {
- Map<String, Object> elementHash = new HashMap<String, Object>();
+ public static Vector<Map<String, Object>> getXmlRpcTypeExtractors(List<ExtractorSpec> extractors) {
+ Vector<Map<String, Object>> extractorsVector = new Vector<Map<String, Object>>();
- elementHash.put("id", element.getElementId());
- elementHash.put("name", element.getElementName());
- elementHash.put("dcElement", element.getDCElement() != null ? element
- .getDCElement() : "");
- elementHash.put("description",
- element.getDescription() != null ? element.getDescription()
- : "");
-
- return elementHash;
+ if (extractors != null && extractors.size() > 0) {
+ for (ExtractorSpec spec : extractors) {
+ extractorsVector.add(getXmlRpcExtractorSpec(spec));
+ }
}
- public static Map<String, Object> getXmlRpcElementHashTable(Element element) {
- Map<String, Object> elementHash = new Hashtable<String, Object>();
- elementHash.put("id", element.getElementId());
- elementHash.put("name", element.getElementName());
- elementHash.put("dcElement", element.getDCElement() != null ? element
- .getDCElement() : "");
- elementHash.put("description",
- element.getDescription() != null ? element.getDescription()
- : "");
+ return extractorsVector;
+ }
- return elementHash;
- }
- public static Element getElementFromXmlRpc(Map<String, Object> elementHash) {
- Element element = new Element();
- element.setElementId((String) elementHash.get("id"));
- element.setElementName((String) elementHash.get("name"));
- element.setDescription((String) elementHash.get("description"));
- element.setDCElement((String) elementHash.get("dcElement"));
+ public static Map<String, Object> getXmlRpcExtractorSpec(ExtractorSpec spec) {
+ Map<String, Object> extractorHash = new Hashtable<String, Object>();
+ extractorHash.put("className", spec.getClassName());
+ extractorHash.put("config",
+ getXmlRpcProperties(spec.getConfiguration()));
+ return extractorHash;
+ }
- return element;
- }
+ public static Vector<Map<String, Object>> getXmlRpcTypeHandlers(List<TypeHandler> typeHandlers) {
+ Vector<Map<String, Object>> handlersVector = new Vector<Map<String, Object>>();
- public static Map<String, Object> getXmlRpcQuery(Query query) {
- Map<String, Object> queryHash = new Hashtable<String, Object>();
- Vector<Map<String, Object>> criteriaVector = getXmlRpcQueryCriteriaList(query.getCriteria());
- queryHash.put("criteria", criteriaVector);
- return queryHash;
+ if (typeHandlers != null && typeHandlers.size() > 0) {
+ for (TypeHandler typeHandler : typeHandlers) {
+ handlersVector.add(getXmlRpcTypeHandler(typeHandler));
+ }
}
- public static Query getQueryFromXmlRpc(Map<String, Object> queryHash) {
- Query query = new Query();
- @SuppressWarnings("unchecked")
- List<QueryCriteria> criteria = getQueryCriteriaListFromXmlRpc((Vector<Map<String, Object>>) queryHash
- .get("criteria"));
- query.setCriteria(criteria);
- return query;
- }
+ return handlersVector;
+ }
- public static Query getQueryFromXmlRpcMap(Map<String, Object> queryHash) {
- Query query = new Query();
- @SuppressWarnings("unchecked")
- List<QueryCriteria> criteria = getQueryCriteriaListFromXmlRpc((Vector<Map<String, Object>>) queryHash
- .get("criteria"));
- query.setCriteria(criteria);
- return query;
- }
+ public static Map<String, Object> getXmlRpcTypeHandler(TypeHandler typeHandler) {
+ Map<String, Object> handlerHash = new Hashtable<String, Object>();
+ handlerHash.put("className", typeHandler != null ?
+ typeHandler.getClass().getCanonicalName() : "");
+ handlerHash.put("elementName", typeHandler != null ?
+ typeHandler.getElementName() : "");
+ return handlerHash;
+ }
- public static Vector<Map<String, Object>> getXmlRpcQueryCriteriaList(List<QueryCriteria> criteriaList) {
- Vector<Map<String, Object>> criteriaVector = new Vector<Map<String, Object>>(criteriaList.size());
- for (QueryCriteria criteria : criteriaList) {
- Map<String, Object> criteriaHash = getXmlRpcQueryCriteria(criteria);
- criteriaVector.add(criteriaHash);
- }
+ public static List<ExtractorSpec> getTypeExtractorsFromXmlRpc(Vector<Map<String, Object>> extractorsVector) {
+ List<ExtractorSpec> extractors = new Vector<ExtractorSpec>();
- return criteriaVector;
+ if (extractorsVector != null && extractorsVector.size() > 0) {
+ for (Map<String, Object> extractorSpecHash : extractorsVector) {
+ extractors.add(getExtractorSpecFromXmlRpc(extractorSpecHash));
+ }
}
- public static List<QueryCriteria> getQueryCriteriaListFromXmlRpc(Vector<Map<String, Object>> criteriaVector) {
-
- List<QueryCriteria> criteriaList = new Vector<QueryCriteria>(criteriaVector.size());
- for (Map<String, Object> criteriaHash : criteriaVector) {
- QueryCriteria criteria = getQueryCriteriaFromXmlRpc(criteriaHash);
- criteriaList.add(criteria);
- }
- return criteriaList;
- }
-
- public static Map<String, Object> getXmlRpcQueryCriteria(QueryCriteria criteria) {
- Map<String, Object> criteriaHash = new Hashtable<String, Object>();
- criteriaHash.put("class",criteria.getClass().getCanonicalName());
-
- if(criteria instanceof TermQueryCriteria){
- criteriaHash.put("elementName", criteria.getElementName());
- criteriaHash.put("elementValue", ((TermQueryCriteria)criteria).getValue());
- } else if(criteria instanceof RangeQueryCriteria){
- criteriaHash.put("elementName", criteria.getElementName());
- criteriaHash.put("elementStartValue", ((RangeQueryCriteria)criteria).getStartValue() != null ?
- ((RangeQueryCriteria)criteria).getStartValue():"");
- criteriaHash.put("elementEndValue", ((RangeQueryCriteria)criteria).getEndValue() != null ?
- ((RangeQueryCriteria)criteria).getEndValue():"");
- criteriaHash.put("inclusive", Boolean.toString(((RangeQueryCriteria) criteria).getInclusive()));
- } else if(criteria instanceof BooleanQueryCriteria){
- BooleanQueryCriteria boolQuery = (BooleanQueryCriteria) criteria;
- criteriaHash.put("operator", boolQuery.getOperator());
- Vector<Map<String, Object>> termsHash = new Vector<Map<String, Object>>();
- List<QueryCriteria> terms = boolQuery.getTerms();
-
- for (QueryCriteria term : terms) {
- Map<String, Object> termHash = getXmlRpcQueryCriteria(term);
- termsHash.add(termHash);
- }
- criteriaHash.put("terms", termsHash);
-
- } else {
- //should not happen
- }
- return criteriaHash;
- }
-
- public static QueryCriteria getQueryCriteriaFromXmlRpc(Map<String, Object> criteriaHash) {
- QueryCriteria criteria = null;
- if(criteriaHash.get("class").equals(TermQueryCriteria.class.getCanonicalName())){
- criteria = new TermQueryCriteria();
- criteria.setElementName((String) criteriaHash.get("elementName"));
- ((TermQueryCriteria)criteria).setValue((String) criteriaHash.get("elementValue"));
- } else if(criteriaHash.get("class").equals(RangeQueryCriteria.class.getCanonicalName())){
- criteria = new RangeQueryCriteria();
- criteria.setElementName((String) criteriaHash.get("elementName"));
- String startVal = criteriaHash.get("elementStartValue").equals("") ?
- null : (String)criteriaHash.get("elementStartValue");
- String endVal = criteriaHash.get("elementEndValue").equals("") ?
- null : (String)criteriaHash.get("elementEndValue");
- ((RangeQueryCriteria)criteria).setStartValue(startVal);
- ((RangeQueryCriteria)criteria).setEndValue(endVal);
- ((RangeQueryCriteria)criteria).setInclusive(Boolean.parseBoolean((String) criteriaHash.get("inclusive")));
- } else if(criteriaHash.get("class").equals(BooleanQueryCriteria.class.getCanonicalName())){
- criteria = new BooleanQueryCriteria();
- try{
- ((BooleanQueryCriteria)criteria).setOperator((Integer) criteriaHash.get("operator"));
- } catch (QueryFormulationException e){
- System.out.println("Error generating Boolean Query.");
- }
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> terms = (List<Map<String, Object>>) criteriaHash.get("terms");
- for (Map<String, Object> term : terms) {
- QueryCriteria termCriteria = getQueryCriteriaFromXmlRpc(term);
- try {
- ((BooleanQueryCriteria) criteria).addTerm(termCriteria);
- } catch (QueryFormulationException e) {
- System.out.println("Error generating Boolean Query.");
- }
- }
-
- }
+ return extractors;
+ }
- return criteria;
-
- }
+ @SuppressWarnings("unchecked")
+ public static ExtractorSpec getExtractorSpecFromXmlRpc(
+ Map<String, Object> extractorSpecHash) {
+ ExtractorSpec spec = new ExtractorSpec();
+ spec.setClassName((String) extractorSpecHash.get("className"));
+ spec
+ .setConfiguration(getPropertiesFromXmlRpc((Map<String, String>) extractorSpecHash
+ .get("config")));
+ return spec;
+ }
+
+ public static List<TypeHandler> getTypeHandlersFromXmlRpc(Vector<Map<String, Object>> handlersVector) {
+ List<TypeHandler> handlers = new Vector<TypeHandler>();
+
+ if (handlersVector != null && handlersVector.size() > 0) {
+ for (Map<String, Object> typeHandlerHash : handlersVector) {
+ handlers.add(getTypeHandlerFromXmlRpc(typeHandlerHash));
+ }
+ }
+
+ return handlers;
+ }
+
+ public static TypeHandler getTypeHandlerFromXmlRpc(
+ Map<String, Object> typeHandlerHash) {
+ TypeHandler typeHandler = GenericFileManagerObjectFactory
+ .getTypeHandlerFromClassName((String) typeHandlerHash.get("className"));
+ if (typeHandler != null) {
+ typeHandler.setElementName((String) typeHandlerHash.get("elementName"));
+ }
+ return typeHandler;
+ }
+
+ public static Properties getPropertiesFromXmlRpc(Map<String, String> propHash) {
+ Properties props = new Properties();
+
+ if (propHash != null && propHash.keySet().size() > 0) {
+ for (Map.Entry<String, String> propName : propHash.entrySet()) {
+ String propValue = propName.getValue();
+ props.setProperty(propName.getKey(), propValue);
+ }
+ }
+
+ return props;
+ }
+
+ public static Map<String, String> getXmlRpcProperties(Properties props) {
+ Map<String, String> propHash = new Hashtable<String, String>();
+
+ if (props != null && props.keySet().size() > 0) {
+ for (Object o : props.keySet()) {
+ String propName = (String) o;
+ String propValue = props.getProperty(propName);
+ propHash.put(propName, propValue);
+ }
+ }
+
+ return propHash;
+ }
+
+
+ public static Vector<Map<String, Object>> getXmlRpcReferences(List<Reference> references) {
+ Vector<Map<String, Object>> refVector = new Vector<Map<String, Object>>();
+
+ if (references == null) {
+ return refVector;
+ }
+
+ for (Reference reference : references) {
+ Map<String, Object> refHash = getXmlRpcReference(reference);
+ refVector.add(refHash);
+ }
+
+ return refVector;
+ }
+
+ public static List<Reference> getReferencesFromXmlRpc(Vector<Map<String, Object>> referenceVector) {
+ List<Reference> references = new Vector<Reference>();
+ for (Map<String, Object> aReferenceVector : referenceVector) {
+ Reference r = getReferenceFromXmlRpc(aReferenceVector);
+ references.add(r);
+ }
+ return references;
+ }
+
+ public static Map<String, Object> getXmlRpcReference(Reference reference) {
+ Map<String, Object> referenceHash = new Hashtable<String, Object>();
+ referenceHash.put("origReference", reference.getOrigReference());
+ referenceHash.put("dataStoreReference", reference
+ .getDataStoreReference() != null ? reference
+ .getDataStoreReference() : "");
+ referenceHash.put("fileSize",
+ Long.toString(reference.getFileSize()));
+ referenceHash.put("mimeType", (reference.getMimeType() == null) ? ""
+ : reference.getMimeType().getName());
+ return referenceHash;
+ }
+
+ public static Reference getReferenceFromXmlRpc(Map<String, Object> referenceHash) {
+ Reference reference = new Reference();
+ reference.setDataStoreReference((String) referenceHash
+ .get("dataStoreReference"));
+ reference.setOrigReference((String) referenceHash.get("origReference"));
+ reference.setFileSize(Long.parseLong(referenceHash.get("fileSize").toString()));
+ reference.setMimeType((String) referenceHash.get("mimeType"));
+ return reference;
+ }
+
+ public static Reference getReferenceFromXmlRpcHashtable(Map<String, Object> referenceHash) {
+ Reference reference = new Reference();
+ reference.setDataStoreReference((String) referenceHash
+ .get("dataStoreReference"));
+ reference.setOrigReference((String) referenceHash.get("origReference"));
+ reference.setFileSize(Long.parseLong(referenceHash.get("fileSize").toString()));
+ reference.setMimeType((String) referenceHash.get("mimeType"));
+ return reference;
+ }
+
+ public static Vector<Map<String, Object>> getXmlRpcElementListHashtable(List<Element> elementList) {
+ Vector<Map<String, Object>> elementVector = new Vector<Map<String, Object>>(elementList.size());
+ for (Element element : elementList) {
+ Map<String, Object> elementHash = getXmlRpcElementHashTable(element);
+ elementVector.add(elementHash);
+ }
+ return elementVector;
+ }
+
+ public static Vector<Map<String, Object>> getXmlRpcElementList(List<Element> elementList) {
+ Vector<Map<String, Object>> elementVector = new Vector<Map<String, Object>>(elementList.size());
+ for (Element element : elementList) {
+ Map<String, Object> elementHash = getXmlRpcElement(element);
+ elementVector.add(elementHash);
+ }
+ return elementVector;
+ }
+
+ public static List<Element> getElementListFromXmlRpc(Vector<Map<String, Object>> elementVector) {
+ List<Element> elementList = new Vector<Element>(elementVector.size());
+ for (Map<String, Object> elementHash : elementVector) {
+ Element element = getElementFromXmlRpc(elementHash);
+ elementList.add(element);
+ }
+ return elementList;
+ }
+
+ public static Map<String, Object> getXmlRpcElement(Element element) {
+ Map<String, Object> elementHash = new HashMap<String, Object>();
+
+ elementHash.put("id", element.getElementId());
+ elementHash.put("name", element.getElementName());
+ elementHash.put("dcElement", element.getDCElement() != null ? element
+ .getDCElement() : "");
+ elementHash.put("description",
+ element.getDescription() != null ? element.getDescription()
+ : "");
+
+ return elementHash;
+ }
+
+ public static Map<String, Object> getXmlRpcElementHashTable(Element element) {
+ Map<String, Object> elementHash = new Hashtable<String, Object>();
+
+ elementHash.put("id", element.getElementId());
+ elementHash.put("name", element.getElementName());
+ elementHash.put("dcElement", element.getDCElement() != null ? element
+ .getDCElement() : "");
+ elementHash.put("description",
+ element.getDescription() != null ? element.getDescription()
+ : "");
+
+ return elementHash;
+ }
+
+ public static Element getElementFromXmlRpc(Map<String, Object> elementHash) {
+ Element element = new Element();
+ element.setElementId((String) elementHash.get("id"));
+ element.setElementName((String) elementHash.get("name"));
+ element.setDescription((String) elementHash.get("description"));
+ element.setDCElement((String) elementHash.get("dcElement"));
+
+ return element;
+ }
+
+ public static Map<String, Object> getXmlRpcQuery(Query query) {
+ Map<String, Object> queryHash = new Hashtable<String, Object>();
+ Vector<Map<String, Object>> criteriaVector = getXmlRpcQueryCriteriaList(query.getCriteria());
+ queryHash.put("criteria", criteriaVector);
+ return queryHash;
+ }
+
+ public static Query getQueryFromXmlRpc(Map<String, Object> queryHash) {
+ Query query = new Query();
+ @SuppressWarnings("unchecked")
+ List<QueryCriteria> criteria = getQueryCriteriaListFromXmlRpc((Vector<Map<String, Object>>) queryHash
+ .get("criteria"));
+ query.setCriteria(criteria);
+ return query;
+ }
+
+ public static Vector<Map<String, Object>> getXmlRpcQueryCriteriaList(List<QueryCriteria> criteriaList) {
+ Vector<Map<String, Object>> criteriaVector = new Vector<Map<String, Object>>(criteriaList.size());
+ for (QueryCriteria criteria : criteriaList) {
+ Map<String, Object> criteriaHash = getXmlRpcQueryCriteria(criteria);
+ criteriaVector.add(criteriaHash);
+ }
+
+ return criteriaVector;
+ }
+
+ public static List<QueryCriteria> getQueryCriteriaListFromXmlRpc(Vector<Map<String, Object>> criteriaVector) {
+
+ List<QueryCriteria> criteriaList = new Vector<QueryCriteria>(criteriaVector.size());
+ for (Map<String, Object> criteriaHash : criteriaVector) {
+ QueryCriteria criteria = getQueryCriteriaFromXmlRpc(criteriaHash);
+ criteriaList.add(criteria);
+ }
+ return criteriaList;
+ }
+
+ public static Map<String, Object> getXmlRpcQueryCriteria(QueryCriteria criteria) {
+ Map<String, Object> criteriaHash = new Hashtable<String, Object>();
+ criteriaHash.put("class", criteria.getClass().getCanonicalName());
+
+ if (criteria instanceof TermQueryCriteria) {
+ criteriaHash.put("elementName", criteria.getElementName());
+ criteriaHash.put("elementValue", ((TermQueryCriteria) criteria).getValue());
+ } else if (criteria instanceof RangeQueryCriteria) {
+ criteriaHash.put("elementName", criteria.getElementName());
+ criteriaHash.put("elementStartValue", ((RangeQueryCriteria) criteria).getStartValue() != null ?
+ ((RangeQueryCriteria) criteria).getStartValue() : "");
+ criteriaHash.put("elementEndValue", ((RangeQueryCriteria) criteria).getEndValue() != null ?
+ ((RangeQueryCriteria) criteria).getEndValue() : "");
+ criteriaHash.put("inclusive", Boolean.toString(((RangeQueryCriteria) criteria).getInclusive()));
+ } else if (criteria instanceof BooleanQueryCriteria) {
+ BooleanQueryCriteria boolQuery = (BooleanQueryCriteria) criteria;
+ criteriaHash.put("operator", boolQuery.getOperator());
+ Vector<Map<String, Object>> termsHash = new Vector<Map<String, Object>>();
+ List<QueryCriteria> terms = boolQuery.getTerms();
+
+ for (QueryCriteria term : terms) {
+ Map<String, Object> termHash = getXmlRpcQueryCriteria(term);
+ termsHash.add(termHash);
+ }
+ criteriaHash.put("terms", termsHash);
+
+ } else {
+ //should not happen
+ }
+ return criteriaHash;
+ }
+
+ public static QueryCriteria getQueryCriteriaFromXmlRpc(Map<String, Object> criteriaHash) {
+ QueryCriteria criteria = null;
+ if (criteriaHash.get("class").equals(TermQueryCriteria.class.getCanonicalName())) {
+ criteria = new TermQueryCriteria();
+ criteria.setElementName((String) criteriaHash.get("elementName"));
+ ((TermQueryCriteria) criteria).setValue((String) criteriaHash.get("elementValue"));
+ } else if (criteriaHash.get("class").equals(RangeQueryCriteria.class.getCanonicalName())) {
+ criteria = new RangeQueryCriteria();
+ criteria.setElementName((String) criteriaHash.get("elementName"));
+ String startVal = criteriaHash.get("elementStartValue").equals("") ?
+ null : (String) criteriaHash.get("elementStartValue");
+ String endVal = criteriaHash.get("elementEndValue").equals("") ?
+ null : (String) criteriaHash.get("elementEndValue");
+ ((RangeQueryCriteria) criteria).setStartValue(startVal);
+ ((RangeQueryCriteria) criteria).setEndValue(endVal);
+ ((RangeQueryCriteria) criteria).setInclusive(Boolean.parseBoolean((String) criteriaHash.get("inclusive")));
+ } else if (criteriaHash.get("class").equals(BooleanQueryCriteria.class.getCanonicalName())) {
+ criteria = new BooleanQueryCriteria();
+ try {
+ ((BooleanQueryCriteria) criteria).setOperator((Integer) criteriaHash.get("operator"));
+ } catch (QueryFormulationException e) {
+ System.out.println("Error generating Boolean Query.");
+ }
+ @SuppressWarnings("unchecked")
+ List<Map<String, Object>> terms = (List<Map<String, Object>>) criteriaHash.get("terms");
+ for (Map<String, Object> term : terms) {
+ QueryCriteria termCriteria = getQueryCriteriaFromXmlRpc(term);
+ try {
+ ((BooleanQueryCriteria) criteria).addTerm(termCriteria);
+ } catch (QueryFormulationException e) {
+ System.out.println("Error generating Boolean Query.");
+ }
+ }
+
+ }
+
+ return criteria;
+
+ }
}
http://git-wip-us.apache.org/repos/asf/oodt/blob/8705ccf4/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 0f10a81..63d1eb6 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
@@ -487,15 +487,17 @@ public class Metadata {
this.children = new Hashtable<String, Group>();
}
+ /**
+ * Create Metadata Group.
+ * By default we create a group using a Hashtable for XMLRPC support. Once this has been superceeded by the Avro
+ * Impl we should make the HashMap implementation the default.
+ * @param name
+ * @param legacy
+ */
public Group(String name, boolean legacy) {
this.name = name;
this.values = new Vector<String>();
- if(legacy){
- this.children = new Hashtable<String, Group>();
- }
- else{
- this.children = new ConcurrentHashMap<String, Group>();
- }
+ this.children = legacy ? new Hashtable<String, Group>() : new ConcurrentHashMap<String, Group>();
}