: I found out that there are more of those in the facets module. Can we : change those to be real *inner* classes or put them in separate files?
+1 ... it's a really obnoxiou missfeature of java in my opinion ... are there any static tools we can enable to fail the build for classes like these? : ----- : Uwe Schindler : H.-H.-Meier-Allee 63, D-28213 Bremen : http://www.thetaphi.de : eMail: u...@thetaphi.de : : > -----Original Message----- : > From: uschind...@apache.org [mailto:uschind...@apache.org] : > Sent: Monday, May 16, 2016 7:54 PM : > To: comm...@lucene.apache.org : > Subject: lucene-solr:master: Move non-inner classes to separate files: This : > breaks IDEs and update checks by javac : > : > Repository: lucene-solr : > Updated Branches: : > refs/heads/master 6620fd142 -> ae93f4e7a : > : > : > Move non-inner classes to separate files: This breaks IDEs and update checks : > by javac : > : > : > Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo : > Commit: http://git-wip-us.apache.org/repos/asf/lucene- : > solr/commit/ae93f4e7 : > Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ae93f4e7 : > Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ae93f4e7 : > : > Branch: refs/heads/master : > Commit: ae93f4e7ac6a3908046391de35d4f50a0d3c59ca : > Parents: 6620fd1 : > Author: Uwe Schindler <uschind...@apache.org> : > Authored: Mon May 16 19:54:10 2016 +0200 : > Committer: Uwe Schindler <uschind...@apache.org> : > Committed: Mon May 16 19:54:10 2016 +0200 : > : > ---------------------------------------------------------------------- : > .../solr/search/facet/UniqueMultiDvSlotAcc.java | 86 ++++++++++ : > .../search/facet/UniqueMultivaluedSlotAcc.java | 69 ++++++++ : > .../search/facet/UniqueSinglevaluedSlotAcc.java | 81 +++++++++ : > .../apache/solr/search/facet/UniqueSlotAcc.java | 165 ------------------- : > 4 files changed, 236 insertions(+), 165 deletions(-) : > ---------------------------------------------------------------------- : > : > : > http://git-wip-us.apache.org/repos/asf/lucene- : > solr/blob/ae93f4e7/solr/core/src/java/org/apache/solr/search/facet/Unique : > MultiDvSlotAcc.java : > ---------------------------------------------------------------------- : > diff --git : > a/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.ja : > va : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.ja : > va : > new file mode 100644 : > index 0000000..4c29753 : > --- /dev/null : > +++ : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.ja : > va : > @@ -0,0 +1,86 @@ : > +/* : > + * Licensed to the Apache Software Foundation (ASF) under one or more : > + * contributor license agreements. See the NOTICE file distributed with : > + * this work for additional information regarding copyright ownership. : > + * The ASF licenses this file to You under the Apache License, Version 2.0 : > + * (the "License"); you may not use this file except in compliance with : > + * the License. You may obtain a copy of the License at : > + * : > + * http://www.apache.org/licenses/LICENSE-2.0 : > + * : > + * Unless required by applicable law or agreed to in writing, software : > + * distributed under the License is distributed on an "AS IS" BASIS, : > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or : > implied. : > + * See the License for the specific language governing permissions and : > + * limitations under the License. : > + */ : > + : > +package org.apache.solr.search.facet; : > + : > +import java.io.IOException; : > + : > +import org.apache.lucene.index.LeafReaderContext; : > +import org.apache.lucene.index.MultiDocValues; : > +import org.apache.lucene.index.SortedSetDocValues; : > +import org.apache.lucene.util.BytesRef; : > +import org.apache.lucene.util.FixedBitSet; : > +import org.apache.lucene.util.LongValues; : > +import org.apache.solr.search.SolrIndexSearcher; : > + : > +class UniqueMultiDvSlotAcc extends UniqueSlotAcc { : > + final SortedSetDocValues topLevel; : > + final SortedSetDocValues[] subDvs; : > + final MultiDocValues.OrdinalMap ordMap; : > + LongValues toGlobal; : > + SortedSetDocValues subDv; : > + : > + public UniqueMultiDvSlotAcc(FacetContext fcontext, String field, int : > numSlots, HLLAgg.HLLFactory factory) throws IOException { : > + super(fcontext, field, numSlots, factory); : > + SolrIndexSearcher searcher = fcontext.qcontext.searcher(); : > + topLevel = FieldUtil.getSortedSetDocValues(fcontext.qcontext, : > searcher.getSchema().getField(field), null); : > + nTerms = (int) topLevel.getValueCount(); : > + if (topLevel instanceof MultiDocValues.MultiSortedSetDocValues) { : > + ordMap = ((MultiDocValues.MultiSortedSetDocValues) : > topLevel).mapping; : > + subDvs = ((MultiDocValues.MultiSortedSetDocValues) topLevel).values; : > + } else { : > + ordMap = null; : > + subDvs = null; : > + } : > + } : > + : > + @Override : > + protected BytesRef lookupOrd(int ord) { : > + return topLevel.lookupOrd(ord); : > + } : > + : > + @Override : > + public void setNextReader(LeafReaderContext readerContext) throws : > IOException { : > + super.setNextReader(readerContext); : > + if (subDvs != null) { : > + subDv = subDvs[readerContext.ord]; : > + toGlobal = ordMap.getGlobalOrds(readerContext.ord); : > + } else { : > + assert readerContext.ord==0 || topLevel.getValueCount() == 0; : > + subDv = topLevel; : > + } : > + } : > + : > + @Override : > + public void collect(int doc, int slotNum) { : > + subDv.setDocument(doc); : > + int segOrd = (int) subDv.nextOrd(); : > + if (segOrd < 0) return; : > + : > + FixedBitSet bits = arr[slotNum]; : > + if (bits == null) { : > + bits = new FixedBitSet(nTerms); : > + arr[slotNum] = bits; : > + } : > + : > + do { : > + int ord = toGlobal == null ? segOrd : (int) toGlobal.get(segOrd); : > + bits.set(ord); : > + segOrd = (int) subDv.nextOrd(); : > + } while (segOrd >= 0); : > + } : > +} : > \ No newline at end of file : > : > http://git-wip-us.apache.org/repos/asf/lucene- : > solr/blob/ae93f4e7/solr/core/src/java/org/apache/solr/search/facet/Unique : > MultivaluedSlotAcc.java : > ---------------------------------------------------------------------- : > diff --git : > a/solr/core/src/java/org/apache/solr/search/facet/UniqueMultivaluedSlotA : > cc.java : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueMultivaluedSlotA : > cc.java : > new file mode 100644 : > index 0000000..56a498e : > --- /dev/null : > +++ : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueMultivaluedSlotA : > cc.java : > @@ -0,0 +1,69 @@ : > +/* : > + * Licensed to the Apache Software Foundation (ASF) under one or more : > + * contributor license agreements. See the NOTICE file distributed with : > + * this work for additional information regarding copyright ownership. : > + * The ASF licenses this file to You under the Apache License, Version 2.0 : > + * (the "License"); you may not use this file except in compliance with : > + * the License. You may obtain a copy of the License at : > + * : > + * http://www.apache.org/licenses/LICENSE-2.0 : > + * : > + * Unless required by applicable law or agreed to in writing, software : > + * distributed under the License is distributed on an "AS IS" BASIS, : > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or : > implied. : > + * See the License for the specific language governing permissions and : > + * limitations under the License. : > + */ : > + : > +package org.apache.solr.search.facet; : > + : > +import java.io.IOException; : > + : > +import org.apache.lucene.util.BytesRef; : > +import org.apache.lucene.util.FixedBitSet; : > +import org.apache.solr.search.SolrIndexSearcher; : > + : > +class UniqueMultivaluedSlotAcc extends UniqueSlotAcc implements : > UnInvertedField.Callback { : > + private UnInvertedField uif; : > + private UnInvertedField.DocToTerm docToTerm; : > + : > + public UniqueMultivaluedSlotAcc(FacetContext fcontext, String field, int : > numSlots, HLLAgg.HLLFactory factory) throws IOException { : > + super(fcontext, field, numSlots, factory); : > + SolrIndexSearcher searcher = fcontext.qcontext.searcher(); : > + uif = UnInvertedField.getUnInvertedField(field, searcher); : > + docToTerm = uif.new DocToTerm(); : > + fcontext.qcontext.addCloseHook(this); // TODO: find way to close : > accumulators instead of using close hook? : > + nTerms = uif.numTerms(); : > + } : > + : > + @Override : > + protected BytesRef lookupOrd(int ord) throws IOException { : > + return docToTerm.lookupOrd(ord); : > + } : > + : > + private FixedBitSet bits; // bits for the current slot, only set for the callback : > + : > + @Override : > + public void call(int termNum) { : > + bits.set(termNum); : > + } : > + : > + @Override : > + public void collect(int doc, int slotNum) throws IOException { : > + bits = arr[slotNum]; : > + if (bits == null) { : > + bits = new FixedBitSet(nTerms); : > + arr[slotNum] = bits; : > + } : > + docToTerm.getBigTerms(doc + currentDocBase, this); // this will call back : > to our Callback.call(int termNum) : > + docToTerm.getSmallTerms(doc + currentDocBase, this); : > + } : > + : > + @Override : > + public void close() throws IOException { : > + if (docToTerm != null) { : > + docToTerm.close(); : > + docToTerm = null; : > + } : > + } : > +} : > \ No newline at end of file : > : > http://git-wip-us.apache.org/repos/asf/lucene- : > solr/blob/ae93f4e7/solr/core/src/java/org/apache/solr/search/facet/Unique : > SinglevaluedSlotAcc.java : > ---------------------------------------------------------------------- : > diff --git : > a/solr/core/src/java/org/apache/solr/search/facet/UniqueSinglevaluedSlotA : > cc.java : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueSinglevaluedSlotA : > cc.java : > new file mode 100644 : > index 0000000..c67fd47 : > --- /dev/null : > +++ : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueSinglevaluedSlotA : > cc.java : > @@ -0,0 +1,81 @@ : > +/* : > + * Licensed to the Apache Software Foundation (ASF) under one or more : > + * contributor license agreements. See the NOTICE file distributed with : > + * this work for additional information regarding copyright ownership. : > + * The ASF licenses this file to You under the Apache License, Version 2.0 : > + * (the "License"); you may not use this file except in compliance with : > + * the License. You may obtain a copy of the License at : > + * : > + * http://www.apache.org/licenses/LICENSE-2.0 : > + * : > + * Unless required by applicable law or agreed to in writing, software : > + * distributed under the License is distributed on an "AS IS" BASIS, : > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or : > implied. : > + * See the License for the specific language governing permissions and : > + * limitations under the License. : > + */ : > + : > +package org.apache.solr.search.facet; : > + : > +import java.io.IOException; : > + : > +import org.apache.lucene.index.LeafReaderContext; : > +import org.apache.lucene.index.MultiDocValues; : > +import org.apache.lucene.index.SortedDocValues; : > +import org.apache.lucene.util.BytesRef; : > +import org.apache.lucene.util.FixedBitSet; : > +import org.apache.lucene.util.LongValues; : > +import org.apache.solr.search.SolrIndexSearcher; : > + : > +class UniqueSinglevaluedSlotAcc extends UniqueSlotAcc { : > + final SortedDocValues topLevel; : > + final SortedDocValues[] subDvs; : > + final MultiDocValues.OrdinalMap ordMap; : > + LongValues toGlobal; : > + SortedDocValues subDv; : > + : > + public UniqueSinglevaluedSlotAcc(FacetContext fcontext, String field, int : > numSlots, HLLAgg.HLLFactory factory) throws IOException { : > + super(fcontext, field, numSlots, factory); : > + SolrIndexSearcher searcher = fcontext.qcontext.searcher(); : > + topLevel = FieldUtil.getSortedDocValues(fcontext.qcontext, : > searcher.getSchema().getField(field), null); : > + nTerms = topLevel.getValueCount(); : > + if (topLevel instanceof MultiDocValues.MultiSortedDocValues) { : > + ordMap = ((MultiDocValues.MultiSortedDocValues)topLevel).mapping; : > + subDvs = ((MultiDocValues.MultiSortedDocValues)topLevel).values; : > + } else { : > + ordMap = null; : > + subDvs = null; : > + } : > + } : > + : > + @Override : > + protected BytesRef lookupOrd(int ord) { : > + return topLevel.lookupOrd(ord); : > + } : > + : > + @Override : > + public void setNextReader(LeafReaderContext readerContext) throws : > IOException { : > + super.setNextReader(readerContext); : > + if (subDvs != null) { : > + subDv = subDvs[readerContext.ord]; : > + toGlobal = ordMap.getGlobalOrds(readerContext.ord); : > + } else { : > + assert readerContext.ord==0 || topLevel.getValueCount() == 0; : > + subDv = topLevel; : > + } : > + } : > + : > + @Override : > + public void collect(int doc, int slotNum) { : > + int segOrd = subDv.getOrd(doc); : > + if (segOrd < 0) return; // -1 means missing : > + int ord = toGlobal==null ? segOrd : (int)toGlobal.get(segOrd); : > + : > + FixedBitSet bits = arr[slotNum]; : > + if (bits == null) { : > + bits = new FixedBitSet(nTerms); : > + arr[slotNum] = bits; : > + } : > + bits.set(ord); : > + } : > +} : > \ No newline at end of file : > : > http://git-wip-us.apache.org/repos/asf/lucene- : > solr/blob/ae93f4e7/solr/core/src/java/org/apache/solr/search/facet/Unique : > SlotAcc.java : > ---------------------------------------------------------------------- : > diff --git : > a/solr/core/src/java/org/apache/solr/search/facet/UniqueSlotAcc.java : > b/solr/core/src/java/org/apache/solr/search/facet/UniqueSlotAcc.java : > index 94532f7..9f9e9b1 100644 : > --- a/solr/core/src/java/org/apache/solr/search/facet/UniqueSlotAcc.java : > +++ b/solr/core/src/java/org/apache/solr/search/facet/UniqueSlotAcc.java : > @@ -22,17 +22,12 @@ import java.util.List; : > : > import org.apache.solr.util.hll.HLL; : > import org.apache.lucene.index.LeafReaderContext; : > -import org.apache.lucene.index.MultiDocValues; : > -import org.apache.lucene.index.SortedDocValues; : > -import org.apache.lucene.index.SortedSetDocValues; : > import org.apache.lucene.search.DocIdSetIterator; : > import org.apache.lucene.util.BytesRef; : > import org.apache.lucene.util.FixedBitSet; : > -import org.apache.lucene.util.LongValues; : > import org.apache.solr.common.util.Hash; : > import org.apache.solr.common.util.SimpleOrderedMap; : > import org.apache.solr.schema.SchemaField; : > -import org.apache.solr.search.SolrIndexSearcher; : > : > abstract class UniqueSlotAcc extends SlotAcc { : > HLLAgg.HLLFactory factory; : > @@ -161,164 +156,4 @@ abstract class UniqueSlotAcc extends SlotAcc { : > public void resize(Resizer resizer) { : > arr = resizer.resize(arr, null); : > } : > -} : > - : > - : > -class UniqueSinglevaluedSlotAcc extends UniqueSlotAcc { : > - final SortedDocValues topLevel; : > - final SortedDocValues[] subDvs; : > - final MultiDocValues.OrdinalMap ordMap; : > - LongValues toGlobal; : > - SortedDocValues subDv; : > - : > - public UniqueSinglevaluedSlotAcc(FacetContext fcontext, String field, int : > numSlots, HLLAgg.HLLFactory factory) throws IOException { : > - super(fcontext, field, numSlots, factory); : > - SolrIndexSearcher searcher = fcontext.qcontext.searcher(); : > - topLevel = FieldUtil.getSortedDocValues(fcontext.qcontext, : > searcher.getSchema().getField(field), null); : > - nTerms = topLevel.getValueCount(); : > - if (topLevel instanceof MultiDocValues.MultiSortedDocValues) { : > - ordMap = ((MultiDocValues.MultiSortedDocValues)topLevel).mapping; : > - subDvs = ((MultiDocValues.MultiSortedDocValues)topLevel).values; : > - } else { : > - ordMap = null; : > - subDvs = null; : > - } : > - } : > - : > - @Override : > - protected BytesRef lookupOrd(int ord) { : > - return topLevel.lookupOrd(ord); : > - } : > - : > - @Override : > - public void setNextReader(LeafReaderContext readerContext) throws : > IOException { : > - super.setNextReader(readerContext); : > - if (subDvs != null) { : > - subDv = subDvs[readerContext.ord]; : > - toGlobal = ordMap.getGlobalOrds(readerContext.ord); : > - } else { : > - assert readerContext.ord==0 || topLevel.getValueCount() == 0; : > - subDv = topLevel; : > - } : > - } : > - : > - @Override : > - public void collect(int doc, int slotNum) { : > - int segOrd = subDv.getOrd(doc); : > - if (segOrd < 0) return; // -1 means missing : > - int ord = toGlobal==null ? segOrd : (int)toGlobal.get(segOrd); : > - : > - FixedBitSet bits = arr[slotNum]; : > - if (bits == null) { : > - bits = new FixedBitSet(nTerms); : > - arr[slotNum] = bits; : > - } : > - bits.set(ord); : > - } : > -} : > - : > - : > -class UniqueMultiDvSlotAcc extends UniqueSlotAcc { : > - final SortedSetDocValues topLevel; : > - final SortedSetDocValues[] subDvs; : > - final MultiDocValues.OrdinalMap ordMap; : > - LongValues toGlobal; : > - SortedSetDocValues subDv; : > - : > - public UniqueMultiDvSlotAcc(FacetContext fcontext, String field, int : > numSlots, HLLAgg.HLLFactory factory) throws IOException { : > - super(fcontext, field, numSlots, factory); : > - SolrIndexSearcher searcher = fcontext.qcontext.searcher(); : > - topLevel = FieldUtil.getSortedSetDocValues(fcontext.qcontext, : > searcher.getSchema().getField(field), null); : > - nTerms = (int) topLevel.getValueCount(); : > - if (topLevel instanceof MultiDocValues.MultiSortedSetDocValues) { : > - ordMap = ((MultiDocValues.MultiSortedSetDocValues) : > topLevel).mapping; : > - subDvs = ((MultiDocValues.MultiSortedSetDocValues) topLevel).values; : > - } else { : > - ordMap = null; : > - subDvs = null; : > - } : > - } : > - : > - @Override : > - protected BytesRef lookupOrd(int ord) { : > - return topLevel.lookupOrd(ord); : > - } : > - : > - @Override : > - public void setNextReader(LeafReaderContext readerContext) throws : > IOException { : > - super.setNextReader(readerContext); : > - if (subDvs != null) { : > - subDv = subDvs[readerContext.ord]; : > - toGlobal = ordMap.getGlobalOrds(readerContext.ord); : > - } else { : > - assert readerContext.ord==0 || topLevel.getValueCount() == 0; : > - subDv = topLevel; : > - } : > - } : > - : > - @Override : > - public void collect(int doc, int slotNum) { : > - subDv.setDocument(doc); : > - int segOrd = (int) subDv.nextOrd(); : > - if (segOrd < 0) return; : > - : > - FixedBitSet bits = arr[slotNum]; : > - if (bits == null) { : > - bits = new FixedBitSet(nTerms); : > - arr[slotNum] = bits; : > - } : > - : > - do { : > - int ord = toGlobal == null ? segOrd : (int) toGlobal.get(segOrd); : > - bits.set(ord); : > - segOrd = (int) subDv.nextOrd(); : > - } while (segOrd >= 0); : > - } : > -} : > - : > - : > - : > -class UniqueMultivaluedSlotAcc extends UniqueSlotAcc implements : > UnInvertedField.Callback { : > - private UnInvertedField uif; : > - private UnInvertedField.DocToTerm docToTerm; : > - : > - public UniqueMultivaluedSlotAcc(FacetContext fcontext, String field, int : > numSlots, HLLAgg.HLLFactory factory) throws IOException { : > - super(fcontext, field, numSlots, factory); : > - SolrIndexSearcher searcher = fcontext.qcontext.searcher(); : > - uif = UnInvertedField.getUnInvertedField(field, searcher); : > - docToTerm = uif.new DocToTerm(); : > - fcontext.qcontext.addCloseHook(this); // TODO: find way to close : > accumulators instead of using close hook? : > - nTerms = uif.numTerms(); : > - } : > - : > - @Override : > - protected BytesRef lookupOrd(int ord) throws IOException { : > - return docToTerm.lookupOrd(ord); : > - } : > - : > - private FixedBitSet bits; // bits for the current slot, only set for the callback : > - : > - @Override : > - public void call(int termNum) { : > - bits.set(termNum); : > - } : > - : > - @Override : > - public void collect(int doc, int slotNum) throws IOException { : > - bits = arr[slotNum]; : > - if (bits == null) { : > - bits = new FixedBitSet(nTerms); : > - arr[slotNum] = bits; : > - } : > - docToTerm.getBigTerms(doc + currentDocBase, this); // this will call back : > to our Callback.call(int termNum) : > - docToTerm.getSmallTerms(doc + currentDocBase, this); : > - } : > - : > - @Override : > - public void close() throws IOException { : > - if (docToTerm != null) { : > - docToTerm.close(); : > - docToTerm = null; : > - } : > - } : > } : > \ No newline at end of file : : : --------------------------------------------------------------------- : To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org : For additional commands, e-mail: dev-h...@lucene.apache.org : : -Hoss http://www.lucidworks.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org