Repository: oodt Updated Branches: refs/heads/master 4589b58ec -> f88302ba4
- undeprecate tools that are actually used - expose API for QueryTool and DeleteProduct - remove ancient Copyright JPL comment (code was donated to Apache through SGA) Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/f88302ba Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/f88302ba Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/f88302ba Branch: refs/heads/master Commit: f88302ba4c4f38ee5bc782ee3f77237df3637871 Parents: 4589b58 Author: Chris Mattmann <[email protected]> Authored: Mon Jul 24 18:35:49 2017 -0700 Committer: Chris Mattmann <[email protected]> Committed: Mon Jul 24 18:35:49 2017 -0700 ---------------------------------------------------------------------- .../oodt/cas/filemgr/tools/CatalogSearch.java | 1 - .../oodt/cas/filemgr/tools/DeleteProduct.java | 301 ++++++++++--------- .../oodt/cas/filemgr/tools/MetadataDumper.java | 1 - .../oodt/cas/filemgr/tools/QueryTool.java | 130 ++++---- 4 files changed, 222 insertions(+), 211 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/f88302ba/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/CatalogSearch.java ---------------------------------------------------------------------- diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/CatalogSearch.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/CatalogSearch.java index 3122d1d..2c38863 100644 --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/CatalogSearch.java +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/CatalogSearch.java @@ -332,7 +332,6 @@ public class CatalogSearch { String fileManagerUrl = null; String welcomeMessage = "CatalogSearch v0.1\n"; - welcomeMessage += "Copyright 2006. California Institute of Technology.\n"; String usage = "CatalogSearch --url <url to File Manager service>\n"; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); http://git-wip-us.apache.org/repos/asf/oodt/blob/f88302ba/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/DeleteProduct.java ---------------------------------------------------------------------- diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/DeleteProduct.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/DeleteProduct.java index eaade08..654c85a 100644 --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/DeleteProduct.java +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/DeleteProduct.java @@ -41,180 +41,193 @@ import java.util.Vector; * @author woollard * @version $Revision$ * - * <p> - * A utility class that deletes products in the File Manager Catalog based on - * productID. - * </p> + * <p> + * A utility class that deletes products in the File Manager Catalog + * based on productID. + * </p> * */ -@Deprecated public class DeleteProduct { - /* our log stream */ - private static final Logger LOG = Logger.getLogger(DeleteProduct.class.getName()); + /* our log stream */ + private static final Logger LOG = Logger + .getLogger(DeleteProduct.class.getName()); - /* our File Manager client */ - private XmlRpcFileManagerClient client = null; + /* our File Manager client */ + private XmlRpcFileManagerClient client = null; - /* whether or not we should commit our deletions */ - private boolean commit = true; + /* whether or not we should commit our deletions */ + private boolean commit = true; - public DeleteProduct(String fileManagerUrl, boolean commit) { - try { - client = new XmlRpcFileManagerClient(new URL(fileManagerUrl)); - } catch (Exception e) { - LOG.log(Level.SEVERE, - "Unable to create file manager client: Message: " - + e.getMessage() + ": errors to follow"); - } + public DeleteProduct(String fileManagerUrl, boolean commit) { + try { + client = new XmlRpcFileManagerClient(new URL(fileManagerUrl)); + } catch (Exception e) { + LOG.log(Level.SEVERE, "Unable to create file manager client: Message: " + + e.getMessage() + ": errors to follow"); + } - this.commit = commit; + this.commit = commit; - if (!this.commit) { - LOG.log(Level.INFO, "Commit disabled."); - } else { - LOG.log(Level.INFO, "Commit enabled."); - } + if (!this.commit) { + LOG.log(Level.INFO, "Commit disabled."); + } else { + LOG.log(Level.INFO, "Commit enabled."); } + } - /** - * @param args - */ - public static void main(String[] args) { - String productId = null; - String fileManagerUrl = null; - boolean commitChanges = true; - boolean readFromStdIn = false; - - String usage = "DeleteProduct --productID <product id> " - + "--fileManagerUrl <url to file manager> [--read] [--nocommit]\n"; - - for (int i = 0; i < args.length; i++) { - if (args[i].equals("--productID")) { - productId = args[++i]; - } else if (args[i].equals("--fileManagerUrl")) { - fileManagerUrl = args[++i]; - } else if (args[i].equals("--read")) { - readFromStdIn = true; - } else if (args[i].equals("--nocommit")) { - commitChanges = false; - } - } - - if ((productId == null && !readFromStdIn) || fileManagerUrl == null) { - System.err.println(usage); - System.exit(1); - } + public void remove(String productId) { + Product target = null; - DeleteProduct remover = new DeleteProduct(fileManagerUrl, commitChanges); - if (readFromStdIn) { - List prodIds = readProdIdsFromStdin(); - for (Object prodId1 : prodIds) { - String prodId = (String) prodId1; - remover.remove(prodId); - } - } else { - remover.remove(productId); - } + try { + target = client.getProductById(productId); + } catch (CatalogException e) { + LOG.log(Level.WARNING, + "Unable to obtain product : [" + productId + "] from file manager: [" + + client.getFileManagerUrl() + "]: Message: " + e.getMessage()); + } + if (target == null) { + // could not file product + return; } - private static List readProdIdsFromStdin() { - List prodIds = new Vector(); - BufferedReader br; + // delete references first + Vector refs = new Vector(); - br = new BufferedReader(new InputStreamReader(System.in)); + try { + refs = (Vector) client.getProductReferences(target); + } catch (CatalogException e) { + LOG.log(Level.WARNING, + "Unable to obtain references for product : [" + productId + + "] from file manager: [" + client.getFileManagerUrl() + + "]: Message: " + e.getMessage()); + } - String line = null; + for (Object ref1 : refs) { + Reference ref = (Reference) ref1; + if (commit) { try { - while ((line = br.readLine()) != null) { - prodIds.add(line); - } - } catch (IOException e) { - LOG.log(Level.WARNING, "Error reading prod id: line: [" + line - + "]: Message: " + e.getMessage(), e); - } finally { - try { - br.close(); - } catch (Exception ignore) { - } - + client.removeFile( + new File(new URI(ref.getDataStoreReference())).getAbsolutePath()); + } catch (DataTransferException e) { + LOG.log(Level.WARNING, + "Unable to delete reference : [" + ref.getDataStoreReference() + + "] for product : [" + productId + "] from file manager : [" + + client.getFileManagerUrl() + "]: Message: " + + e.getMessage()); + } catch (URISyntaxException e) { + LOG.log(Level.WARNING, + "uri syntax exception getting file absolute path from URI: [" + + ref.getDataStoreReference() + "]: Message: " + + e.getMessage()); } + } else { + LOG.log(Level.INFO, + "Delete file: [" + ref.getDataStoreReference() + "]"); + } + + } - return prodIds; + if (commit) { + + // now delete product + try { + client.removeProduct(target); + } catch (CatalogException e) { + LOG.log(Level.WARNING, + "Unable to remove product : [" + productId + + "] from file manager: [" + client.getFileManagerUrl() + + "]: Message: " + e.getMessage()); + } + } else { + LOG.log(Level.INFO, "Remote catalog entry for product: [" + + target.getProductName() + "]"); } - private void remove(String productId) { - Product target = null; + } + + /** + * @return the commit + */ + public boolean isCommit() { + return commit; + } + + /** + * @param commit + * the commit to set + */ + public void setCommit(boolean commit) { + this.commit = commit; + } + + /** + * @param args + */ + public static void main(String[] args) { + String productId = null; + String fileManagerUrl = null; + boolean commitChanges = true; + boolean readFromStdIn = false; + + String usage = "DeleteProduct --productID <product id> " + + "--fileManagerUrl <url to file manager> [--read] [--nocommit]\n"; + + for (int i = 0; i < args.length; i++) { + if (args[i].equals("--productID")) { + productId = args[++i]; + } else if (args[i].equals("--fileManagerUrl")) { + fileManagerUrl = args[++i]; + } else if (args[i].equals("--read")) { + readFromStdIn = true; + } else if (args[i].equals("--nocommit")) { + commitChanges = false; + } + } - try { - target = client.getProductById(productId); - } catch (CatalogException e) { - LOG.log(Level.WARNING, "Unable to obtain product : [" + productId - + "] from file manager: [" + client.getFileManagerUrl() - + "]: Message: " + e.getMessage()); - } + if ((productId == null && !readFromStdIn) || fileManagerUrl == null) { + System.err.println(usage); + System.exit(1); + } - if (target == null) { - // could not file product - return; - } + DeleteProduct remover = new DeleteProduct(fileManagerUrl, commitChanges); + if (readFromStdIn) { + List prodIds = readProdIdsFromStdin(); + for (Object prodId1 : prodIds) { + String prodId = (String) prodId1; + remover.remove(prodId); + } + } else { + remover.remove(productId); + } - // delete references first - Vector refs = new Vector(); + } - try { - refs = (Vector) client.getProductReferences(target); - } catch (CatalogException e) { - LOG.log(Level.WARNING, - "Unable to obtain references for product : [" + productId - + "] from file manager: [" - + client.getFileManagerUrl() + "]: Message: " - + e.getMessage()); - } + private static List readProdIdsFromStdin() { + List prodIds = new Vector(); + BufferedReader br; - for (Object ref1 : refs) { - Reference ref = (Reference) ref1; - - if (commit) { - try { - client.removeFile(new File(new URI(ref - .getDataStoreReference())).getAbsolutePath()); - } catch (DataTransferException e) { - LOG.log(Level.WARNING, "Unable to delete reference : [" - + ref.getDataStoreReference() + "] for product : [" - + productId + "] from file manager : [" - + client.getFileManagerUrl() + "]: Message: " - + e.getMessage()); - } catch (URISyntaxException e) { - LOG.log(Level.WARNING, - "uri syntax exception getting file absolute path from URI: [" - + ref.getDataStoreReference() - + "]: Message: " + e.getMessage()); - } - } else { - LOG.log(Level.INFO, "Delete file: [" - + ref.getDataStoreReference() + "]"); - } + br = new BufferedReader(new InputStreamReader(System.in)); - } + String line = null; - if (commit) { - - // now delete product - try { - client.removeProduct(target); - } catch (CatalogException e) { - LOG.log(Level.WARNING, "Unable to remove product : [" - + productId + "] from file manager: [" - + client.getFileManagerUrl() + "]: Message: " - + e.getMessage()); - } - } else { - LOG.log(Level.INFO, "Remote catalog entry for product: [" - + target.getProductName() + "]"); - } + try { + while ((line = br.readLine()) != null) { + prodIds.add(line); + } + } catch (IOException e) { + LOG.log(Level.WARNING, "Error reading prod id: line: [" + line + + "]: Message: " + e.getMessage(), e); + } finally { + try { + br.close(); + } catch (Exception ignore) { + } } + + return prodIds; + } } http://git-wip-us.apache.org/repos/asf/oodt/blob/f88302ba/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataDumper.java ---------------------------------------------------------------------- diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataDumper.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataDumper.java index d1615e3..b4fda26 100644 --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataDumper.java +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataDumper.java @@ -41,7 +41,6 @@ import java.util.logging.Logger; * {@link Product}. * </p>. */ -@Deprecated public final class MetadataDumper { /* our log stream */ http://git-wip-us.apache.org/repos/asf/oodt/blob/f88302ba/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/QueryTool.java ---------------------------------------------------------------------- diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/QueryTool.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/QueryTool.java index eca2c68..e9cfddd 100644 --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/QueryTool.java +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/QueryTool.java @@ -51,7 +51,6 @@ import java.util.logging.Logger; * A tool to return product ids given a {@link Query} against the File Manager. * </p> */ -@Deprecated public final class QueryTool { private static String freeTextBlock = "__FREE__"; @@ -71,20 +70,6 @@ public final class QueryTool { } } - public static Query parseQuery(String query) { - QueryParser parser; - // note that "__FREE__" is a control work for free text searching - parser = new QueryParser(freeTextBlock, new CASAnalyzer()); - Query luceneQ = null; - try { - luceneQ = (Query) parser.parse(query); - } catch (ParseException e) { - System.out.println("Error parsing query text."); - System.exit(-1); - } - return luceneQ; - } - public List query(org.apache.oodt.cas.filemgr.structs.Query query) { List prodIds = new Vector(); List products; @@ -115,55 +100,22 @@ public final class QueryTool { return prodIds; } - - public void generateCASQuery( - org.apache.oodt.cas.filemgr.structs.Query casQuery, - Query luceneQuery) { - if (luceneQuery instanceof TermQuery) { - Term t = ((TermQuery) luceneQuery).getTerm(); - if (!t.field().equals(freeTextBlock)) { - casQuery.addCriterion(new TermQueryCriteria(t.field(), - t.text())); - } - } else if (luceneQuery instanceof PhraseQuery) { - Term[] t = ((PhraseQuery) luceneQuery).getTerms(); - if (!t[0].field().equals(freeTextBlock)) { - for (Term aT : t) { - casQuery.addCriterion(new TermQueryCriteria( - aT.field(), aT.text())); - } - } - } else if (luceneQuery instanceof TermRangeQuery) { - BytesRef startT = ((TermRangeQuery) luceneQuery).getLowerTerm(); - BytesRef endT = ((TermRangeQuery) luceneQuery).getUpperTerm(); - casQuery.addCriterion(new RangeQueryCriteria(((TermRangeQuery) luceneQuery).getField(), startT.utf8ToString(), endT.utf8ToString())); - } else if (luceneQuery instanceof BooleanQuery) { - List<BooleanClause> clauses = ((BooleanQuery) luceneQuery).clauses(); - for (BooleanClause clause : clauses) { - generateCASQuery(casQuery, (clause).getQuery()); - } - } else { - throw new RuntimeException( - "Error parsing query! Cannot determine clause type: [" - + luceneQuery.getClass().getName() + "] !"); - } - } - - private List safeGetProductTypes() { - List prodTypes = null; - - try { - prodTypes = client.getProductTypes(); - } catch (RepositoryManagerException e) { - LOG.log(Level.WARNING, - "Error obtaining product types from file manager: [" - + client.getFileManagerUrl() + "]: Message: " - + e.getMessage()); - } - - return prodTypes; - } - + + + public static Query parseQuery(String query) { + QueryParser parser; + // note that "__FREE__" is a control work for free text searching + parser = new QueryParser(freeTextBlock, new CASAnalyzer()); + Query luceneQ = null; + try { + luceneQ = (Query) parser.parse(query); + } catch (ParseException e) { + System.out.println("Error parsing query text."); + System.exit(-1); + } + return luceneQ; + } + public static void main(String[] args) throws MalformedURLException, InstantiationException, CatalogException, QueryFormulationException, ConnectionException { @@ -178,7 +130,7 @@ public final class QueryTool { + " -query <query> \n" + " -sortBy <metadata-key> \n" + " -outputFormat <output-format-string> \n"; - + String fmUrlStr = null, queryStr = null, sortBy = null, outputFormat = null, delimiter = null; QueryType queryType = null; for (int i = 0; i < args.length; i++) { @@ -238,6 +190,54 @@ public final class QueryTool { } } + + private void generateCASQuery( + org.apache.oodt.cas.filemgr.structs.Query casQuery, + Query luceneQuery) { + if (luceneQuery instanceof TermQuery) { + Term t = ((TermQuery) luceneQuery).getTerm(); + if (!t.field().equals(freeTextBlock)) { + casQuery.addCriterion(new TermQueryCriteria(t.field(), + t.text())); + } + } else if (luceneQuery instanceof PhraseQuery) { + Term[] t = ((PhraseQuery) luceneQuery).getTerms(); + if (!t[0].field().equals(freeTextBlock)) { + for (Term aT : t) { + casQuery.addCriterion(new TermQueryCriteria( + aT.field(), aT.text())); + } + } + } else if (luceneQuery instanceof TermRangeQuery) { + BytesRef startT = ((TermRangeQuery) luceneQuery).getLowerTerm(); + BytesRef endT = ((TermRangeQuery) luceneQuery).getUpperTerm(); + casQuery.addCriterion(new RangeQueryCriteria(((TermRangeQuery) luceneQuery).getField(), startT.utf8ToString(), endT.utf8ToString())); + } else if (luceneQuery instanceof BooleanQuery) { + List<BooleanClause> clauses = ((BooleanQuery) luceneQuery).clauses(); + for (BooleanClause clause : clauses) { + generateCASQuery(casQuery, (clause).getQuery()); + } + } else { + throw new RuntimeException( + "Error parsing query! Cannot determine clause type: [" + + luceneQuery.getClass().getName() + "] !"); + } + } + + private List safeGetProductTypes() { + List prodTypes = null; + + try { + prodTypes = client.getProductTypes(); + } catch (RepositoryManagerException e) { + LOG.log(Level.WARNING, + "Error obtaining product types from file manager: [" + + client.getFileManagerUrl() + "]: Message: " + + e.getMessage()); + } + + return prodTypes; + } private static String performSqlQuery(String query, String sortBy, String outputFormat, String delimiter, String filemgrUrl) throws MalformedURLException, CatalogException, ConnectionException, QueryFormulationException {
