Repository: oodt Updated Branches: refs/heads/master f88302ba4 -> e1b3063b1
- expose to public API: generateCAS query -> converts from Lucene to CAS query Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/e1b3063b Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/e1b3063b Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/e1b3063b Branch: refs/heads/master Commit: e1b3063b1f7a7904a64d275516abf0013913b700 Parents: f88302b Author: Chris Mattmann <[email protected]> Authored: Mon Jul 24 18:50:53 2017 -0700 Committer: Chris Mattmann <[email protected]> Committed: Mon Jul 24 18:50:53 2017 -0700 ---------------------------------------------------------------------- .../oodt/cas/filemgr/tools/QueryTool.java | 67 ++++++++++---------- 1 file changed, 34 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/e1b3063b/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 e9cfddd..c7f3a08 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 @@ -114,7 +114,40 @@ public final class QueryTool { System.exit(-1); } return luceneQ; - } + } + + 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() + "] !"); + } +} public static void main(String[] args) throws MalformedURLException, InstantiationException, CatalogException, QueryFormulationException, @@ -191,38 +224,6 @@ 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;
