Mirror collection
Change-Id: Ib597547f09eaa1191b2c43f0d818d0f3002114c7
diff --git a/src/main/java/de/ids_mannheim/korap/Krill.java b/src/main/java/de/ids_mannheim/korap/Krill.java
index 112112d..8a5789a 100644
--- a/src/main/java/de/ids_mannheim/korap/Krill.java
+++ b/src/main/java/de/ids_mannheim/korap/Krill.java
@@ -166,7 +166,6 @@
if (json.has("query")) {
try {
KrillQuery kq = new KrillQuery("tokens");
-
SpanQueryWrapper qw = kq.fromJson(json.get("query"));
this.setQuery(kq);
@@ -209,11 +208,13 @@
try {
if (json.has("collection")) {
JsonNode collNode = json.get("collection");
+
// TODO: Temporary
- if (collNode.fieldNames().hasNext())
- this.setCollection(
- new KrillCollection().fromJson(collNode)
- );
+ if (collNode.fieldNames().hasNext()) {
+ KrillCollection kc = new KrillCollection()
+ .fromJson(collNode);
+ this.setCollection(kc);
+ };
}
// <legacycode>
@@ -303,14 +304,16 @@
// Apply search
else {
+
+ // This contains meta and matches
kr = this.index.search(this);
- this.getCollection().setIndex(this.index);
+ // this.getCollection().setIndex(this.index);
kr.copyNotificationsFrom(this);
};
- // TODO: Only for development mode
- kr.setRequest(this.request);
+ // kr.setRequest(this.request);
kr.setQuery(this.getQuery());
+ kr.setCollection(this.getCollection());
return kr;
};
diff --git a/src/main/java/de/ids_mannheim/korap/KrillCollection.java b/src/main/java/de/ids_mannheim/korap/KrillCollection.java
index 539427b..5d7d736 100644
--- a/src/main/java/de/ids_mannheim/korap/KrillCollection.java
+++ b/src/main/java/de/ids_mannheim/korap/KrillCollection.java
@@ -59,6 +59,7 @@
private String id;
private ArrayList<FilterOperation> filter;
private int filterCount = 0;
+ private JsonNode json;
// Logger
private final static Logger log = LoggerFactory
@@ -158,6 +159,7 @@
* @throws QueryException
*/
public KrillCollection fromJson (JsonNode json) throws QueryException {
+ this.json = json;
this.filter(this._fromJson(json));
return this;
};
@@ -617,6 +619,22 @@
/**
+ * Return the associated KoralQuery collection object
+ * as a {@link JsonNode}. This won't work,
+ * if the object was build using a CollectionBuilder,
+ * therefore it is limited to mirror a deserialized KoralQuery
+ * object.
+ *
+ * @return The {@link JsonNode} representing the collection object
+ * of a deserialized KoralQuery object.
+ */
+ public JsonNode toJsonNode () {
+ return this.json;
+ };
+
+
+
+ /**
* Search in the virtual collection.
* This is mostly used for testing purposes
* and <strong>is not recommended</strong>
diff --git a/src/main/java/de/ids_mannheim/korap/KrillQuery.java b/src/main/java/de/ids_mannheim/korap/KrillQuery.java
index 3fe6f28..3bf8bcd 100644
--- a/src/main/java/de/ids_mannheim/korap/KrillQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/KrillQuery.java
@@ -121,6 +121,7 @@
};
};
+
/**
* Constructs a new object for query deserialization
* and building. Expects the name of an index field
@@ -281,12 +282,14 @@
SpanSubspanQueryWrapper ssqw = new SpanSubspanQueryWrapper(
sqw, startOffset, length);
return ssqw;
- };
+ }
+ ;
if (DEBUG)
log.trace("Wrap class reference {}", number);
- return new SpanFocusQueryWrapper(this._fromJson(operands.get(0)), number);
+ return new SpanFocusQueryWrapper(
+ this._fromJson(operands.get(0)), number);
case "koral:token":
@@ -384,7 +387,8 @@
if (DEBUG)
log.trace("Operands are {}", operands);
- SpanQueryWrapper spanReferenceQueryWrapper = _operationReferenceFromJSON(json, operands);
+ SpanQueryWrapper spanReferenceQueryWrapper = _operationReferenceFromJSON(
+ json, operands);
if (spanReferenceQueryWrapper != null) {
return spanReferenceQueryWrapper;
}
@@ -428,8 +432,9 @@
throw new QueryException(711, "Unknown group operation");
};
- private SpanQueryWrapper _operationReferenceFromJSON(JsonNode node, JsonNode operands)
- throws QueryException {
+
+ private SpanQueryWrapper _operationReferenceFromJSON (JsonNode node,
+ JsonNode operands) throws QueryException {
boolean isReference = false;
int classNum = -1;
int refOperandNum = -1;
@@ -464,7 +469,8 @@
return null;
}
- private JsonNode _resolveReference(JsonNode node, JsonNode operands,
+
+ private JsonNode _resolveReference (JsonNode node, JsonNode operands,
int refOperandNum, int classNum) throws QueryException {
JsonNode referent = null;
ObjectMapper m = new ObjectMapper();
@@ -474,7 +480,8 @@
if (i != refOperandNum) {
if (!isReferentFound) {
referent = _extractReferentClass(operands.get(i), classNum);
- if (referent != null) isReferentFound = true;
+ if (referent != null)
+ isReferentFound = true;
}
newOperands.insert(i, operands.get(i));
}
@@ -490,7 +497,8 @@
}
- private JsonNode _extractReferentClass(JsonNode node, int classNum) {
+
+ private JsonNode _extractReferentClass (JsonNode node, int classNum) {
JsonNode referent;
if (node.has("classOut") && node.get("classOut").asInt() == classNum) {
// System.out.println("found: " + node.toString());
@@ -520,7 +528,7 @@
SpanQueryWrapper operand1 = this._fromJson(operands.get(0));
SpanQueryWrapper operand2 = this._fromJson(operands.get(1));
-
+
String direction = ">:";
if (operand1.isEmpty() && !operand2.isEmpty()) {
direction = "<:";
@@ -529,14 +537,13 @@
if (!relation.has("@type"))
throw new QueryException(701,
"JSON-LD group has no @type attribute");
-
+
if (relation.get("@type").asText().equals("koral:relation")) {
if (!relation.has("wrap")) {
throw new QueryException(718, "Missing relation term");
}
SpanQueryWrapper relationWrapper = _termFromJson(
- relation.get("wrap"),
- direction);
+ relation.get("wrap"), direction);
return new SpanRelationWrapper(relationWrapper, operand1, operand2);
}
else {
@@ -730,7 +737,8 @@
"Span references are currently not supported");
};
- return new SpanFocusQueryWrapper(this._fromJson(operands.get(0)), number);
+ return new SpanFocusQueryWrapper(this._fromJson(operands.get(0)),
+ number);
};
@@ -1039,7 +1047,7 @@
// <legacy>
if (json.has("caseInsensitive")
- && json.get("caseInsensitive").asBoolean()) {
+ && json.get("caseInsensitive").asBoolean()) {
isCaseInsensitive = true;
}
// </legacy>
diff --git a/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java b/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java
index ec5079b..b009e7b 100644
--- a/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java
+++ b/src/main/java/de/ids_mannheim/korap/index/MultiTerm.java
@@ -304,7 +304,7 @@
* Offsets are attached following a hash sign,
* payloads are attached following a dollar sign.
* All payloads are written as UTF-8 character sequences.
- *
+ *
* <b>For the moment this is only for testing purposes!</b>
*
* @see #toStringShort().
@@ -457,26 +457,29 @@
}
catch (NumberFormatException e) {
throw new CorpusDataException(952,
- "Given offset information is not numeric in " + termSurface[0]);
+ "Given offset information is not numeric in "
+ + termSurface[0]);
};
}
else {
throw new CorpusDataException(953,
- "Given offset information is incomplete in " + termSurface[0]);
+ "Given offset information is incomplete in "
+ + termSurface[0]);
};
};
this.term = _unescape(stringOffset[0]);
};
+
// Escape the term
private String _escape (String term) {
return term.replaceAll("([#\\$\\\\])", "\\\\$1");
};
-
+
+
// Unescape the term
private String _unescape (String term) {
- return term.replace("\\\\","\\")
- .replace("\\#", "#")
- .replace("\\$", "$");
+ return term.replace("\\\\", "\\").replace("\\#", "#")
+ .replace("\\$", "$");
};
};
diff --git a/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java b/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java
index de1e4c8..1f28383 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java
@@ -75,8 +75,10 @@
protected String field;
protected boolean collectPayloads;
+
public SimpleSpanQuery () {}
+
/**
* Constructs a new SimpleSpanQuery using the specified
* {@link SpanQuery} and set whether payloads are to be collected
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanClassFilterQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanClassFilterQuery.java
index 48790bc..799c87e 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanClassFilterQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanClassFilterQuery.java
@@ -21,31 +21,33 @@
private ClassOperation operation;
private byte classNum1, classNum2;
+
public SpanClassFilterQuery (SpanQuery sq, ClassOperation type,
- int classNum1, int classNum2,
- boolean collectPayloads) {
+ int classNum1, int classNum2,
+ boolean collectPayloads) {
super(sq, collectPayloads);
this.operation = type;
this.classNum1 = (byte) classNum1;
this.classNum2 = (byte) classNum2;
}
+
@Override
- public SimpleSpanQuery clone() {
+ public SimpleSpanQuery clone () {
return new SpanClassFilterQuery((SpanQuery) firstClause.clone(),
- operation,
- classNum1, classNum2, collectPayloads);
+ operation, classNum1, classNum2, collectPayloads);
}
+
@Override
- public Spans getSpans(AtomicReaderContext context, Bits acceptDocs,
+ public Spans getSpans (AtomicReaderContext context, Bits acceptDocs,
Map<Term, TermContext> termContexts) throws IOException {
- return new ClassFilteredSpans(this, context, acceptDocs,
- termContexts);
+ return new ClassFilteredSpans(this, context, acceptDocs, termContexts);
}
+
@Override
- public String toString(String field) {
+ public String toString (String field) {
StringBuilder sb = new StringBuilder();
sb.append("spanClassFilter(");
sb.append(firstClause.toString());
@@ -59,27 +61,33 @@
return sb.toString();
}
- public ClassOperation getOperation() {
+
+ public ClassOperation getOperation () {
return operation;
}
- public void setOperation(ClassOperation operation) {
+
+ public void setOperation (ClassOperation operation) {
this.operation = operation;
}
- public byte getClassNum1() {
+
+ public byte getClassNum1 () {
return classNum1;
}
- public void setClassNum1(byte classNum1) {
+
+ public void setClassNum1 (byte classNum1) {
this.classNum1 = classNum1;
}
- public byte getClassNum2() {
+
+ public byte getClassNum2 () {
return classNum2;
}
- public void setClassNum2(byte classNum2) {
+
+ public void setClassNum2 (byte classNum2) {
this.classNum2 = classNum2;
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanFocusQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanFocusQuery.java
index c144a58..ab29d0f 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanFocusQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanFocusQuery.java
@@ -38,6 +38,7 @@
private boolean matchTemporaryClass = false;
private boolean removeTemporaryClasses = false;
+
/**
* Construct a new SpanFocusQuery.
*
@@ -80,7 +81,7 @@
public String toString (String field) {
StringBuffer buffer = new StringBuffer();
buffer.append("focus(");
- if (matchTemporaryClass){
+ if (matchTemporaryClass) {
buffer.append("#");
}
if (classNumbers.size() > 1) {
@@ -188,19 +189,23 @@
this.isSorted = isSorted;
}
- public boolean matchTemporaryClass() {
+
+ public boolean matchTemporaryClass () {
return matchTemporaryClass;
}
- public void setMatchTemporaryClass(boolean matchTemporaryClass) {
+
+ public void setMatchTemporaryClass (boolean matchTemporaryClass) {
this.matchTemporaryClass = matchTemporaryClass;
}
- public boolean removeTemporaryClasses() {
+
+ public boolean removeTemporaryClasses () {
return removeTemporaryClasses;
}
- public void setRemoveTemporaryClasses(boolean rem) {
+
+ public void setRemoveTemporaryClasses (boolean rem) {
this.removeTemporaryClasses = rem;
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanReferenceQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanReferenceQuery.java
index 9c2484d..3b23a18 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanReferenceQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanReferenceQuery.java
@@ -16,8 +16,9 @@
private byte classNum;
+
public SpanReferenceQuery (SpanQuery firstClause, byte classNum,
- boolean collectPayloads) {
+ boolean collectPayloads) {
super(firstClause, collectPayloads);
this.classNum = classNum;
}
@@ -50,11 +51,12 @@
}
- public byte getClassNum() {
+ public byte getClassNum () {
return classNum;
}
- public void setClassNum(byte classNum) {
+
+ public void setClassNum (byte classNum) {
this.classNum = classNum;
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanRelationMatchQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanRelationMatchQuery.java
index 5bc962a..0fac2a3 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanRelationMatchQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanRelationMatchQuery.java
@@ -12,14 +12,15 @@
import de.ids_mannheim.korap.query.spans.FocusSpans;
-public class SpanRelationMatchQuery extends SimpleSpanQuery{
+public class SpanRelationMatchQuery extends SimpleSpanQuery {
private SpanQuery operandQuery;
private SpanQuery operand2Query;
private SpanRelationQuery relationQuery;
- public SpanRelationMatchQuery (SpanRelationQuery relation, SpanQuery operand,
- boolean collectPayloads) {
+
+ public SpanRelationMatchQuery (SpanRelationQuery relation,
+ SpanQuery operand, boolean collectPayloads) {
checkVariables(relation, operand);
SpanFocusQuery sq = new SpanFocusQuery(new SpanSegmentQuery(
@@ -34,8 +35,10 @@
this.collectPayloads = collectPayloads;
}
- public SpanRelationMatchQuery (SpanRelationQuery relation, SpanQuery source,
- SpanQuery target, boolean collectPayloads) {
+
+ public SpanRelationMatchQuery (SpanRelationQuery relation,
+ SpanQuery source, SpanQuery target,
+ boolean collectPayloads) {
checkVariables(relation, source, target);
SpanFocusQuery sq = null;
@@ -63,7 +66,8 @@
}
- public void checkVariables(SpanRelationQuery relation, SpanQuery operand) {
+
+ public void checkVariables (SpanRelationQuery relation, SpanQuery operand) {
if (relation == null) {
throw new IllegalArgumentException(
"The relation query cannot be null.");
@@ -80,8 +84,10 @@
this.relationQuery = relation;
this.operandQuery = operand;
}
-
- public void checkVariables(SpanRelationQuery relation, SpanQuery operand, SpanQuery target) {
+
+
+ public void checkVariables (SpanRelationQuery relation, SpanQuery operand,
+ SpanQuery target) {
checkVariables(relation, operand);
if (target == null) {
if (operand == null) {
@@ -96,8 +102,9 @@
this.operand2Query = target;
}
+
@Override
- public SimpleSpanQuery clone() {
+ public SimpleSpanQuery clone () {
if (operand2Query != null) {
return new SpanRelationMatchQuery(
(SpanRelationQuery) relationQuery.clone(),
@@ -110,16 +117,18 @@
(SpanQuery) operandQuery.clone(), collectPayloads);
}
+
@Override
- public Spans getSpans(AtomicReaderContext context, Bits acceptDocs,
+ public Spans getSpans (AtomicReaderContext context, Bits acceptDocs,
Map<Term, TermContext> termContexts) throws IOException {
return new FocusSpans((SpanFocusQuery) firstClause, context,
acceptDocs, termContexts);
}
+
@Override
- public String toString(String field) {
+ public String toString (String field) {
return getFirstClause().toString();
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanRelationQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanRelationQuery.java
index 8d06a7e..65b8786 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanRelationQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanRelationQuery.java
@@ -62,7 +62,10 @@
private byte sourceClass;
private byte targetClass;
- private List<Byte> tempClassNumbers = Arrays.asList(tempSourceNum, tempTargetNum);
+ private List<Byte> tempClassNumbers = Arrays.asList(tempSourceNum,
+ tempTargetNum);
+
+
/**
* Constructs a SpanRelationQuery based on the given span query.
*
@@ -83,14 +86,16 @@
}
}
+
public SpanRelationQuery (SpanQuery firstClause, List<Byte> classNumbers,
- boolean collectPayloads) {
+ boolean collectPayloads) {
this(firstClause, collectPayloads);
this.tempClassNumbers = classNumbers;
this.tempSourceNum = classNumbers.get(0);
this.tempTargetNum = classNumbers.get(1);
}
+
@Override
public SimpleSpanQuery clone () {
SimpleSpanQuery sq = new SpanRelationQuery(
@@ -132,43 +137,53 @@
return sb.toString();
}
- public int getDirection() {
+
+ public int getDirection () {
return direction;
}
- public void setDirection(int direction) {
+
+ public void setDirection (int direction) {
this.direction = direction;
}
- public List<Byte> getTempClassNumbers() {
+
+ public List<Byte> getTempClassNumbers () {
return tempClassNumbers;
}
- public void setTempClassNumbers(List<Byte> classNumbers) {
+
+ public void setTempClassNumbers (List<Byte> classNumbers) {
this.tempClassNumbers = classNumbers;
}
- public byte getTempSourceNum() {
+
+ public byte getTempSourceNum () {
return tempSourceNum;
}
- public void setTempSourceNum(byte sourceNum) {
+
+ public void setTempSourceNum (byte sourceNum) {
this.tempSourceNum = sourceNum;
}
- public byte getTempTargetNum() {
+
+ public byte getTempTargetNum () {
return tempTargetNum;
}
- public void setTempTargetNum(byte targetNum) {
+
+ public void setTempTargetNum (byte targetNum) {
this.tempTargetNum = targetNum;
}
- public byte getSourceClass() {
+
+ public byte getSourceClass () {
return sourceClass;
}
- public void setSourceClass(byte sourceClass)
+
+ public void setSourceClass (byte sourceClass)
throws IllegalArgumentException {
if (sourceClass < 1) {
throw new IllegalArgumentException(
@@ -178,11 +193,13 @@
this.sourceClass = sourceClass;
}
- public byte getTargetClass() {
+
+ public byte getTargetClass () {
return targetClass;
}
- public void setTargetClass(byte targetClass)
+
+ public void setTargetClass (byte targetClass)
throws IllegalArgumentException {
if (targetClass < 1) {
throw new IllegalArgumentException(
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java
index 7e75543..29189e2 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java
@@ -46,6 +46,7 @@
this(firstClause, secondClause, true);
}
+
/**
* Constructs a SpanSegmentQuery from the two given SpanQueries.
*
@@ -60,7 +61,7 @@
* <code>false</code>.
*/
public SpanSegmentQuery (SpanQuery firstClause, SpanQuery secondClause,
- boolean collectPayloads) {
+ boolean collectPayloads) {
super(firstClause, secondClause, collectPayloads);
if (firstClause instanceof SpanRelationQuery) {
isRelation = true;
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ClassFilteredSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ClassFilteredSpans.java
index bfd5f11..28459cf 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ClassFilteredSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ClassFilteredSpans.java
@@ -20,9 +20,11 @@
private ClassOperation operation;
private byte classNum1, classNum2;
+
public ClassFilteredSpans (SpanClassFilterQuery query,
- AtomicReaderContext context, Bits acceptDocs,
- Map<Term, TermContext> termContexts) throws IOException {
+ AtomicReaderContext context, Bits acceptDocs,
+ Map<Term, TermContext> termContexts)
+ throws IOException {
super(query, context, acceptDocs, termContexts);
this.operation = query.getOperation();
this.classNum1 = query.getClassNum1();
@@ -30,8 +32,9 @@
hasMoreSpans = firstSpans.next();
}
+
@Override
- public boolean next() throws IOException {
+ public boolean next () throws IOException {
while (hasMoreSpans) {
matchPayload.clear();
bitset1 = null;
@@ -49,17 +52,21 @@
return false;
}
- private boolean isClassOperationValid() throws IOException {
+
+ private boolean isClassOperationValid () throws IOException {
setBitsets();
- int cardinality = Math.max(bitset1.cardinality(), bitset2.cardinality());
+ int cardinality = Math
+ .max(bitset1.cardinality(), bitset2.cardinality());
bitset1.and(bitset2);
// System.out.println("cardinality:" + cardinality);
switch (operation) {
case DISJOINT:
- if (bitset1.cardinality() == 0) return true;
+ if (bitset1.cardinality() == 0)
+ return true;
break;
case EQUAL:
- if (cardinality == bitset1.cardinality()) return true;
+ if (cardinality == bitset1.cardinality())
+ return true;
break;
case DIFFER:
if (cardinality == 0 || cardinality != bitset1.cardinality())
@@ -71,19 +78,21 @@
}
break;
case INTERSECT:
- if (bitset1.cardinality() > 0) return true;
+ if (bitset1.cardinality() > 0)
+ return true;
break;
}
return false;
}
- private void setBitsets() throws IOException {
+
+ private void setBitsets () throws IOException {
BitSet bs = new BitSet();
int start, end;
// System.out.println("------------------------");
for (byte[] payload : firstSpans.getPayload()) {
- if (payload.length == 9){
+ if (payload.length == 9) {
start = byte2int(payload, 0) + 1;
end = byte2int(payload, 4) + 1;
if (payload[8] == classNum1) {
@@ -118,14 +127,16 @@
}
+
@Override
- public boolean skipTo(int target) throws IOException {
+ public boolean skipTo (int target) throws IOException {
// TODO Auto-generated method stub
return false;
}
+
@Override
- public long cost() {
+ public long cost () {
// TODO Auto-generated method stub
return 0;
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java
index ac83c4d..09cc05b 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java
@@ -128,7 +128,7 @@
};
- protected boolean addClassPayload() throws IOException {
+ protected boolean addClassPayload () throws IOException {
hasmorespans = true;
classedPayload.clear();
@@ -151,7 +151,7 @@
// Add highlight information as byte array
classedPayload.add(bb.array());
-
+
if (spans instanceof SimpleSpans) {
SimpleSpans ss = (SimpleSpans) spans;
this.hasSpanId = ss.hasSpanId;
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ReferenceSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ReferenceSpans.java
index a860afd..cae4c5a 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ReferenceSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ReferenceSpans.java
@@ -16,6 +16,7 @@
private byte classNum;
+
public ReferenceSpans (SpanReferenceQuery query,
AtomicReaderContext context, Bits acceptDocs,
Map<Term, TermContext> termContexts)
@@ -43,7 +44,7 @@
private boolean hasSameClassPosition () throws IOException {
- int start=0, end=0;
+ int start = 0, end = 0;
boolean isFound = false;
boolean match = false;
@@ -52,7 +53,8 @@
for (byte[] payload : firstSpans.getPayload()) {
if (payload.length == 9 && payload[8] == classNum) {
if (isFound) {
- if (start == byte2int(payload, 0) && end == byte2int(payload, 4)){
+ if (start == byte2int(payload, 0)
+ && end == byte2int(payload, 4)) {
match = true;
continue;
}
@@ -86,7 +88,7 @@
@Override
- public long cost() {
+ public long cost () {
return firstSpans.cost();
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java
index 66afdbe..979b359 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java
@@ -61,6 +61,7 @@
private byte tempSourceNum, tempTargetNum;
private byte sourceClass, targetClass;
+
/**
* Constructs RelationSpans from the given
* {@link SpanRelationQuery}.
@@ -251,7 +252,8 @@
cs.setPayloads(payload);
}
- private byte[] createClassPayload(int start, int end, byte classNumber,
+
+ private byte[] createClassPayload (int start, int end, byte classNumber,
boolean keep) {
ByteBuffer buffer = null;
if (keep) {
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanReferenceQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanReferenceQueryWrapper.java
index 02a734f..8b4c54d 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanReferenceQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanReferenceQueryWrapper.java
@@ -10,8 +10,9 @@
private SpanQueryWrapper subQuery;
private byte classNum;
+
public SpanReferenceQueryWrapper (SpanQueryWrapper subQueryWrapper,
- byte classNum) {
+ byte classNum) {
this.subQuery = subQueryWrapper;
if (subQuery != null) {
this.isNull = false;
@@ -30,17 +31,19 @@
}
this.classNum = classNum;
}
-
+
+
@Override
- public SpanQuery toQuery() throws QueryException {
+ public SpanQuery toQuery () throws QueryException {
if (this.isNull() || this.isEmpty()) {
return null;
}
SpanQuery sq = subQuery.retrieveNode(this.retrieveNode).toQuery();
- if (sq == null) return null;
-
+ if (sq == null)
+ return null;
+
return new SpanReferenceQuery(sq, classNum, true);
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRelationWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRelationWrapper.java
index 2535ce9..992787c 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRelationWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRelationWrapper.java
@@ -14,8 +14,10 @@
private SpanQueryWrapper subQuery1;
private SpanQueryWrapper subQuery2;
+
public SpanRelationWrapper (SpanQueryWrapper relationWrapper,
- SpanQueryWrapper operand1, SpanQueryWrapper operand2) {
+ SpanQueryWrapper operand1,
+ SpanQueryWrapper operand2) {
this.relationQuery = relationWrapper;
if (relationQuery != null) {
@@ -35,17 +37,17 @@
@Override
- public SpanQuery toQuery() throws QueryException {
+ public SpanQuery toQuery () throws QueryException {
if (this.isNull() || this.isEmpty()) {
return null;
}
- SpanTermQuery relationTermQuery = (SpanTermQuery) relationQuery.retrieveNode(
- this.retrieveNode).toQuery();
+ SpanTermQuery relationTermQuery = (SpanTermQuery) relationQuery
+ .retrieveNode(this.retrieveNode).toQuery();
if (relationTermQuery == null)
return null;
-
+
SpanRelationQuery rq = new SpanRelationQuery(relationTermQuery, true);
SpanQuery subq1, subq2;
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java
index 08c33b1..211c113 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java
@@ -477,8 +477,8 @@
String unit, boolean exclusion) {
if (DEBUG)
- log.trace("With contraint {}-{} (unit {}, excl {})",
- min, max, unit, exclusion);
+ log.trace("With contraint {}-{} (unit {}, excl {})", min, max,
+ unit, exclusion);
// Word unit
if (unit.equals("w")) {
@@ -537,8 +537,8 @@
SpanElementQueryWrapper unit, boolean exclusion) {
if (DEBUG)
- log.trace("With contraint {}-{} (unit {}, excl {})",
- min, max, unit.toString(), exclusion);
+ log.trace("With contraint {}-{} (unit {}, excl {})", min, max,
+ unit.toString(), exclusion);
if (this.constraints == null)
this.constraints = new ArrayList<DistanceConstraint>(1);
@@ -601,10 +601,8 @@
// that will be optimized away later on
if (this.constraints.size() == 1) {
DistanceConstraint dc = this.constraints.get(0);
- if (dc.getUnit().equals("w") &&
- dc.getMinDistance() == 1 &&
- dc.getMaxDistance() == 1 &&
- this.isInOrder) {
+ if (dc.getUnit().equals("w") && dc.getMinDistance() == 1
+ && dc.getMaxDistance() == 1 && this.isInOrder) {
return false;
};
};
diff --git a/src/main/java/de/ids_mannheim/korap/response/Response.java b/src/main/java/de/ids_mannheim/korap/response/Response.java
index 2af28ab..674cd0b 100644
--- a/src/main/java/de/ids_mannheim/korap/response/Response.java
+++ b/src/main/java/de/ids_mannheim/korap/response/Response.java
@@ -40,9 +40,9 @@
private KrillMeta meta;
private KrillCollection collection;
+ private KrillQuery query;
private String version, name, node, listener;
- private KrillQuery query;
private long totalResources = -2, // Not set
totalResults = -2; // Not set
@@ -403,7 +403,9 @@
this.collection = collection;
// Move messages from the collection
- return (Response) this.moveNotificationsFrom(collection);
+ Response resp = (Response) this.moveNotificationsFrom(collection);
+
+ return resp;
};
@@ -468,9 +470,8 @@
json.put("meta", metaNode);
};
- ObjectNode meta = json.has("meta") ?
- (ObjectNode) json.get("meta") :
- (ObjectNode) json.putObject("meta");
+ ObjectNode meta = json.has("meta") ? (ObjectNode) json.get("meta")
+ : (ObjectNode) json.putObject("meta");
if (sb.length() > 0)
meta.put("version", sb.toString());
@@ -503,8 +504,8 @@
};
// KoralQuery collection object
- if (this.collection != null
- && this.collection.getFilters().toArray().length > 0) {
+ if (this.collection != null) {
+ // && this.collection.getFilters().toArray().length > 0) {
JsonNode collNode = this.collection.toJsonNode();
if (collNode != null)
json.put("collection", collNode);
diff --git a/src/main/java/de/ids_mannheim/korap/response/Result.java b/src/main/java/de/ids_mannheim/korap/response/Result.java
index c120d43..bc57674 100644
--- a/src/main/java/de/ids_mannheim/korap/response/Result.java
+++ b/src/main/java/de/ids_mannheim/korap/response/Result.java
@@ -327,9 +327,8 @@
private void _addMeta (ObjectNode json) {
- ObjectNode meta = json.has("meta") ?
- (ObjectNode) json.get("meta") :
- (ObjectNode) json.putObject("meta");
+ ObjectNode meta = json.has("meta") ? (ObjectNode) json.get("meta")
+ : (ObjectNode) json.putObject("meta");
// Relevant context setting