@Override public BooleanQuery clone(final BooleanParent newParent, final boolean generated) { return clone(newParent, this.occur, generated); }
@Override public BooleanQuery clone(final DisjunctionMaxQuery newParent, boolean generated) { return clone((BooleanParent) newParent, generated); }
@Override public BooleanClause clone(final BooleanQuery newParent) { return clone((BooleanParent) newParent); }
@Override public BooleanQuery clone(final BooleanParent newParent) { return clone(newParent, this.occur, this.generated); }
@Override public BooleanClause clone(final BooleanQuery newParent, final boolean generated) { return clone((BooleanParent) newParent, generated); }
@Override public BooleanClause clone(final BooleanQuery newParent, final Occur occur) { return clone((BooleanParent) newParent, occur, this.generated); }
@Override public BooleanClause clone(final BooleanQuery newParent, final Occur occur, final boolean generated) { return clone((BooleanParent) newParent, occur, generated); }
@Test public void testThatClonePreservesGeneratedAndOccur() throws Exception { BooleanQuery bq = new BooleanQuery(null, MUST_NOT, true); final BooleanClause clone = bq.clone(null); assertEquals(MUST_NOT, clone.getOccur()); assertTrue(clone.isGenerated()); }
@Test public void testThatGeneratedIsPropagatedToClauses() throws Exception { BooleanQuery bq = new BooleanQuery(null, SHOULD, false); DisjunctionMaxQuery dmq = new DisjunctionMaxQuery(bq, Clause.Occur.SHOULD, false); bq.addClause(dmq); dmq.addClause(new Term(dmq, "Test", false)); final BooleanQuery clone = (BooleanQuery) bq.clone(null, MUST, true); assertThat(clone, bq(must(), dmq(should(), term("Test", true)))); assertTrue(clone.isGenerated()); assertTrue(clone.getClauses().get(0).isGenerated()); assertEquals(MUST, clone.getOccur()); } }