@Override public char charAt(final int index) { return value.charAt(index); }
@Override public int length() { return value.length(); }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (isPrefix ? 1231 : 1237); result = prime * result + ((queryTerm == null) ? 0 : queryTerm.hashCode()); result = prime * result + ((wildcardMatch == null) ? 0 : wildcardMatch.hashCode()); return result; }
@Test public void testGetInputSequencesForSingleTermWithFieldName() { char[] s1 = "test".toCharArray(); Term term1 = new Term(s1, 0, s1.length, Arrays.asList("name1")); Input input = new Input(Arrays.asList(term1), false, false); List<ComparableCharSequence> sequences = input.getInputSequences(false); assertNotNull(sequences); assertEquals(1, sequences.size()); ComparableCharSequence seq = sequences.get(0); assertNotNull(seq); assertEquals(0, seq.compareTo("name1:test")); }
@Override public ComparableCharSequence subSequence(final int start, final int end) { return value.subSequence(start, end); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; TermMatch other = (TermMatch) obj; if (isPrefix != other.isPrefix) return false; if (queryTerm == null) { if (other.queryTerm != null) return false; } else if (!queryTerm.equals(other.queryTerm)) return false; if (wildcardMatch == null) { if (other.wildcardMatch != null) return false; } else if (!wildcardMatch.equals(other.wildcardMatch)) return false; return true; }
@Test public void testGetInputSequencesForSingleTermWithFieldNames() { char[] s1 = "test".toCharArray(); Term term1 = new Term(s1, 0, s1.length, Arrays.asList("name1", "name2")); Input input = new Input(Arrays.asList(term1), false, false); List<ComparableCharSequence> sequences = input.getInputSequences(false); assertNotNull(sequences); assertEquals(2, sequences.size()); ComparableCharSequence seq = sequences.get(0); assertNotNull(seq); assertEquals(0, seq.compareTo("name1:test")); seq = sequences.get(1); assertNotNull(seq); assertEquals(0, seq.compareTo("name2:test")); }
public TermMatch(querqy.model.Term queryTerm, boolean isPrefix, ComparableCharSequence wildcardMatch) { if (isPrefix) { if ((wildcardMatch == null) || (wildcardMatch.length() == 0)) { throw new IllegalArgumentException("Need a wildcard match if isPrefix for " + queryTerm.toString()); } } this.queryTerm = queryTerm; this.isPrefix = isPrefix; this.wildcardMatch = wildcardMatch; }
@Test public void testGetInputSequencesForSingleTermWithoutFieldName() { char[] s1 = "test".toCharArray(); Term term1 = new Term(s1, 0, s1.length, null); Input input = new Input(Arrays.asList(term1), false, false); List<ComparableCharSequence> sequences = input.getInputSequences(false); assertNotNull(sequences); assertEquals(1, sequences.size()); ComparableCharSequence seq = sequences.get(0); assertNotNull(seq); assertEquals(0, seq.compareTo("test")); }
@Test public void testGetInputSequencesForTermsWithoutFieldName() { char[] s1 = "test".toCharArray(); Term term1 = new Term(s1, 0, s1.length, null); char[] s2 = "test2".toCharArray(); Term term2 = new Term(s2, 0, s2.length, null); Input input = new Input(Arrays.asList(term1, term2), false, false); List<ComparableCharSequence> sequences = input.getInputSequences(false); assertNotNull(sequences); assertEquals(1, sequences.size()); ComparableCharSequence seq = sequences.get(0); assertNotNull(seq); assertEquals(0, seq.compareTo("test test2")); }