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 2017/09/02 15:35:31 UTC
[11/50] [abbrv] oodt git commit: - expose to public API: generateCAS
query -> converts from Lucene to CAS query
- 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/development
Commit: e1b3063b1f7a7904a64d275516abf0013913b700
Parents: f88302b
Author: Chris Mattmann <ma...@apache.org>
Authored: Mon Jul 24 18:50:53 2017 -0700
Committer: Chris Mattmann <ma...@apache.org>
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;