You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by nk...@apache.org on 2016/02/05 18:02:05 UTC

[01/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file [Forced Update!]

Repository: lucene-solr
Updated Branches:
  refs/heads/lucene-6997 b216c1180 -> 50a2f7549 (forced update)


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/handler/CdcrBufferManager.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrBufferManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrBufferManager.java
index fcedace..8696379 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrBufferManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrBufferManager.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler;
 
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.update.CdcrUpdateLog;


[52/87] [abbrv] lucene-solr git commit: LUCENE-7013: Fix javadocs by reverting to previous state (script failure possibly)

Posted by nk...@apache.org.
LUCENE-7013: Fix javadocs by reverting to previous state (script failure possibly)


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/eee6fa0b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/eee6fa0b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/eee6fa0b

Branch: refs/heads/lucene-6997
Commit: eee6fa0bcf1be0963e6ec9b9c36dc2f0f47c6723
Parents: 813ca77
Author: Uwe Schindler <us...@apache.org>
Authored: Thu Feb 4 20:54:18 2016 +0100
Committer: Uwe Schindler <us...@apache.org>
Committed: Thu Feb 4 20:54:18 2016 +0100

----------------------------------------------------------------------
 .../src/java/org/apache/lucene/facet/range/package-info.java     | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/eee6fa0b/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java b/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
index 8e5d812..aa41077 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
@@ -14,4 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+/**
+ * Provides range faceting capabilities. 
+ */
 package org.apache.lucene.facet.range;


[14/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/DefaultPhraseSlopQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/DefaultPhraseSlopQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/DefaultPhraseSlopQueryNodeProcessor.java
index f2fc891..fdf2195 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/DefaultPhraseSlopQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/DefaultPhraseSlopQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/FuzzyQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/FuzzyQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/FuzzyQueryNodeProcessor.java
index a2ffae4..0b8a9a7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/FuzzyQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/FuzzyQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/LowercaseExpandedTermsQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/LowercaseExpandedTermsQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/LowercaseExpandedTermsQueryNodeProcessor.java
index f81a40a..3bb2075 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/LowercaseExpandedTermsQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/LowercaseExpandedTermsQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MatchAllDocsQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MatchAllDocsQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MatchAllDocsQueryNodeProcessor.java
index f3c4ec1..89a7f82 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MatchAllDocsQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MatchAllDocsQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
index c4e5ed7..b6e3f7f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiFieldQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.ArrayList;
 import java.util.LinkedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java
index c035903..a65f680 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericQueryNodeProcessor.java
index 443a3e0..10bd6ba 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.text.NumberFormat;
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericRangeQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericRangeQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericRangeQueryNodeProcessor.java
index 7710fbc..bbe5284 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericRangeQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/NumericRangeQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.text.NumberFormat;
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/OpenRangeQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/OpenRangeQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/OpenRangeQueryNodeProcessor.java
index 483abef..190e988 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/OpenRangeQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/OpenRangeQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/PhraseSlopQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/PhraseSlopQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/PhraseSlopQueryNodeProcessor.java
index 518e2ca..bfec9d8 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/PhraseSlopQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/PhraseSlopQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/RemoveEmptyNonLeafQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/RemoveEmptyNonLeafQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/RemoveEmptyNonLeafQueryNodeProcessor.java
index ed7d403..ef183d2 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/RemoveEmptyNonLeafQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/RemoveEmptyNonLeafQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.LinkedList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
index c0cdfc5..06f38c2 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/StandardQueryNodeProcessorPipeline.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java
index 5cb0b8a..f9a4583 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.text.DateFormat;
 import java.util.Calendar;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/WildcardQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/WildcardQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/WildcardQueryNodeProcessor.java
index f5a0a61..7182575 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/WildcardQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/WildcardQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/package-info.java
index ec68c7e..63be155 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Lucene Query Node Processors.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
index fc104b3..775c7c9 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.simple;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.simple;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.simple;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/package-info.java
index 926ed17..2217329 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * A simple query parser for human-entered queries.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
index a03377f..d3cc18b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
@@ -1,5 +1,3 @@
-// FastCharStream.java
-package org.apache.lucene.queryparser.surround.parser;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.parser;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.parser;
 
 import java.io.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/package-info.java
index 78a8e71..6bdfecb 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * This package contains the QueryParser.jj source file for the Surround parser.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/AndQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/AndQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/AndQuery.java
index 9e080e6..2ed8d79 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/AndQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/AndQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.List;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.BooleanClause;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/BasicQueryFactory.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/BasicQueryFactory.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/BasicQueryFactory.java
index 59dab7e..4f01a2d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/BasicQueryFactory.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/BasicQueryFactory.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 /* Create basic queries to be used during rewrite.
  * The basic queries are TermQuery and SpanTermQuery.
  * An exception can be thrown when too many of these are used.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/ComposedQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/ComposedQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/ComposedQuery.java
index 0874a1f..e44c41f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/ComposedQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/ComposedQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java
index 62bc645..74fd3ae 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.List;
 import java.util.Iterator;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceRewriteQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceRewriteQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceRewriteQuery.java
index f54a0b5..1972a8e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceRewriteQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceRewriteQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException;
 
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceSubQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceSubQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceSubQuery.java
index ad793c8..2ec384d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceSubQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceSubQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/FieldsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/FieldsQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/FieldsQuery.java
index e0dfe74..23bb095 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/FieldsQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/FieldsQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java
index 288be7f..897d3a8 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.List;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.BooleanQuery;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/OrQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/OrQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/OrQuery.java
index 5189218..76daa19 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/OrQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/OrQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.List;
 import java.util.Iterator;
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
index df74175..9068423 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException;
 
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTerm.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTerm.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTerm.java
index 00cc442..f574feb 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTerm.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTerm.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException;
 
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java
index 4c62e3d..3e0e4aa 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException;
 import java.util.List;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java
index 0566d04..2db315f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 /*
 SpanNearClauseFactory:
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java
index 45cb857..501034e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.util.List;
 
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndPrefixQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndPrefixQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndPrefixQuery.java
index c44375b..587c4fb 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndPrefixQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndPrefixQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java
index cfbb9f4..4ecb30f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import org.apache.lucene.search.BoostQuery;
 import org.apache.lucene.search.Query;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTermQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTermQuery.java
index 2ce4928..ffa8c78 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTermQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTermQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException;
 
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTruncQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTruncQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTruncQuery.java
index c8204a7..b987921 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTruncQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndTruncQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.index.Terms;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/TooManyBasicQueries.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/TooManyBasicQueries.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/TooManyBasicQueries.java
index 7e5a39d..cce7b87 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/TooManyBasicQueries.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/TooManyBasicQueries.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.surround.query;
 import java.io.IOException; /* subclass to be usable from within Query.rewrite() */
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/package-info.java
index d0c7fae..da9926d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  *  This package contains SrndQuery and its subclasses.
  *  <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
index 3710f96..6bbb626 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
@@ -1,17 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryparser.classic.QueryParser;
-import org.apache.lucene.queryparser.xml.builders.*;
-import org.apache.lucene.search.Query;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import java.io.InputStream;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -28,6 +14,19 @@ import java.io.InputStream;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.queryparser.xml.builders.*;
+import org.apache.lucene.search.Query;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import java.io.InputStream;
 
 /**
  * Assembles a QueryBuilder which uses only core Lucene Query objects

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusExtensionsParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusExtensionsParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusExtensionsParser.java
index d36a03e..c366ee9 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusExtensionsParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusExtensionsParser.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryparser.classic.QueryParser;
-import org.apache.lucene.queryparser.xml.builders.FuzzyLikeThisQueryBuilder;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import org.apache.lucene.queryparser.xml.builders.FuzzyLikeThisQueryBuilder;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.queryparser.xml.builders.FuzzyLikeThisQueryBuilder;
 
 /**
  * Assembles a QueryBuilder which uses Query objects from

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusQueriesParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusQueriesParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusQueriesParser.java
index 023334d..87b5f8f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusQueriesParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CorePlusQueriesParser.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryparser.classic.QueryParser;
-import org.apache.lucene.queryparser.xml.builders.LikeThisQueryBuilder;
-import org.apache.lucene.queryparser.xml.builders.BoostingQueryBuilder;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import org.apache.lucene.queryparser.xml.builders.BoostingQueryBuilder;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.queryparser.xml.builders.LikeThisQueryBuilder;
+import org.apache.lucene.queryparser.xml.builders.BoostingQueryBuilder;
 
 /**
  * Assembles a QueryBuilder which uses Query objects from

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
index 9e895b6..5d98fba 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
@@ -1,13 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import java.io.Reader;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -24,7 +14,16 @@ import java.io.Reader;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
 
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.Reader;
 /**
  * Helper methods for parsing XML
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/ParserException.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/ParserException.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/ParserException.java
index 96b261f..d55932c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/ParserException.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/ParserException.java
@@ -1,8 +1,4 @@
 /*
- * Created on 25-Jan-2006
- */
-package org.apache.lucene.queryparser.xml;
-/*
  * 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.
@@ -18,6 +14,7 @@ package org.apache.lucene.queryparser.xml;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
 
 /**
  * Thrown when the xml queryparser encounters 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilder.java
index eff70d3..663b81d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilder.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
-import org.apache.lucene.search.Query;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
+
+import org.apache.lucene.search.Query;
+import org.w3c.dom.Element;
 /**
  * Implemented by objects that produce Lucene Query objects from XML streams. Implementations are
  * expected to be thread-safe so that they can be used to simultaneously parse multiple XML documents.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilderFactory.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilderFactory.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilderFactory.java
index 94ab8f8..5b9d5f3 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilderFactory.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryBuilderFactory.java
@@ -1,13 +1,4 @@
 /*
- * Created on 25-Jan-2006
- */
-package org.apache.lucene.queryparser.xml;
-
-import org.apache.lucene.search.Query;
-import org.w3c.dom.Element;
-
-import java.util.HashMap;
-/*
  * 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.
@@ -23,6 +14,12 @@ import java.util.HashMap;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
+
+import org.apache.lucene.search.Query;
+import org.w3c.dom.Element;
+
+import java.util.HashMap;
 
 /**
  * Factory for {@link QueryBuilder}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryTemplateManager.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryTemplateManager.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryTemplateManager.java
index d3e5e81..d454b28 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryTemplateManager.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/QueryTemplateManager.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.queryparser.xml;
 
 import org.w3c.dom.Document;
@@ -18,23 +34,6 @@ import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Properties;
 
-/*
- * 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.
- */
-
 /**
  * Provides utilities for turning query form input (such as from a web page or Swing gui) into
  * Lucene XML queries by using XSL templates.  This approach offers a convenient way of externalizing

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java
index b89f636..1dd859c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java
@@ -1,19 +1,4 @@
 /*
- * Created on 25-Jan-2006
- */
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.BoostQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-/*
  * 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.
@@ -29,6 +14,18 @@ import org.w3c.dom.NodeList;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
+
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 /**
  * Builder for {@link BooleanQuery}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingQueryBuilder.java
index f5fc523..f58804b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingQueryBuilder.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.queries.BoostingQuery;
-import org.apache.lucene.search.BoostQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,7 +14,15 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.queries.BoostingQuery;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link BoostingQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java
index 08ea973..3c9668e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queries.payloads.AveragePayloadFunction;
-import org.apache.lucene.queries.payloads.PayloadScoreQuery;
-import org.apache.lucene.search.spans.SpanBoostQuery;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.search.spans.SpanTermQuery;
-import org.w3c.dom.Element;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,6 +14,17 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
+
+import org.apache.lucene.index.Term;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queries.payloads.AveragePayloadFunction;
+import org.apache.lucene.queries.payloads.PayloadScoreQuery;
+import org.apache.lucene.search.spans.SpanBoostQuery;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.search.spans.SpanTermQuery;
+import org.w3c.dom.Element;
 
 /**
  * Builder for {@link PayloadScoreQuery}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java
index ef61847..7521514 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java
@@ -1,13 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.apache.lucene.queryparser.xml.QueryBuilderFactory;
-import org.apache.lucene.search.BoostQuery;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.Query;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -24,7 +14,16 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.apache.lucene.queryparser.xml.QueryBuilderFactory;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.Query;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link ConstantScoreQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/DisjunctionMaxQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/DisjunctionMaxQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/DisjunctionMaxQueryBuilder.java
index 70bdc98..8490667 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/DisjunctionMaxQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/DisjunctionMaxQueryBuilder.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.xml.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.xml.builders;
 import java.util.ArrayList;
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/FuzzyLikeThisQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/FuzzyLikeThisQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/FuzzyLikeThisQueryBuilder.java
index 7592251..f969a66 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/FuzzyLikeThisQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/FuzzyLikeThisQueryBuilder.java
@@ -1,16 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.apache.lucene.sandbox.queries.FuzzyLikeThisQuery;
-import org.apache.lucene.sandbox.queries.SlowFuzzyQuery;
-import org.apache.lucene.search.BoostQuery;
-import org.apache.lucene.search.Query;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -27,6 +14,18 @@ import org.w3c.dom.NodeList;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.apache.lucene.sandbox.queries.FuzzyLikeThisQuery;
+import org.apache.lucene.sandbox.queries.SlowFuzzyQuery;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.Query;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 
 /**
  * Builder for {@link FuzzyLikeThisQuery}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LegacyNumericRangeQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LegacyNumericRangeQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LegacyNumericRangeQueryBuilder.java
index 8a02916..2aba681 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LegacyNumericRangeQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LegacyNumericRangeQueryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.xml.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
 import org.apache.lucene.search.LegacyNumericRangeQuery;
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LikeThisQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LikeThisQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LikeThisQueryBuilder.java
index 98dfc3c..2812043 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LikeThisQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LikeThisQueryBuilder.java
@@ -1,5 +1,18 @@
 /*
- * Created on 25-Jan-2006
+ * 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.lucene.queryparser.xml.builders;
 
@@ -17,22 +30,6 @@ import org.apache.lucene.search.Query;
 import org.apache.lucene.queryparser.xml.DOMUtils;
 import org.apache.lucene.queryparser.xml.ParserException;
 import org.w3c.dom.Element;
-/*
- * 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.
- */
 
 /**
  * Builder for {@link MoreLikeThisQuery}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/MatchAllDocsQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/MatchAllDocsQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/MatchAllDocsQueryBuilder.java
index 36c071c..92c2892 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/MatchAllDocsQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/MatchAllDocsQueryBuilder.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,7 +14,13 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link MatchAllDocsQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/RangeQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/RangeQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/RangeQueryBuilder.java
index 7b683c0..8b05424 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/RangeQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/RangeQueryBuilder.java
@@ -1,9 +1,4 @@
 /*
- * Created on 25-Jan-2006
- */
-package org.apache.lucene.queryparser.xml.builders;
-
-/*
  * 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.
@@ -19,6 +14,7 @@ package org.apache.lucene.queryparser.xml.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
 import org.apache.lucene.queryparser.xml.DOMUtils;
 import org.apache.lucene.queryparser.xml.ParserException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanBuilderBase.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanBuilderBase.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanBuilderBase.java
index d1c4531..48b7450 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanBuilderBase.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanBuilderBase.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.spans.SpanQuery; // javadocs
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,7 +14,12 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.spans.SpanQuery; // javadocs
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
 /**
  * Base class for building {@link SpanQuery}s
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanFirstBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanFirstBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanFirstBuilder.java
index dccec2f..5247511 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanFirstBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanFirstBuilder.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.spans.SpanBoostQuery;
-import org.apache.lucene.search.spans.SpanFirstQuery;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,7 +14,14 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.search.spans.SpanBoostQuery;
+import org.apache.lucene.search.spans.SpanFirstQuery;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link SpanFirstQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java
index d81953a..c6b6c81 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.spans.SpanBoostQuery;
-import org.apache.lucene.search.spans.SpanNearQuery;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import java.util.ArrayList;
-import java.util.List;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,7 +14,18 @@ import java.util.List;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.search.spans.SpanBoostQuery;
+import org.apache.lucene.search.spans.SpanNearQuery;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import java.util.ArrayList;
+import java.util.List;
 /**
  * Builder for {@link SpanNearQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNotBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNotBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNotBuilder.java
index 1a9b784..9bac89d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNotBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNotBuilder.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.spans.SpanBoostQuery;
-import org.apache.lucene.search.spans.SpanNotQuery;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,7 +14,14 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.search.spans.SpanBoostQuery;
+import org.apache.lucene.search.spans.SpanNotQuery;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link SpanNotQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrBuilder.java
index 367754b..a5d5f6a 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrBuilder.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.spans.SpanBoostQuery;
-import org.apache.lucene.search.spans.SpanOrQuery;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import java.util.ArrayList;
-import java.util.List;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,7 +14,18 @@ import java.util.List;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.search.spans.SpanBoostQuery;
+import org.apache.lucene.search.spans.SpanOrQuery;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import java.util.ArrayList;
+import java.util.List;
 /**
  * Builder for {@link SpanOrQuery}
  */


[85/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
deleted file mode 100644
index 092b949..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/*
- * 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.lucene.util;
-
-/**
- * Reusable geo-relation utility methods
- */
-public class GeoRelationUtils {
-
-  /**
-   * Determine if a bbox (defined by minLon, minLat, maxLon, maxLat) contains the provided point (defined by lon, lat)
-   * NOTE: this is a basic method that does not handle dateline or pole crossing. Unwrapping must be done before
-   * calling this method.
-   */
-  public static boolean pointInRectPrecise(final double lon, final double lat, final double minLon,
-                                           final double minLat, final double maxLon, final double maxLat) {
-    return lon >= minLon && lon <= maxLon && lat >= minLat && lat <= maxLat;
-  }
-
-  /**
-   * simple even-odd point in polygon computation
-   *    1.  Determine if point is contained in the longitudinal range
-   *    2.  Determine whether point crosses the edge by computing the latitudinal delta
-   *        between the end-point of a parallel vector (originating at the point) and the
-   *        y-component of the edge sink
-   *
-   * NOTE: Requires polygon point (x,y) order either clockwise or counter-clockwise
-   */
-  public static boolean pointInPolygon(double[] x, double[] y, double lat, double lon) {
-    assert x.length == y.length;
-    boolean inPoly = false;
-    /**
-     * Note: This is using a euclidean coordinate system which could result in
-     * upwards of 110KM error at the equator.
-     * TODO convert coordinates to cylindrical projection (e.g. mercator)
-     */
-    for (int i = 1; i < x.length; i++) {
-      if (x[i] <= lon && x[i-1] >= lon || x[i-1] <= lon && x[i] >= lon) {
-        if (y[i] + (lon - x[i]) / (x[i-1] - x[i]) * (y[i-1] - y[i]) <= lat) {
-          inPoly = !inPoly;
-        }
-      }
-    }
-    return inPoly;
-  }
-
-  /////////////////////////
-  // Rectangle relations
-  /////////////////////////
-
-  public static boolean rectDisjoint(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
-                                     final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
-    return (aMaxX < bMinX || aMinX > bMaxX || aMaxY < bMinY || aMinY > bMaxY);
-  }
-
-  /**
-   * Computes whether the first (a) rectangle is wholly within another (b) rectangle (shared boundaries allowed)
-   */
-  public static boolean rectWithin(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
-                                   final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
-    return !(aMinX < bMinX || aMinY < bMinY || aMaxX > bMaxX || aMaxY > bMaxY);
-  }
-
-  public static boolean rectCrosses(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
-                                    final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
-    return !(rectDisjoint(aMinX, aMinY, aMaxX, aMaxY, bMinX, bMinY, bMaxX, bMaxY) ||
-        rectWithin(aMinX, aMinY, aMaxX, aMaxY, bMinX, bMinY, bMaxX, bMaxY));
-  }
-
-  /**
-   * Computes whether rectangle a contains rectangle b (touching allowed)
-   */
-  public static boolean rectContains(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
-                                     final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
-    return !(bMinX < aMinX || bMinY < aMinY || bMaxX > aMaxX || bMaxY > aMaxY);
-  }
-
-  /**
-   * Computes whether a rectangle intersects another rectangle (crosses, within, touching, etc)
-   */
-  public static boolean rectIntersects(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
-                                       final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
-    return !((aMaxX < bMinX || aMinX > bMaxX || aMaxY < bMinY || aMinY > bMaxY) );
-  }
-
-  /////////////////////////
-  // Polygon relations
-  /////////////////////////
-
-  /**
-   * Convenience method for accurately computing whether a rectangle crosses a poly
-   */
-  public static boolean rectCrossesPolyPrecise(final double rMinX, final double rMinY, final double rMaxX,
-                                        final double rMaxY, final double[] shapeX, final double[] shapeY,
-                                        final double sMinX, final double sMinY, final double sMaxX,
-                                        final double sMaxY) {
-    // short-circuit: if the bounding boxes are disjoint then the shape does not cross
-    if (rectDisjoint(rMinX, rMinY, rMaxX, rMaxY, sMinX, sMinY, sMaxX, sMaxY)) {
-      return false;
-    }
-    return rectCrossesPoly(rMinX, rMinY, rMaxX, rMaxY, shapeX, shapeY);
-  }
-
-  /**
-   * Compute whether a rectangle crosses a shape. (touching not allowed) Includes a flag for approximating the
-   * relation.
-   */
-  public static boolean rectCrossesPolyApprox(final double rMinX, final double rMinY, final double rMaxX,
-                                              final double rMaxY, final double[] shapeX, final double[] shapeY,
-                                              final double sMinX, final double sMinY, final double sMaxX,
-                                              final double sMaxY) {
-    // short-circuit: if the bounding boxes are disjoint then the shape does not cross
-    if (rectDisjoint(rMinX, rMinY, rMaxX, rMaxY, sMinX, sMinY, sMaxX, sMaxY)) {
-      return false;
-    }
-
-    final int polyLength = shapeX.length-1;
-    for (short p=0; p<polyLength; ++p) {
-      if (lineCrossesRect(shapeX[p], shapeY[p], shapeX[p+1], shapeY[p+1], rMinX, rMinY, rMaxX, rMaxY) == true) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  /**
-   * Accurately compute (within restrictions of cartesian decimal degrees) whether a rectangle crosses a polygon
-   */
-  private static boolean rectCrossesPoly(final double rMinX, final double rMinY, final double rMaxX,
-                                         final double rMaxY, final double[] shapeX, final double[] shapeY) {
-    final double[][] bbox = new double[][] { {rMinX, rMinY}, {rMaxX, rMinY}, {rMaxX, rMaxY}, {rMinX, rMaxY}, {rMinX, rMinY} };
-    final int polyLength = shapeX.length-1;
-    double d, s, t, a1, b1, c1, a2, b2, c2;
-    double x00, y00, x01, y01, x10, y10, x11, y11;
-
-    // computes the intersection point between each bbox edge and the polygon edge
-    for (short b=0; b<4; ++b) {
-      a1 = bbox[b+1][1]-bbox[b][1];
-      b1 = bbox[b][0]-bbox[b+1][0];
-      c1 = a1*bbox[b+1][0] + b1*bbox[b+1][1];
-      for (int p=0; p<polyLength; ++p) {
-        a2 = shapeY[p+1]-shapeY[p];
-        b2 = shapeX[p]-shapeX[p+1];
-        // compute determinant
-        d = a1*b2 - a2*b1;
-        if (d != 0) {
-          // lines are not parallel, check intersecting points
-          c2 = a2*shapeX[p+1] + b2*shapeY[p+1];
-          s = (1/d)*(b2*c1 - b1*c2);
-          t = (1/d)*(a1*c2 - a2*c1);
-          x00 = StrictMath.min(bbox[b][0], bbox[b+1][0]) - GeoUtils.TOLERANCE;
-          x01 = StrictMath.max(bbox[b][0], bbox[b+1][0]) + GeoUtils.TOLERANCE;
-          y00 = StrictMath.min(bbox[b][1], bbox[b+1][1]) - GeoUtils.TOLERANCE;
-          y01 = StrictMath.max(bbox[b][1], bbox[b+1][1]) + GeoUtils.TOLERANCE;
-          x10 = StrictMath.min(shapeX[p], shapeX[p+1]) - GeoUtils.TOLERANCE;
-          x11 = StrictMath.max(shapeX[p], shapeX[p+1]) + GeoUtils.TOLERANCE;
-          y10 = StrictMath.min(shapeY[p], shapeY[p+1]) - GeoUtils.TOLERANCE;
-          y11 = StrictMath.max(shapeY[p], shapeY[p+1]) + GeoUtils.TOLERANCE;
-          // check whether the intersection point is touching one of the line segments
-          boolean touching = ((x00 == s && y00 == t) || (x01 == s && y01 == t))
-              || ((x10 == s && y10 == t) || (x11 == s && y11 == t));
-          // if line segments are not touching and the intersection point is within the range of either segment
-          if (!(touching || x00 > s || x01 < s || y00 > t || y01 < t || x10 > s || x11 < s || y10 > t || y11 < t)) {
-            return true;
-          }
-        }
-      } // for each poly edge
-    } // for each bbox edge
-    return false;
-  }
-
-  private static boolean lineCrossesRect(double aX1, double aY1, double aX2, double aY2,
-                                         final double rMinX, final double rMinY, final double rMaxX, final double rMaxY) {
-    // short-circuit: if one point inside rect, other outside
-    if (pointInRectPrecise(aX1, aY1, rMinX, rMinY, rMaxX, rMaxY) ?
-        !pointInRectPrecise(aX2, aY2, rMinX, rMinY, rMaxX, rMaxY) : pointInRectPrecise(aX2, aY2, rMinX, rMinY, rMaxX, rMaxY)) {
-      return true;
-    }
-
-    return lineCrossesLine(aX1, aY1, aX2, aY2, rMinX, rMinY, rMaxX, rMaxY)
-        || lineCrossesLine(aX1, aY1, aX2, aY2, rMaxX, rMinY, rMinX, rMaxY);
-  }
-
-  private static boolean lineCrossesLine(final double aX1, final double aY1, final double aX2, final double aY2,
-                                         final double bX1, final double bY1, final double bX2, final double bY2) {
-    // determine if three points are ccw (right-hand rule) by computing the determinate
-    final double aX2X1d = aX2 - aX1;
-    final double aY2Y1d = aY2 - aY1;
-    final double bX2X1d = bX2 - bX1;
-    final double bY2Y1d = bY2 - bY1;
-
-    final double t1B = aX2X1d * (bY2 - aY1) - aY2Y1d * (bX2 - aX1);
-    final double test1 = (aX2X1d * (bY1 - aY1) - aY2Y1d * (bX1 - aX1)) * t1B;
-    final double t2B = bX2X1d * (aY2 - bY1) - bY2Y1d * (aX2 - bX1);
-    final double test2 = (bX2X1d * (aY1 - bY1) - bY2Y1d * (aX1 - bX1)) * t2B;
-
-    if (test1 < 0 && test2 < 0) {
-      return true;
-    }
-
-    if (test1 == 0 || test2 == 0) {
-      // vertically collinear
-      if (aX1 == aX2 || bX1 == bX2) {
-        final double minAy = Math.min(aY1, aY2);
-        final double maxAy = Math.max(aY1, aY2);
-        final double minBy = Math.min(bY1, bY2);
-        final double maxBy = Math.max(bY1, bY2);
-
-        return !(minBy >= maxAy || maxBy <= minAy);
-      }
-      // horizontally collinear
-      final double minAx = Math.min(aX1, aX2);
-      final double maxAx = Math.max(aX1, aX2);
-      final double minBx = Math.min(bX1, bX2);
-      final double maxBx = Math.max(bX1, bX2);
-
-      return !(minBx >= maxAx || maxBx <= minAx);
-    }
-    return false;
-  }
-
-  public static boolean rectWithinPolyPrecise(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                       final double[] shapeX, final double[] shapeY, final double sMinX,
-                                       final double sMinY, final double sMaxX, final double sMaxY) {
-    // check if rectangle crosses poly (to handle concave/pacman polys), then check that all 4 corners
-    // are contained
-    return !(rectCrossesPolyPrecise(rMinX, rMinY, rMaxX, rMaxY, shapeX, shapeY, sMinX, sMinY, sMaxX, sMaxY) ||
-        !pointInPolygon(shapeX, shapeY, rMinY, rMinX) || !pointInPolygon(shapeX, shapeY, rMinY, rMaxX) ||
-        !pointInPolygon(shapeX, shapeY, rMaxY, rMaxX) || !pointInPolygon(shapeX, shapeY, rMaxY, rMinX));
-  }
-
-  /**
-   * Computes whether a rectangle is within a given polygon (shared boundaries allowed)
-   */
-  public static boolean rectWithinPolyApprox(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                       final double[] shapeX, final double[] shapeY, final double sMinX,
-                                       final double sMinY, final double sMaxX, final double sMaxY) {
-    // approximation: check if rectangle crosses poly (to handle concave/pacman polys), then check one of the corners
-    // are contained
-
-    // short-cut: if bounding boxes cross, rect is not within
-     if (rectCrosses(rMinX, rMinY, rMaxX, rMaxY, sMinX, sMinY, sMaxX, sMaxY) == true) {
-       return false;
-     }
-
-     return !(rectCrossesPolyApprox(rMinX, rMinY, rMaxX, rMaxY, shapeX, shapeY, sMinX, sMinY, sMaxX, sMaxY)
-         || !pointInPolygon(shapeX, shapeY, rMinY, rMinX));
-  }
-
-  /////////////////////////
-  // Circle relations
-  /////////////////////////
-
-  private static boolean rectAnyCornersInCircle(final double rMinX, final double rMinY, final double rMaxX,
-                                                final double rMaxY, final double centerLon, final double centerLat,
-                                                final double radiusMeters, final boolean approx) {
-    if (approx == true) {
-      return rectAnyCornersInCircleSloppy(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters);
-    }
-    double w = Math.abs(rMaxX - rMinX);
-    if (w <= 90.0) {
-      return GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMinX) <= radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMinX) <= radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMaxX) <= radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMaxX) <= radiusMeters;
-    }
-    // partition
-    w /= 4;
-    final double p1 = rMinX + w;
-    final double p2 = p1 + w;
-    final double p3 = p2 + w;
-
-    return GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMinX) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMinX) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, p1) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, p1) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, p2) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, p2) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, p3) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, p3) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMaxX) <= radiusMeters
-        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMaxX) <= radiusMeters;
-  }
-
-  private static boolean rectAnyCornersInCircleSloppy(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                                      final double centerLon, final double centerLat, final double radiusMeters) {
-    return SloppyMath.haversin(centerLat, centerLon, rMinY, rMinX)*1000.0 <= radiusMeters
-        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMinX)*1000.0 <= radiusMeters
-        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMaxX)*1000.0 <= radiusMeters
-        || SloppyMath.haversin(centerLat, centerLon, rMinY, rMaxX)*1000.0 <= radiusMeters;
-  }
-
-  /**
-   * Compute whether any of the 4 corners of the rectangle (defined by min/max X/Y) are outside the circle (defined
-   * by centerLon, centerLat, radiusMeters)
-   *
-   * Note: exotic rectangles at the poles (e.g., those whose lon/lat distance ratios greatly deviate from 1) can not
-   * be determined by using distance alone. For this reason the approx flag may be set to false, in which case the
-   * space will be further divided to more accurately compute whether the rectangle crosses the circle
-   */
-  private static boolean rectAnyCornersOutsideCircle(final double rMinX, final double rMinY, final double rMaxX,
-                                                     final double rMaxY, final double centerLon, final double centerLat,
-                                                     final double radiusMeters, final boolean approx) {
-    if (approx == true) {
-      return rectAnyCornersOutsideCircleSloppy(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters);
-    }
-    // if span is less than 70 degrees we can approximate using distance alone
-    if (Math.abs(rMaxX - rMinX) <= 70.0) {
-      return GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMinX) > radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMinX) > radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMaxX) > radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMaxX) > radiusMeters;
-    }
-    return rectCrossesOblateCircle(centerLon, centerLat, radiusMeters, rMinX, rMinY, rMaxX, rMaxY);
-  }
-
-  /**
-   * Compute whether the rectangle (defined by min/max Lon/Lat) crosses a potentially oblate circle
-   *
-   * TODO benchmark for replacing existing rectCrossesCircle.
-   */
-  public static boolean rectCrossesOblateCircle(double centerLon, double centerLat, double radiusMeters, double rMinLon, double rMinLat, double  rMaxLon, double rMaxLat) {
-    double w = Math.abs(rMaxLon - rMinLon);
-    final int segs = (int)Math.ceil(w / 45.0);
-    w /= segs;
-    short i = 1;
-    double p1 = rMinLon;
-    double maxLon, midLon;
-    double[] pt = new double[2];
-
-    do {
-      maxLon = (i == segs) ? rMaxLon : p1 + w;
-
-      final double d1, d2;
-      // short-circuit if we find a corner outside the circle
-      if ( (d1 = GeoDistanceUtils.haversin(centerLat, centerLon, rMinLat, p1)) > radiusMeters
-          || (d2 = GeoDistanceUtils.haversin(centerLat, centerLon, rMinLat, maxLon)) > radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxLat, p1) > radiusMeters
-          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxLat, maxLon) > radiusMeters) {
-        return true;
-      }
-
-      // else we treat as an oblate circle by slicing the longitude space and checking the azimuthal range
-      // OPTIMIZATION: this is only executed for latitude values "closeTo" the poles (e.g., 88.0 > lat < -88.0)
-      if ( (rMaxLat > 88.0 || rMinLat < -88.0)
-          && (pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(p1, rMinLat,
-          GeoProjectionUtils.bearingGreatCircle(p1, rMinLat, p1, rMaxLat), radiusMeters - d1, pt))[1] < rMinLat || pt[1] < rMaxLat
-          || (pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(maxLon, rMinLat,
-          GeoProjectionUtils.bearingGreatCircle(maxLon, rMinLat, maxLon, rMaxLat), radiusMeters - d2, pt))[1] < rMinLat || pt[1] < rMaxLat
-          || (pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(maxLon, rMinLat,
-          GeoProjectionUtils.bearingGreatCircle(maxLon, rMinLat, (midLon = p1 + 0.5*(maxLon - p1)), rMaxLat),
-          radiusMeters - GeoDistanceUtils.haversin(centerLat, centerLon, rMinLat, midLon), pt))[1] < rMinLat
-          || pt[1] < rMaxLat == false ) {
-        return true;
-      }
-      p1 += w;
-    } while (++i <= segs);
-    return false;
-  }
-
-  private static boolean rectAnyCornersOutsideCircleSloppy(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                                           final double centerLon, final double centerLat, final double radiusMeters) {
-    return SloppyMath.haversin(centerLat, centerLon, rMinY, rMinX)*1000.0 > radiusMeters
-        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMinX)*1000.0 > radiusMeters
-        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMaxX)*1000.0 > radiusMeters
-        || SloppyMath.haversin(centerLat, centerLon, rMinY, rMaxX)*1000.0 > radiusMeters;
-  }
-
-  public static boolean rectWithinCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                         final double centerLon, final double centerLat, final double radiusMeters) {
-    return rectWithinCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, false);
-  }
-
-  public static boolean rectWithinCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                         final double centerLon, final double centerLat, final double radiusMeters,
-                                         final boolean approx) {
-    return rectAnyCornersOutsideCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx) == false;
-  }
-
-  /**
-   * Determine if a bbox (defined by minLon, minLat, maxLon, maxLat) contains the provided point (defined by lon, lat)
-   * NOTE: this is basic method that does not handle dateline or pole crossing. Unwrapping must be done before
-   * calling this method.
-   */
-  public static boolean rectCrossesCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                          final double centerLon, final double centerLat, final double radiusMeters) {
-    return rectCrossesCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, false);
-  }
-
-  public static boolean rectCrossesCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                          final double centerLon, final double centerLat, final double radiusMeters,
-                                          final boolean approx) {
-    if (approx == true) {
-      return rectAnyCornersInCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx)
-          || isClosestPointOnRectWithinRange(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx);
-    }
-
-    return (rectAnyCornersInCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx) &&
-        rectAnyCornersOutsideCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx))
-        || isClosestPointOnRectWithinRange(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx);
-  }
-
-  private static boolean isClosestPointOnRectWithinRange(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                                         final double centerLon, final double centerLat, final double radiusMeters,
-                                                         final boolean approx) {
-    double[] closestPt = {0, 0};
-    GeoDistanceUtils.closestPointOnBBox(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, closestPt);
-    boolean haverShortCut = GeoDistanceUtils.haversin(centerLat, centerLon, closestPt[1], closestPt[0]) <= radiusMeters;
-    if (approx == true || haverShortCut == true) {
-      return haverShortCut;
-    }
-    double lon1 = rMinX;
-    double lon2 = rMaxX;
-    double lat1 = rMinY;
-    double lat2 = rMaxY;
-    if (closestPt[0] == rMinX || closestPt[0] == rMaxX) {
-      lon1 = closestPt[0];
-      lon2 = lon1;
-    } else if (closestPt[1] == rMinY || closestPt[1] == rMaxY) {
-      lat1 = closestPt[1];
-      lat2 = lat1;
-    }
-
-    return lineCrossesSphere(lon1, lat1, 0, lon2, lat2, 0, centerLon, centerLat, 0, radiusMeters);
-  }
-
-  /**
-   * Computes whether or a 3dimensional line segment intersects or crosses a sphere
-   *
-   * @param lon1 longitudinal location of the line segment start point (in degrees)
-   * @param lat1 latitudinal location of the line segment start point (in degrees)
-   * @param alt1 altitude of the line segment start point (in degrees)
-   * @param lon2 longitudinal location of the line segment end point (in degrees)
-   * @param lat2 latitudinal location of the line segment end point (in degrees)
-   * @param alt2 altitude of the line segment end point (in degrees)
-   * @param centerLon longitudinal location of center search point (in degrees)
-   * @param centerLat latitudinal location of center search point (in degrees)
-   * @param centerAlt altitude of the center point (in meters)
-   * @param radiusMeters search sphere radius (in meters)
-   * @return whether the provided line segment is a secant of the
-   */
-  private static boolean lineCrossesSphere(double lon1, double lat1, double alt1, double lon2,
-                                           double lat2, double alt2, double centerLon, double centerLat,
-                                           double centerAlt, double radiusMeters) {
-    // convert to cartesian 3d (in meters)
-    double[] ecf1 = GeoProjectionUtils.llaToECF(lon1, lat1, alt1, null);
-    double[] ecf2 = GeoProjectionUtils.llaToECF(lon2, lat2, alt2, null);
-    double[] cntr = GeoProjectionUtils.llaToECF(centerLon, centerLat, centerAlt, null);
-
-    // convert radius from arc radius to cartesian radius
-    double[] oneEighty = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(centerLon, centerLat, 180.0d, radiusMeters, new double[3]);
-    GeoProjectionUtils.llaToECF(oneEighty[0], oneEighty[1], 0, oneEighty);
-
-    radiusMeters = GeoDistanceUtils.linearDistance(oneEighty, cntr);//   Math.sqrt(oneEighty[0]*cntr[0] + oneEighty[1]*cntr[1] + oneEighty[2]*cntr[2]);
-
-    final double dX = ecf2[0] - ecf1[0];
-    final double dY = ecf2[1] - ecf1[1];
-    final double dZ = ecf2[2] - ecf1[2];
-    final double fX = ecf1[0] - cntr[0];
-    final double fY = ecf1[1] - cntr[1];
-    final double fZ = ecf1[2] - cntr[2];
-
-    final double a = dX*dX + dY*dY + dZ*dZ;
-    final double b = 2 * (fX*dX + fY*dY + fZ*dZ);
-    final double c = (fX*fX + fY*fY + fZ*fZ) - (radiusMeters*radiusMeters);
-
-    double discrim = (b*b)-(4*a*c);
-    if (discrim < 0) {
-      return false;
-    }
-
-    discrim = StrictMath.sqrt(discrim);
-    final double a2 = 2*a;
-    final double t1 = (-b - discrim)/a2;
-    final double t2 = (-b + discrim)/a2;
-
-    if ( (t1 < 0 || t1 > 1) ) {
-      return !(t2 < 0 || t2 > 1);
-    }
-
-    return true;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
deleted file mode 100644
index a2d0fd1..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * 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.lucene.util;
-
-import java.util.ArrayList;
-
-import static org.apache.lucene.util.SloppyMath.TO_DEGREES;
-import static org.apache.lucene.util.SloppyMath.TO_RADIANS;
-
-/**
- * Basic reusable geo-spatial utility methods
- *
- * @lucene.experimental
- */
-public final class GeoUtils {
-  public static final short BITS = 31;
-  private static final double LON_SCALE = (0x1L<<BITS)/360.0D;
-  private static final double LAT_SCALE = (0x1L<<BITS)/180.0D;
-  public static final double TOLERANCE = 1E-6;
-
-  /** Minimum longitude value. */
-  public static final double MIN_LON_INCL = -180.0D;
-
-  /** Maximum longitude value. */
-  public static final double MAX_LON_INCL = 180.0D;
-
-  /** Minimum latitude value. */
-  public static final double MIN_LAT_INCL = -90.0D;
-
-  /** Maximum latitude value. */
-  public static final double MAX_LAT_INCL = 90.0D;
-
-  // No instance:
-  private GeoUtils() {
-  }
-
-  public static final Long mortonHash(final double lon, final double lat) {
-    return BitUtil.interleave(scaleLon(lon), scaleLat(lat));
-  }
-
-  public static final double mortonUnhashLon(final long hash) {
-    return unscaleLon(BitUtil.deinterleave(hash));
-  }
-
-  public static final double mortonUnhashLat(final long hash) {
-    return unscaleLat(BitUtil.deinterleave(hash >>> 1));
-  }
-
-  private static final long scaleLon(final double val) {
-    return (long) ((val-MIN_LON_INCL) * LON_SCALE);
-  }
-
-  private static final long scaleLat(final double val) {
-    return (long) ((val-MIN_LAT_INCL) * LAT_SCALE);
-  }
-
-  private static final double unscaleLon(final long val) {
-    return (val / LON_SCALE) + MIN_LON_INCL;
-  }
-
-  private static final double unscaleLat(final long val) {
-    return (val / LAT_SCALE) + MIN_LAT_INCL;
-  }
-
-  /**
-   * Compare two position values within a {@link org.apache.lucene.util.GeoUtils#TOLERANCE} factor
-   */
-  public static double compare(final double v1, final double v2) {
-    final double delta = v1-v2;
-    return Math.abs(delta) <= TOLERANCE ? 0 : delta;
-  }
-
-  /**
-   * Puts longitude in range of -180 to +180.
-   */
-  public static double normalizeLon(double lon_deg) {
-    if (lon_deg >= -180 && lon_deg <= 180) {
-      return lon_deg; //common case, and avoids slight double precision shifting
-    }
-    double off = (lon_deg + 180) % 360;
-    if (off < 0) {
-      return 180 + off;
-    } else if (off == 0 && lon_deg > 0) {
-      return 180;
-    } else {
-      return -180 + off;
-    }
-  }
-
-  /**
-   * Puts latitude in range of -90 to 90.
-   */
-  public static double normalizeLat(double lat_deg) {
-    if (lat_deg >= -90 && lat_deg <= 90) {
-      return lat_deg; //common case, and avoids slight double precision shifting
-    }
-    double off = Math.abs((lat_deg + 90) % 360);
-    return (off <= 180 ? off : 360-off) - 90;
-  }
-
-  public static String geoTermToString(long term) {
-    StringBuilder s = new StringBuilder(64);
-    final int numberOfLeadingZeros = Long.numberOfLeadingZeros(term);
-    for (int i = 0; i < numberOfLeadingZeros; i++) {
-      s.append('0');
-    }
-    if (term != 0) {
-      s.append(Long.toBinaryString(term));
-    }
-    return s.toString();
-  }
-
-  /**
-   * Converts a given circle (defined as a point/radius) to an approximated line-segment polygon
-   *
-   * @param lon longitudinal center of circle (in degrees)
-   * @param lat latitudinal center of circle (in degrees)
-   * @param radiusMeters distance radius of circle (in meters)
-   * @return a list of lon/lat points representing the circle
-   */
-  @SuppressWarnings({"unchecked","rawtypes"})
-  public static ArrayList<double[]> circleToPoly(final double lon, final double lat, final double radiusMeters) {
-    double angle;
-    // a little under-sampling (to limit the number of polygonal points): using archimedes estimation of pi
-    final int sides = 25;
-    ArrayList<double[]> geometry = new ArrayList();
-    double[] lons = new double[sides];
-    double[] lats = new double[sides];
-
-    double[] pt = new double[2];
-    final int sidesLen = sides-1;
-    for (int i=0; i<sidesLen; ++i) {
-      angle = (i*360/sides);
-      pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(lon, lat, angle, radiusMeters, pt);
-      lons[i] = pt[0];
-      lats[i] = pt[1];
-    }
-    // close the poly
-    lons[sidesLen] = lons[0];
-    lats[sidesLen] = lats[0];
-    geometry.add(lons);
-    geometry.add(lats);
-
-    return geometry;
-  }
-
-  /**
-   * Compute Bounding Box for a circle using WGS-84 parameters
-   */
-  public static GeoRect circleToBBox(final double centerLon, final double centerLat, final double radiusMeters) {
-    final double radLat = TO_RADIANS * centerLat;
-    final double radLon = TO_RADIANS * centerLon;
-    double radDistance = radiusMeters / GeoProjectionUtils.SEMIMAJOR_AXIS;
-    double minLat = radLat - radDistance;
-    double maxLat = radLat + radDistance;
-    double minLon;
-    double maxLon;
-
-    if (minLat > GeoProjectionUtils.MIN_LAT_RADIANS && maxLat < GeoProjectionUtils.MAX_LAT_RADIANS) {
-      double deltaLon = SloppyMath.asin(SloppyMath.sin(radDistance) / SloppyMath.cos(radLat));
-      minLon = radLon - deltaLon;
-      if (minLon < GeoProjectionUtils.MIN_LON_RADIANS) {
-        minLon += 2d * StrictMath.PI;
-      }
-      maxLon = radLon + deltaLon;
-      if (maxLon > GeoProjectionUtils.MAX_LON_RADIANS) {
-        maxLon -= 2d * StrictMath.PI;
-      }
-    } else {
-      // a pole is within the distance
-      minLat = StrictMath.max(minLat, GeoProjectionUtils.MIN_LAT_RADIANS);
-      maxLat = StrictMath.min(maxLat, GeoProjectionUtils.MAX_LAT_RADIANS);
-      minLon = GeoProjectionUtils.MIN_LON_RADIANS;
-      maxLon = GeoProjectionUtils.MAX_LON_RADIANS;
-    }
-
-    return new GeoRect(TO_DEGREES * minLon, TO_DEGREES * maxLon, TO_DEGREES * minLat, TO_DEGREES * maxLat);
-  }
-
-  /**
-   * Compute Bounding Box for a polygon using WGS-84 parameters
-   */
-  public static GeoRect polyToBBox(double[] polyLons, double[] polyLats) {
-    if (polyLons.length != polyLats.length) {
-      throw new IllegalArgumentException("polyLons and polyLats must be equal length");
-    }
-
-    double minLon = Double.POSITIVE_INFINITY;
-    double maxLon = Double.NEGATIVE_INFINITY;
-    double minLat = Double.POSITIVE_INFINITY;
-    double maxLat = Double.NEGATIVE_INFINITY;
-
-    for (int i=0;i<polyLats.length;i++) {
-      if (GeoUtils.isValidLon(polyLons[i]) == false) {
-        throw new IllegalArgumentException("invalid polyLons[" + i + "]=" + polyLons[i]);
-      }
-      if (GeoUtils.isValidLat(polyLats[i]) == false) {
-        throw new IllegalArgumentException("invalid polyLats[" + i + "]=" + polyLats[i]);
-      }
-      minLon = Math.min(polyLons[i], minLon);
-      maxLon = Math.max(polyLons[i], maxLon);
-      minLat = Math.min(polyLats[i], minLat);
-      maxLat = Math.max(polyLats[i], maxLat);
-    }
-    // expand bounding box by TOLERANCE factor to handle round-off error
-    return new GeoRect(Math.max(minLon - TOLERANCE, MIN_LON_INCL), Math.min(maxLon + TOLERANCE, MAX_LON_INCL),
-        Math.max(minLat - TOLERANCE, MIN_LAT_INCL), Math.min(maxLat + TOLERANCE, MAX_LAT_INCL));
-  }
-
-  /**
-   * validates latitude value is within standard +/-90 coordinate bounds
-   */
-  public static boolean isValidLat(double lat) {
-    return Double.isNaN(lat) == false && lat >= MIN_LAT_INCL && lat <= MAX_LAT_INCL;
-  }
-
-  /**
-   * validates longitude value is within standard +/-180 coordinate bounds
-   */
-  public static boolean isValidLon(double lon) {
-    return Double.isNaN(lon) == false && lon >= MIN_LON_INCL && lon <= MAX_LON_INCL;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/package.html
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/package.html b/lucene/sandbox/src/java/org/apache/lucene/util/package.html
deleted file mode 100644
index 9a8856c..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/package.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<!--
- 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.
--->
-
-<!-- not a package-info.java, because we already defined this package in core/ -->
-
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-<body>
-This package contains utility APIs, currently for geospatial searching.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
deleted file mode 100644
index a91cbd6..0000000
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
+++ /dev/null
@@ -1,386 +0,0 @@
-/*
- * 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.lucene.search;
-
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.document.GeoPointField;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.BaseGeoPointTestCase;
-import org.apache.lucene.util.GeoRect;
-import org.apache.lucene.util.GeoRelationUtils;
-import org.apache.lucene.util.GeoUtils;
-import org.apache.lucene.util.SloppyMath;
-import org.apache.lucene.util.TestUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-
-import static org.apache.lucene.util.GeoDistanceUtils.DISTANCE_PCT_ERR;
-
-/**
- * Unit testing for basic GeoPoint query logic
- *
- * @lucene.experimental
- */
-
-public class TestGeoPointQuery extends BaseGeoPointTestCase {
-
-  private static Directory directory = null;
-  private static IndexReader reader = null;
-  private static IndexSearcher searcher = null;
-
-  @Override
-  protected boolean forceSmall() {
-    return false;
-  }
-
-  @Override
-  protected void addPointToDoc(String field, Document doc, double lat, double lon) {
-    doc.add(new GeoPointField(field, lon, lat, Field.Store.NO));
-  }
-
-  @Override
-  protected Query newRectQuery(String field, GeoRect rect) {
-    return new GeoPointInBBoxQuery(field, rect.minLon, rect.minLat, rect.maxLon, rect.maxLat);
-  }
-
-  @Override
-  protected Query newDistanceQuery(String field, double centerLat, double centerLon, double radiusMeters) {
-    return new GeoPointDistanceQuery(field, centerLon, centerLat, radiusMeters);
-  }
-
-  @Override
-  protected Query newDistanceRangeQuery(String field, double centerLat, double centerLon, double minRadiusMeters, double radiusMeters) {
-    return new GeoPointDistanceRangeQuery(field, centerLon, centerLat, minRadiusMeters, radiusMeters);
-  }
-
-  @Override
-  protected Query newPolygonQuery(String field, double[] lats, double[] lons) {
-    return new GeoPointInPolygonQuery(field, lons, lats);
-  }
-
-  @BeforeClass
-  public static void beforeClass() throws Exception {
-    directory = newDirectory();
-
-    RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
-            newIndexWriterConfig(new MockAnalyzer(random()))
-                    .setMaxBufferedDocs(TestUtil.nextInt(random(), 100, 1000))
-                    .setMergePolicy(newLogMergePolicy()));
-
-    // create some simple geo points
-    final FieldType storedPoint = new FieldType(GeoPointField.TYPE_STORED);
-    // this is a simple systematic test
-    GeoPointField[] pts = new GeoPointField[] {
-         new GeoPointField(FIELD_NAME, -96.774, 32.763420, storedPoint),
-         new GeoPointField(FIELD_NAME, -96.7759895324707, 32.7559529921407, storedPoint),
-         new GeoPointField(FIELD_NAME, -96.77701950073242, 32.77866942010977, storedPoint),
-         new GeoPointField(FIELD_NAME, -96.7706036567688, 32.7756745755423, storedPoint),
-         new GeoPointField(FIELD_NAME, -139.73458170890808, 27.703618681345585, storedPoint),
-         new GeoPointField(FIELD_NAME, -96.4538113027811, 32.94823588839368, storedPoint),
-         new GeoPointField(FIELD_NAME, -96.65084838867188, 33.06047141970814, storedPoint),
-         new GeoPointField(FIELD_NAME, -96.7772, 32.778650, storedPoint),
-         new GeoPointField(FIELD_NAME, -177.23537676036358, -88.56029371730983, storedPoint),
-         new GeoPointField(FIELD_NAME, -26.779373834241003, 33.541429799076354, storedPoint),
-         new GeoPointField(FIELD_NAME, -77.35379276106497, 26.774024500421728, storedPoint),
-         new GeoPointField(FIELD_NAME, -14.796283808944777, -90.0, storedPoint),
-         new GeoPointField(FIELD_NAME, -178.8538113027811, 32.94823588839368, storedPoint),
-         new GeoPointField(FIELD_NAME, 178.8538113027811, 32.94823588839368, storedPoint),
-         new GeoPointField(FIELD_NAME, -73.998776, 40.720611, storedPoint),
-         new GeoPointField(FIELD_NAME, -179.5, -44.5, storedPoint)};
-
-    for (GeoPointField p : pts) {
-        Document doc = new Document();
-        doc.add(p);
-        writer.addDocument(doc);
-    }
-
-    // add explicit multi-valued docs
-    for (int i=0; i<pts.length; i+=2) {
-      Document doc = new Document();
-      doc.add(pts[i]);
-      doc.add(pts[i+1]);
-      writer.addDocument(doc);
-    }
-
-    // index random string documents
-    for (int i=0; i<random().nextInt(10); ++i) {
-      Document doc = new Document();
-      doc.add(new StringField("string", Integer.toString(i), Field.Store.NO));
-      writer.addDocument(doc);
-    }
-
-    reader = writer.getReader();
-    searcher = newSearcher(reader);
-    writer.close();
-  }
-
-  @AfterClass
-  public static void afterClass() throws Exception {
-    searcher = null;
-    reader.close();
-    reader = null;
-    directory.close();
-    directory = null;
-  }
-
-  private TopDocs bboxQuery(double minLon, double minLat, double maxLon, double maxLat, int limit) throws Exception {
-    GeoPointInBBoxQuery q = new GeoPointInBBoxQuery(FIELD_NAME, minLon, minLat, maxLon, maxLat);
-    return searcher.search(q, limit);
-  }
-
-  private TopDocs polygonQuery(double[] lon, double[] lat, int limit) throws Exception {
-    GeoPointInPolygonQuery q = new GeoPointInPolygonQuery(FIELD_NAME, lon, lat);
-    return searcher.search(q, limit);
-  }
-
-  private TopDocs geoDistanceQuery(double lon, double lat, double radius, int limit) throws Exception {
-    GeoPointDistanceQuery q = new GeoPointDistanceQuery(FIELD_NAME, lon, lat, radius);
-    return searcher.search(q, limit);
-  }
-
-  @Override
-  protected Boolean rectContainsPoint(GeoRect rect, double pointLat, double pointLon) {
-    if (GeoUtils.compare(pointLon, rect.minLon) == 0.0 ||
-        GeoUtils.compare(pointLon, rect.maxLon) == 0.0 ||
-        GeoUtils.compare(pointLat, rect.minLat) == 0.0 ||
-        GeoUtils.compare(pointLat, rect.maxLat) == 0.0) {
-      // Point is very close to rect boundary
-      return null;
-    }
-
-    if (rect.minLon < rect.maxLon) {
-      return GeoRelationUtils.pointInRectPrecise(pointLon, pointLat, rect.minLon, rect.minLat, rect.maxLon, rect.maxLat);
-    } else {
-      // Rect crosses dateline:
-      return GeoRelationUtils.pointInRectPrecise(pointLon, pointLat, -180.0, rect.minLat, rect.maxLon, rect.maxLat)
-          || GeoRelationUtils.pointInRectPrecise(pointLon, pointLat, rect.minLon, rect.minLat, 180.0, rect.maxLat);
-    }
-  }
-
-  @Override
-  protected Boolean polyRectContainsPoint(GeoRect rect, double pointLat, double pointLon) {
-    return rectContainsPoint(rect, pointLat, pointLon);
-  }
-
-  @Override
-  protected Boolean circleContainsPoint(double centerLat, double centerLon, double radiusMeters, double pointLat, double pointLon) {
-    if (radiusQueryCanBeWrong(centerLat, centerLon, pointLon, pointLat, radiusMeters)) {
-      return null;
-    } else {
-      return SloppyMath.haversin(centerLat, centerLon, pointLat, pointLon)*1000.0 <= radiusMeters;
-    }
-  }
-
-  @Override
-  protected Boolean distanceRangeContainsPoint(double centerLat, double centerLon, double minRadiusMeters, double radiusMeters, double pointLat, double pointLon) {
-    if (radiusQueryCanBeWrong(centerLat, centerLon, pointLon, pointLat, minRadiusMeters)
-        || radiusQueryCanBeWrong(centerLat, centerLon, pointLon, pointLat, radiusMeters)) {
-      return null;
-    } else {
-      final double d = SloppyMath.haversin(centerLat, centerLon, pointLat, pointLon)*1000.0;
-      return d >= minRadiusMeters && d <= radiusMeters;
-    }
-  }
-
-  private static boolean radiusQueryCanBeWrong(double centerLat, double centerLon, double ptLon, double ptLat,
-                                               final double radius) {
-    final long hashedCntr = GeoUtils.mortonHash(centerLon, centerLat);
-    centerLon = GeoUtils.mortonUnhashLon(hashedCntr);
-    centerLat = GeoUtils.mortonUnhashLat(hashedCntr);
-    final long hashedPt = GeoUtils.mortonHash(ptLon, ptLat);
-    ptLon = GeoUtils.mortonUnhashLon(hashedPt);
-    ptLat = GeoUtils.mortonUnhashLat(hashedPt);
-
-    double ptDistance = SloppyMath.haversin(centerLat, centerLon, ptLat, ptLon)*1000.0;
-    double delta = StrictMath.abs(ptDistance - radius);
-
-    // if its within the distance error then it can be wrong
-    return delta < (ptDistance*DISTANCE_PCT_ERR);
-  }
-
-  public void testRectCrossesCircle() throws Exception {
-    assertTrue(GeoRelationUtils.rectCrossesCircle(-180, -90, 180, 0.0, 0.667, 0.0, 88000.0));
-  }
-
-  private TopDocs geoDistanceRangeQuery(double lon, double lat, double minRadius, double maxRadius, int limit)
-      throws Exception {
-    GeoPointDistanceRangeQuery q = new GeoPointDistanceRangeQuery(FIELD_NAME, lon, lat, minRadius, maxRadius);
-    return searcher.search(q, limit);
-  }
-
-  public void testBBoxQuery() throws Exception {
-    TopDocs td = bboxQuery(-96.7772, 32.778650, -96.77690000, 32.778950, 5);
-    assertEquals("GeoBoundingBoxQuery failed", 4, td.totalHits);
-  }
-
-  public void testPolyQuery() throws Exception {
-    TopDocs td = polygonQuery(new double[]{-96.7682647, -96.8280029, -96.6288757, -96.4929199,
-            -96.6041564, -96.7449188, -96.76826477, -96.7682647},
-        new double[]{33.073130, 32.9942669, 32.938386, 33.0374494,
-            33.1369762, 33.1162747, 33.073130, 33.073130}, 5);
-    assertEquals("GeoPolygonQuery failed", 2, td.totalHits);
-  }
-
-  public void testPacManPolyQuery() throws Exception {
-    // pacman
-    double[] px = {0, 10, 10, 0, -8, -10, -8, 0, 10, 10, 0};
-    double[] py = {0, 5, 9, 10, 9, 0, -9, -10, -9, -5, 0};
-
-    // shape bbox
-    double xMinA = -10;
-    double xMaxA = 10;
-    double yMinA = -10;
-    double yMaxA = 10;
-
-    // candidate crosses cell
-    double xMin = 2;//-5;
-    double xMax = 11;//0.000001;
-    double yMin = -1;//0;
-    double yMax = 1;//5;
-
-    // test cell crossing poly
-    assertTrue(GeoRelationUtils.rectCrossesPolyApprox(xMin, yMin, xMax, yMax, px, py, xMinA, yMinA, xMaxA, yMaxA));
-    assertFalse(GeoRelationUtils.rectCrossesPolyApprox(-5, 0,  0.000001, 5, px, py, xMin, yMin, xMax, yMax));
-    assertTrue(GeoRelationUtils.rectWithinPolyApprox(-5, 0, -2, 5, px, py, xMin, yMin, xMax, yMax));
-  }
-
-  public void testBBoxCrossDateline() throws Exception {
-    TopDocs td = bboxQuery(179.0, -45.0, -179.0, -44.0, 20);
-    assertEquals("BBoxCrossDateline query failed", 2, td.totalHits);
-  }
-
-  public void testWholeMap() throws Exception {
-    TopDocs td = bboxQuery(GeoUtils.MIN_LON_INCL, GeoUtils.MIN_LAT_INCL, GeoUtils.MAX_LON_INCL, GeoUtils.MAX_LAT_INCL, 20);
-    assertEquals("testWholeMap failed", 24, td.totalHits);
-    td = polygonQuery(new double[] {GeoUtils.MIN_LON_INCL, GeoUtils.MIN_LON_INCL, GeoUtils.MAX_LON_INCL, GeoUtils.MAX_LON_INCL, GeoUtils.MIN_LON_INCL},
-        new double[] {GeoUtils.MIN_LAT_INCL, GeoUtils.MAX_LAT_INCL, GeoUtils.MAX_LAT_INCL, GeoUtils.MIN_LAT_INCL, GeoUtils.MIN_LAT_INCL}, 20);
-    assertEquals("testWholeMap failed", 24, td.totalHits);
-  }
-
-  public void smallTest() throws Exception {
-    TopDocs td = geoDistanceQuery(-73.998776, 40.720611, 1, 20);
-    assertEquals("smallTest failed", 2, td.totalHits);
-  }
-
-  public void testInvalidBBox() throws Exception {
-    try {
-      bboxQuery(179.0, -92.0, 181.0, -91.0, 20);
-    } catch(Exception e) {
-      return;
-    }
-    throw new Exception("GeoBoundingBox should not accept invalid lat/lon");
-  }
-
-  public void testGeoDistanceQuery() throws Exception {
-    TopDocs td = geoDistanceQuery(-96.4538113027811, 32.94823588839368, 6000, 20);
-    assertEquals("GeoDistanceQuery failed", 2, td.totalHits);
-  }
-
-  /** see https://issues.apache.org/jira/browse/LUCENE-6905 */
-  public void testNonEmptyTermsEnum() throws Exception {
-    TopDocs td = geoDistanceQuery(-177.23537676036358, -88.56029371730983, 7757.999232959935, 20);
-    assertEquals("GeoDistanceQuery failed", 2, td.totalHits);
-  }
-
-  public void testMultiValuedQuery() throws Exception {
-    TopDocs td = bboxQuery(-96.4538113027811, 32.7559529921407, -96.7706036567688, 32.7756745755423, 20);
-    // 3 single valued docs + 2 multi-valued docs
-    assertEquals("testMultiValuedQuery failed", 5, td.totalHits);
-  }
-
-  public void testTooBigRadius() throws Exception {
-    try {
-      geoDistanceQuery(0.0, 85.0, 4000000, 20);
-    } catch (IllegalArgumentException e) {
-      e.getMessage().contains("exceeds maxRadius");
-    }
-  }
-
-  /**
-   * Explicitly large
-   */
-  public void testGeoDistanceQueryHuge() throws Exception {
-    TopDocs td = geoDistanceQuery(-96.4538113027811, 32.94823588839368, 6000000, 20);
-    assertEquals("GeoDistanceQuery failed", 16, td.totalHits);
-  }
-
-  public void testGeoDistanceQueryCrossDateline() throws Exception {
-    TopDocs td = geoDistanceQuery(-179.9538113027811, 32.94823588839368, 120000, 20);
-    assertEquals("GeoDistanceQuery failed", 3, td.totalHits);
-  }
-
-  public void testInvalidGeoDistanceQuery() throws Exception {
-    try {
-      geoDistanceQuery(181.0, 92.0, 120000, 20);
-    } catch (Exception e) {
-      return;
-    }
-    throw new Exception("GeoDistanceQuery should not accept invalid lat/lon as origin");
-  }
-
-  public void testMaxDistanceRangeQuery() throws Exception {
-    TopDocs td = geoDistanceRangeQuery(0.0, 0.0, 10, 20000000, 20);
-    assertEquals("GeoDistanceRangeQuery failed", 24, td.totalHits);
-  }
-
-  public void testMortonEncoding() throws Exception {
-    long hash = GeoUtils.mortonHash(180, 90);
-    assertEquals(180.0, GeoUtils.mortonUnhashLon(hash), 0);
-    assertEquals(90.0, GeoUtils.mortonUnhashLat(hash), 0);
-  }
-
-  public void testEncodeDecode() throws Exception {
-    int iters = atLeast(10000);
-    boolean small = random().nextBoolean();
-    for(int iter=0;iter<iters;iter++) {
-      double lat = randomLat(small);
-      double lon = randomLon(small);
-
-      long enc = GeoUtils.mortonHash(lon, lat);
-      double latEnc = GeoUtils.mortonUnhashLat(enc);
-      double lonEnc = GeoUtils.mortonUnhashLon(enc);
-
-      assertEquals("lat=" + lat + " latEnc=" + latEnc + " diff=" + (lat - latEnc), lat, latEnc, GeoUtils.TOLERANCE);
-      assertEquals("lon=" + lon + " lonEnc=" + lonEnc + " diff=" + (lon - lonEnc), lon, lonEnc, GeoUtils.TOLERANCE);
-    }
-  }
-
-  public void testScaleUnscaleIsStable() throws Exception {
-    int iters = atLeast(1000);
-    boolean small = random().nextBoolean();
-    for(int iter=0;iter<iters;iter++) {
-      double lat = randomLat(small);
-      double lon = randomLon(small);
-
-      long enc = GeoUtils.mortonHash(lon, lat);
-      double latEnc = GeoUtils.mortonUnhashLat(enc);
-      double lonEnc = GeoUtils.mortonUnhashLon(enc);
-
-      long enc2 = GeoUtils.mortonHash(lon, lat);
-      double latEnc2 = GeoUtils.mortonUnhashLat(enc2);
-      double lonEnc2 = GeoUtils.mortonUnhashLon(enc2);
-      assertEquals(latEnc, latEnc2, 0.0);
-      assertEquals(lonEnc, lonEnc2, 0.0);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
index e898f1c..a1afb99 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
@@ -18,9 +18,9 @@ package org.apache.lucene.search;
 
 import org.apache.lucene.document.LatLonPoint;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.util.BaseGeoPointTestCase;
-import org.apache.lucene.util.GeoDistanceUtils;
-import org.apache.lucene.util.GeoRect;
+import org.apache.lucene.spatial.util.BaseGeoPointTestCase;
+import org.apache.lucene.spatial.util.GeoBoundingBox;
+import org.apache.lucene.spatial.util.GeoDistanceUtils;
 
 public class TestLatLonPointQueries extends BaseGeoPointTestCase {
   // todo deconflict GeoPoint and BKD encoding methods and error tolerance
@@ -32,7 +32,7 @@ public class TestLatLonPointQueries extends BaseGeoPointTestCase {
   }
 
   @Override
-  protected Query newRectQuery(String field, GeoRect rect) {
+  protected Query newRectQuery(String field, GeoBoundingBox rect) {
     return new PointInRectQuery(field, rect.minLat, rect.maxLat, rect.minLon, rect.maxLon);
   }
 
@@ -53,7 +53,7 @@ public class TestLatLonPointQueries extends BaseGeoPointTestCase {
   }
 
   @Override
-  protected Boolean rectContainsPoint(GeoRect rect, double pointLat, double pointLon) {
+  protected Boolean rectContainsPoint(GeoBoundingBox rect, double pointLat, double pointLon) {
 
     assert Double.isNaN(pointLat) == false;
 
@@ -94,7 +94,7 @@ public class TestLatLonPointQueries extends BaseGeoPointTestCase {
   }
 
   @Override
-  protected Boolean polyRectContainsPoint(GeoRect rect, double pointLat, double pointLon) {
+  protected Boolean polyRectContainsPoint(GeoBoundingBox rect, double pointLat, double pointLon) {
     // TODO write better random polygon tests
     return rectContainsPoint(rect, pointLat, pointLon);
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java b/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
deleted file mode 100644
index 5a469db..0000000
--- a/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
+++ /dev/null
@@ -1,764 +0,0 @@
-/*
- * 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.lucene.util;
-
-import java.io.IOException;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.NumericDocValuesField;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.MultiDocValues;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.SimpleCollector;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
-import org.junit.BeforeClass;
-
-// TODO: cutover TestGeoUtils too?
-
-public abstract class BaseGeoPointTestCase extends LuceneTestCase {
-
-  protected static final String FIELD_NAME = "point";
-
-  private static final double LON_SCALE = (0x1L<<GeoUtils.BITS)/360.0D;
-  private static final double LAT_SCALE = (0x1L<<GeoUtils.BITS)/180.0D;
-
-  private static double originLat;
-  private static double originLon;
-  private static double lonRange;
-  private static double latRange;
-
-  @BeforeClass
-  public static void beforeClassBase() throws Exception {
-    // Between 1.0 and 3.0:
-    lonRange = 2 * (random().nextDouble() + 0.5);
-    latRange = 2 * (random().nextDouble() + 0.5);
-
-    originLon = GeoUtils.normalizeLon(GeoUtils.MIN_LON_INCL + lonRange + (GeoUtils.MAX_LON_INCL - GeoUtils.MIN_LON_INCL - 2 * lonRange) * random().nextDouble());
-    originLat = GeoUtils.normalizeLat(GeoUtils.MIN_LAT_INCL + latRange + (GeoUtils.MAX_LAT_INCL - GeoUtils.MIN_LAT_INCL - 2 * latRange) * random().nextDouble());
-  }
-
-  /** Return true when testing on a non-small region may be too slow (GeoPoint*Query) */
-  protected boolean forceSmall() {
-    return false;
-  }
-
-  // A particularly tricky adversary for BKD tree:
-  public void testSamePointManyTimes() throws Exception {
-
-    // For GeoPointQuery, only run this test nightly:
-    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
-
-    int numPoints = atLeast(1000);
-    boolean small = random().nextBoolean();
-
-    // Every doc has 2 points:
-    double theLat = randomLat(small);
-    double theLon = randomLon(small);
-
-    double[] lats = new double[numPoints];
-    Arrays.fill(lats, theLat);
-
-    double[] lons = new double[numPoints];
-    Arrays.fill(lons, theLon);
-
-    verify(small, lats, lons);
-  }
-
-  public void testAllLatEqual() throws Exception {
-
-    // For GeoPointQuery, only run this test nightly:
-    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
-
-    int numPoints = atLeast(10000);
-    boolean small = forceSmall() || random().nextBoolean();
-    double lat = randomLat(small);
-    double[] lats = new double[numPoints];
-    double[] lons = new double[numPoints];
-
-    boolean haveRealDoc = false;
-
-    for(int docID=0;docID<numPoints;docID++) {
-      int x = random().nextInt(20);
-      if (x == 17) {
-        // Some docs don't have a point:
-        lats[docID] = Double.NaN;
-        if (VERBOSE) {
-          System.out.println("  doc=" + docID + " is missing");
-        }
-        continue;
-      }
-
-      if (docID > 0 && x == 14 && haveRealDoc) {
-        int oldDocID;
-        while (true) {
-          oldDocID = random().nextInt(docID);
-          if (Double.isNaN(lats[oldDocID]) == false) {
-            break;
-          }
-        }
-            
-        // Fully identical point:
-        lons[docID] = lons[oldDocID];
-        if (VERBOSE) {
-          System.out.println("  doc=" + docID + " lat=" + lat + " lon=" + lons[docID] + " (same lat/lon as doc=" + oldDocID + ")");
-        }
-      } else {
-        lons[docID] = randomLon(small);
-        haveRealDoc = true;
-        if (VERBOSE) {
-          System.out.println("  doc=" + docID + " lat=" + lat + " lon=" + lons[docID]);
-        }
-      }
-      lats[docID] = lat;
-    }
-
-    verify(small, lats, lons);
-  }
-
-  public void testAllLonEqual() throws Exception {
-
-    // For GeoPointQuery, only run this test nightly:
-    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
-
-    int numPoints = atLeast(10000);
-    boolean small = forceSmall() || random().nextBoolean();
-    double theLon = randomLon(small);
-    double[] lats = new double[numPoints];
-    double[] lons = new double[numPoints];
-
-    boolean haveRealDoc = false;
-
-    //System.out.println("theLon=" + theLon);
-
-    for(int docID=0;docID<numPoints;docID++) {
-      int x = random().nextInt(20);
-      if (x == 17) {
-        // Some docs don't have a point:
-        lats[docID] = Double.NaN;
-        if (VERBOSE) {
-          System.out.println("  doc=" + docID + " is missing");
-        }
-        continue;
-      }
-
-      if (docID > 0 && x == 14 && haveRealDoc) {
-        int oldDocID;
-        while (true) {
-          oldDocID = random().nextInt(docID);
-          if (Double.isNaN(lats[oldDocID]) == false) {
-            break;
-          }
-        }
-            
-        // Fully identical point:
-        lats[docID] = lats[oldDocID];
-        if (VERBOSE) {
-          System.out.println("  doc=" + docID + " lat=" + lats[docID] + " lon=" + theLon + " (same lat/lon as doc=" + oldDocID + ")");
-        }
-      } else {
-        lats[docID] = randomLat(small);
-        haveRealDoc = true;
-        if (VERBOSE) {
-          System.out.println("  doc=" + docID + " lat=" + lats[docID] + " lon=" + theLon);
-        }
-      }
-      lons[docID] = theLon;
-    }
-
-    verify(small, lats, lons);
-  }
-
-  public void testMultiValued() throws Exception {
-
-    // For GeoPointQuery, only run this test nightly:
-    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
-
-    int numPoints = atLeast(10000);
-    // Every doc has 2 points:
-    double[] lats = new double[2*numPoints];
-    double[] lons = new double[2*numPoints];
-    Directory dir = newDirectory();
-    noVirusChecker(dir);
-    IndexWriterConfig iwc = newIndexWriterConfig();
-    initIndexWriterConfig(FIELD_NAME, iwc);
-
-    // We rely on docID order:
-    iwc.setMergePolicy(newLogMergePolicy());
-    RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc);
-
-    boolean small = random().nextBoolean();
-
-    for (int id=0;id<numPoints;id++) {
-      Document doc = new Document();
-      lats[2*id] = randomLat(small);
-      lons[2*id] = randomLon(small);
-      doc.add(newStringField("id", ""+id, Field.Store.YES));
-      addPointToDoc(FIELD_NAME, doc, lats[2*id], lons[2*id]);
-      lats[2*id+1] = randomLat(small);
-      lons[2*id+1] = randomLon(small);
-      addPointToDoc(FIELD_NAME, doc, lats[2*id+1], lons[2*id+1]);
-
-      if (VERBOSE) {
-        System.out.println("id=" + id);
-        System.out.println("  lat=" + lats[2*id] + " lon=" + lons[2*id]);
-        System.out.println("  lat=" + lats[2*id+1] + " lon=" + lons[2*id+1]);
-      }
-      w.addDocument(doc);
-    }
-
-    // TODO: share w/ verify; just need parallel array of the expected ids
-    if (random().nextBoolean()) {
-      w.forceMerge(1);
-    }
-    IndexReader r = w.getReader();
-    w.close();
-
-    // We can't wrap with "exotic" readers because the BKD query must see the BKDDVFormat:
-    IndexSearcher s = newSearcher(r, false);
-
-    int iters = atLeast(75);
-    for (int iter=0;iter<iters;iter++) {
-      GeoRect rect = randomRect(small, small == false);
-
-      if (VERBOSE) {
-        System.out.println("\nTEST: iter=" + iter + " rect=" + rect);
-      }
-
-      Query query = newRectQuery(FIELD_NAME, rect);
-
-      final FixedBitSet hits = new FixedBitSet(r.maxDoc());
-      s.search(query, new SimpleCollector() {
-
-          private int docBase;
-
-          @Override
-          public boolean needsScores() {
-            return false;
-          }
-
-          @Override
-          protected void doSetNextReader(LeafReaderContext context) throws IOException {
-            docBase = context.docBase;
-          }
-
-          @Override
-          public void collect(int doc) {
-            hits.set(docBase+doc);
-          }
-        });
-
-      boolean fail = false;
-
-      for(int docID=0;docID<lats.length/2;docID++) {
-        double latDoc1 = lats[2*docID];
-        double lonDoc1 = lons[2*docID];
-        double latDoc2 = lats[2*docID+1];
-        double lonDoc2 = lons[2*docID+1];
-        
-        Boolean result1 = rectContainsPoint(rect, latDoc1, lonDoc1);
-        if (result1 == null) {
-          // borderline case: cannot test
-          continue;
-        }
-
-        Boolean result2 = rectContainsPoint(rect, latDoc2, lonDoc2);
-        if (result2 == null) {
-          // borderline case: cannot test
-          continue;
-        }
-
-        boolean expected = result1 == Boolean.TRUE || result2 == Boolean.TRUE;
-
-        if (hits.get(docID) != expected) {
-          String id = s.doc(docID).get("id");
-          if (expected) {
-            System.out.println(Thread.currentThread().getName() + ": id=" + id + " docID=" + docID + " should match but did not");
-          } else {
-            System.out.println(Thread.currentThread().getName() + ": id=" + id + " docID=" + docID + " should not match but did");
-          }
-          System.out.println("  rect=" + rect);
-          System.out.println("  lat=" + latDoc1 + " lon=" + lonDoc1 + "\n  lat=" + latDoc2 + " lon=" + lonDoc2);
-          System.out.println("  result1=" + result1 + " result2=" + result2);
-          fail = true;
-        }
-      }
-
-      if (fail) {
-        fail("some hits were wrong");
-      }
-    }
-    r.close();
-    dir.close();
-  }
-
-  public void testRandomTiny() throws Exception {
-    // Make sure single-leaf-node case is OK:
-    doTestRandom(10);
-  }
-
-  public void testRandomMedium() throws Exception {
-    doTestRandom(10000);
-  }
-
-  @Nightly
-  public void testRandomBig() throws Exception {
-    assumeFalse("Direct codec can OOME on this test", TestUtil.getDocValuesFormat(FIELD_NAME).equals("Direct"));
-    assumeFalse("Memory codec can OOME on this test", TestUtil.getDocValuesFormat(FIELD_NAME).equals("Memory"));
-    doTestRandom(200000);
-  }
-
-  private void doTestRandom(int count) throws Exception {
-
-    int numPoints = atLeast(count);
-
-    if (VERBOSE) {
-      System.out.println("TEST: numPoints=" + numPoints);
-    }
-
-    double[] lats = new double[numPoints];
-    double[] lons = new double[numPoints];
-
-    boolean small = random().nextBoolean();
-
-    boolean haveRealDoc = false;
-
-    for (int id=0;id<numPoints;id++) {
-      int x = random().nextInt(20);
-      if (x == 17) {
-        // Some docs don't have a point:
-        lats[id] = Double.NaN;
-        if (VERBOSE) {
-          System.out.println("  id=" + id + " is missing");
-        }
-        continue;
-      }
-
-      if (id > 0 && x < 3 && haveRealDoc) {
-        int oldID;
-        while (true) {
-          oldID = random().nextInt(id);
-          if (Double.isNaN(lats[oldID]) == false) {
-            break;
-          }
-        }
-            
-        if (x == 0) {
-          // Identical lat to old point
-          lats[id] = lats[oldID];
-          lons[id] = randomLon(small);
-          if (VERBOSE) {
-            System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id] + " (same lat as doc=" + oldID + ")");
-          }
-        } else if (x == 1) {
-          // Identical lon to old point
-          lats[id] = randomLat(small);
-          lons[id] = lons[oldID];
-          if (VERBOSE) {
-            System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id] + " (same lon as doc=" + oldID + ")");
-          }
-        } else {
-          assert x == 2;
-          // Fully identical point:
-          lats[id] = lats[oldID];
-          lons[id] = lons[oldID];
-          if (VERBOSE) {
-            System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id] + " (same lat/lon as doc=" + oldID + ")");
-          }
-        }
-      } else {
-        lats[id] = randomLat(small);
-        lons[id] = randomLon(small);
-        haveRealDoc = true;
-        if (VERBOSE) {
-          System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id]);
-        }
-      }
-    }
-
-    verify(small, lats, lons);
-  }
-
-  public double randomLat(boolean small) {
-    double result;
-    if (small) {
-      result = GeoUtils.normalizeLat(originLat + latRange * (random().nextDouble() - 0.5));
-    } else {
-      result = -90 + 180.0 * random().nextDouble();
-    }
-    return result;
-  }
-
-  public double randomLon(boolean small) {
-    double result;
-    if (small) {
-      result = GeoUtils.normalizeLon(originLon + lonRange * (random().nextDouble() - 0.5));
-    } else {
-      result = -180 + 360.0 * random().nextDouble();
-    }
-    return result;
-  }
-
-  protected GeoRect randomRect(boolean small, boolean canCrossDateLine) {
-    double lat0 = randomLat(small);
-    double lat1 = randomLat(small);
-    double lon0 = randomLon(small);
-    double lon1 = randomLon(small);
-
-    if (lat1 < lat0) {
-      double x = lat0;
-      lat0 = lat1;
-      lat1 = x;
-    }
-
-    if (canCrossDateLine == false && lon1 < lon0) {
-      double x = lon0;
-      lon0 = lon1;
-      lon1 = x;
-    }
-
-    return new GeoRect(lon0, lon1, lat0, lat1);
-  }
-
-  protected void initIndexWriterConfig(String field, IndexWriterConfig iwc) {
-  }
-
-  protected abstract void addPointToDoc(String field, Document doc, double lat, double lon);
-
-  protected abstract Query newRectQuery(String field, GeoRect bbox);
-
-  protected abstract Query newDistanceQuery(String field, double centerLat, double centerLon, double radiusMeters);
-
-  protected abstract Query newDistanceRangeQuery(String field, double centerLat, double centerLon, double minRadiusMeters, double radiusMeters);
-
-  protected abstract Query newPolygonQuery(String field, double[] lats, double[] lons);
-
-  /** Returns null if it's borderline case */
-  protected abstract Boolean rectContainsPoint(GeoRect rect, double pointLat, double pointLon);
-
-  /** Returns null if it's borderline case */
-  protected abstract Boolean polyRectContainsPoint(GeoRect rect, double pointLat, double pointLon);
-
-  /** Returns null if it's borderline case */
-  protected abstract Boolean circleContainsPoint(double centerLat, double centerLon, double radiusMeters, double pointLat, double pointLon);
-
-  protected abstract Boolean distanceRangeContainsPoint(double centerLat, double centerLon, double minRadiusMeters, double radiusMeters, double pointLat, double pointLon);
-
-  private static abstract class VerifyHits {
-
-    public void test(AtomicBoolean failed, boolean small, IndexSearcher s, NumericDocValues docIDToID, Set<Integer> deleted, Query query, double[] lats, double[] lons) throws Exception {
-      int maxDoc = s.getIndexReader().maxDoc();
-      final FixedBitSet hits = new FixedBitSet(maxDoc);
-      s.search(query, new SimpleCollector() {
-
-          private int docBase;
-
-          @Override
-          public boolean needsScores() {
-            return false;
-          }
-
-          @Override
-          protected void doSetNextReader(LeafReaderContext context) throws IOException {
-            docBase = context.docBase;
-          }
-
-          @Override
-          public void collect(int doc) {
-            hits.set(docBase+doc);
-          }
-        });
-
-      boolean fail = false;
-
-      for(int docID=0;docID<maxDoc;docID++) {
-        int id = (int) docIDToID.get(docID);
-        Boolean expected;
-        if (deleted.contains(id)) {
-          expected = false;
-        } else if (Double.isNaN(lats[id])) {
-          expected = false;
-        } else {
-          expected = shouldMatch(lats[id], lons[id]);
-        }
-
-        // null means it's a borderline case which is allowed to be wrong:
-        if (expected != null && hits.get(docID) != expected) {
-          if (expected) {
-            System.out.println(Thread.currentThread().getName() + ": id=" + id + " should match but did not");
-          } else {
-            System.out.println(Thread.currentThread().getName() + ": id=" + id + " should not match but did");
-          }
-          System.out.println("  small=" + small + " query=" + query +
-                             " docID=" + docID + "\n  lat=" + lats[id] + " lon=" + lons[id] +
-                             "\n  deleted?=" + deleted.contains(id));
-          if (Double.isNaN(lats[id]) == false) {
-            describe(docID, lats[id], lons[id]);
-          }
-          fail = true;
-        }
-      }
-
-      if (fail) {
-        failed.set(true);
-        fail("some hits were wrong");
-      }
-    }
-
-    /** Return true if we definitely should match, false if we definitely
-     *  should not match, and null if it's a borderline case which might
-     *  go either way. */
-    protected abstract Boolean shouldMatch(double lat, double lon);
-
-    protected abstract void describe(int docID, double lat, double lon);
-  }
-
-  protected void verify(boolean small, double[] lats, double[] lons) throws Exception {
-    IndexWriterConfig iwc = newIndexWriterConfig();
-    // Else we can get O(N^2) merging:
-    int mbd = iwc.getMaxBufferedDocs();
-    if (mbd != -1 && mbd < lats.length/100) {
-      iwc.setMaxBufferedDocs(lats.length/100);
-    }
-    Directory dir;
-    if (lats.length > 100000) {
-      dir = newFSDirectory(createTempDir(getClass().getSimpleName()));
-    } else {
-      dir = newDirectory();
-    }
-    noVirusChecker(dir);
-
-    Set<Integer> deleted = new HashSet<>();
-    // RandomIndexWriter is too slow here:
-    IndexWriter w = new IndexWriter(dir, iwc);
-    for(int id=0;id<lats.length;id++) {
-      Document doc = new Document();
-      doc.add(newStringField("id", ""+id, Field.Store.NO));
-      doc.add(new NumericDocValuesField("id", id));
-      if (Double.isNaN(lats[id]) == false) {
-        addPointToDoc(FIELD_NAME, doc, lats[id], lons[id]);
-      }
-      w.addDocument(doc);
-      if (id > 0 && random().nextInt(100) == 42) {
-        int idToDelete = random().nextInt(id);
-        w.deleteDocuments(new Term("id", ""+idToDelete));
-        deleted.add(idToDelete);
-        if (VERBOSE) {
-          System.out.println("  delete id=" + idToDelete);
-        }
-      }
-    }
-
-    if (random().nextBoolean()) {
-      w.forceMerge(1);
-    }
-    final IndexReader r = DirectoryReader.open(w);
-    w.close();
-
-    // We can't wrap with "exotic" readers because the BKD query must see the BKDDVFormat:
-    IndexSearcher s = newSearcher(r, false);
-
-    // Make sure queries are thread safe:
-    int numThreads = TestUtil.nextInt(random(), 2, 5);
-
-    List<Thread> threads = new ArrayList<>();
-    final int iters = atLeast(75);
-
-    final CountDownLatch startingGun = new CountDownLatch(1);
-    final AtomicBoolean failed = new AtomicBoolean();
-
-    for(int i=0;i<numThreads;i++) {
-      Thread thread = new Thread() {
-          @Override
-          public void run() {
-            try {
-              _run();
-            } catch (Exception e) {
-              failed.set(true);
-              throw new RuntimeException(e);
-            }
-          }
-
-          private void _run() throws Exception {
-            startingGun.await();
-
-            NumericDocValues docIDToID = MultiDocValues.getNumericValues(r, "id");
-
-            for (int iter=0;iter<iters && failed.get() == false;iter++) {
-
-              if (VERBOSE) {
-                System.out.println("\nTEST: iter=" + iter + " s=" + s);
-              }
-              Query query;
-              VerifyHits verifyHits;
-
-              if (random().nextBoolean()) {
-                // Rect: don't allow dateline crossing when testing small:
-                final GeoRect rect = randomRect(small, small == false);
-
-                query = newRectQuery(FIELD_NAME, rect);
-
-                verifyHits = new VerifyHits() {
-                    @Override
-                    protected Boolean shouldMatch(double pointLat, double pointLon) {
-                      return rectContainsPoint(rect, pointLat, pointLon);
-                    }
-                    @Override
-                    protected void describe(int docID, double lat, double lon) {
-                    }
-                  };
-
-              } else if (random().nextBoolean()) {
-                // Distance
-                final boolean rangeQuery = random().nextBoolean();
-                final double centerLat = randomLat(small);
-                final double centerLon = randomLon(small);
-
-                double radiusMeters;
-                double minRadiusMeters;
-
-                if (small) {
-                  // Approx 3 degrees lon at the equator:
-                  radiusMeters = random().nextDouble() * 333000 + 1.0;
-                } else {
-                  // So the query can cover at most 50% of the earth's surface:
-                  radiusMeters = random().nextDouble() * GeoProjectionUtils.SEMIMAJOR_AXIS * Math.PI / 2.0 + 1.0;
-                }
-
-                // generate a random minimum radius between 1% and 95% the max radius
-                minRadiusMeters = (0.01 + 0.94 * random().nextDouble()) * radiusMeters;
-
-                if (VERBOSE) {
-                  final DecimalFormat df = new DecimalFormat("#,###.00", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
-                  System.out.println("  radiusMeters = " + df.format(radiusMeters)
-                      + ((rangeQuery == true) ? " minRadiusMeters = " + df.format(minRadiusMeters) : ""));
-                }
-
-                try {
-                  if (rangeQuery == true) {
-                    query = newDistanceRangeQuery(FIELD_NAME, centerLat, centerLon, minRadiusMeters, radiusMeters);
-                  } else {
-                    query = newDistanceQuery(FIELD_NAME, centerLat, centerLon, radiusMeters);
-                  }
-                } catch (IllegalArgumentException e) {
-                  if (e.getMessage().contains("exceeds maxRadius")) {
-                    continue;
-                  }
-                  throw e;
-                }
-
-                verifyHits = new VerifyHits() {
-                    @Override
-                    protected Boolean shouldMatch(double pointLat, double pointLon) {
-                      if (rangeQuery == false) {
-                        return circleContainsPoint(centerLat, centerLon, radiusMeters, pointLat, pointLon);
-                      } else {
-                        return distanceRangeContainsPoint(centerLat, centerLon, minRadiusMeters, radiusMeters, pointLat, pointLon);
-                      }
-                    }
-
-                    @Override
-                    protected void describe(int docID, double pointLat, double pointLon) {
-                      double distanceKM = SloppyMath.haversin(centerLat, centerLon, pointLat, pointLon);
-                      System.out.println("  docID=" + docID + " centerLon=" + centerLon + " centerLat=" + centerLat
-                          + " pointLon=" + pointLon + " pointLat=" + pointLat + " distanceMeters=" + (distanceKM * 1000)
-                          + " vs" + ((rangeQuery == true) ? " minRadiusMeters=" + minRadiusMeters : "") + " radiusMeters=" + radiusMeters);
-                    }
-                   };
-
-              // TODO: get poly query working with dateline crossing too (how?)!
-              } else {
-
-                // TODO: poly query can't handle dateline crossing yet:
-                final GeoRect bbox = randomRect(small, false);
-
-                // Polygon
-                double[] lats = new double[5];
-                double[] lons = new double[5];
-                lats[0] = bbox.minLat;
-                lons[0] = bbox.minLon;
-                lats[1] = bbox.maxLat;
-                lons[1] = bbox.minLon;
-                lats[2] = bbox.maxLat;
-                lons[2] = bbox.maxLon;
-                lats[3] = bbox.minLat;
-                lons[3] = bbox.maxLon;
-                lats[4] = bbox.minLat;
-                lons[4] = bbox.minLon;
-                query = newPolygonQuery(FIELD_NAME, lats, lons);
-
-                verifyHits = new VerifyHits() {
-                    @Override
-                    protected Boolean shouldMatch(double pointLat, double pointLon) {
-                      return polyRectContainsPoint(bbox, pointLat, pointLon);
-                    }
-
-                    @Override
-                    protected void describe(int docID, double lat, double lon) {
-                    }
-                  };
-              }
-
-              if (query != null) {
-
-                if (VERBOSE) {
-                  System.out.println("  query=" + query);
-                }
-
-                verifyHits.test(failed, small, s, docIDToID, deleted, query, lats, lons);
-              }
-            }
-          }
-      };
-      thread.setName("T" + i);
-      thread.start();
-      threads.add(thread);
-    }
-    startingGun.countDown();
-    for(Thread thread : threads) {
-      thread.join();
-    }
-    IOUtils.close(r, dir);
-    assertFalse(failed.get());
-  }
-
-  protected Directory noVirusChecker(Directory dir) {
-    if (dir instanceof MockDirectoryWrapper) {
-      ((MockDirectoryWrapper) dir).setEnableVirusScanner(false);
-    }
-    return dir;
-  }
-}


[22/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
index db1044f..7dffba0 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingByteBlockAllocator.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
-import org.junit.Before;
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,15 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicLong;
+import org.junit.Before;
+import org.junit.Test;
+
 
 /**
  * Testcase for {@link RecyclingByteBlockAllocator}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
index 1ea6702..89f0dbe 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRecyclingIntBlockAllocator.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
-import org.junit.Before;
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,15 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicLong;
+import org.junit.Before;
+import org.junit.Test;
+
 
 /**
  * Testcase for {@link RecyclingIntBlockAllocator}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestRoaringDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRoaringDocIdSet.java b/lucene/core/src/test/org/apache/lucene/util/TestRoaringDocIdSet.java
index 4235add..e63e26a 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRoaringDocIdSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRoaringDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestRollingBuffer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRollingBuffer.java b/lucene/core/src/test/org/apache/lucene/util/TestRollingBuffer.java
index 146c490..6a28b61 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRollingBuffer.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRollingBuffer.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.Random;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.Random;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.Random;
+
 
 public class TestRollingBuffer extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSPIClassIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSPIClassIterator.java b/lucene/core/src/test/org/apache/lucene/util/TestSPIClassIterator.java
index ac57b97..9bbe907 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSPIClassIterator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSPIClassIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.net.URL;
 import java.net.URLClassLoader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSentinelIntSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSentinelIntSet.java b/lucene/core/src/test/org/apache/lucene/util/TestSentinelIntSet.java
index 00a5bb8..3a5c975 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSentinelIntSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSentinelIntSet.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.util;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSetOnce.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSetOnce.java b/lucene/core/src/test/org/apache/lucene/util/TestSetOnce.java
index 1ee0e6d..b072a73 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSetOnce.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSetOnce.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSloppyMath.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSloppyMath.java b/lucene/core/src/test/org/apache/lucene/util/TestSloppyMath.java
index ccba22d..7df2f78 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSloppyMath.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSloppyMath.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import static org.apache.lucene.util.SloppyMath.cos;
 import static org.apache.lucene.util.SloppyMath.asin;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSmallFloat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSmallFloat.java b/lucene/core/src/test/org/apache/lucene/util/TestSmallFloat.java
index 55bf180..86c6bb8 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSmallFloat.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSmallFloat.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.util;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 public class TestSmallFloat extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitDocIdSet.java b/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitDocIdSet.java
index fc0d136..310a234 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitDocIdSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitSet.java b/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitSet.java
index 8624913..581646e 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestSparseFixedBitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestStringHelper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestStringHelper.java b/lucene/core/src/test/org/apache/lucene/util/TestStringHelper.java
index be425e0..58c3030 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestStringHelper.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestStringHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 public class TestStringHelper extends LuceneTestCase {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestTimSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestTimSorter.java b/lucene/core/src/test/org/apache/lucene/util/TestTimSorter.java
index 15b5b09..59c0b91 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestTimSorter.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestTimSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 public class TestTimSorter extends BaseSortTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestTimSorterWorstCase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestTimSorterWorstCase.java b/lucene/core/src/test/org/apache/lucene/util/TestTimSorterWorstCase.java
index 621ccd6..5ab397d 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestTimSorterWorstCase.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestTimSorterWorstCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.LinkedList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestUnicodeUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestUnicodeUtil.java b/lucene/core/src/test/org/apache/lucene/util/TestUnicodeUtil.java
index 456e0f4..0ef25ee 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestUnicodeUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestUnicodeUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /*
  * Some of this code came from the excellent Unicode

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestVersion.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestVersion.java b/lucene/core/src/test/org/apache/lucene/util/TestVersion.java
index a9643a3..fd02ce2 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestVersion.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestVersion.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestVirtualMethod.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestVirtualMethod.java b/lucene/core/src/test/org/apache/lucene/util/TestVirtualMethod.java
index 1f365f2..38d217d 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestVirtualMethod.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestVirtualMethod.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 public class TestVirtualMethod extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java b/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java
index 0173e0a..4e0c7a5 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.util;
 
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java b/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
index 01cd988..57113d0 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/FiniteStringsIteratorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IntsRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java b/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
index abf380f..ddaa65a 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/LimitedFiniteStringsIteratorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestAutomaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestAutomaton.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestAutomaton.java
index d0bfae2..83c5738 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestAutomaton.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestAutomaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestCompiledAutomaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestCompiledAutomaton.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestCompiledAutomaton.java
index 84143ea..3a65cb8 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestCompiledAutomaton.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestCompiledAutomaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminism.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminism.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminism.java
index 4a46c88..8c53b47 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminism.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminism.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminizeLexicon.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminizeLexicon.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminizeLexicon.java
index 85a12e9..1440b19 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminizeLexicon.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestDeterminizeLexicon.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
index a5e759a..816a53a 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestLevenshteinAutomata.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestMinimize.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestMinimize.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestMinimize.java
index 5dd5a9c..2da14df 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestMinimize.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestMinimize.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestOperations.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestOperations.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestOperations.java
index 926f489..c9489e9 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestOperations.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestOperations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
index 331bb59..afb8e36 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/automaton/TestUTF32ToUTF8.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestUTF32ToUTF8.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestUTF32ToUTF8.java
index d823b3a..83c614c 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestUTF32ToUTF8.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestUTF32ToUTF8.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.nio.charset.StandardCharsets;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/bkd/TestBKD.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/bkd/TestBKD.java b/lucene/core/src/test/org/apache/lucene/util/bkd/TestBKD.java
index 3448150..5afebba 100644
--- a/lucene/core/src/test/org/apache/lucene/util/bkd/TestBKD.java
+++ b/lucene/core/src/test/org/apache/lucene/util/bkd/TestBKD.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.IOException;
 import java.math.BigInteger;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/fst/Test2BFST.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/fst/Test2BFST.java b/lucene/core/src/test/org/apache/lucene/util/fst/Test2BFST.java
index 57d8374..79313e0 100644
--- a/lucene/core/src/test/org/apache/lucene/util/fst/Test2BFST.java
+++ b/lucene/core/src/test/org/apache/lucene/util/fst/Test2BFST.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.util.Arrays;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/fst/TestBytesStore.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/fst/TestBytesStore.java b/lucene/core/src/test/org/apache/lucene/util/fst/TestBytesStore.java
index f5db2b6..ce5a52b 100644
--- a/lucene/core/src/test/org/apache/lucene/util/fst/TestBytesStore.java
+++ b/lucene/core/src/test/org/apache/lucene/util/fst/TestBytesStore.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java b/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
index 27dd169..6086ed7 100644
--- a/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
+++ b/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectMonotonic.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectMonotonic.java b/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectMonotonic.java
index 159ceb9..5cad155 100644
--- a/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectMonotonic.java
+++ b/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectMonotonic.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java b/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java
index 7127a15..4d72a69 100644
--- a/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java
+++ b/lucene/core/src/test/org/apache/lucene/util/packed/TestDirectPacked.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java b/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
index bab144b..4062134 100644
--- a/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
+++ b/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/IndexFiles.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/IndexFiles.java b/lucene/demo/src/java/org/apache/lucene/demo/IndexFiles.java
index b8d8a9e..ddaf4d2 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/IndexFiles.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/IndexFiles.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/SearchFiles.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/SearchFiles.java b/lucene/demo/src/java/org/apache/lucene/demo/SearchFiles.java
index dcc18a9..46c75e1 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/SearchFiles.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/SearchFiles.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/AssociationsFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/AssociationsFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/AssociationsFacetsExample.java
index 66ede10..3e2737d 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/AssociationsFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/AssociationsFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/DistanceFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/DistanceFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/DistanceFacetsExample.java
index c183074..bf3f185 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/DistanceFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/DistanceFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
 import org.apache.lucene.document.DoublePoint;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/ExpressionAggregationFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/ExpressionAggregationFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/ExpressionAggregationFacetsExample.java
index b5f1657..fca7b6c 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/ExpressionAggregationFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/ExpressionAggregationFacetsExample.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.demo.facet;
 
 import java.io.IOException;
@@ -30,22 +46,6 @@ import org.apache.lucene.search.SortField;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.RAMDirectory;
 
-/*
- * 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.
- */
 
 /** Shows facets aggregation by an expression. */
 public class ExpressionAggregationFacetsExample {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/MultiCategoryListsFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/MultiCategoryListsFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/MultiCategoryListsFacetsExample.java
index 7f8c0c6..c364797 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/MultiCategoryListsFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/MultiCategoryListsFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java
index 6c6b3f4..cbc19b8 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
 import org.apache.lucene.document.LongPoint;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java
index 7a6a36e..df424cb 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleSortedSetFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleSortedSetFacetsExample.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleSortedSetFacetsExample.java
index 0c301e5..06b9bf4 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleSortedSetFacetsExample.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleSortedSetFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/facet/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/package-info.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/package-info.java
index af74d23..4252e0e 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/facet/package-info.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Facets example code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/package-info.java b/lucene/demo/src/java/org/apache/lucene/demo/package-info.java
index 77f76dd..e78e3f0 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/package-info.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Demo applications for indexing and searching.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java b/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java
index 4874acc..8e8371c 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/FormBasedXmlQueryDemo.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.demo.xmlparser;
 
 import java.io.BufferedReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java b/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java
index 0b569dc..adf284e 100644
--- a/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/xmlparser/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Demo servlet for the XML Query Parser.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java b/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
index a512319..6ee4add 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/TestDemo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationsFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationsFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationsFacetsExample.java
index 1ae1c43..52fa7f2 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationsFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationsFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestDistanceFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestDistanceFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestDistanceFacetsExample.java
index 3eb20c7..ced5171 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestDistanceFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestDistanceFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 
 import org.apache.lucene.facet.FacetResult;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
index 2cc7029..0c052ce 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestExpressionAggregationFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCategoryListsFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCategoryListsFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCategoryListsFacetsExample.java
index b7e6bc7..d53787f 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCategoryListsFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCategoryListsFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
index f48d706..94e6b0f 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleFacetsExample.java
index 9b6087b..54c73b1 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import org.apache.lucene.facet.FacetResult;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
----------------------------------------------------------------------
diff --git a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
index e4db665..240c7b3 100644
--- a/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleSortedSetFacetsExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.demo.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.demo.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.demo.facet;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/Bindings.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/Bindings.java b/lucene/expressions/src/java/org/apache/lucene/expressions/Bindings.java
index ac7529f..5ec2edb 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/Bindings.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/Bindings.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import org.apache.lucene.queries.function.ValueSource;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/Expression.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/Expression.java b/lucene/expressions/src/java/org/apache/lucene/expressions/Expression.java
index 0d8bd33..02be23b 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/Expression.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/Expression.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import org.apache.lucene.expressions.js.JavascriptCompiler; // javadocs
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionComparator.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionComparator.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionComparator.java
index bf386bc..eabf6dd 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionComparator.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionComparator.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java
index 2452b21..ad195cd 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionRescorer.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionRescorer.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionRescorer.java
index 79812a0..33e8428 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionRescorer.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionRescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionSortField.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionSortField.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionSortField.java
index 0a2df9f..2b39834 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionSortField.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionSortField.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionValueSource.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionValueSource.java
index 5839796..fcba455 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionValueSource.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionValueSource.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/FakeScorer.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/FakeScorer.java b/lucene/expressions/src/java/org/apache/lucene/expressions/FakeScorer.java
index d099792..c78951c 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/FakeScorer.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/FakeScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreFunctionValues.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreFunctionValues.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreFunctionValues.java
index 059af17..e310c06 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreFunctionValues.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreFunctionValues.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreValueSource.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreValueSource.java
index c6ffb2a..ea1669c 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreValueSource.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ScoreValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/SimpleBindings.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/SimpleBindings.java b/lucene/expressions/src/java/org/apache/lucene/expressions/SimpleBindings.java
index 07e5587..e64249e 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/SimpleBindings.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/SimpleBindings.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptCompiler.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptCompiler.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptCompiler.java
index 83734f8..c78f6a97 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptCompiler.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptCompiler.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions.js;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptErrorHandlingLexer.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptErrorHandlingLexer.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptErrorHandlingLexer.java
index bb0fa0d..7e9f243 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptErrorHandlingLexer.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptErrorHandlingLexer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions.js;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
+
 
 import java.text.ParseException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParserErrorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParserErrorStrategy.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParserErrorStrategy.java
index 2b1392d..63ff6fc 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParserErrorStrategy.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/JavascriptParserErrorStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions.js;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
+
 
 import java.text.ParseException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/js/VariableContext.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/VariableContext.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/VariableContext.java
index e0d3255..a9b8c92 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/VariableContext.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/VariableContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions.js;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/js/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/js/package-info.java b/lucene/expressions/src/java/org/apache/lucene/expressions/js/package-info.java
index 3aa543a..b58994f 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/js/package-info.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/js/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Javascript expressions.
  * <p>A Javascript expression is a numeric expression specified using an expression syntax that's based on JavaScript expressions. You can construct expressions using:</p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/java/org/apache/lucene/expressions/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/package-info.java b/lucene/expressions/src/java/org/apache/lucene/expressions/package-info.java
index 62a519b..77c8b99 100644
--- a/lucene/expressions/src/java/org/apache/lucene/expressions/package-info.java
+++ b/lucene/expressions/src/java/org/apache/lucene/expressions/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Expressions.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/TestDemoExpressions.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/TestDemoExpressions.java b/lucene/expressions/src/test/org/apache/lucene/expressions/TestDemoExpressions.java
index 039f1a7..4699b85 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/TestDemoExpressions.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/TestDemoExpressions.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.expressions;
 
 import org.apache.lucene.document.Document;
@@ -27,22 +43,6 @@ import static org.apache.lucene.expressions.js.VariableContext.Type.MEMBER;
 import static org.apache.lucene.expressions.js.VariableContext.Type.STR_INDEX;
 import static org.apache.lucene.expressions.js.VariableContext.Type.INT_INDEX;
 
-/*
- * 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.
- */
 
 /** simple demo of using expressions */
 public class  TestDemoExpressions extends LuceneTestCase {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionRescorer.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionRescorer.java b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionRescorer.java
index cb4656b..f60d45b 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionRescorer.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionRescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSortField.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSortField.java b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSortField.java
index 48fcda4..ec6ea11 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSortField.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import org.apache.lucene.expressions.js.JavascriptCompiler;
 import org.apache.lucene.search.SortField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSorts.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSorts.java b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSorts.java
index e244d1d..cb24f6f 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSorts.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionSorts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import java.util.Arrays;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValidation.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValidation.java b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValidation.java
index be2a9cb..9aa9a39 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValidation.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValidation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import org.apache.lucene.expressions.js.JavascriptCompiler;
 import org.apache.lucene.search.SortField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValueSource.java b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValueSource.java
index 4513d06..6bf73d1 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValueSource.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions;
+
 
 import java.util.HashMap;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestCustomFunctions.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestCustomFunctions.java b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestCustomFunctions.java
index 5c7dfec..ca807e2 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestCustomFunctions.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestCustomFunctions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions.js;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
+
 
 import java.io.PrintWriter;
 import java.io.StringWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptCompiler.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptCompiler.java b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptCompiler.java
index c572c33..8a95321 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptCompiler.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptCompiler.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions.js;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
 
 import java.text.ParseException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptFunction.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptFunction.java b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptFunction.java
index d180476..207b993 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptFunction.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptFunction.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions.js;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
 
 import org.apache.lucene.expressions.Expression;
 import org.apache.lucene.util.LuceneTestCase;


[37/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
index 65b4a76..2092afe 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
index 0c82cb5..a939952 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.benchmark.byTask;
 
 import java.io.BufferedReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
index 2b15e99..90158da 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.benchmark.byTask;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/DocMakerTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/DocMakerTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/DocMakerTest.java
index 0d7292e..c2ead39 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/DocMakerTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/DocMakerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.PrintStream;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSourceTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSourceTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSourceTest.java
index b66b8e0..c6fa60f 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSourceTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSourceTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
index cce2f68..99236cd 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.BufferedWriter;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
index ec4c96e..a838334 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.StringReader;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TrecContentSourceTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TrecContentSourceTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TrecContentSourceTest.java
index 3d2322d..bb87fdd 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TrecContentSourceTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TrecContentSourceTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTaskTest.java
index e86cf6d..1f38264 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.nio.file.Path;
 import java.util.Properties;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTaskTest.java
index 57846d4..f6e7faa 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.Properties;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingHighlighterTestTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingHighlighterTestTask.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingHighlighterTestTask.java
index 68bbf8b..da322df 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingHighlighterTestTask.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingHighlighterTestTask.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.benchmark.byTask.tasks;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingSearchTestTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingSearchTestTask.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingSearchTestTask.java
index 1f002c0..318c8f5 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingSearchTestTask.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CountingSearchTestTask.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.benchmark.byTask.tasks;
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTaskTest.java
index fc4230e..90ae88e 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/PerfTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/PerfTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/PerfTaskTest.java
index d6debaa..09bda22 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/PerfTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/PerfTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.Properties;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTaskTest.java
index c16e546..a85196f 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.BenchmarkTestCase;
 import org.apache.lucene.benchmark.byTask.PerfRunData;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
index ac8277c..d2bcd08 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.BufferedReader;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTaskTest.java
index 6a5292a..3b2d625 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.BufferedReader;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltPackageTaskTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltPackageTaskTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltPackageTaskTest.java
index 77f84b8..059650d 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltPackageTaskTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltPackageTaskTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks.alt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks.alt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks.alt;
+
 
 import org.apache.lucene.benchmark.BenchmarkTestCase;
 import org.apache.lucene.benchmark.byTask.Benchmark;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltTestTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltTestTask.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltTestTask.java
index b01c3bd..5de45ef 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltTestTask.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/tasks/alt/AltTestTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks.alt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks.alt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks.alt;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.tasks.PerfTask;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
index df6bea1..072f88b 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
index c975bbc..1c34daa 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import java.util.Properties;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
index b3eb8e9..494fe6d 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.quality;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.quality;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.quality;
+
 
 import org.apache.lucene.benchmark.BenchmarkTestCase;
 import org.apache.lucene.benchmark.quality.trec.TrecJudge;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
index f0d909f..ec56a91 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.classification;
 
 import java.io.IOException;
@@ -20,22 +36,6 @@ import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.TotalHitCountCollector;
 import org.apache.lucene.util.BytesRef;
 
-/*
- * 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.
- */
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/document/DocumentClassifier.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/document/DocumentClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/document/DocumentClassifier.java
index e5bb6e6..b53a9db 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/document/DocumentClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/document/DocumentClassifier.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.document;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifier.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifier.java
index fb26d15..c0d709a 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifier.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.document;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
index 785518b..3dc01bb 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.document;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/document/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/document/package-info.java b/lucene/classification/src/java/org/apache/lucene/classification/document/package-info.java
index 34ea098..69d9c30 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/document/package-info.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/document/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Uses already seen data (the indexed documents) to classify new documents.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/package-info.java b/lucene/classification/src/java/org/apache/lucene/classification/package-info.java
index abb3acf..fa05f5a 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/package-info.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Uses already seen data (the indexed documents) to classify an input ( can be simple text or a structured document).
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/utils/ConfusionMatrixGenerator.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/utils/ConfusionMatrixGenerator.java b/lucene/classification/src/java/org/apache/lucene/classification/utils/ConfusionMatrixGenerator.java
index 5b2bc82..17f5b21 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/utils/ConfusionMatrixGenerator.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/utils/ConfusionMatrixGenerator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.utils;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java b/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
index c1e6ed3..0b03b94 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/utils/DatasetSplitter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.utils;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/java/org/apache/lucene/classification/utils/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/utils/package-info.java b/lucene/classification/src/java/org/apache/lucene/classification/utils/package-info.java
index d510e09..8572767 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/utils/package-info.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/utils/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Utilities for evaluation, data preparation, etc.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/test/org/apache/lucene/classification/CachingNaiveBayesClassifierTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/CachingNaiveBayesClassifierTest.java b/lucene/classification/src/test/org/apache/lucene/classification/CachingNaiveBayesClassifierTest.java
index b133291..535c96f 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/CachingNaiveBayesClassifierTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/CachingNaiveBayesClassifierTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java b/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
index 766ed24..316802b 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.document;
+
 
 import java.io.IOException;
 import java.util.LinkedHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/test/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifierTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifierTest.java b/lucene/classification/src/test/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifierTest.java
index 10e4dce..74152f6 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifierTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/document/KNearestNeighborDocumentClassifierTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.document;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/test/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifierTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifierTest.java b/lucene/classification/src/test/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifierTest.java
index a1bcb54..7f6630c 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifierTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifierTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.document;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/test/org/apache/lucene/classification/utils/ConfusionMatrixGeneratorTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/utils/ConfusionMatrixGeneratorTest.java b/lucene/classification/src/test/org/apache/lucene/classification/utils/ConfusionMatrixGeneratorTest.java
index 037b0c7..e582b79 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/utils/ConfusionMatrixGeneratorTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/utils/ConfusionMatrixGeneratorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.utils;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/classification/src/test/org/apache/lucene/classification/utils/DataSplitterTest.java
----------------------------------------------------------------------
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/utils/DataSplitterTest.java b/lucene/classification/src/test/org/apache/lucene/classification/utils/DataSplitterTest.java
index 9b64c84..d69fefb 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/utils/DataSplitterTest.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/utils/DataSplitterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.classification.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.classification.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.classification.utils;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/AutoPrefixPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/AutoPrefixPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/AutoPrefixPostingsFormat.java
index 62b5ed9..b83866a 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/AutoPrefixPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/AutoPrefixPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.autoprefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.autoprefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.autoprefix;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/package-info.java b/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/package-info.java
index b15f2fa..90758b0 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/package-info.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/autoprefix/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * An experimental postings format that automatically indexes appropriate
  * prefix terms for fast range and prefix queries.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
index 354957a..6c9ddd2 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
index c9382b6..f19cd2c 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java
index c153a70..adf8191 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexWriter.java
index 0162576..cdfd962 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import org.apache.lucene.store.IndexOutput;
 import org.apache.lucene.store.RAMOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexReaderBase.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexReaderBase.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexReaderBase.java
index 42698dd..76ddbd6 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexReaderBase.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexReaderBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexWriterBase.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexWriterBase.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexWriterBase.java
index d003ca4..53ee86d 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexWriterBase.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/TermsIndexWriterBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import org.apache.lucene.codecs.TermStats;
 import org.apache.lucene.index.FieldInfo;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java
index a916f5b..f3d373e 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexWriter.java
index ec12623..47c6e76 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/package-info.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/package-info.java
index 3317f0a..67368a1 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/package-info.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Pluggable term index / block terms dictionary implementations.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/BlockTreeOrdsPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/BlockTreeOrdsPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/BlockTreeOrdsPostingsFormat.java
index b149a14..a93622c 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/BlockTreeOrdsPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/BlockTreeOrdsPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/FSTOrdsOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/FSTOrdsOutputs.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/FSTOrdsOutputs.java
index 6c5778a..050ad2f 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/FSTOrdsOutputs.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/FSTOrdsOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java
index 00c2214..afdaf5a 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsWriter.java
index 5d45fb0..fb682fd 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java
index 4ce35a3..5d02258 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
index e5508e8..cd0e246 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnumFrame.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnumFrame.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnumFrame.java
index c74691c..9312ff9 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnumFrame.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnumFrame.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
index b361590..92ca176 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 //import java.io.*;
 //import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnumFrame.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnumFrame.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnumFrame.java
index bef57cc..76a30c4 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnumFrame.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnumFrame.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/package-info.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/package-info.java
index 57f7e38..e3cd1b5 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/package-info.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Same postings format as Lucene50, except the terms dictionary also
  * supports ords, i.e. returning which ord the enum is seeked to, and

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilterFactory.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilterFactory.java
index 672d148..6ea6600 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilterFactory.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilterFactory.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.codecs.bloom;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.SegmentWriteState;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
index 51cff8d..6b838bb 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.bloom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/DefaultBloomFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/DefaultBloomFilterFactory.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/DefaultBloomFilterFactory.java
index 3373eec..95dec8e 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/DefaultBloomFilterFactory.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/DefaultBloomFilterFactory.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.codecs.bloom;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.SegmentWriteState;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/FuzzySet.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/FuzzySet.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/FuzzySet.java
index c1e4ccc..0639e80 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/FuzzySet.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/FuzzySet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.bloom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
+
 import java.io.IOException;
 
 import org.apache.lucene.search.DocIdSetIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/HashFunction.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/HashFunction.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/HashFunction.java
index dbf7080..d77df2c 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/HashFunction.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/HashFunction.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.codecs.bloom;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
 import org.apache.lucene.util.BytesRef;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/MurmurHash2.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/MurmurHash2.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/MurmurHash2.java
index b43869b..e071fe9 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/MurmurHash2.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/MurmurHash2.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.codecs.bloom;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/package-info.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/package-info.java
index 9080ae6..c1f5084 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/package-info.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Codec PostingsFormat for fast access to low-frequency terms 
  * such as primary key fields.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesConsumer.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesConsumer.java
index 65002ae..4260745 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesConsumer.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesFormat.java
index bda5e4f..358694f 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java
index 090f0b7..1dfd2f2 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
index 4755a5e..a1fa24d 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdPostingsFormat.java
index 98a293b..e19a470 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdPostingsFormat.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
index 4f0d1e2..dd45f76 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsWriter.java
index eff815a..cbe6583 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTPostingsFormat.java
index f25f333..006554d 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTPostingsFormat.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermOutputs.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermOutputs.java
index 67cb860..3695fe8 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermOutputs.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
index 95ff20f..0bc4326 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsWriter.java
index c65867a..50044f1 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java
index 2da0e47..44ffdf9 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesFormat.java
index 2f6216d..4624ec0 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java
index f0f776d..46cf3e5 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
index be0fab2..0fb320c 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import java.io.IOException;
 import java.util.Collection;


[51/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
LUCENE-7013: Move license header to top of file


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/813ca772
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/813ca772
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/813ca772

Branch: refs/heads/lucene-6997
Commit: 813ca77250db29116812bc949e2a466a70f969a3
Parents: f85036c
Author: Shai Erera <sh...@apache.org>
Authored: Thu Feb 4 11:28:46 2016 +0200
Committer: Shai Erera <sh...@apache.org>
Committed: Thu Feb 4 15:51:19 2016 +0200

----------------------------------------------------------------------
 .../lucene/analysis/ar/ArabicAnalyzer.java      |  4 +-
 .../analysis/ar/ArabicNormalizationFilter.java  |  4 +-
 .../ar/ArabicNormalizationFilterFactory.java    |  4 +-
 .../lucene/analysis/ar/ArabicNormalizer.java    |  4 +-
 .../lucene/analysis/ar/ArabicStemFilter.java    |  4 +-
 .../analysis/ar/ArabicStemFilterFactory.java    |  4 +-
 .../lucene/analysis/ar/ArabicStemmer.java       |  6 +-
 .../apache/lucene/analysis/ar/package-info.java |  1 -
 .../lucene/analysis/bg/BulgarianAnalyzer.java   |  4 +-
 .../lucene/analysis/bg/BulgarianStemFilter.java |  4 +-
 .../analysis/bg/BulgarianStemFilterFactory.java |  4 +-
 .../lucene/analysis/bg/BulgarianStemmer.java    |  4 +-
 .../apache/lucene/analysis/bg/package-info.java |  1 -
 .../lucene/analysis/br/BrazilianAnalyzer.java   |  4 +-
 .../lucene/analysis/br/BrazilianStemFilter.java |  4 +-
 .../analysis/br/BrazilianStemFilterFactory.java |  4 +-
 .../lucene/analysis/br/BrazilianStemmer.java    |  8 +-
 .../apache/lucene/analysis/br/package-info.java |  1 -
 .../lucene/analysis/ca/CatalanAnalyzer.java     |  4 +-
 .../apache/lucene/analysis/ca/package-info.java |  1 -
 .../analysis/charfilter/BaseCharFilter.java     |  1 -
 .../charfilter/HTMLStripCharFilter.java         |  3 +-
 .../charfilter/HTMLStripCharFilter.jflex        |  3 +-
 .../charfilter/HTMLStripCharFilterFactory.java  |  4 +-
 .../analysis/charfilter/MappingCharFilter.java  |  1 -
 .../charfilter/MappingCharFilterFactory.java    |  4 +-
 .../analysis/charfilter/NormalizeCharMap.java   |  1 -
 .../analysis/charfilter/package-info.java       |  1 -
 .../apache/lucene/analysis/cjk/CJKAnalyzer.java |  4 +-
 .../lucene/analysis/cjk/CJKBigramFilter.java    |  4 +-
 .../analysis/cjk/CJKBigramFilterFactory.java    |  4 +-
 .../lucene/analysis/cjk/CJKWidthFilter.java     |  4 +-
 .../analysis/cjk/CJKWidthFilterFactory.java     |  4 +-
 .../lucene/analysis/cjk/package-info.java       |  1 -
 .../lucene/analysis/ckb/SoraniAnalyzer.java     |  4 +-
 .../analysis/ckb/SoraniNormalizationFilter.java |  4 +-
 .../ckb/SoraniNormalizationFilterFactory.java   |  4 +-
 .../lucene/analysis/ckb/SoraniNormalizer.java   |  4 +-
 .../lucene/analysis/ckb/SoraniStemFilter.java   |  4 +-
 .../analysis/ckb/SoraniStemFilterFactory.java   |  4 +-
 .../lucene/analysis/ckb/SoraniStemmer.java      |  4 +-
 .../lucene/analysis/ckb/package-info.java       |  1 -
 .../analysis/commongrams/CommonGramsFilter.java |  1 -
 .../commongrams/CommonGramsFilterFactory.java   |  4 +-
 .../CommonGramsQueryFilterFactory.java          |  4 +-
 .../analysis/commongrams/package-info.java      |  1 -
 .../compound/CompoundWordTokenFilterBase.java   |  4 +-
 .../DictionaryCompoundWordTokenFilter.java      |  4 +-
 ...ictionaryCompoundWordTokenFilterFactory.java |  4 +-
 .../HyphenationCompoundWordTokenFilter.java     |  4 +-
 ...phenationCompoundWordTokenFilterFactory.java |  4 +-
 .../compound/hyphenation/ByteVector.java        |  7 +-
 .../compound/hyphenation/CharVector.java        |  7 +-
 .../analysis/compound/hyphenation/Hyphen.java   |  7 +-
 .../compound/hyphenation/Hyphenation.java       |  7 +-
 .../compound/hyphenation/HyphenationTree.java   |  7 +-
 .../compound/hyphenation/PatternConsumer.java   |  7 +-
 .../compound/hyphenation/PatternParser.java     |  7 +-
 .../compound/hyphenation/TernaryTree.java       |  7 +-
 .../compound/hyphenation/package-info.java      |  1 -
 .../lucene/analysis/compound/package-info.java  |  1 -
 .../analysis/core/DecimalDigitFilter.java       |  4 +-
 .../core/DecimalDigitFilterFactory.java         |  4 +-
 .../lucene/analysis/core/KeywordAnalyzer.java   |  4 +-
 .../lucene/analysis/core/KeywordTokenizer.java  |  4 +-
 .../analysis/core/KeywordTokenizerFactory.java  |  4 +-
 .../lucene/analysis/core/LetterTokenizer.java   |  4 +-
 .../analysis/core/LetterTokenizerFactory.java   |  4 +-
 .../lucene/analysis/core/LowerCaseFilter.java   |  4 +-
 .../analysis/core/LowerCaseFilterFactory.java   |  4 +-
 .../analysis/core/LowerCaseTokenizer.java       |  4 +-
 .../core/LowerCaseTokenizerFactory.java         |  4 +-
 .../lucene/analysis/core/SimpleAnalyzer.java    |  4 +-
 .../lucene/analysis/core/StopAnalyzer.java      |  4 +-
 .../apache/lucene/analysis/core/StopFilter.java |  4 +-
 .../lucene/analysis/core/StopFilterFactory.java |  4 +-
 .../lucene/analysis/core/TypeTokenFilter.java   |  4 +-
 .../analysis/core/TypeTokenFilterFactory.java   |  4 +-
 .../core/UnicodeWhitespaceAnalyzer.java         |  4 +-
 .../core/UnicodeWhitespaceTokenizer.java        |  4 +-
 .../lucene/analysis/core/UpperCaseFilter.java   |  4 +-
 .../analysis/core/UpperCaseFilterFactory.java   |  4 +-
 .../analysis/core/WhitespaceAnalyzer.java       |  4 +-
 .../analysis/core/WhitespaceTokenizer.java      |  4 +-
 .../core/WhitespaceTokenizerFactory.java        |  4 +-
 .../lucene/analysis/core/package-info.java      |  1 -
 .../lucene/analysis/custom/CustomAnalyzer.java  |  4 +-
 .../lucene/analysis/custom/package-info.java    |  1 -
 .../lucene/analysis/cz/CzechAnalyzer.java       |  4 +-
 .../lucene/analysis/cz/CzechStemFilter.java     | 20 ++---
 .../analysis/cz/CzechStemFilterFactory.java     |  4 +-
 .../apache/lucene/analysis/cz/CzechStemmer.java |  4 +-
 .../apache/lucene/analysis/cz/package-info.java |  1 -
 .../lucene/analysis/da/DanishAnalyzer.java      |  4 +-
 .../apache/lucene/analysis/da/package-info.java |  1 -
 .../lucene/analysis/de/GermanAnalyzer.java      |  6 +-
 .../analysis/de/GermanLightStemFilter.java      |  4 +-
 .../de/GermanLightStemFilterFactory.java        |  4 +-
 .../lucene/analysis/de/GermanLightStemmer.java  |  4 +-
 .../analysis/de/GermanMinimalStemFilter.java    |  4 +-
 .../de/GermanMinimalStemFilterFactory.java      |  4 +-
 .../analysis/de/GermanMinimalStemmer.java       |  4 +-
 .../analysis/de/GermanNormalizationFilter.java  |  4 +-
 .../de/GermanNormalizationFilterFactory.java    |  4 +-
 .../lucene/analysis/de/GermanStemFilter.java    |  4 +-
 .../analysis/de/GermanStemFilterFactory.java    |  4 +-
 .../lucene/analysis/de/GermanStemmer.java       | 12 +--
 .../apache/lucene/analysis/de/package-info.java |  1 -
 .../lucene/analysis/el/GreekAnalyzer.java       | 14 +--
 .../analysis/el/GreekLowerCaseFilter.java       | 14 +--
 .../el/GreekLowerCaseFilterFactory.java         |  4 +-
 .../lucene/analysis/el/GreekStemFilter.java     |  4 +-
 .../analysis/el/GreekStemFilterFactory.java     |  4 +-
 .../apache/lucene/analysis/el/GreekStemmer.java | 12 +--
 .../apache/lucene/analysis/el/package-info.java |  1 -
 .../lucene/analysis/en/EnglishAnalyzer.java     |  4 +-
 .../analysis/en/EnglishMinimalStemFilter.java   |  4 +-
 .../en/EnglishMinimalStemFilterFactory.java     |  4 +-
 .../analysis/en/EnglishMinimalStemmer.java      |  4 +-
 .../analysis/en/EnglishPossessiveFilter.java    |  4 +-
 .../en/EnglishPossessiveFilterFactory.java      |  4 +-
 .../apache/lucene/analysis/en/KStemFilter.java  |  4 +-
 .../lucene/analysis/en/KStemFilterFactory.java  |  4 +-
 .../org/apache/lucene/analysis/en/KStemmer.java |  1 -
 .../lucene/analysis/en/PorterStemFilter.java    |  4 +-
 .../analysis/en/PorterStemFilterFactory.java    |  4 +-
 .../lucene/analysis/en/PorterStemmer.java       |  4 +-
 .../apache/lucene/analysis/en/package-info.java |  1 -
 .../lucene/analysis/es/SpanishAnalyzer.java     |  4 +-
 .../analysis/es/SpanishLightStemFilter.java     |  4 +-
 .../es/SpanishLightStemFilterFactory.java       |  4 +-
 .../lucene/analysis/es/SpanishLightStemmer.java |  4 +-
 .../apache/lucene/analysis/es/package-info.java |  1 -
 .../lucene/analysis/eu/BasqueAnalyzer.java      |  4 +-
 .../apache/lucene/analysis/eu/package-info.java |  1 -
 .../lucene/analysis/fa/PersianAnalyzer.java     |  4 +-
 .../lucene/analysis/fa/PersianCharFilter.java   |  4 +-
 .../analysis/fa/PersianCharFilterFactory.java   |  4 +-
 .../analysis/fa/PersianNormalizationFilter.java |  4 +-
 .../fa/PersianNormalizationFilterFactory.java   |  4 +-
 .../lucene/analysis/fa/PersianNormalizer.java   |  4 +-
 .../apache/lucene/analysis/fa/package-info.java |  1 -
 .../lucene/analysis/fi/FinnishAnalyzer.java     |  4 +-
 .../analysis/fi/FinnishLightStemFilter.java     |  4 +-
 .../fi/FinnishLightStemFilterFactory.java       |  4 +-
 .../lucene/analysis/fi/FinnishLightStemmer.java |  4 +-
 .../apache/lucene/analysis/fi/package-info.java |  1 -
 .../lucene/analysis/fr/FrenchAnalyzer.java      |  4 +-
 .../analysis/fr/FrenchLightStemFilter.java      |  4 +-
 .../fr/FrenchLightStemFilterFactory.java        |  4 +-
 .../lucene/analysis/fr/FrenchLightStemmer.java  |  4 +-
 .../analysis/fr/FrenchMinimalStemFilter.java    |  4 +-
 .../fr/FrenchMinimalStemFilterFactory.java      |  4 +-
 .../analysis/fr/FrenchMinimalStemmer.java       |  4 +-
 .../apache/lucene/analysis/fr/package-info.java |  1 -
 .../lucene/analysis/ga/IrishAnalyzer.java       |  4 +-
 .../analysis/ga/IrishLowerCaseFilter.java       |  4 +-
 .../ga/IrishLowerCaseFilterFactory.java         |  4 +-
 .../apache/lucene/analysis/ga/package-info.java |  1 -
 .../lucene/analysis/gl/GalicianAnalyzer.java    |  4 +-
 .../analysis/gl/GalicianMinimalStemFilter.java  |  4 +-
 .../gl/GalicianMinimalStemFilterFactory.java    |  4 +-
 .../analysis/gl/GalicianMinimalStemmer.java     |  4 +-
 .../lucene/analysis/gl/GalicianStemFilter.java  |  4 +-
 .../analysis/gl/GalicianStemFilterFactory.java  |  4 +-
 .../lucene/analysis/gl/GalicianStemmer.java     |  4 +-
 .../apache/lucene/analysis/gl/package-info.java |  1 -
 .../lucene/analysis/hi/HindiAnalyzer.java       |  4 +-
 .../analysis/hi/HindiNormalizationFilter.java   |  4 +-
 .../hi/HindiNormalizationFilterFactory.java     |  4 +-
 .../lucene/analysis/hi/HindiNormalizer.java     |  4 +-
 .../lucene/analysis/hi/HindiStemFilter.java     |  4 +-
 .../analysis/hi/HindiStemFilterFactory.java     |  4 +-
 .../apache/lucene/analysis/hi/HindiStemmer.java |  4 +-
 .../apache/lucene/analysis/hi/package-info.java |  1 -
 .../lucene/analysis/hu/HungarianAnalyzer.java   |  4 +-
 .../analysis/hu/HungarianLightStemFilter.java   |  4 +-
 .../hu/HungarianLightStemFilterFactory.java     |  4 +-
 .../analysis/hu/HungarianLightStemmer.java      |  4 +-
 .../apache/lucene/analysis/hu/package-info.java |  1 -
 .../lucene/analysis/hunspell/Dictionary.java    |  4 +-
 .../analysis/hunspell/HunspellStemFilter.java   |  4 +-
 .../hunspell/HunspellStemFilterFactory.java     |  4 +-
 .../analysis/hunspell/ISO8859_14Decoder.java    |  4 +-
 .../lucene/analysis/hunspell/Stemmer.java       |  4 +-
 .../lucene/analysis/hunspell/package-info.java  |  1 -
 .../lucene/analysis/hy/ArmenianAnalyzer.java    |  4 +-
 .../apache/lucene/analysis/hy/package-info.java |  1 -
 .../lucene/analysis/id/IndonesianAnalyzer.java  |  4 +-
 .../analysis/id/IndonesianStemFilter.java       |  4 +-
 .../id/IndonesianStemFilterFactory.java         |  4 +-
 .../lucene/analysis/id/IndonesianStemmer.java   |  4 +-
 .../apache/lucene/analysis/id/package-info.java |  1 -
 .../analysis/in/IndicNormalizationFilter.java   |  4 +-
 .../in/IndicNormalizationFilterFactory.java     |  4 +-
 .../lucene/analysis/in/IndicNormalizer.java     |  4 +-
 .../apache/lucene/analysis/in/package-info.java |  1 -
 .../lucene/analysis/it/ItalianAnalyzer.java     |  4 +-
 .../analysis/it/ItalianLightStemFilter.java     |  4 +-
 .../it/ItalianLightStemFilterFactory.java       |  4 +-
 .../lucene/analysis/it/ItalianLightStemmer.java |  4 +-
 .../apache/lucene/analysis/it/package-info.java |  1 -
 .../lucene/analysis/lt/LithuanianAnalyzer.java  |  4 +-
 .../apache/lucene/analysis/lt/package-info.java |  1 -
 .../lucene/analysis/lv/LatvianAnalyzer.java     |  4 +-
 .../lucene/analysis/lv/LatvianStemFilter.java   |  4 +-
 .../analysis/lv/LatvianStemFilterFactory.java   |  4 +-
 .../lucene/analysis/lv/LatvianStemmer.java      |  8 +-
 .../apache/lucene/analysis/lv/package-info.java |  1 -
 .../miscellaneous/ASCIIFoldingFilter.java       |  4 +-
 .../ASCIIFoldingFilterFactory.java              |  4 +-
 .../miscellaneous/CapitalizationFilter.java     |  4 +-
 .../CapitalizationFilterFactory.java            |  4 +-
 .../miscellaneous/CodepointCountFilter.java     |  4 +-
 .../CodepointCountFilterFactory.java            |  4 +-
 .../miscellaneous/DateRecognizerFilter.java     |  4 +-
 .../DateRecognizerFilterFactory.java            |  4 +-
 .../miscellaneous/EmptyTokenStream.java         |  4 +-
 .../miscellaneous/FingerprintFilter.java        |  4 +-
 .../miscellaneous/FingerprintFilterFactory.java |  4 +-
 .../miscellaneous/HyphenatedWordsFilter.java    |  4 +-
 .../HyphenatedWordsFilterFactory.java           |  4 +-
 .../analysis/miscellaneous/KeepWordFilter.java  |  1 -
 .../miscellaneous/KeepWordFilterFactory.java    |  4 +-
 .../miscellaneous/KeywordMarkerFilter.java      |  4 +-
 .../KeywordMarkerFilterFactory.java             |  4 +-
 .../miscellaneous/KeywordRepeatFilter.java      |  4 +-
 .../KeywordRepeatFilterFactory.java             |  4 +-
 .../analysis/miscellaneous/LengthFilter.java    |  4 +-
 .../miscellaneous/LengthFilterFactory.java      |  4 +-
 .../miscellaneous/LimitTokenCountAnalyzer.java  |  4 +-
 .../miscellaneous/LimitTokenCountFilter.java    |  4 +-
 .../LimitTokenCountFilterFactory.java           |  4 +-
 .../miscellaneous/LimitTokenOffsetFilter.java   |  4 +-
 .../LimitTokenOffsetFilterFactory.java          |  4 +-
 .../miscellaneous/LimitTokenPositionFilter.java |  2 +-
 .../LimitTokenPositionFilterFactory.java        |  2 +-
 .../PatternKeywordMarkerFilter.java             |  4 +-
 .../miscellaneous/PerFieldAnalyzerWrapper.java  |  4 +-
 .../PrefixAndSuffixAwareTokenFilter.java        |  4 +-
 .../miscellaneous/PrefixAwareTokenFilter.java   |  4 +-
 .../RemoveDuplicatesTokenFilter.java            |  1 -
 .../RemoveDuplicatesTokenFilterFactory.java     |  4 +-
 .../ScandinavianFoldingFilter.java              |  4 +-
 .../ScandinavianFoldingFilterFactory.java       |  4 +-
 .../ScandinavianNormalizationFilter.java        |  4 +-
 .../ScandinavianNormalizationFilterFactory.java |  4 +-
 .../miscellaneous/SetKeywordMarkerFilter.java   |  2 +-
 .../miscellaneous/StemmerOverrideFilter.java    |  4 +-
 .../StemmerOverrideFilterFactory.java           |  4 +-
 .../analysis/miscellaneous/TrimFilter.java      |  1 -
 .../miscellaneous/TrimFilterFactory.java        |  4 +-
 .../miscellaneous/TruncateTokenFilter.java      |  4 +-
 .../TruncateTokenFilterFactory.java             |  4 +-
 .../miscellaneous/WordDelimiterFilter.java      |  3 +-
 .../WordDelimiterFilterFactory.java             |  4 +-
 .../miscellaneous/WordDelimiterIterator.java    |  4 +-
 .../analysis/miscellaneous/package-info.java    |  1 -
 .../analysis/ngram/EdgeNGramFilterFactory.java  |  4 +-
 .../analysis/ngram/EdgeNGramTokenFilter.java    |  4 +-
 .../analysis/ngram/EdgeNGramTokenizer.java      |  4 +-
 .../ngram/EdgeNGramTokenizerFactory.java        |  4 +-
 .../analysis/ngram/NGramFilterFactory.java      |  4 +-
 .../lucene/analysis/ngram/NGramTokenFilter.java |  4 +-
 .../lucene/analysis/ngram/NGramTokenizer.java   |  4 +-
 .../analysis/ngram/NGramTokenizerFactory.java   |  4 +-
 .../lucene/analysis/ngram/package-info.java     |  1 -
 .../lucene/analysis/nl/DutchAnalyzer.java       |  4 +-
 .../apache/lucene/analysis/nl/package-info.java |  1 -
 .../lucene/analysis/no/NorwegianAnalyzer.java   |  4 +-
 .../analysis/no/NorwegianLightStemFilter.java   |  4 +-
 .../no/NorwegianLightStemFilterFactory.java     |  4 +-
 .../analysis/no/NorwegianLightStemmer.java      |  4 +-
 .../analysis/no/NorwegianMinimalStemFilter.java |  4 +-
 .../no/NorwegianMinimalStemFilterFactory.java   |  4 +-
 .../analysis/no/NorwegianMinimalStemmer.java    |  4 +-
 .../apache/lucene/analysis/no/package-info.java |  1 -
 .../analysis/path/PathHierarchyTokenizer.java   |  2 +-
 .../path/PathHierarchyTokenizerFactory.java     |  4 +-
 .../path/ReversePathHierarchyTokenizer.java     |  2 +-
 .../lucene/analysis/path/package-info.java      |  1 -
 .../PatternCaptureGroupFilterFactory.java       |  4 +-
 .../pattern/PatternCaptureGroupTokenFilter.java |  4 +-
 .../pattern/PatternReplaceCharFilter.java       |  1 -
 .../PatternReplaceCharFilterFactory.java        |  4 +-
 .../analysis/pattern/PatternReplaceFilter.java  |  1 -
 .../pattern/PatternReplaceFilterFactory.java    |  4 +-
 .../analysis/pattern/PatternTokenizer.java      |  1 -
 .../pattern/PatternTokenizerFactory.java        |  4 +-
 .../lucene/analysis/pattern/package-info.java   |  1 -
 .../analysis/payloads/AbstractEncoder.java      |  8 +-
 .../payloads/DelimitedPayloadTokenFilter.java   |  2 +-
 .../DelimitedPayloadTokenFilterFactory.java     |  4 +-
 .../lucene/analysis/payloads/FloatEncoder.java  |  8 +-
 .../analysis/payloads/IdentityEncoder.java      |  2 +-
 .../analysis/payloads/IntegerEncoder.java       |  2 +-
 .../payloads/NumericPayloadTokenFilter.java     |  2 +-
 .../NumericPayloadTokenFilterFactory.java       |  4 +-
 .../analysis/payloads/PayloadEncoder.java       |  8 +-
 .../lucene/analysis/payloads/PayloadHelper.java |  2 +-
 .../payloads/TokenOffsetPayloadTokenFilter.java |  2 +-
 .../TokenOffsetPayloadTokenFilterFactory.java   |  4 +-
 .../payloads/TypeAsPayloadTokenFilter.java      |  2 +-
 .../TypeAsPayloadTokenFilterFactory.java        |  4 +-
 .../lucene/analysis/payloads/package-info.java  |  1 -
 .../lucene/analysis/pt/PortugueseAnalyzer.java  |  4 +-
 .../analysis/pt/PortugueseLightStemFilter.java  |  4 +-
 .../pt/PortugueseLightStemFilterFactory.java    |  4 +-
 .../analysis/pt/PortugueseLightStemmer.java     |  4 +-
 .../pt/PortugueseMinimalStemFilter.java         |  4 +-
 .../pt/PortugueseMinimalStemFilterFactory.java  |  4 +-
 .../analysis/pt/PortugueseMinimalStemmer.java   |  4 +-
 .../analysis/pt/PortugueseStemFilter.java       |  4 +-
 .../pt/PortugueseStemFilterFactory.java         |  4 +-
 .../lucene/analysis/pt/PortugueseStemmer.java   |  4 +-
 .../lucene/analysis/pt/RSLPStemmerBase.java     |  4 +-
 .../apache/lucene/analysis/pt/package-info.java |  1 -
 .../query/QueryAutoStopWordAnalyzer.java        |  2 +-
 .../lucene/analysis/query/package-info.java     |  1 -
 .../analysis/reverse/ReverseStringFilter.java   |  1 -
 .../reverse/ReverseStringFilterFactory.java     |  4 +-
 .../lucene/analysis/reverse/package-info.java   |  1 -
 .../lucene/analysis/ro/RomanianAnalyzer.java    |  4 +-
 .../apache/lucene/analysis/ro/package-info.java |  1 -
 .../lucene/analysis/ru/RussianAnalyzer.java     |  4 +-
 .../analysis/ru/RussianLightStemFilter.java     |  4 +-
 .../ru/RussianLightStemFilterFactory.java       |  4 +-
 .../lucene/analysis/ru/RussianLightStemmer.java |  4 +-
 .../apache/lucene/analysis/ru/package-info.java |  1 -
 .../shingle/ShingleAnalyzerWrapper.java         |  4 +-
 .../lucene/analysis/shingle/ShingleFilter.java  |  4 +-
 .../analysis/shingle/ShingleFilterFactory.java  |  4 +-
 .../lucene/analysis/shingle/package-info.java   |  1 -
 .../analysis/sinks/TeeSinkTokenFilter.java      |  4 +-
 .../lucene/analysis/sinks/package-info.java     |  1 -
 .../analysis/snowball/SnowballFilter.java       |  4 +-
 .../snowball/SnowballPorterFilterFactory.java   |  4 +-
 .../lucene/analysis/snowball/package-info.java  |  1 -
 .../analysis/sr/SerbianNormalizationFilter.java |  4 +-
 .../sr/SerbianNormalizationFilterFactory.java   |  4 +-
 .../sr/SerbianNormalizationRegularFilter.java   |  4 +-
 .../apache/lucene/analysis/sr/package-info.java |  1 -
 .../analysis/standard/ClassicAnalyzer.java      |  4 +-
 .../lucene/analysis/standard/ClassicFilter.java |  4 +-
 .../analysis/standard/ClassicFilterFactory.java |  4 +-
 .../analysis/standard/ClassicTokenizer.java     |  1 -
 .../standard/ClassicTokenizerFactory.java       |  4 +-
 .../analysis/standard/ClassicTokenizerImpl.java |  3 +-
 .../standard/ClassicTokenizerImpl.jflex         |  3 +-
 .../analysis/standard/StandardAnalyzer.java     |  4 +-
 .../analysis/standard/StandardFilter.java       |  4 +-
 .../standard/StandardFilterFactory.java         |  4 +-
 .../analysis/standard/StandardTokenizer.java    |  1 -
 .../standard/StandardTokenizerFactory.java      |  4 +-
 .../standard/StandardTokenizerImpl.java         |  3 +-
 .../standard/StandardTokenizerImpl.jflex        |  3 +-
 .../standard/UAX29URLEmailAnalyzer.java         |  4 +-
 .../standard/UAX29URLEmailTokenizer.java        |  4 +-
 .../standard/UAX29URLEmailTokenizerFactory.java |  4 +-
 .../standard/UAX29URLEmailTokenizerImpl.java    |  3 +-
 .../standard/UAX29URLEmailTokenizerImpl.jflex   |  3 +-
 .../lucene/analysis/standard/package-info.java  |  1 -
 .../lucene/analysis/sv/SwedishAnalyzer.java     |  4 +-
 .../analysis/sv/SwedishLightStemFilter.java     |  4 +-
 .../sv/SwedishLightStemFilterFactory.java       |  4 +-
 .../lucene/analysis/sv/SwedishLightStemmer.java |  4 +-
 .../apache/lucene/analysis/sv/package-info.java |  1 -
 .../analysis/synonym/SolrSynonymParser.java     |  4 +-
 .../lucene/analysis/synonym/SynonymFilter.java  |  4 +-
 .../analysis/synonym/SynonymFilterFactory.java  |  4 +-
 .../lucene/analysis/synonym/SynonymMap.java     |  4 +-
 .../analysis/synonym/WordnetSynonymParser.java  |  4 +-
 .../lucene/analysis/synonym/package-info.java   |  1 -
 .../apache/lucene/analysis/th/ThaiAnalyzer.java | 14 +--
 .../lucene/analysis/th/ThaiTokenizer.java       |  4 +-
 .../analysis/th/ThaiTokenizerFactory.java       |  4 +-
 .../apache/lucene/analysis/th/package-info.java |  1 -
 .../lucene/analysis/tr/ApostropheFilter.java    |  4 +-
 .../analysis/tr/ApostropheFilterFactory.java    |  4 +-
 .../lucene/analysis/tr/TurkishAnalyzer.java     |  4 +-
 .../analysis/tr/TurkishLowerCaseFilter.java     |  4 +-
 .../tr/TurkishLowerCaseFilterFactory.java       |  4 +-
 .../apache/lucene/analysis/tr/package-info.java |  1 -
 .../analysis/util/AbstractAnalysisFactory.java  |  4 +-
 .../lucene/analysis/util/AnalysisSPILoader.java |  4 +-
 .../lucene/analysis/util/CharArrayIterator.java |  4 +-
 .../lucene/analysis/util/CharArrayMap.java      |  4 +-
 .../lucene/analysis/util/CharArraySet.java      |  4 +-
 .../lucene/analysis/util/CharFilterFactory.java |  4 +-
 .../lucene/analysis/util/CharTokenizer.java     |  4 +-
 .../lucene/analysis/util/CharacterUtils.java    |  4 +-
 .../analysis/util/ClasspathResourceLoader.java  |  4 +-
 .../lucene/analysis/util/ElisionFilter.java     |  4 +-
 .../analysis/util/ElisionFilterFactory.java     |  4 +-
 .../analysis/util/FilesystemResourceLoader.java |  4 +-
 .../analysis/util/FilteringTokenFilter.java     |  4 +-
 .../analysis/util/MultiTermAwareComponent.java  |  4 +-
 .../lucene/analysis/util/OpenStringBuilder.java |  4 +-
 .../lucene/analysis/util/ResourceLoader.java    |  4 +-
 .../analysis/util/ResourceLoaderAware.java      |  1 -
 .../lucene/analysis/util/RollingCharBuffer.java |  4 +-
 .../analysis/util/SegmentingTokenizerBase.java  |  4 +-
 .../lucene/analysis/util/StemmerUtil.java       |  4 +-
 .../analysis/util/StopwordAnalyzerBase.java     |  1 -
 .../analysis/util/TokenFilterFactory.java       |  4 +-
 .../lucene/analysis/util/TokenizerFactory.java  |  4 +-
 .../lucene/analysis/util/WordlistLoader.java    |  4 +-
 .../lucene/analysis/util/package-info.java      |  1 -
 .../analysis/wikipedia/WikipediaTokenizer.java  |  1 -
 .../wikipedia/WikipediaTokenizerFactory.java    |  4 +-
 .../wikipedia/WikipediaTokenizerImpl.java       |  3 +-
 .../wikipedia/WikipediaTokenizerImpl.jflex      |  3 +-
 .../lucene/analysis/wikipedia/package-info.java |  1 -
 .../collation/CollationAttributeFactory.java    |  4 +-
 .../collation/CollationDocValuesField.java      |  4 +-
 .../lucene/collation/CollationKeyAnalyzer.java  |  4 +-
 .../apache/lucene/collation/package-info.java   |  1 -
 .../CollatedTermAttributeImpl.java              |  4 +-
 .../collation/tokenattributes/package-info.java |  1 -
 .../org/tartarus/snowball/ext/package-info.java |  1 -
 .../org/tartarus/snowball/package-info.java     |  1 -
 .../lucene/analysis/ar/TestArabicAnalyzer.java  |  4 +-
 .../lucene/analysis/ar/TestArabicFilters.java   |  4 +-
 .../ar/TestArabicNormalizationFilter.java       |  4 +-
 .../analysis/ar/TestArabicStemFilter.java       |  4 +-
 .../analysis/bg/TestBulgarianAnalyzer.java      |  4 +-
 .../bg/TestBulgarianStemFilterFactory.java      |  4 +-
 .../analysis/bg/TestBulgarianStemmer.java       |  4 +-
 .../analysis/br/TestBrazilianAnalyzer.java      |  4 +-
 .../br/TestBrazilianStemFilterFactory.java      |  4 +-
 .../lucene/analysis/ca/TestCatalanAnalyzer.java |  4 +-
 .../charfilter/HTMLStripCharFilterTest.java     |  4 +-
 .../TestHTMLStripCharFilterFactory.java         |  4 +-
 .../charfilter/TestMappingCharFilter.java       |  1 -
 .../TestMappingCharFilterFactory.java           |  4 +-
 .../lucene/analysis/cjk/TestCJKAnalyzer.java    |  4 +-
 .../analysis/cjk/TestCJKBigramFilter.java       |  4 +-
 .../cjk/TestCJKBigramFilterFactory.java         |  4 +-
 .../lucene/analysis/cjk/TestCJKWidthFilter.java |  4 +-
 .../analysis/cjk/TestCJKWidthFilterFactory.java |  4 +-
 .../lucene/analysis/ckb/TestSoraniAnalyzer.java |  4 +-
 .../ckb/TestSoraniNormalizationFilter.java      |  4 +-
 .../TestSoraniNormalizationFilterFactory.java   |  4 +-
 .../analysis/ckb/TestSoraniStemFilter.java      |  4 +-
 .../ckb/TestSoraniStemFilterFactory.java        |  4 +-
 .../TestCommonGramsFilterFactory.java           |  4 +-
 .../TestCommonGramsQueryFilterFactory.java      |  4 +-
 .../compound/TestCompoundWordTokenFilter.java   |  4 +-
 ...ictionaryCompoundWordTokenFilterFactory.java |  4 +-
 ...phenationCompoundWordTokenFilterFactory.java |  4 +-
 .../core/TestAllAnalyzersHaveFactories.java     |  4 +-
 .../lucene/analysis/core/TestAnalyzers.java     |  4 +-
 .../analysis/core/TestBugInSomething.java       | 32 +++----
 .../analysis/core/TestDecimalDigitFilter.java   |  4 +-
 .../core/TestDecimalDigitFilterFactory.java     |  4 +-
 .../analysis/core/TestDuelingAnalyzers.java     |  4 +-
 .../lucene/analysis/core/TestFactories.java     |  4 +-
 .../analysis/core/TestKeywordAnalyzer.java      |  4 +-
 .../lucene/analysis/core/TestRandomChains.java  |  4 +-
 .../lucene/analysis/core/TestStopAnalyzer.java  |  4 +-
 .../lucene/analysis/core/TestStopFilter.java    | 15 ++--
 .../analysis/core/TestStopFilterFactory.java    |  4 +-
 .../analysis/core/TestTypeTokenFilter.java      |  4 +-
 .../core/TestTypeTokenFilterFactory.java        |  4 +-
 .../core/TestUnicodeWhitespaceTokenizer.java    |  4 +-
 .../analysis/custom/TestCustomAnalyzer.java     |  4 +-
 .../lucene/analysis/cz/TestCzechAnalyzer.java   |  4 +-
 .../analysis/cz/TestCzechStemFilterFactory.java |  4 +-
 .../lucene/analysis/cz/TestCzechStemmer.java    |  4 +-
 .../lucene/analysis/da/TestDanishAnalyzer.java  |  4 +-
 .../lucene/analysis/de/TestGermanAnalyzer.java  |  4 +-
 .../analysis/de/TestGermanLightStemFilter.java  |  4 +-
 .../de/TestGermanLightStemFilterFactory.java    |  4 +-
 .../de/TestGermanMinimalStemFilter.java         |  4 +-
 .../de/TestGermanMinimalStemFilterFactory.java  |  4 +-
 .../de/TestGermanNormalizationFilter.java       |  4 +-
 .../TestGermanNormalizationFilterFactory.java   |  4 +-
 .../analysis/de/TestGermanStemFilter.java       |  4 +-
 .../de/TestGermanStemFilterFactory.java         |  4 +-
 .../lucene/analysis/el/GreekAnalyzerTest.java   | 14 +--
 .../el/TestGreekLowerCaseFilterFactory.java     |  4 +-
 .../analysis/el/TestGreekStemFilterFactory.java |  4 +-
 .../lucene/analysis/el/TestGreekStemmer.java    |  4 +-
 .../lucene/analysis/en/TestEnglishAnalyzer.java |  4 +-
 .../en/TestEnglishMinimalStemFilter.java        |  4 +-
 .../en/TestEnglishMinimalStemFilterFactory.java |  4 +-
 .../analysis/en/TestKStemFilterFactory.java     |  4 +-
 .../apache/lucene/analysis/en/TestKStemmer.java |  4 +-
 .../analysis/en/TestPorterStemFilter.java       |  4 +-
 .../en/TestPorterStemFilterFactory.java         |  4 +-
 .../lucene/analysis/es/TestSpanishAnalyzer.java |  4 +-
 .../analysis/es/TestSpanishLightStemFilter.java |  4 +-
 .../es/TestSpanishLightStemFilterFactory.java   |  4 +-
 .../lucene/analysis/eu/TestBasqueAnalyzer.java  |  4 +-
 .../lucene/analysis/fa/TestPersianAnalyzer.java |  4 +-
 .../analysis/fa/TestPersianCharFilter.java      |  4 +-
 .../fa/TestPersianNormalizationFilter.java      |  4 +-
 .../TestPersianNormalizationFilterFactory.java  |  4 +-
 .../lucene/analysis/fi/TestFinnishAnalyzer.java |  4 +-
 .../analysis/fi/TestFinnishLightStemFilter.java |  4 +-
 .../fi/TestFinnishLightStemFilterFactory.java   |  4 +-
 .../lucene/analysis/fr/TestFrenchAnalyzer.java  |  4 +-
 .../analysis/fr/TestFrenchLightStemFilter.java  |  4 +-
 .../fr/TestFrenchLightStemFilterFactory.java    |  4 +-
 .../fr/TestFrenchMinimalStemFilter.java         |  4 +-
 .../fr/TestFrenchMinimalStemFilterFactory.java  |  4 +-
 .../lucene/analysis/ga/TestIrishAnalyzer.java   |  4 +-
 .../analysis/ga/TestIrishLowerCaseFilter.java   |  4 +-
 .../ga/TestIrishLowerCaseFilterFactory.java     |  4 +-
 .../analysis/gl/TestGalicianAnalyzer.java       |  4 +-
 .../gl/TestGalicianMinimalStemFilter.java       |  4 +-
 .../TestGalicianMinimalStemFilterFactory.java   |  4 +-
 .../analysis/gl/TestGalicianStemFilter.java     |  4 +-
 .../gl/TestGalicianStemFilterFactory.java       |  4 +-
 .../lucene/analysis/hi/TestHindiAnalyzer.java   | 14 +--
 .../lucene/analysis/hi/TestHindiFilters.java    |  4 +-
 .../lucene/analysis/hi/TestHindiNormalizer.java |  4 +-
 .../lucene/analysis/hi/TestHindiStemmer.java    |  4 +-
 .../analysis/hu/TestHungarianAnalyzer.java      |  4 +-
 .../hu/TestHungarianLightStemFilter.java        |  4 +-
 .../hu/TestHungarianLightStemFilterFactory.java |  4 +-
 .../analysis/hunspell/StemmerTestBase.java      |  4 +-
 .../analysis/hunspell/Test64kAffixes.java       |  4 +-
 .../analysis/hunspell/TestAllDictionaries.java  |  4 +-
 .../analysis/hunspell/TestAllDictionaries2.java |  4 +-
 .../analysis/hunspell/TestAlternateCasing.java  |  4 +-
 .../analysis/hunspell/TestCaseInsensitive.java  |  4 +-
 .../analysis/hunspell/TestCaseSensitive.java    |  4 +-
 .../lucene/analysis/hunspell/TestCircumfix.java |  4 +-
 .../analysis/hunspell/TestComplexPrefix.java    |  4 +-
 .../lucene/analysis/hunspell/TestCondition.java |  4 +-
 .../analysis/hunspell/TestCondition2.java       |  8 +-
 .../lucene/analysis/hunspell/TestConv.java      |  8 +-
 .../analysis/hunspell/TestDependencies.java     |  4 +-
 .../analysis/hunspell/TestDictionary.java       |  4 +-
 .../analysis/hunspell/TestDoubleEscape.java     |  4 +-
 .../lucene/analysis/hunspell/TestEscaped.java   |  4 +-
 .../lucene/analysis/hunspell/TestFlagLong.java  |  4 +-
 .../lucene/analysis/hunspell/TestFlagNum.java   |  4 +-
 .../lucene/analysis/hunspell/TestFullStrip.java |  4 +-
 .../lucene/analysis/hunspell/TestHomonyms.java  |  4 +-
 .../hunspell/TestHunspellStemFilter.java        |  4 +-
 .../hunspell/TestHunspellStemFilterFactory.java |  4 +-
 .../lucene/analysis/hunspell/TestIgnore.java    |  4 +-
 .../lucene/analysis/hunspell/TestKeepCase.java  |  4 +-
 .../lucene/analysis/hunspell/TestMorph.java     |  4 +-
 .../analysis/hunspell/TestMorphAlias.java       |  4 +-
 .../lucene/analysis/hunspell/TestMorphData.java |  4 +-
 .../lucene/analysis/hunspell/TestNeedAffix.java |  4 +-
 .../analysis/hunspell/TestOnlyInCompound.java   |  4 +-
 .../hunspell/TestOptionalCondition.java         |  4 +-
 .../lucene/analysis/hunspell/TestSpaces.java    |  4 +-
 .../lucene/analysis/hunspell/TestStemmer.java   |  4 +-
 .../hunspell/TestStrangeOvergeneration.java     |  4 +-
 .../lucene/analysis/hunspell/TestTwoFold.java   |  4 +-
 .../analysis/hunspell/TestTwoSuffixes.java      |  4 +-
 .../lucene/analysis/hunspell/TestZeroAffix.java |  4 +-
 .../analysis/hunspell/TestZeroAffix2.java       |  4 +-
 .../analysis/hy/TestArmenianAnalyzer.java       |  4 +-
 .../analysis/id/TestIndonesianAnalyzer.java     |  4 +-
 .../id/TestIndonesianStemFilterFactory.java     |  4 +-
 .../analysis/id/TestIndonesianStemmer.java      |  4 +-
 .../lucene/analysis/in/TestIndicNormalizer.java |  4 +-
 .../lucene/analysis/it/TestItalianAnalyzer.java |  4 +-
 .../analysis/it/TestItalianLightStemFilter.java |  4 +-
 .../it/TestItalianLightStemFilterFactory.java   |  4 +-
 .../analysis/lt/TestLithuanianAnalyzer.java     |  4 +-
 .../analysis/lt/TestLithuanianStemming.java     |  4 +-
 .../lucene/analysis/lv/TestLatvianAnalyzer.java |  4 +-
 .../lv/TestLatvianStemFilterFactory.java        |  4 +-
 .../lucene/analysis/lv/TestLatvianStemmer.java  |  4 +-
 .../DateRecognizerFilterFactoryTest.java        | 14 +--
 .../miscellaneous/DateRecognizerFilterTest.java | 14 +--
 .../miscellaneous/TestASCIIFoldingFilter.java   |  4 +-
 .../miscellaneous/TestCapitalizationFilter.java |  1 -
 .../TestCapitalizationFilterFactory.java        |  4 +-
 .../miscellaneous/TestCodepointCountFilter.java |  4 +-
 .../TestCodepointCountFilterFactory.java        |  4 +-
 .../miscellaneous/TestEmptyTokenStream.java     |  4 +-
 .../miscellaneous/TestFingerprintFilter.java    |  4 +-
 .../TestFingerprintFilterFactory.java           |  4 +-
 .../TestHyphenatedWordsFilter.java              |  1 -
 .../miscellaneous/TestKeepFilterFactory.java    |  4 +-
 .../miscellaneous/TestKeepWordFilter.java       |  1 -
 .../miscellaneous/TestKeywordMarkerFilter.java  | 32 +++----
 .../TestKeywordMarkerFilterFactory.java         |  4 +-
 .../miscellaneous/TestKeywordRepeatFilter.java  |  4 +-
 .../miscellaneous/TestLengthFilter.java         |  4 +-
 .../miscellaneous/TestLengthFilterFactory.java  |  4 +-
 .../TestLimitTokenCountAnalyzer.java            |  4 +-
 .../TestLimitTokenCountFilter.java              |  4 +-
 .../TestLimitTokenCountFilterFactory.java       |  4 +-
 .../TestLimitTokenOffsetFilter.java             |  4 +-
 .../TestLimitTokenOffsetFilterFactory.java      |  4 +-
 .../TestLimitTokenPositionFilter.java           |  2 +-
 .../TestLimitTokenPositionFilterFactory.java    |  2 +-
 .../TestPerFieldAnalyzerWrapper.java            | 32 +++----
 .../TestPrefixAndSuffixAwareTokenFilter.java    |  4 +-
 .../TestPrefixAwareTokenFilter.java             |  4 +-
 .../TestRemoveDuplicatesTokenFilter.java        |  1 -
 .../TestRemoveDuplicatesTokenFilterFactory.java |  4 +-
 .../TestScandinavianFoldingFilter.java          |  4 +-
 .../TestScandinavianFoldingFilterFactory.java   | 15 ++--
 .../TestScandinavianNormalizationFilter.java    |  4 +-
 ...tScandinavianNormalizationFilterFactory.java | 18 ++--
 .../TestStemmerOverrideFilter.java              |  2 +-
 .../TestStemmerOverrideFilterFactory.java       |  4 +-
 .../analysis/miscellaneous/TestTrimFilter.java  |  1 -
 .../miscellaneous/TestTrimFilterFactory.java    |  4 +-
 .../miscellaneous/TestTruncateTokenFilter.java  |  4 +-
 .../TestTruncateTokenFilterFactory.java         |  4 +-
 .../miscellaneous/TestWordDelimiterFilter.java  |  1 -
 .../ngram/EdgeNGramTokenFilterTest.java         |  4 +-
 .../analysis/ngram/EdgeNGramTokenizerTest.java  |  4 +-
 .../analysis/ngram/NGramTokenFilterTest.java    |  4 +-
 .../analysis/ngram/NGramTokenizerTest.java      |  4 +-
 .../lucene/analysis/ngram/TestNGramFilters.java |  4 +-
 .../lucene/analysis/nl/TestDutchAnalyzer.java   |  4 +-
 .../analysis/no/TestNorwegianAnalyzer.java      |  4 +-
 .../no/TestNorwegianLightStemFilter.java        |  4 +-
 .../no/TestNorwegianLightStemFilterFactory.java |  4 +-
 .../no/TestNorwegianMinimalStemFilter.java      |  4 +-
 .../TestNorwegianMinimalStemFilterFactory.java  |  4 +-
 .../path/TestPathHierarchyTokenizer.java        |  4 +-
 .../path/TestReversePathHierarchyTokenizer.java |  4 +-
 .../TestPatternCaptureGroupTokenFilter.java     |  4 +-
 .../pattern/TestPatternReplaceCharFilter.java   |  1 -
 .../TestPatternReplaceCharFilterFactory.java    |  4 +-
 .../pattern/TestPatternReplaceFilter.java       |  1 -
 .../TestPatternReplaceFilterFactory.java        |  4 +-
 .../analysis/pattern/TestPatternTokenizer.java  |  1 -
 .../pattern/TestPatternTokenizerFactory.java    |  4 +-
 .../DelimitedPayloadTokenFilterTest.java        |  2 +-
 .../payloads/NumericPayloadTokenFilterTest.java | 14 +--
 .../TestDelimitedPayloadTokenFilterFactory.java |  4 +-
 .../TokenOffsetPayloadTokenFilterTest.java      | 15 ++--
 .../payloads/TypeAsPayloadTokenFilterTest.java  | 17 ++--
 .../analysis/pt/TestPortugueseAnalyzer.java     |  4 +-
 .../pt/TestPortugueseLightStemFilter.java       |  4 +-
 .../TestPortugueseLightStemFilterFactory.java   |  4 +-
 .../pt/TestPortugueseMinimalStemFilter.java     |  4 +-
 .../TestPortugueseMinimalStemFilterFactory.java |  4 +-
 .../analysis/pt/TestPortugueseStemFilter.java   |  4 +-
 .../pt/TestPortugueseStemFilterFactory.java     |  4 +-
 .../query/QueryAutoStopWordAnalyzerTest.java    |  2 +-
 .../reverse/TestReverseStringFilter.java        |  1 -
 .../reverse/TestReverseStringFilterFactory.java |  4 +-
 .../analysis/ro/TestRomanianAnalyzer.java       |  4 +-
 .../lucene/analysis/ru/TestRussianAnalyzer.java |  4 +-
 .../analysis/ru/TestRussianLightStemFilter.java |  4 +-
 .../ru/TestRussianLightStemFilterFactory.java   |  4 +-
 .../shingle/ShingleAnalyzerWrapperTest.java     |  4 +-
 .../analysis/shingle/ShingleFilterTest.java     |  4 +-
 .../shingle/TestShingleFilterFactory.java       |  4 +-
 .../analysis/sinks/TestTeeSinkTokenFilter.java  | 14 +--
 .../lucene/analysis/snowball/TestSnowball.java  |  4 +-
 .../TestSnowballPorterFilterFactory.java        | 15 ++--
 .../analysis/snowball/TestSnowballVocab.java    |  4 +-
 .../sr/TestSerbianNormalizationFilter.java      |  4 +-
 .../TestSerbianNormalizationFilterFactory.java  |  4 +-
 .../TestSerbianNormalizationRegularFilter.java  |  4 +-
 .../analysis/standard/TestClassicAnalyzer.java  |  4 +-
 .../analysis/standard/TestStandardAnalyzer.java |  4 +-
 .../standard/TestStandardFactories.java         |  4 +-
 .../standard/TestUAX29URLEmailAnalyzer.java     |  4 +-
 .../standard/TestUAX29URLEmailTokenizer.java    | 32 +++----
 .../TestUAX29URLEmailTokenizerFactory.java      |  4 +-
 .../standard/WordBreakTestUnicode_6_3_0.java    |  4 +-
 .../lucene/analysis/sv/TestSwedishAnalyzer.java |  4 +-
 .../analysis/sv/TestSwedishLightStemFilter.java |  4 +-
 .../sv/TestSwedishLightStemFilterFactory.java   |  4 +-
 .../synonym/BaseSynonymParserTestCase.java      |  4 +-
 .../analysis/synonym/TestMultiWordSynonyms.java |  4 +-
 .../analysis/synonym/TestSolrSynonymParser.java |  4 +-
 .../synonym/TestSynonymFilterFactory.java       |  4 +-
 .../analysis/synonym/TestSynonymMapFilter.java  |  1 -
 .../synonym/TestWordnetSynonymParser.java       |  1 -
 .../lucene/analysis/th/TestThaiAnalyzer.java    |  4 +-
 .../analysis/th/TestThaiTokenizerFactory.java   |  4 +-
 .../analysis/tr/TestApostropheFilter.java       |  4 +-
 .../tr/TestApostropheFilterFactory.java         |  4 +-
 .../lucene/analysis/tr/TestTurkishAnalyzer.java |  4 +-
 .../analysis/tr/TestTurkishLowerCaseFilter.java |  4 +-
 .../tr/TestTurkishLowerCaseFilterFactory.java   |  4 +-
 .../util/BaseTokenStreamFactoryTestCase.java    |  4 +-
 .../analysis/util/StringMockResourceLoader.java |  4 +-
 .../analysis/util/TestAnalysisSPILoader.java    |  4 +-
 .../analysis/util/TestCharArrayIterator.java    |  4 +-
 .../lucene/analysis/util/TestCharArrayMap.java  |  1 -
 .../lucene/analysis/util/TestCharArraySet.java  |  4 +-
 .../analysis/util/TestCharTokenizers.java       |  4 +-
 .../analysis/util/TestCharacterUtils.java       |  4 +-
 .../lucene/analysis/util/TestElision.java       |  4 +-
 .../analysis/util/TestElisionFilterFactory.java |  4 +-
 .../util/TestFilesystemResourceLoader.java      |  4 +-
 .../analysis/util/TestRollingCharBuffer.java    |  4 +-
 .../util/TestSegmentingTokenizerBase.java       |  4 +-
 .../analysis/util/TestWordlistLoader.java       |  4 +-
 .../TestWikipediaTokenizerFactory.java          |  4 +-
 .../wikipedia/WikipediaTokenizerTest.java       |  1 -
 .../collation/TestCollationDocValuesField.java  |  4 +-
 .../collation/TestCollationKeyAnalyzer.java     |  4 +-
 .../standard/GenerateJflexTLDMacros.java        | 16 ++--
 .../lucene/analysis/icu/ICUFoldingFilter.java   |  4 +-
 .../analysis/icu/ICUFoldingFilterFactory.java   |  4 +-
 .../analysis/icu/ICUNormalizer2CharFilter.java  |  4 +-
 .../icu/ICUNormalizer2CharFilterFactory.java    |  4 +-
 .../analysis/icu/ICUNormalizer2Filter.java      |  4 +-
 .../icu/ICUNormalizer2FilterFactory.java        |  4 +-
 .../lucene/analysis/icu/ICUTransformFilter.java |  4 +-
 .../analysis/icu/ICUTransformFilterFactory.java |  4 +-
 .../lucene/analysis/icu/package-info.java       |  1 -
 .../icu/segmentation/BreakIteratorWrapper.java  |  4 +-
 .../icu/segmentation/CharArrayIterator.java     |  4 +-
 .../segmentation/CompositeBreakIterator.java    |  4 +-
 .../segmentation/DefaultICUTokenizerConfig.java |  4 +-
 .../analysis/icu/segmentation/ICUTokenizer.java |  4 +-
 .../icu/segmentation/ICUTokenizerConfig.java    |  4 +-
 .../icu/segmentation/ICUTokenizerFactory.java   |  4 +-
 .../icu/segmentation/ScriptIterator.java        |  3 +-
 .../analysis/icu/segmentation/package-info.java |  1 -
 .../icu/tokenattributes/ScriptAttribute.java    |  4 +-
 .../tokenattributes/ScriptAttributeImpl.java    |  4 +-
 .../icu/tokenattributes/package-info.java       |  1 -
 .../collation/ICUCollationAttributeFactory.java |  4 +-
 .../collation/ICUCollationDocValuesField.java   |  4 +-
 .../collation/ICUCollationKeyAnalyzer.java      |  4 +-
 .../ICUCollatedTermAttributeImpl.java           |  4 +-
 .../analysis/icu/TestICUFoldingFilter.java      |  4 +-
 .../icu/TestICUFoldingFilterFactory.java        |  4 +-
 .../icu/TestICUNormalizer2CharFilter.java       |  4 +-
 .../TestICUNormalizer2CharFilterFactory.java    |  4 +-
 .../analysis/icu/TestICUNormalizer2Filter.java  |  4 +-
 .../icu/TestICUNormalizer2FilterFactory.java    |  4 +-
 .../analysis/icu/TestICUTransformFilter.java    |  4 +-
 .../icu/TestICUTransformFilterFactory.java      |  4 +-
 .../icu/segmentation/TestCharArrayIterator.java |  4 +-
 .../icu/segmentation/TestICUTokenizer.java      |  4 +-
 .../icu/segmentation/TestICUTokenizerCJK.java   |  4 +-
 .../segmentation/TestICUTokenizerFactory.java   |  4 +-
 .../segmentation/TestWithCJKBigramFilter.java   |  4 +-
 .../TestICUCollationDocValuesField.java         |  4 +-
 .../collation/TestICUCollationKeyAnalyzer.java  |  4 +-
 .../analysis/icu/GenerateUTR30DataFiles.java    |  4 +-
 .../lucene/analysis/icu/RBBIRuleCompiler.java   |  4 +-
 .../lucene/analysis/ja/GraphvizFormatter.java   |  4 +-
 .../lucene/analysis/ja/JapaneseAnalyzer.java    |  4 +-
 .../analysis/ja/JapaneseBaseFormFilter.java     |  4 +-
 .../ja/JapaneseBaseFormFilterFactory.java       |  4 +-
 .../ja/JapaneseIterationMarkCharFilter.java     |  4 +-
 .../JapaneseIterationMarkCharFilterFactory.java |  4 +-
 .../analysis/ja/JapaneseKatakanaStemFilter.java |  4 +-
 .../ja/JapaneseKatakanaStemFilterFactory.java   |  4 +-
 .../analysis/ja/JapaneseNumberFilter.java       |  4 +-
 .../ja/JapaneseNumberFilterFactory.java         |  4 +-
 .../ja/JapanesePartOfSpeechStopFilter.java      |  4 +-
 .../JapanesePartOfSpeechStopFilterFactory.java  |  4 +-
 .../analysis/ja/JapaneseReadingFormFilter.java  |  4 +-
 .../ja/JapaneseReadingFormFilterFactory.java    |  4 +-
 .../lucene/analysis/ja/JapaneseTokenizer.java   |  4 +-
 .../analysis/ja/JapaneseTokenizerFactory.java   |  4 +-
 .../org/apache/lucene/analysis/ja/Token.java    |  4 +-
 .../analysis/ja/dict/BinaryDictionary.java      |  4 +-
 .../analysis/ja/dict/CharacterDefinition.java   |  4 +-
 .../analysis/ja/dict/ConnectionCosts.java       |  4 +-
 .../lucene/analysis/ja/dict/Dictionary.java     |  4 +-
 .../analysis/ja/dict/TokenInfoDictionary.java   |  4 +-
 .../lucene/analysis/ja/dict/TokenInfoFST.java   |  4 +-
 .../analysis/ja/dict/UnknownDictionary.java     |  4 +-
 .../lucene/analysis/ja/dict/UserDictionary.java |  4 +-
 .../lucene/analysis/ja/dict/package-info.java   |  1 -
 .../apache/lucene/analysis/ja/package-info.java |  1 -
 .../ja/tokenattributes/BaseFormAttribute.java   |  4 +-
 .../tokenattributes/BaseFormAttributeImpl.java  |  4 +-
 .../ja/tokenattributes/InflectionAttribute.java |  4 +-
 .../InflectionAttributeImpl.java                |  4 +-
 .../tokenattributes/PartOfSpeechAttribute.java  |  4 +-
 .../PartOfSpeechAttributeImpl.java              |  4 +-
 .../ja/tokenattributes/ReadingAttribute.java    |  4 +-
 .../tokenattributes/ReadingAttributeImpl.java   |  4 +-
 .../ja/tokenattributes/package-info.java        |  1 -
 .../apache/lucene/analysis/ja/util/CSVUtil.java |  4 +-
 .../lucene/analysis/ja/util/ToStringUtil.java   |  4 +-
 .../lucene/analysis/ja/util/package-info.java   |  1 -
 .../analysis/ja/StringMockResourceLoader.java   |  4 +-
 .../lucene/analysis/ja/TestExtendedMode.java    |  4 +-
 .../analysis/ja/TestJapaneseAnalyzer.java       |  4 +-
 .../analysis/ja/TestJapaneseBaseFormFilter.java |  4 +-
 .../ja/TestJapaneseBaseFormFilterFactory.java   |  4 +-
 .../ja/TestJapaneseIterationMarkCharFilter.java |  4 +-
 ...tJapaneseIterationMarkCharFilterFactory.java |  4 +-
 .../ja/TestJapaneseKatakanaStemFilter.java      |  4 +-
 .../TestJapaneseKatakanaStemFilterFactory.java  |  4 +-
 .../analysis/ja/TestJapaneseNumberFilter.java   |  4 +-
 .../ja/TestJapaneseNumberFilterFactory.java     |  4 +-
 ...stJapanesePartOfSpeechStopFilterFactory.java |  4 +-
 .../ja/TestJapaneseReadingFormFilter.java       |  4 +-
 .../TestJapaneseReadingFormFilterFactory.java   |  4 +-
 .../analysis/ja/TestJapaneseTokenizer.java      |  4 +-
 .../ja/TestJapaneseTokenizerFactory.java        |  4 +-
 .../lucene/analysis/ja/TestSearchMode.java      |  4 +-
 .../ja/dict/TestTokenInfoDictionary.java        |  4 +-
 .../analysis/ja/dict/UserDictionaryTest.java    |  4 +-
 .../analysis/ja/util/TestToStringUtil.java      |  4 +-
 .../ja/util/BinaryDictionaryWriter.java         |  4 +-
 .../ja/util/CharacterDefinitionWriter.java      |  4 +-
 .../ja/util/ConnectionCostsBuilder.java         |  4 +-
 .../analysis/ja/util/ConnectionCostsWriter.java |  4 +-
 .../analysis/ja/util/DictionaryBuilder.java     |  4 +-
 .../ja/util/TokenInfoDictionaryBuilder.java     |  4 +-
 .../ja/util/TokenInfoDictionaryWriter.java      |  4 +-
 .../ja/util/UnknownDictionaryBuilder.java       |  4 +-
 .../ja/util/UnknownDictionaryWriter.java        |  4 +-
 .../analysis/ja/dict/UnknownDictionaryTest.java |  4 +-
 .../analysis/morfologik/MorfologikAnalyzer.java |  3 +-
 .../analysis/morfologik/MorfologikFilter.java   |  4 +-
 .../morfologik/MorfologikFilterFactory.java     |  4 +-
 .../MorphosyntacticTagsAttribute.java           |  3 +-
 .../MorphosyntacticTagsAttributeImpl.java       |  3 +-
 .../analysis/morfologik/package-info.java       |  1 -
 .../morfologik/TestMorfologikAnalyzer.java      |  4 +-
 .../morfologik/TestMorfologikFilterFactory.java |  4 +-
 .../analysis/phonetic/BeiderMorseFilter.java    |  4 +-
 .../phonetic/BeiderMorseFilterFactory.java      |  4 +-
 .../phonetic/DaitchMokotoffSoundexFilter.java   |  2 +-
 .../DaitchMokotoffSoundexFilterFactory.java     |  2 +-
 .../phonetic/DoubleMetaphoneFilterFactory.java  |  4 +-
 .../analysis/phonetic/PhoneticFilter.java       |  1 -
 .../phonetic/PhoneticFilterFactory.java         |  4 +-
 .../lucene/analysis/phonetic/package-info.java  |  1 -
 .../phonetic/TestBeiderMorseFilter.java         |  4 +-
 .../phonetic/TestBeiderMorseFilterFactory.java  |  4 +-
 .../TestDaitchMokotoffSoundexFilter.java        |  2 +-
 .../TestDaitchMokotoffSoundexFilterFactory.java |  4 +-
 .../TestDoubleMetaphoneFilterFactory.java       |  4 +-
 .../analysis/phonetic/TestPhoneticFilter.java   |  1 -
 .../phonetic/TestPhoneticFilterFactory.java     |  4 +-
 .../analysis/cn/smart/AnalyzerProfile.java      |  1 -
 .../lucene/analysis/cn/smart/CharType.java      |  1 -
 .../analysis/cn/smart/HMMChineseTokenizer.java  |  4 +-
 .../cn/smart/HMMChineseTokenizerFactory.java    |  1 -
 .../analysis/cn/smart/SmartChineseAnalyzer.java |  1 -
 .../lucene/analysis/cn/smart/Utility.java       |  1 -
 .../lucene/analysis/cn/smart/WordSegmenter.java |  1 -
 .../lucene/analysis/cn/smart/WordType.java      |  1 -
 .../cn/smart/hhmm/AbstractDictionary.java       |  1 -
 .../analysis/cn/smart/hhmm/BiSegGraph.java      |  1 -
 .../cn/smart/hhmm/BigramDictionary.java         |  1 -
 .../analysis/cn/smart/hhmm/HHMMSegmenter.java   |  1 -
 .../lucene/analysis/cn/smart/hhmm/PathNode.java |  1 -
 .../lucene/analysis/cn/smart/hhmm/SegGraph.java |  1 -
 .../lucene/analysis/cn/smart/hhmm/SegToken.java |  1 -
 .../analysis/cn/smart/hhmm/SegTokenFilter.java  |  1 -
 .../analysis/cn/smart/hhmm/SegTokenPair.java    |  1 -
 .../analysis/cn/smart/hhmm/WordDictionary.java  |  1 -
 .../analysis/cn/smart/hhmm/package-info.java    |  1 -
 .../lucene/analysis/cn/smart/package-info.java  |  1 -
 .../smart/TestHMMChineseTokenizerFactory.java   |  4 +-
 .../cn/smart/TestSmartChineseAnalyzer.java      |  1 -
 .../lucene/analysis/pl/PolishAnalyzer.java      |  4 +-
 .../apache/lucene/analysis/pl/package-info.java |  1 -
 .../lucene/analysis/stempel/StempelFilter.java  | 26 +++---
 .../stempel/StempelPolishStemFilterFactory.java |  4 +-
 .../lucene/analysis/stempel/StempelStemmer.java | 26 +++---
 .../lucene/analysis/stempel/package-info.java   |  1 -
 .../java/org/egothor/stemmer/package-info.java  |  1 -
 .../lucene/analysis/pl/TestPolishAnalyzer.java  |  4 +-
 .../TestStempelPolishStemFilterFactory.java     |  4 +-
 .../lucene/analysis/uima/BaseUIMATokenizer.java |  4 +-
 .../analysis/uima/UIMAAnnotationsTokenizer.java |  4 +-
 .../uima/UIMAAnnotationsTokenizerFactory.java   |  4 +-
 .../lucene/analysis/uima/UIMABaseAnalyzer.java  |  4 +-
 .../analysis/uima/UIMATypeAwareAnalyzer.java    |  4 +-
 .../uima/UIMATypeAwareAnnotationsTokenizer.java |  4 +-
 ...IMATypeAwareAnnotationsTokenizerFactory.java |  4 +-
 .../lucene/analysis/uima/ae/AEProvider.java     |  4 +-
 .../analysis/uima/ae/AEProviderFactory.java     |  4 +-
 .../analysis/uima/ae/BasicAEProvider.java       |  4 +-
 .../uima/ae/OverridingParamsAEProvider.java     |  4 +-
 .../lucene/analysis/uima/ae/package-info.java   |  1 -
 .../lucene/analysis/uima/package-info.java      |  1 -
 .../analysis/uima/UIMABaseAnalyzerTest.java     |  4 +-
 .../uima/UIMATypeAwareAnalyzerTest.java         |  4 +-
 .../analysis/uima/ae/AEProviderFactoryTest.java |  4 +-
 .../analysis/uima/ae/BasicAEProviderTest.java   |  4 +-
 .../uima/ae/OverridingParamsAEProviderTest.java |  4 +-
 .../analysis/uima/an/SampleEntityAnnotator.java |  4 +-
 .../analysis/uima/an/SamplePoSTagger.java       |  4 +-
 .../uima/an/SampleWSTokenizerAnnotator.java     |  4 +-
 .../org/apache/lucene/codecs/Placeholder.java   |  4 +-
 .../lucene/codecs/lucene50/Lucene50Codec.java   |  4 +-
 .../lucene50/Lucene50DocValuesConsumer.java     |  4 +-
 .../lucene50/Lucene50DocValuesFormat.java       |  4 +-
 .../lucene50/Lucene50DocValuesProducer.java     |  4 +-
 .../codecs/lucene50/Lucene50NormsFormat.java    |  4 +-
 .../codecs/lucene50/Lucene50NormsProducer.java  |  4 +-
 .../lucene/codecs/lucene53/Lucene53Codec.java   |  4 +-
 .../lucene/codecs/lucene54/Lucene54Codec.java   |  4 +-
 .../codecs/lucene50/Lucene50NormsConsumer.java  |  4 +-
 .../lucene/codecs/lucene50/Lucene50RWCodec.java |  4 +-
 .../codecs/lucene50/Lucene50RWNormsFormat.java  |  4 +-
 .../lucene50/TestLucene50DocValuesFormat.java   |  4 +-
 .../lucene50/TestLucene50NormsFormat.java       |  4 +-
 .../index/TestBackwardsCompatibility.java       |  4 +-
 .../lucene/index/TestMaxPositionInOldIndex.java |  4 +-
 .../org/apache/lucene/benchmark/Constants.java  | 19 ++---
 .../lucene/benchmark/byTask/Benchmark.java      |  4 +-
 .../lucene/benchmark/byTask/PerfRunData.java    |  4 +-
 .../byTask/feeds/AbstractQueryMaker.java        | 13 +--
 .../byTask/feeds/ContentItemsSource.java        |  4 +-
 .../benchmark/byTask/feeds/ContentSource.java   |  4 +-
 .../benchmark/byTask/feeds/DemoHTMLParser.java  |  4 +-
 .../byTask/feeds/DirContentSource.java          |  4 +-
 .../lucene/benchmark/byTask/feeds/DocData.java  |  4 +-
 .../lucene/benchmark/byTask/feeds/DocMaker.java |  4 +-
 .../byTask/feeds/EnwikiContentSource.java       |  4 +-
 .../byTask/feeds/EnwikiQueryMaker.java          |  4 +-
 .../benchmark/byTask/feeds/FacetSource.java     |  4 +-
 .../byTask/feeds/FileBasedQueryMaker.java       | 18 ++--
 .../byTask/feeds/GeonamesLineParser.java        |  4 +-
 .../benchmark/byTask/feeds/HTMLParser.java      |  4 +-
 .../benchmark/byTask/feeds/LineDocSource.java   |  4 +-
 .../feeds/LongToEnglishContentSource.java       |  4 +-
 .../byTask/feeds/LongToEnglishQueryMaker.java   |  4 +-
 .../byTask/feeds/NoMoreDataException.java       |  4 +-
 .../benchmark/byTask/feeds/QueryMaker.java      |  4 +-
 .../byTask/feeds/RandomFacetSource.java         |  4 +-
 .../byTask/feeds/ReutersContentSource.java      |  4 +-
 .../byTask/feeds/ReutersQueryMaker.java         |  4 +-
 .../byTask/feeds/SimpleQueryMaker.java          |  4 +-
 .../feeds/SimpleSloppyPhraseQueryMaker.java     |  4 +-
 .../benchmark/byTask/feeds/SingleDocSource.java |  8 +-
 .../byTask/feeds/SortableSingleDocSource.java   |  4 +-
 .../benchmark/byTask/feeds/SpatialDocMaker.java |  4 +-
 .../byTask/feeds/SpatialFileQueryMaker.java     |  4 +-
 .../byTask/feeds/TrecContentSource.java         |  4 +-
 .../benchmark/byTask/feeds/TrecDocParser.java   |  4 +-
 .../benchmark/byTask/feeds/TrecFBISParser.java  |  4 +-
 .../benchmark/byTask/feeds/TrecFR94Parser.java  |  4 +-
 .../benchmark/byTask/feeds/TrecFTParser.java    |  4 +-
 .../benchmark/byTask/feeds/TrecGov2Parser.java  |  4 +-
 .../byTask/feeds/TrecLATimesParser.java         |  4 +-
 .../byTask/feeds/TrecParserByPath.java          |  4 +-
 .../benchmark/byTask/feeds/package-info.java    |  1 -
 .../lucene/benchmark/byTask/package-info.java   |  1 -
 .../benchmark/byTask/programmatic/Sample.java   | 15 ++--
 .../byTask/programmatic/package-info.java       |  1 -
 .../lucene/benchmark/byTask/stats/Points.java   |  4 +-
 .../lucene/benchmark/byTask/stats/Report.java   |  4 +-
 .../benchmark/byTask/stats/TaskStats.java       |  4 +-
 .../benchmark/byTask/stats/package-info.java    |  1 -
 .../benchmark/byTask/tasks/AddDocTask.java      |  4 +-
 .../byTask/tasks/AddFacetedDocTask.java         |  4 +-
 .../benchmark/byTask/tasks/AddIndexesTask.java  |  4 +-
 .../byTask/tasks/AnalyzerFactoryTask.java       |  4 +-
 .../byTask/tasks/BenchmarkHighlighter.java      |  4 +-
 .../benchmark/byTask/tasks/ClearStatsTask.java  |  8 +-
 .../benchmark/byTask/tasks/CloseIndexTask.java  |  4 +-
 .../benchmark/byTask/tasks/CloseReaderTask.java |  4 +-
 .../byTask/tasks/CloseTaxonomyIndexTask.java    |  4 +-
 .../byTask/tasks/CloseTaxonomyReaderTask.java   |  4 +-
 .../benchmark/byTask/tasks/CommitIndexTask.java |  4 +-
 .../byTask/tasks/CommitTaxonomyIndexTask.java   |  2 +-
 .../byTask/tasks/ConsumeContentSourceTask.java  |  4 +-
 .../benchmark/byTask/tasks/CreateIndexTask.java |  4 +-
 .../byTask/tasks/CreateTaxonomyIndexTask.java   |  4 +-
 .../benchmark/byTask/tasks/ForceMergeTask.java  |  4 +-
 .../byTask/tasks/NearRealtimeReaderTask.java    |  4 +-
 .../benchmark/byTask/tasks/NewAnalyzerTask.java | 13 +--
 .../byTask/tasks/NewCollationAnalyzerTask.java  |  4 +-
 .../benchmark/byTask/tasks/NewLocaleTask.java   |  4 +-
 .../benchmark/byTask/tasks/NewRoundTask.java    |  8 +-
 .../benchmark/byTask/tasks/OpenIndexTask.java   |  4 +-
 .../benchmark/byTask/tasks/OpenReaderTask.java  |  4 +-
 .../byTask/tasks/OpenTaxonomyIndexTask.java     |  4 +-
 .../byTask/tasks/OpenTaxonomyReaderTask.java    |  4 +-
 .../lucene/benchmark/byTask/tasks/PerfTask.java |  4 +-
 .../benchmark/byTask/tasks/PrintReaderTask.java |  4 +-
 .../lucene/benchmark/byTask/tasks/ReadTask.java |  4 +-
 .../benchmark/byTask/tasks/ReadTokensTask.java  |  4 +-
 .../byTask/tasks/ReopenReaderTask.java          |  2 +-
 .../benchmark/byTask/tasks/RepAllTask.java      |  4 +-
 .../byTask/tasks/RepSelectByPrefTask.java       |  4 +-
 .../byTask/tasks/RepSumByNameRoundTask.java     |  4 +-
 .../byTask/tasks/RepSumByNameTask.java          |  4 +-
 .../byTask/tasks/RepSumByPrefRoundTask.java     |  4 +-
 .../byTask/tasks/RepSumByPrefTask.java          |  4 +-
 .../benchmark/byTask/tasks/ReportTask.java      | 18 ++--
 .../benchmark/byTask/tasks/ResetInputsTask.java |  8 +-
 .../byTask/tasks/ResetSystemEraseTask.java      |  8 +-
 .../byTask/tasks/ResetSystemSoftTask.java       |  8 +-
 .../byTask/tasks/RollbackIndexTask.java         |  4 +-
 .../benchmark/byTask/tasks/SearchTask.java      |  4 +-
 .../tasks/SearchTravRetHighlightTask.java       |  4 +-
 .../SearchTravRetLoadFieldSelectorTask.java     | 14 +--
 .../byTask/tasks/SearchTravRetTask.java         |  4 +-
 .../tasks/SearchTravRetVectorHighlightTask.java |  4 +-
 .../benchmark/byTask/tasks/SearchTravTask.java  |  4 +-
 .../byTask/tasks/SearchWithCollectorTask.java   |  2 +-
 .../byTask/tasks/SearchWithSortTask.java        |  2 +-
 .../benchmark/byTask/tasks/SetPropTask.java     |  8 +-
 .../benchmark/byTask/tasks/TaskSequence.java    |  4 +-
 .../benchmark/byTask/tasks/UpdateDocTask.java   |  4 +-
 .../lucene/benchmark/byTask/tasks/WaitTask.java |  4 +-
 .../lucene/benchmark/byTask/tasks/WarmTask.java |  4 +-
 .../byTask/tasks/WriteEnwikiLineDocTask.java    | 32 +++----
 .../byTask/tasks/WriteLineDocTask.java          |  4 +-
 .../benchmark/byTask/tasks/package-info.java    |  1 -
 .../benchmark/byTask/utils/Algorithm.java       |  4 +-
 .../benchmark/byTask/utils/AnalyzerFactory.java |  4 +-
 .../lucene/benchmark/byTask/utils/Config.java   |  4 +-
 .../lucene/benchmark/byTask/utils/Format.java   |  4 +-
 .../benchmark/byTask/utils/StreamUtils.java     |  4 +-
 .../benchmark/byTask/utils/package-info.java    |  1 -
 .../apache/lucene/benchmark/package-info.java   |  1 -
 .../lucene/benchmark/quality/package-info.java  |  1 -
 .../benchmark/quality/trec/QueryDriver.java     |  4 +-
 .../benchmark/quality/trec/package-info.java    |  1 -
 .../benchmark/quality/utils/package-info.java   |  1 -
 .../lucene/benchmark/utils/ExtractReuters.java  | 15 ++--
 .../benchmark/utils/ExtractWikipedia.java       |  4 +-
 .../lucene/benchmark/utils/package-info.java    |  1 -
 lucene/benchmark/src/test/conf/ConfLoader.java  |  3 +-
 .../lucene/benchmark/BenchmarkTestCase.java     |  4 +-
 .../benchmark/byTask/TestPerfTasksLogic.java    |  1 -
 .../benchmark/byTask/TestPerfTasksParse.java    |  1 -
 .../benchmark/byTask/feeds/DocMakerTest.java    |  4 +-
 .../byTask/feeds/EnwikiContentSourceTest.java   |  4 +-
 .../byTask/feeds/LineDocSourceTest.java         |  4 +-
 .../benchmark/byTask/feeds/TestHtmlParser.java  |  4 +-
 .../byTask/feeds/TrecContentSourceTest.java     |  4 +-
 .../byTask/tasks/AddIndexesTaskTest.java        |  4 +-
 .../byTask/tasks/CommitIndexTaskTest.java       |  4 +-
 .../tasks/CountingHighlighterTestTask.java      |  1 -
 .../byTask/tasks/CountingSearchTestTask.java    |  1 -
 .../byTask/tasks/CreateIndexTaskTest.java       |  4 +-
 .../benchmark/byTask/tasks/PerfTaskTest.java    |  4 +-
 .../byTask/tasks/SearchWithSortTaskTest.java    |  4 +-
 .../tasks/WriteEnwikiLineDocTaskTest.java       |  4 +-
 .../byTask/tasks/WriteLineDocTaskTest.java      |  4 +-
 .../byTask/tasks/alt/AltPackageTaskTest.java    |  4 +-
 .../benchmark/byTask/tasks/alt/AltTestTask.java |  4 +-
 .../benchmark/byTask/utils/StreamUtilsTest.java |  4 +-
 .../benchmark/byTask/utils/TestConfig.java      |  4 +-
 .../benchmark/quality/TestQualityRun.java       |  4 +-
 .../CachingNaiveBayesClassifier.java            | 32 +++----
 .../document/DocumentClassifier.java            |  4 +-
 .../KNearestNeighborDocumentClassifier.java     |  4 +-
 .../SimpleNaiveBayesDocumentClassifier.java     |  4 +-
 .../classification/document/package-info.java   |  1 -
 .../lucene/classification/package-info.java     |  1 -
 .../utils/ConfusionMatrixGenerator.java         |  4 +-
 .../classification/utils/DatasetSplitter.java   |  4 +-
 .../classification/utils/package-info.java      |  1 -
 .../CachingNaiveBayesClassifierTest.java        |  4 +-
 .../DocumentClassificationTestBase.java         |  4 +-
 .../KNearestNeighborDocumentClassifierTest.java |  4 +-
 .../SimpleNaiveBayesDocumentClassifierTest.java |  4 +-
 .../utils/ConfusionMatrixGeneratorTest.java     |  4 +-
 .../classification/utils/DataSplitterTest.java  |  4 +-
 .../autoprefix/AutoPrefixPostingsFormat.java    |  4 +-
 .../lucene/codecs/autoprefix/package-info.java  |  1 -
 .../codecs/blockterms/BlockTermsReader.java     |  4 +-
 .../codecs/blockterms/BlockTermsWriter.java     |  4 +-
 .../blockterms/FixedGapTermsIndexReader.java    |  4 +-
 .../blockterms/FixedGapTermsIndexWriter.java    |  4 +-
 .../codecs/blockterms/TermsIndexReaderBase.java |  4 +-
 .../codecs/blockterms/TermsIndexWriterBase.java |  4 +-
 .../blockterms/VariableGapTermsIndexReader.java |  4 +-
 .../blockterms/VariableGapTermsIndexWriter.java |  4 +-
 .../lucene/codecs/blockterms/package-info.java  |  1 -
 .../BlockTreeOrdsPostingsFormat.java            |  4 +-
 .../codecs/blocktreeords/FSTOrdsOutputs.java    |  4 +-
 .../blocktreeords/OrdsBlockTreeTermsReader.java |  4 +-
 .../blocktreeords/OrdsBlockTreeTermsWriter.java |  4 +-
 .../codecs/blocktreeords/OrdsFieldReader.java   |  4 +-
 .../blocktreeords/OrdsIntersectTermsEnum.java   |  4 +-
 .../OrdsIntersectTermsEnumFrame.java            |  4 +-
 .../blocktreeords/OrdsSegmentTermsEnum.java     |  4 +-
 .../OrdsSegmentTermsEnumFrame.java              |  4 +-
 .../codecs/blocktreeords/package-info.java      |  1 -
 .../lucene/codecs/bloom/BloomFilterFactory.java |  2 +-
 .../bloom/BloomFilteringPostingsFormat.java     |  4 +-
 .../codecs/bloom/DefaultBloomFilterFactory.java |  2 +-
 .../apache/lucene/codecs/bloom/FuzzySet.java    |  4 +-
 .../lucene/codecs/bloom/HashFunction.java       |  2 +-
 .../apache/lucene/codecs/bloom/MurmurHash2.java |  2 +-
 .../lucene/codecs/bloom/package-info.java       |  1 -
 .../codecs/memory/DirectDocValuesConsumer.java  |  4 +-
 .../codecs/memory/DirectDocValuesFormat.java    |  4 +-
 .../codecs/memory/DirectDocValuesProducer.java  |  4 +-
 .../codecs/memory/DirectPostingsFormat.java     |  4 +-
 .../codecs/memory/FSTOrdPostingsFormat.java     |  6 +-
 .../lucene/codecs/memory/FSTOrdTermsReader.java |  4 +-
 .../lucene/codecs/memory/FSTOrdTermsWriter.java |  4 +-
 .../lucene/codecs/memory/FSTPostingsFormat.java |  6 +-
 .../lucene/codecs/memory/FSTTermOutputs.java    |  4 +-
 .../lucene/codecs/memory/FSTTermsReader.java    |  4 +-
 .../lucene/codecs/memory/FSTTermsWriter.java    |  4 +-
 .../codecs/memory/MemoryDocValuesConsumer.java  |  4 +-
 .../codecs/memory/MemoryDocValuesFormat.java    |  4 +-
 .../codecs/memory/MemoryDocValuesProducer.java  |  4 +-
 .../codecs/memory/MemoryPostingsFormat.java     |  4 +-
 .../lucene/codecs/memory/package-info.java      |  1 -
 .../codecs/simpletext/SimpleTextBKDReader.java  |  4 +-
 .../codecs/simpletext/SimpleTextCodec.java      |  4 +-
 .../simpletext/SimpleTextCompoundFormat.java    |  4 +-
 .../simpletext/SimpleTextDocValuesFormat.java   |  4 +-
 .../simpletext/SimpleTextDocValuesReader.java   |  4 +-
 .../simpletext/SimpleTextDocValuesWriter.java   |  4 +-
 .../simpletext/SimpleTextFieldInfosFormat.java  |  4 +-
 .../simpletext/SimpleTextFieldsReader.java      |  4 +-
 .../simpletext/SimpleTextFieldsWriter.java      |  4 +-
 .../simpletext/SimpleTextLiveDocsFormat.java    |  4 +-
 .../simpletext/SimpleTextNormsFormat.java       |  4 +-
 .../simpletext/SimpleTextPointFormat.java       |  4 +-
 .../simpletext/SimpleTextPointReader.java       |  4 +-
 .../simpletext/SimpleTextPointWriter.java       |  4 +-
 .../simpletext/SimpleTextPostingsFormat.java    |  4 +-
 .../simpletext/SimpleTextSegmentInfoFormat.java |  4 +-
 .../SimpleTextStoredFieldsFormat.java           |  4 +-
 .../SimpleTextStoredFieldsReader.java           |  4 +-
 .../SimpleTextStoredFieldsWriter.java           |  4 +-
 .../simpletext/SimpleTextTermVectorsFormat.java |  4 +-
 .../simpletext/SimpleTextTermVectorsReader.java |  4 +-
 .../simpletext/SimpleTextTermVectorsWriter.java |  4 +-
 .../codecs/simpletext/SimpleTextUtil.java       |  4 +-
 .../lucene/codecs/simpletext/package-info.java  |  1 -
 .../TestAutoPrefixPostingsFormat.java           |  4 +-
 .../codecs/autoprefix/TestAutoPrefixTerms.java  |  4 +-
 .../blockterms/TestFixedGapPostingsFormat.java  |  4 +-
 ...TestVarGapDocFreqIntervalPostingsFormat.java |  4 +-
 .../TestVarGapFixedIntervalPostingsFormat.java  |  4 +-
 .../codecs/blocktreeords/TestOrdsBlockTree.java |  4 +-
 .../codecs/bloom/TestBloomPostingsFormat.java   |  4 +-
 .../memory/TestDirectDocValuesFormat.java       |  4 +-
 .../codecs/memory/TestDirectPostingsFormat.java |  4 +-
 .../codecs/memory/TestFSTOrdPostingsFormat.java |  4 +-
 .../codecs/memory/TestFSTPostingsFormat.java    |  4 +-
 .../memory/TestMemoryDocValuesFormat.java       |  4 +-
 .../codecs/memory/TestMemoryPostingsFormat.java |  4 +-
 .../TestSimpleTextCompoundFormat.java           |  4 +-
 .../TestSimpleTextDocValuesFormat.java          |  4 +-
 .../TestSimpleTextFieldInfoFormat.java          |  4 +-
 .../simpletext/TestSimpleTextNormsFormat.java   |  4 +-
 .../simpletext/TestSimpleTextPointFormat.java   |  4 +-
 .../TestSimpleTextPostingsFormat.java           |  4 +-
 .../TestSimpleTextSegmentInfoFormat.java        |  4 +-
 .../TestSimpleTextStoredFieldsFormat.java       |  4 +-
 .../TestSimpleTextTermVectorsFormat.java        |  4 +-
 .../java/org/apache/lucene/LucenePackage.java   |  4 +-
 .../org/apache/lucene/analysis/Analyzer.java    |  4 +-
 .../apache/lucene/analysis/AnalyzerWrapper.java |  4 +-
 .../lucene/analysis/CachingTokenFilter.java     |  4 +-
 .../org/apache/lucene/analysis/CharFilter.java  |  4 +-
 .../analysis/DelegatingAnalyzerWrapper.java     |  8 +-
 .../analysis/LegacyNumericTokenStream.java      |  4 +-
 .../lucene/analysis/ReusableStringReader.java   |  8 +-
 .../java/org/apache/lucene/analysis/Token.java  |  4 +-
 .../org/apache/lucene/analysis/TokenFilter.java |  4 +-
 .../org/apache/lucene/analysis/TokenStream.java |  4 +-
 .../lucene/analysis/TokenStreamToAutomaton.java |  4 +-
 .../org/apache/lucene/analysis/Tokenizer.java   |  4 +-
 .../apache/lucene/analysis/package-info.java    |  1 -
 .../tokenattributes/BytesTermAttribute.java     |  4 +-
 .../tokenattributes/BytesTermAttributeImpl.java |  4 +-
 .../tokenattributes/CharTermAttribute.java      |  4 +-
 .../tokenattributes/CharTermAttributeImpl.java  |  4 +-
 .../tokenattributes/FlagsAttribute.java         |  4 +-
 .../tokenattributes/FlagsAttributeImpl.java     |  4 +-
 .../tokenattributes/KeywordAttribute.java       |  4 +-
 .../tokenattributes/KeywordAttributeImpl.java   |  4 +-
 .../tokenattributes/OffsetAttribute.java        |  4 +-
 .../tokenattributes/OffsetAttributeImpl.java    |  4 +-
 .../PackedTokenAttributeImpl.java               |  4 +-
 .../tokenattributes/PayloadAttribute.java       |  4 +-
 .../tokenattributes/PayloadAttributeImpl.java   |  4 +-
 .../PositionIncrementAttribute.java             |  4 +-
 .../PositionIncrementAttributeImpl.java         |  4 +-
 .../PositionLengthAttribute.java                |  4 +-
 .../PositionLengthAttributeImpl.java            |  4 +-
 .../TermToBytesRefAttribute.java                |  4 +-
 .../analysis/tokenattributes/TypeAttribute.java |  4 +-
 .../tokenattributes/TypeAttributeImpl.java      |  4 +-
 .../analysis/tokenattributes/package-info.java  |  1 -
 .../apache/lucene/codecs/BlockTermState.java    |  2 +-
 .../java/org/apache/lucene/codecs/Codec.java    |  4 +-
 .../org/apache/lucene/codecs/CodecUtil.java     |  4 +-
 .../apache/lucene/codecs/CompoundFormat.java    |  4 +-
 .../apache/lucene/codecs/DocValuesConsumer.java |  4 +-
 .../apache/lucene/codecs/DocValuesFormat.java   |  4 +-
 .../apache/lucene/codecs/DocValuesProducer.java |  4 +-
 .../apache/lucene/codecs/FieldInfosFormat.java  |  4 +-
 .../apache/lucene/codecs/FieldsConsumer.java    |  4 +-
 .../apache/lucene/codecs/FieldsProducer.java    |  4 +-
 .../org/apache/lucene/codecs/FilterCodec.java   |  4 +-
 .../apache/lucene/codecs/LiveDocsFormat.java    |  4 +-
 .../lucene/codecs/MultiLevelSkipListReader.java |  4 +-
 .../lucene/codecs/MultiLevelSkipListWriter.java |  4 +-
 .../org/apache/lucene/codecs/NormsConsumer.java |  4 +-
 .../org/apache/lucene/codecs/NormsFormat.java   |  4 +-
 .../org/apache/lucene/codecs/NormsProducer.java | 18 ++--
 .../org/apache/lucene/codecs/PointFormat.java   |  4 +-
 .../org/apache/lucene/codecs/PointReader.java   |  4 +-
 .../org/apache/lucene/codecs/PointWriter.java   |  4 +-
 .../apache/lucene/codecs/PostingsFormat.java    |  4 +-
 .../lucene/codecs/PostingsReaderBase.java       |  4 +-
 .../lucene/codecs/PostingsWriterBase.java       |  4 +-
 .../lucene/codecs/PushPostingsWriterBase.java   |  4 +-
 .../apache/lucene/codecs/SegmentInfoFormat.java |  4 +-
 .../lucene/codecs/StoredFieldsFormat.java       |  4 +-
 .../lucene/codecs/StoredFieldsReader.java       | 24 +++---
 .../lucene/codecs/StoredFieldsWriter.java       | 24 +++---
 .../org/apache/lucene/codecs/TermStats.java     |  4 +-
 .../apache/lucene/codecs/TermVectorsFormat.java |  4 +-
 .../apache/lucene/codecs/TermVectorsReader.java |  4 +-
 .../apache/lucene/codecs/TermVectorsWriter.java |  4 +-
 .../codecs/blocktree/AutoPrefixTermsWriter.java |  4 +-
 .../codecs/blocktree/BitSetPostingsEnum.java    |  4 +-
 .../codecs/blocktree/BitSetTermsEnum.java       |  4 +-
 .../codecs/blocktree/BlockTreeTermsReader.java  |  4 +-
 .../codecs/blocktree/BlockTreeTermsWriter.java  |  4 +-
 .../lucene/codecs/blocktree/FieldReader.java    |  4 +-
 .../codecs/blocktree/IntersectTermsEnum.java    |  4 +-
 .../blocktree/IntersectTermsEnumFrame.java      |  4 +-
 .../codecs/blocktree/SegmentTermsEnum.java      |  4 +-
 .../codecs/blocktree/SegmentTermsEnumFrame.java |  4 +-
 .../apache/lucene/codecs/blocktree/Stats.java   |  4 +-
 .../lucene/codecs/blocktree/package-info.java   |  1 -
 .../CompressingStoredFieldsFormat.java          |  4 +-
 .../CompressingStoredFieldsIndexReader.java     |  4 +-
 .../CompressingStoredFieldsIndexWriter.java     |  4 +-
 .../CompressingStoredFieldsReader.java          |  4 +-
 .../CompressingStoredFieldsWriter.java          |  4 +-
 .../CompressingTermVectorsFormat.java           |  4 +-
 .../CompressingTermVectorsReader.java           |  4 +-
 .../CompressingTermVectorsWriter.java           |  4 +-
 .../codecs/compressing/CompressionMode.java     |  4 +-
 .../lucene/codecs/compressing/Compressor.java   |  4 +-
 .../lucene/codecs/compressing/Decompressor.java |  4 +-
 .../GrowableByteArrayDataOutput.java            |  4 +-
 .../apache/lucene/codecs/compressing/LZ4.java   |  4 +-
 .../codecs/compressing/MatchingReaders.java     |  4 +-
 .../lucene/codecs/compressing/package-info.java |  3 +-
 .../apache/lucene/codecs/lucene50/ForUtil.java  |  2 +-
 .../codecs/lucene50/Lucene50CompoundFormat.java |  4 +-
 .../codecs/lucene50/Lucene50CompoundReader.java |  4 +-
 .../lucene50/Lucene50FieldInfosFormat.java      |  4 +-
 .../codecs/lucene50/Lucene50LiveDocsFormat.java |  4 +-
 .../codecs/lucene50/Lucene50PostingsFormat.java |  6 +-
 .../codecs/lucene50/Lucene50PostingsReader.java |  4 +-
 .../codecs/lucene50/Lucene50PostingsWriter.java |  4 +-
 .../lucene50/Lucene50SegmentInfoFormat.java     |  4 +-
 .../codecs/lucene50/Lucene50SkipReader.java     |  4 +-
 .../codecs/lucene50/Lucene50SkipWriter.java     |  4 +-
 .../lucene50/Lucene50StoredFieldsFormat.java    |  4 +-
 .../lucene50/Lucene50TermVectorsFormat.java     |  4 +-
 .../lucene/codecs/lucene50/package-info.java    |  1 -
 .../codecs/lucene53/Lucene53NormsConsumer.java  |  4 +-
 .../codecs/lucene53/Lucene53NormsFormat.java    |  4 +-
 .../codecs/lucene53/Lucene53NormsProducer.java  |  4 +-
 .../lucene/codecs/lucene53/package-info.java    |  1 -
 .../lucene54/Lucene54DocValuesConsumer.java     |  4 +-
 .../lucene54/Lucene54DocValuesFormat.java       |  4 +-
 .../lucene54/Lucene54DocValuesProducer.java     |  4 +-
 .../lucene/codecs/lucene54/package-info.java    |  1 -
 .../lucene/codecs/lucene60/Lucene60Codec.java   |  4 +-
 .../lucene60/Lucene60FieldInfosFormat.java      |  4 +-
 .../codecs/lucene60/Lucene60PointFormat.java    |  4 +-
 .../codecs/lucene60/Lucene60PointReader.java    |  4 +-
 .../codecs/lucene60/Lucene60PointWriter.java    |  4 +-
 .../lucene/codecs/lucene60/package-info.java    |  1 -
 .../org/apache/lucene/codecs/package-info.java  |  1 -
 .../perfield/PerFieldDocValuesFormat.java       |  4 +-
 .../codecs/perfield/PerFieldPostingsFormat.java |  4 +-
 .../lucene/codecs/perfield/package-info.java    |  1 -
 .../lucene/document/BinaryDocValuesField.java   |  4 +-
 .../org/apache/lucene/document/BinaryPoint.java |  4 +-
 .../lucene/document/CompressionTools.java       |  4 +-
 .../org/apache/lucene/document/DateTools.java   |  4 +-
 .../org/apache/lucene/document/Document.java    |  4 +-
 .../document/DocumentStoredFieldVisitor.java    |  4 +-
 .../lucene/document/DoubleDocValuesField.java   |  4 +-
 .../org/apache/lucene/document/DoublePoint.java |  4 +-
 .../java/org/apache/lucene/document/Field.java  |  4 +-
 .../org/apache/lucene/document/FieldType.java   |  4 +-
 .../lucene/document/FloatDocValuesField.java    |  4 +-
 .../org/apache/lucene/document/FloatPoint.java  |  4 +-
 .../org/apache/lucene/document/IntPoint.java    |  4 +-
 .../lucene/document/LegacyDoubleField.java      |  4 +-
 .../lucene/document/LegacyFloatField.java       |  4 +-
 .../apache/lucene/document/LegacyIntField.java  |  4 +-
 .../apache/lucene/document/LegacyLongField.java |  4 +-
 .../org/apache/lucene/document/LongPoint.java   |  4 +-
 .../lucene/document/NumericDocValuesField.java  |  4 +-
 .../lucene/document/SortedDocValuesField.java   |  4 +-
 .../document/SortedNumericDocValuesField.java   |  4 +-
 .../document/SortedSetDocValuesField.java       |  4 +-
 .../org/apache/lucene/document/StoredField.java |  4 +-
 .../org/apache/lucene/document/StringField.java |  4 +-
 .../org/apache/lucene/document/TextField.java   |  4 +-
 .../apache/lucene/document/package-info.java    |  1 -
 .../apache/lucene/index/AbortingException.java  |  4 +-
 .../apache/lucene/index/AutomatonTermsEnum.java |  4 +-
 .../lucene/index/BaseCompositeReader.java       |  4 +-
 .../apache/lucene/index/BinaryDocValues.java    |  4 +-
 .../index/BinaryDocValuesFieldUpdates.java      |  4 +-
 .../lucene/index/BinaryDocValuesWriter.java     |  4 +-
 .../java/org/apache/lucene/index/BitsSlice.java |  8 +-
 .../apache/lucene/index/BufferedUpdates.java    |  4 +-
 .../lucene/index/BufferedUpdatesStream.java     |  4 +-
 .../apache/lucene/index/ByteSliceReader.java    |  4 +-
 .../apache/lucene/index/ByteSliceWriter.java    | 10 +--
 .../org/apache/lucene/index/CheckIndex.java     |  4 +-
 .../apache/lucene/index/CoalescedUpdates.java   |  4 +-
 .../org/apache/lucene/index/CodecReader.java    |  4 +-
 .../apache/lucene/index/CompositeReader.java    |  4 +-
 .../lucene/index/CompositeReaderContext.java    |  4 +-
 .../lucene/index/ConcurrentMergeScheduler.java  |  4 +-
 .../lucene/index/CorruptIndexException.java     |  4 +-
 .../lucene/index/DefaultIndexingChain.java      |  4 +-
 .../apache/lucene/index/DirectoryReader.java    |  4 +-
 .../org/apache/lucene/index/DocConsumer.java    |  4 +-
 .../java/org/apache/lucene/index/DocValues.java |  4 +-
 .../lucene/index/DocValuesFieldUpdates.java     |  4 +-
 .../org/apache/lucene/index/DocValuesType.java  |  4 +-
 .../apache/lucene/index/DocValuesUpdate.java    |  4 +-
 .../apache/lucene/index/DocValuesWriter.java    |  4 +-
 .../apache/lucene/index/DocumentsWriter.java    |  4 +-
 .../index/DocumentsWriterDeleteQueue.java       | 27 +++---
 .../index/DocumentsWriterFlushControl.java      | 10 +--
 .../lucene/index/DocumentsWriterFlushQueue.java | 28 +++---
 .../lucene/index/DocumentsWriterPerThread.java  | 10 +--
 .../index/DocumentsWriterPerThreadPool.java     |  8 +-
 .../index/DocumentsWriterStallControl.java      | 10 +--
 .../lucene/index/ExitableDirectoryReader.java   |  4 +-
 .../java/org/apache/lucene/index/FieldInfo.java |  4 +-
 .../org/apache/lucene/index/FieldInfos.java     |  4 +-
 .../apache/lucene/index/FieldTermIterator.java  |  4 +-
 .../java/org/apache/lucene/index/Fields.java    |  4 +-
 .../apache/lucene/index/FilterCodecReader.java  |  4 +-
 .../lucene/index/FilterDirectoryReader.java     |  4 +-
 .../apache/lucene/index/FilterLeafReader.java   |  4 +-
 .../apache/lucene/index/FilteredTermsEnum.java  |  4 +-
 .../lucene/index/FlushByRamOrCountsPolicy.java  | 10 +--
 .../org/apache/lucene/index/FlushPolicy.java    | 10 +--
 .../org/apache/lucene/index/FreqProxFields.java |  4 +-
 .../lucene/index/FreqProxTermsWriter.java       |  4 +-
 .../index/FreqProxTermsWriterPerField.java      |  4 +-
 .../lucene/index/FrozenBufferedUpdates.java     |  4 +-
 .../org/apache/lucene/index/IndexCommit.java    |  5 +-
 .../lucene/index/IndexDeletionPolicy.java       |  4 +-
 .../apache/lucene/index/IndexFileDeleter.java   |  4 +-
 .../org/apache/lucene/index/IndexFileNames.java |  4 +-
 .../index/IndexFormatTooNewException.java       |  1 -
 .../index/IndexFormatTooOldException.java       |  1 -
 .../lucene/index/IndexNotFoundException.java    |  4 +-
 .../org/apache/lucene/index/IndexOptions.java   |  4 +-
 .../org/apache/lucene/index/IndexReader.java    |  4 +-
 .../apache/lucene/index/IndexReaderContext.java |  4 +-
 .../org/apache/lucene/index/IndexUpgrader.java  |  4 +-
 .../org/apache/lucene/index/IndexWriter.java    |  4 +-
 .../apache/lucene/index/IndexWriterConfig.java  |  4 +-
 .../org/apache/lucene/index/IndexableField.java |  4 +-
 .../apache/lucene/index/IndexableFieldType.java |  4 +-
 .../index/KeepOnlyLastCommitDeletionPolicy.java |  4 +-
 .../org/apache/lucene/index/LeafReader.java     |  4 +-
 .../apache/lucene/index/LeafReaderContext.java  |  4 +-
 .../lucene/index/LiveIndexWriterConfig.java     |  4 +-
 .../lucene/index/LogByteSizeMergePolicy.java    |  4 +-
 .../apache/lucene/index/LogDocMergePolicy.java  |  8 +-
 .../org/apache/lucene/index/LogMergePolicy.java |  4 +-
 .../apache/lucene/index/MappedMultiFields.java  |  4 +-
 .../lucene/index/MappingMultiPostingsEnum.java  |  4 +-
 .../org/apache/lucene/index/MergePolicy.java    |  4 +-
 .../apache/lucene/index/MergeRateLimiter.java   |  4 +-
 .../org/apache/lucene/index/MergeScheduler.java |  4 +-
 .../org/apache/lucene/index/MergeState.java     |  4 +-
 .../org/apache/lucene/index/MergeTrigger.java   |  4 +-
 .../index/MergedPrefixCodedTermsIterator.java   |  4 +-
 .../java/org/apache/lucene/index/MultiBits.java |  8 +-
 .../org/apache/lucene/index/MultiDocValues.java |  4 +-
 .../org/apache/lucene/index/MultiFields.java    |  4 +-
 .../apache/lucene/index/MultiPointValues.java   |  4 +-
 .../apache/lucene/index/MultiPostingsEnum.java  |  4 +-
 .../org/apache/lucene/index/MultiReader.java    |  4 +-
 .../org/apache/lucene/index/MultiTerms.java     |  4 +-
 .../org/apache/lucene/index/MultiTermsEnum.java |  4 +-
 .../apache/lucene/index/NoDeletionPolicy.java   |  4 +-
 .../org/apache/lucene/index/NoMergePolicy.java  |  4 +-
 .../apache/lucene/index/NoMergeScheduler.java   |  4 +-
 .../apache/lucene/index/NormValuesWriter.java   |  4 +-
 .../apache/lucene/index/NumericDocValues.java   |  4 +-
 .../index/NumericDocValuesFieldUpdates.java     | 18 ++--
 .../lucene/index/NumericDocValuesWriter.java    |  4 +-
 .../org/apache/lucene/index/OrdTermState.java   |  4 +-
 .../lucene/index/ParallelCompositeReader.java   |  4 +-
 .../apache/lucene/index/ParallelLeafReader.java |  4 +-
 .../lucene/index/ParallelPostingsArray.java     |  4 +-
 .../index/PersistentSnapshotDeletionPolicy.java | 27 +++---
 .../org/apache/lucene/index/PointValues.java    |  4 +-
 .../apache/lucene/index/PointValuesWriter.java  |  4 +-
 .../org/apache/lucene/index/PostingsEnum.java   |  4 +-
 .../apache/lucene/index/PrefixCodedTerms.java   |  4 +-
 .../org/apache/lucene/index/QueryTimeout.java   |  4 +-
 .../apache/lucene/index/QueryTimeoutImpl.java   |  4 +-
 .../apache/lucene/index/RandomAccessOrds.java   |  4 +-
 .../org/apache/lucene/index/ReaderManager.java  |  4 +-
 .../org/apache/lucene/index/ReaderSlice.java    |  4 +-
 .../org/apache/lucene/index/ReaderUtil.java     |  4 +-
 .../apache/lucene/index/ReadersAndUpdates.java  |  4 +-
 .../apache/lucene/index/SegmentCommitInfo.java  |  4 +-
 .../apache/lucene/index/SegmentCoreReaders.java |  4 +-
 .../apache/lucene/index/SegmentDocValues.java   |  4 +-
 .../lucene/index/SegmentDocValuesProducer.java  |  4 +-
 .../org/apache/lucene/index/SegmentInfo.java    |  4 +-
 .../org/apache/lucene/index/SegmentInfos.java   |  4 +-
 .../org/apache/lucene/index/SegmentMerger.java  |  4 +-
 .../apache/lucene/index/SegmentReadState.java   |  4 +-
 .../org/apache/lucene/index/SegmentReader.java  |  4 +-
 .../apache/lucene/index/SegmentWriteState.java  |  4 +-
 .../lucene/index/SerialMergeScheduler.java      |  4 +-
 .../lucene/index/SimpleMergedSegmentWarmer.java |  4 +-
 .../apache/lucene/index/SingleTermsEnum.java    |  4 +-
 .../index/SingletonSortedNumericDocValues.java  |  4 +-
 .../index/SingletonSortedSetDocValues.java      |  4 +-
 .../lucene/index/SlowCodecReaderWrapper.java    |  4 +-
 .../index/SlowCompositeReaderWrapper.java       |  4 +-
 .../lucene/index/SnapshotDeletionPolicy.java    |  4 +-
 .../apache/lucene/index/SortedDocValues.java    |  4 +-
 .../lucene/index/SortedDocValuesTermsEnum.java  |  4 +-
 .../lucene/index/SortedDocValuesWriter.java     |  4 +-
 .../lucene/index/SortedNumericDocValues.java    |  4 +-
 .../index/SortedNumericDocValuesWriter.java     |  4 +-
 .../apache/lucene/index/SortedSetDocValues.java |  4 +-
 .../index/SortedSetDocValuesTermsEnum.java      |  4 +-
 .../lucene/index/SortedSetDocValuesWriter.java  |  4 +-
 .../lucene/index/StandardDirectoryReader.java   |  4 +-
 .../apache/lucene/index/StoredFieldVisitor.java |  4 +-
 .../src/java/org/apache/lucene/index/Term.java  |  4 +-
 .../org/apache/lucene/index/TermContext.java    |  4 +-
 .../java/org/apache/lucene/index/TermState.java |  4 +-
 .../lucene/index/TermVectorsConsumer.java       |  4 +-
 .../index/TermVectorsConsumerPerField.java      |  4 +-
 .../src/java/org/apache/lucene/index/Terms.java |  4 +-
 .../java/org/apache/lucene/index/TermsEnum.java |  4 +-
 .../java/org/apache/lucene/index/TermsHash.java |  4 +-
 .../apache/lucene/index/TermsHashPerField.java  |  4 +-
 .../apache/lucene/index/TieredMergePolicy.java  |  4 +-
 .../lucene/index/TrackingIndexWriter.java       |  4 +-
 .../org/apache/lucene/index/TwoPhaseCommit.java |  8 +-
 .../apache/lucene/index/TwoPhaseCommitTool.java |  8 +-
 .../lucene/index/UpgradeIndexMergePolicy.java   |  4 +-
 .../org/apache/lucene/index/package-info.java   |  1 -
 .../java/org/apache/lucene/package-info.java    |  3 +-
 .../apache/lucene/search/AutomatonQuery.java    |  4 +-
 .../apache/lucene/search/BlendedTermQuery.java  |  4 +-
 .../org/apache/lucene/search/BooleanClause.java |  4 +-
 .../org/apache/lucene/search/BooleanQuery.java  |  4 +-
 .../org/apache/lucene/search/BooleanScorer.java |  4 +-
 .../lucene/search/BooleanTopLevelScorers.java   |  4 +-
 .../org/apache/lucene/search/BooleanWeight.java |  4 +-
 .../apache/lucene/search/BoostAttribute.java    |  4 +-
 .../lucene/search/BoostAttributeImpl.java       |  4 +-
 .../org/apache/lucene/search/BoostQuery.java    |  4 +-
 .../org/apache/lucene/search/BulkScorer.java    |  4 +-
 .../apache/lucene/search/CachingCollector.java  |  4 +-
 .../lucene/search/CollectionStatistics.java     | 10 +--
 .../search/CollectionTerminatedException.java   |  4 +-
 .../org/apache/lucene/search/Collector.java     |  4 +-
 .../apache/lucene/search/CollectorManager.java  |  4 +-
 .../apache/lucene/search/ConjunctionDISI.java   |  4 +-
 .../apache/lucene/search/ConjunctionScorer.java |  4 +-
 .../lucene/search/ConstantScoreQuery.java       |  4 +-
 .../lucene/search/ConstantScoreScorer.java      |  4 +-
 .../lucene/search/ConstantScoreWeight.java      |  4 +-
 .../search/ControlledRealTimeReopenThread.java  |  4 +-
 .../apache/lucene/search/DisiPriorityQueue.java |  4 +-
 .../org/apache/lucene/search/DisiWrapper.java   |  4 +-
 .../search/DisjunctionDISIApproximation.java    |  2 +-
 .../lucene/search/DisjunctionMaxQuery.java      | 14 +--
 .../lucene/search/DisjunctionMaxScorer.java     | 14 +--
 .../apache/lucene/search/DisjunctionScorer.java |  4 +-
 .../lucene/search/DisjunctionSumScorer.java     |  4 +-
 .../java/org/apache/lucene/search/DocIdSet.java |  4 +-
 .../apache/lucene/search/DocIdSetIterator.java  |  4 +-
 .../apache/lucene/search/DocValuesDocIdSet.java |  2 +-
 .../lucene/search/DocValuesRewriteMethod.java   |  4 +-
 .../apache/lucene/search/ExactPhraseScorer.java |  4 +-
 .../apache/lucene/search/ExactPointQuery.java   |  4 +-
 .../org/apache/lucene/search/Explanation.java   |  4 +-
 .../org/apache/lucene/search/FakeScorer.java    |  4 +-
 .../apache/lucene/search/FieldComparator.java   |  4 +-
 .../lucene/search/FieldComparatorSource.java    |  4 +-
 .../java/org/apache/lucene/search/FieldDoc.java |  4 +-
 .../lucene/search/FieldValueHitQueue.java       |  4 +-
 .../apache/lucene/search/FieldValueQuery.java   |  4 +-
 .../apache/lucene/search/FilterCollector.java   | 12 +--
 .../lucene/search/FilterLeafCollector.java      |  4 +-
 .../org/apache/lucene/search/FilterScorer.java  |  4 +-
 .../lucene/search/FilteredDocIdSetIterator.java |  4 +-
 .../org/apache/lucene/search/FuzzyQuery.java    |  4 +-
 .../apache/lucene/search/FuzzyTermsEnum.java    |  4 +-
 .../java/org/apache/lucene/search/HitQueue.java |  4 +-
 .../org/apache/lucene/search/IndexSearcher.java |  4 +-
 .../org/apache/lucene/search/LRUQueryCache.java |  4 +-
 .../org/apache/lucene/search/LeafCollector.java |  4 +-
 .../lucene/search/LeafFieldComparator.java      |  4 +-
 .../lucene/search/LegacyNumericRangeQuery.java  |  4 +-
 .../apache/lucene/search/LiveFieldValues.java   |  4 +-
 .../apache/lucene/search/MatchAllDocsQuery.java |  4 +-
 .../apache/lucene/search/MatchNoDocsQuery.java  |  4 +-
 .../search/MaxNonCompetitiveBoostAttribute.java |  4 +-
 .../MaxNonCompetitiveBoostAttributeImpl.java    |  4 +-
 .../lucene/search/MinShouldMatchSumScorer.java  |  4 +-
 .../apache/lucene/search/MultiCollector.java    |  4 +-
 .../apache/lucene/search/MultiPhraseQuery.java  |  4 +-
 .../apache/lucene/search/MultiTermQuery.java    |  4 +-
 .../MultiTermQueryConstantScoreWrapper.java     |  4 +-
 .../java/org/apache/lucene/search/Multiset.java |  4 +-
 .../apache/lucene/search/NGramPhraseQuery.java  |  4 +-
 .../apache/lucene/search/PhrasePositions.java   |  4 +-
 .../org/apache/lucene/search/PhraseQuery.java   |  4 +-
 .../org/apache/lucene/search/PhraseQueue.java   |  4 +-
 .../apache/lucene/search/PointRangeQuery.java   |  4 +-
 .../search/PositiveScoresOnlyCollector.java     |  4 +-
 .../org/apache/lucene/search/PrefixQuery.java   |  4 +-
 .../java/org/apache/lucene/search/Query.java    |  4 +-
 .../org/apache/lucene/search/QueryCache.java    |  4 +-
 .../lucene/search/QueryCachingPolicy.java       |  4 +-
 .../org/apache/lucene/search/QueryRescorer.java |  4 +-
 .../lucene/search/RandomAccessWeight.java       |  4 +-
 .../apache/lucene/search/ReferenceManager.java  |  4 +-
 .../org/apache/lucene/search/RegexpQuery.java   |  4 +-
 .../apache/lucene/search/ReqExclBulkScorer.java |  4 +-
 .../org/apache/lucene/search/ReqExclScorer.java |  4 +-
 .../apache/lucene/search/ReqOptSumScorer.java   |  2 +-
 .../java/org/apache/lucene/search/Rescorer.java |  4 +-
 .../search/ScoreCachingWrappingScorer.java      |  4 +-
 .../java/org/apache/lucene/search/ScoreDoc.java |  4 +-
 .../java/org/apache/lucene/search/Scorer.java   |  4 +-
 .../apache/lucene/search/ScoringRewrite.java    |  4 +-
 .../apache/lucene/search/SearcherFactory.java   |  4 +-
 .../lucene/search/SearcherLifetimeManager.java  |  4 +-
 .../apache/lucene/search/SearcherManager.java   |  4 +-
 .../apache/lucene/search/SimpleCollector.java   |  4 +-
 .../lucene/search/SimpleFieldComparator.java    |  4 +-
 .../lucene/search/SloppyPhraseScorer.java       |  4 +-
 .../src/java/org/apache/lucene/search/Sort.java |  4 +-
 .../org/apache/lucene/search/SortField.java     |  4 +-
 .../org/apache/lucene/search/SortRescorer.java  |  4 +-
 .../lucene/search/SortedNumericSelector.java    |  4 +-
 .../lucene/search/SortedNumericSortField.java   |  4 +-
 .../apache/lucene/search/SortedSetSelector.java |  4 +-
 .../lucene/search/SortedSetSortField.java       |  4 +-
 .../org/apache/lucene/search/SynonymQuery.java  |  4 +-
 .../lucene/search/TermCollectingRewrite.java    |  4 +-
 .../org/apache/lucene/search/TermQuery.java     |  4 +-
 .../apache/lucene/search/TermRangeQuery.java    |  4 +-
 .../org/apache/lucene/search/TermScorer.java    |  4 +-
 .../apache/lucene/search/TermStatistics.java    |  4 +-
 .../lucene/search/TimeLimitingCollector.java    |  4 +-
 .../java/org/apache/lucene/search/TopDocs.java  |  4 +-
 .../apache/lucene/search/TopDocsCollector.java  |  4 +-
 .../apache/lucene/search/TopFieldCollector.java |  4 +-
 .../org/apache/lucene/search/TopFieldDocs.java  |  4 +-
 .../lucene/search/TopScoreDocCollector.java     |  4 +-
 .../apache/lucene/search/TopTermsRewrite.java   |  4 +-
 .../lucene/search/TotalHitCountCollector.java   |  4 +-
 .../apache/lucene/search/TwoPhaseIterator.java  |  4 +-
 .../search/UsageTrackingQueryCachingPolicy.java |  4 +-
 .../java/org/apache/lucene/search/Weight.java   |  4 +-
 .../org/apache/lucene/search/WildcardQuery.java |  4 +-
 .../org/apache/lucene/search/package-info.java  |  1 -
 .../lucene/search/similarities/AfterEffect.java |  4 +-
 .../search/similarities/AfterEffectB.java       |  4 +-
 .../search/similarities/AfterEffectL.java       |  4 +-
 .../search/similarities/BM25Similarity.java     |  4 +-
 .../lucene/search/similarities/BasicModel.java  |  4 +-
 .../search/similarities/BasicModelBE.java       |  4 +-
 .../lucene/search/similarities/BasicModelD.java |  4 +-
 .../lucene/search/similarities/BasicModelG.java |  4 +-
 .../search/similarities/BasicModelIF.java       |  4 +-
 .../search/similarities/BasicModelIn.java       |  4 +-
 .../search/similarities/BasicModelIne.java      |  4 +-
 .../lucene/search/similarities/BasicModelP.java |  4 +-
 .../lucene/search/similarities/BasicStats.java  |  4 +-
 .../search/similarities/ClassicSimilarity.java  |  4 +-
 .../search/similarities/DFISimilarity.java      |  4 +-
 .../search/similarities/DFRSimilarity.java      |  4 +-
 .../search/similarities/Distribution.java       |  4 +-
 .../search/similarities/DistributionLL.java     |  4 +-
 .../search/similarities/DistributionSPL.java    |  4 +-
 .../search/similarities/IBSimilarity.java       |  4 +-
 .../search/similarities/Independence.java       |  4 +-
 .../similarities/IndependenceChiSquared.java    |  4 +-
 .../similarities/IndependenceSaturated.java     |  4 +-
 .../similarities/IndependenceStandardized.java  |  4 +-
 .../similarities/LMDirichletSimilarity.java     |  4 +-
 .../similarities/LMJelinekMercerSimilarity.java |  4 +-
 .../search/similarities/LMSimilarity.java       |  4 +-
 .../lucene/search/similarities/Lambda.java      |  4 +-
 .../lucene/search/similarities/LambdaDF.java    |  4 +-
 .../lucene/search/similarities/LambdaTTF.java   |  4 +-
 .../search/similarities/MultiSimilarity.java    |  4 +-
 .../search/similarities/Normalization.java      |  4 +-
 .../search/similarities/NormalizationH1.java    |  4 +-
 .../search/similarities/NormalizationH2.java    |  4 +-
 .../search/similarities/NormalizationH3.java    |  4 +-
 .../search/similarities/NormalizationZ.java     |  4 +-
 .../similarities/PerFieldSimilarityWrapper.java |  4 +-
 .../lucene/search/similarities/Similarity.java  |  4 +-
 .../search/similarities/SimilarityBase.java     |  4 +-
 .../search/similarities/TFIDFSimilarity.java    |  4 +-
 .../search/similarities/package-info.java       |  1 -
 .../lucene/search/spans/ConjunctionSpans.java   |  4 +-
 .../lucene/search/spans/ContainSpans.java       |  4 +-
 .../search/spans/FieldMaskingSpanQuery.java     |  4 +-
 .../apache/lucene/search/spans/FilterSpans.java |  4 +-
 .../lucene/search/spans/NearSpansOrdered.java   |  4 +-
 .../lucene/search/spans/NearSpansUnordered.java |  4 +-
 .../search/spans/ScoringWrapperSpans.java       |  4 +-
 .../lucene/search/spans/SpanBoostQuery.java     |  4 +-
 .../lucene/search/spans/SpanCollector.java      |  4 +-
 .../lucene/search/spans/SpanContainQuery.java   |  4 +-
 .../search/spans/SpanContainingQuery.java       |  4 +-
 .../lucene/search/spans/SpanFirstQuery.java     |  4 +-
 .../search/spans/SpanMultiTermQueryWrapper.java |  4 +-
 .../lucene/search/spans/SpanNearQuery.java      |  4 +-
 .../lucene/search/spans/SpanNotQuery.java       |  4 +-
 .../apache/lucene/search/spans/SpanOrQuery.java |  4 +-
 .../search/spans/SpanPositionCheckQuery.java    |  2 +-
 .../lucene/search/spans/SpanPositionQueue.java  |  4 +-
 .../search/spans/SpanPositionRangeQuery.java    |  2 +-
 .../apache/lucene/search/spans/SpanQuery.java   |  4 +-
 .../apache/lucene/search/spans/SpanScorer.java  |  4 +-
 .../lucene/search/spans/SpanTermQuery.java      |  4 +-
 .../apache/lucene/search/spans/SpanWeight.java  |  4 +-
 .../lucene/search/spans/SpanWithinQuery.java    |  4 +-
 .../org/apache/lucene/search/spans/Spans.java   |  4 +-
 .../apache/lucene/search/spans/TermSpans.java   | 14 +--
 .../lucene/search/spans/package-info.java       |  1 -
 .../lucene/store/AlreadyClosedException.java    |  4 +-
 .../org/apache/lucene/store/BaseDirectory.java  |  4 +-
 .../apache/lucene/store/BufferedChecksum.java   |  4 +-
 .../store/BufferedChecksumIndexInput.java       |  4 +-
 .../apache/lucene/store/BufferedIndexInput.java |  4 +-
 .../apache/lucene/store/ByteArrayDataInput.java |  4 +-
 .../lucene/store/ByteArrayDataOutput.java       |  4 +-
 .../lucene/store/ByteBufferIndexInput.java      |  4 +-
 .../apache/lucene/store/ChecksumIndexInput.java |  8 +-
 .../java/org/apache/lucene/store/DataInput.java |  4 +-
 .../org/apache/lucene/store/DataOutput.java     |  4 +-
 .../java/org/apache/lucene/store/Directory.java |  4 +-
 .../org/apache/lucene/store/FSDirectory.java    |  4 +-
 .../org/apache/lucene/store/FSLockFactory.java  |  4 +-
 .../lucene/store/FileSwitchDirectory.java       |  4 +-
 .../apache/lucene/store/FilterDirectory.java    |  4 +-
 .../java/org/apache/lucene/store/FlushInfo.java |  4 +-
 .../java/org/apache/lucene/store/IOContext.java |  4 +-
 .../org/apache/lucene/store/IndexInput.java     |  4 +-
 .../org/apache/lucene/store/IndexOutput.java    |  4 +-
 .../lucene/store/InputStreamDataInput.java      |  4 +-
 .../src/java/org/apache/lucene/store/Lock.java  |  4 +-
 .../org/apache/lucene/store/LockFactory.java    |  4 +-
 .../lucene/store/LockObtainFailedException.java |  1 -
 .../store/LockReleaseFailedException.java       |  1 -
 .../org/apache/lucene/store/LockStressTest.java |  4 +-
 .../store/LockValidatingDirectoryWrapper.java   |  4 +-
 .../apache/lucene/store/LockVerifyServer.java   |  4 +-
 .../org/apache/lucene/store/MMapDirectory.java  |  4 +-
 .../java/org/apache/lucene/store/MergeInfo.java |  2 +-
 .../org/apache/lucene/store/NIOFSDirectory.java | 27 +++---
 .../lucene/store/NRTCachingDirectory.java       |  4 +-
 .../lucene/store/NativeFSLockFactory.java       |  4 +-
 .../org/apache/lucene/store/NoLockFactory.java  |  4 +-
 .../lucene/store/OutputStreamDataOutput.java    |  4 +-
 .../lucene/store/OutputStreamIndexOutput.java   |  4 +-
 .../org/apache/lucene/store/RAMDirectory.java   |  4 +-
 .../java/org/apache/lucene/store/RAMFile.java   |  4 +-
 .../org/apache/lucene/store/RAMInputStream.java |  4 +-
 .../apache/lucene/store/RAMOutputStream.java    |  4 +-
 .../apache/lucene/store/RandomAccessInput.java  |  4 +-
 .../lucene/store/RateLimitedIndexOutput.java    |  4 +-
 .../org/apache/lucene/store/RateLimiter.java    |  4 +-
 .../apache/lucene/store/SimpleFSDirectory.java  |  4 +-
 .../lucene/store/SimpleFSLockFactory.java       |  4 +-
 .../lucene/store/SingleInstanceLockFactory.java |  4 +-
 .../lucene/store/SleepingLockWrapper.java       |  4 +-
 .../lucene/store/TrackingDirectoryWrapper.java  |  4 +-
 .../lucene/store/VerifyingLockFactory.java      |  4 +-
 .../org/apache/lucene/store/package-info.java   |  1 -
 .../org/apache/lucene/util/Accountable.java     |  4 +-
 .../org/apache/lucene/util/Accountables.java    |  4 +-
 .../lucene/util/ArrayInPlaceMergeSorter.java    |  4 +-
 .../apache/lucene/util/ArrayIntroSorter.java    |  4 +-
 .../org/apache/lucene/util/ArrayTimSorter.java  |  4 +-
 .../java/org/apache/lucene/util/ArrayUtil.java  |  4 +-
 .../java/org/apache/lucene/util/Attribute.java  |  4 +-
 .../apache/lucene/util/AttributeFactory.java    |  4 +-
 .../org/apache/lucene/util/AttributeImpl.java   |  4 +-
 .../apache/lucene/util/AttributeReflector.java  |  4 +-
 .../org/apache/lucene/util/AttributeSource.java |  4 +-
 .../org/apache/lucene/util/BitDocIdSet.java     |  4 +-
 .../src/java/org/apache/lucene/util/BitSet.java |  4 +-
 .../org/apache/lucene/util/BitSetIterator.java  |  4 +-
 .../java/org/apache/lucene/util/BitUtil.java    |  1 -
 .../src/java/org/apache/lucene/util/Bits.java   |  4 +-
 .../org/apache/lucene/util/ByteBlockPool.java   |  4 +-
 .../java/org/apache/lucene/util/BytesRef.java   |  4 +-
 .../org/apache/lucene/util/BytesRefArray.java   | 27 +++---
 .../org/apache/lucene/util/BytesRefBuilder.java |  4 +-
 .../org/apache/lucene/util/BytesRefHash.java    |  4 +-
 .../apache/lucene/util/BytesRefIterator.java    |  4 +-
 .../java/org/apache/lucene/util/CharsRef.java   |  4 +-
 .../org/apache/lucene/util/CharsRefBuilder.java |  4 +-
 .../lucene/util/CloseableThreadLocal.java       |  4 +-
 .../org/apache/lucene/util/CollectionUtil.java  |  4 +-
 .../org/apache/lucene/util/CommandLineUtil.java |  4 +-
 .../java/org/apache/lucene/util/Constants.java  |  4 +-
 .../java/org/apache/lucene/util/Counter.java    |  8 +-
 .../org/apache/lucene/util/DocIdSetBuilder.java |  4 +-
 .../org/apache/lucene/util/FilterIterator.java  | 27 +++---
 .../org/apache/lucene/util/FixedBitSet.java     |  4 +-
 .../util/FrequencyTrackingRingBuffer.java       |  4 +-
 .../java/org/apache/lucene/util/IOUtils.java    |  4 +-
 .../apache/lucene/util/InPlaceMergeSorter.java  |  4 +-
 .../java/org/apache/lucene/util/InfoStream.java |  4 +-
 .../apache/lucene/util/IntArrayDocIdSet.java    |  4 +-
 .../org/apache/lucene/util/IntBlockPool.java    |  4 +-
 .../org/apache/lucene/util/IntroSorter.java     |  4 +-
 .../java/org/apache/lucene/util/IntsRef.java    |  8 +-
 .../org/apache/lucene/util/IntsRefBuilder.java  |  4 +-
 .../org/apache/lucene/util/LSBRadixSorter.java  |  4 +-
 .../apache/lucene/util/LegacyNumericUtils.java  |  4 +-
 .../java/org/apache/lucene/util/LongBitSet.java |  4 +-
 .../java/org/apache/lucene/util/LongValues.java |  4 +-
 .../java/org/apache/lucene/util/LongsRef.java   |  8 +-
 .../java/org/apache/lucene/util/MapOfSets.java  |  4 +-
 .../java/org/apache/lucene/util/MathUtil.java   |  4 +-
 .../org/apache/lucene/util/MergedIterator.java  |  4 +-
 .../org/apache/lucene/util/MutableBits.java     |  4 +-
 .../org/apache/lucene/util/NamedSPILoader.java  |  4 +-
 .../apache/lucene/util/NamedThreadFactory.java  |  4 +-
 .../org/apache/lucene/util/NotDocIdSet.java     |  4 +-
 .../org/apache/lucene/util/NumericUtils.java    |  4 +-
 .../org/apache/lucene/util/OfflineSorter.java   |  4 +-
 .../java/org/apache/lucene/util/PagedBytes.java |  4 +-
 .../lucene/util/PrintStreamInfoStream.java      |  4 +-
 .../org/apache/lucene/util/PriorityQueue.java   | 10 +--
 .../org/apache/lucene/util/QueryBuilder.java    |  4 +-
 .../apache/lucene/util/RamUsageEstimator.java   |  4 +-
 .../util/RecyclingByteBlockAllocator.java       |  8 +-
 .../lucene/util/RecyclingIntBlockAllocator.java |  8 +-
 .../java/org/apache/lucene/util/RefCount.java   | 10 +--
 .../org/apache/lucene/util/RoaringDocIdSet.java |  4 +-
 .../org/apache/lucene/util/RollingBuffer.java   |  4 +-
 .../apache/lucene/util/SPIClassIterator.java    |  4 +-
 .../org/apache/lucene/util/SentinelIntSet.java  |  4 +-
 .../java/org/apache/lucene/util/SetOnce.java    |  8 +-
 .../java/org/apache/lucene/util/SloppyMath.java |  4 +-
 .../java/org/apache/lucene/util/SmallFloat.java | 14 +--
 .../src/java/org/apache/lucene/util/Sorter.java |  4 +-
 .../apache/lucene/util/SparseFixedBitSet.java   |  4 +-
 .../lucene/util/StrictStringTokenizer.java      |  4 +-
 .../org/apache/lucene/util/StringHelper.java    |  4 +-
 .../apache/lucene/util/SuppressForbidden.java   |  4 +-
 .../lucene/util/ThreadInterruptedException.java |  9 +-
 .../java/org/apache/lucene/util/TimSorter.java  |  4 +-
 .../org/apache/lucene/util/ToStringUtils.java   |  4 +-
 .../org/apache/lucene/util/UnicodeUtil.java     |  6 +-
 .../java/org/apache/lucene/util/Version.java    |  4 +-
 .../org/apache/lucene/util/VirtualMethod.java   |  4 +-
 .../org/apache/lucene/util/WeakIdentityMap.java |  4 +-
 .../apache/lucene/util/automaton/Automaton.java |  4 +-
 .../lucene/util/automaton/ByteRunAutomaton.java |  4 +-
 .../util/automaton/CharacterRunAutomaton.java   |  4 +-
 .../util/automaton/CompiledAutomaton.java       |  4 +-
 .../automaton/DaciukMihovAutomatonBuilder.java  |  4 +-
 .../util/automaton/FiniteStringsIterator.java   |  4 +-
 .../automaton/Lev1ParametricDescription.java    |  3 +-
 .../automaton/Lev1TParametricDescription.java   |  3 +-
 .../automaton/Lev2ParametricDescription.java    |  3 +-
 .../automaton/Lev2TParametricDescription.java   |  3 +-
 .../util/automaton/LevenshteinAutomata.java     |  4 +-
 .../automaton/LimitedFiniteStringsIterator.java |  4 +-
 .../lucene/util/automaton/SortedIntSet.java     |  4 +-
 .../TooComplexToDeterminizeException.java       |  4 +-
 .../lucene/util/automaton/Transition.java       |  4 +-
 .../lucene/util/automaton/UTF32ToUTF8.java      |  4 +-
 .../lucene/util/automaton/createLevAutomata.py  | 89 ++++++++++----------
 .../org/apache/lucene/util/bkd/BKDReader.java   |  4 +-
 .../org/apache/lucene/util/bkd/BKDWriter.java   |  4 +-
 .../apache/lucene/util/bkd/HeapPointReader.java |  4 +-
 .../apache/lucene/util/bkd/HeapPointWriter.java |  4 +-
 .../lucene/util/bkd/OfflinePointReader.java     |  4 +-
 .../lucene/util/bkd/OfflinePointWriter.java     |  4 +-
 .../org/apache/lucene/util/bkd/PointReader.java |  4 +-
 .../org/apache/lucene/util/bkd/PointWriter.java |  4 +-
 .../apache/lucene/util/bkd/package-info.java    |  1 -
 .../org/apache/lucene/util/fst/Builder.java     |  4 +-
 .../lucene/util/fst/ByteSequenceOutputs.java    |  4 +-
 .../apache/lucene/util/fst/BytesRefFSTEnum.java |  4 +-
 .../org/apache/lucene/util/fst/BytesStore.java  |  4 +-
 .../lucene/util/fst/CharSequenceOutputs.java    |  4 +-
 .../java/org/apache/lucene/util/fst/FST.java    |  4 +-
 .../org/apache/lucene/util/fst/FSTEnum.java     |  4 +-
 .../lucene/util/fst/ForwardBytesReader.java     |  4 +-
 .../lucene/util/fst/IntSequenceOutputs.java     |  4 +-
 .../apache/lucene/util/fst/IntsRefFSTEnum.java  |  4 +-
 .../org/apache/lucene/util/fst/NoOutputs.java   |  4 +-
 .../org/apache/lucene/util/fst/NodeHash.java    |  4 +-
 .../org/apache/lucene/util/fst/Outputs.java     |  4 +-
 .../org/apache/lucene/util/fst/PairOutputs.java |  4 +-
 .../lucene/util/fst/PositiveIntOutputs.java     |  4 +-
 .../lucene/util/fst/ReverseBytesReader.java     |  4 +-
 .../java/org/apache/lucene/util/fst/Util.java   |  4 +-
 .../apache/lucene/util/fst/package-info.java    |  1 -
 .../lucene/util/mutable/package-info.java       |  1 -
 .../org/apache/lucene/util/package-info.java    |  1 -
 .../util/packed/AbstractBlockPackedWriter.java  |  4 +-
 .../util/packed/AbstractPagedMutable.java       |  4 +-
 .../lucene/util/packed/BlockPackedReader.java   |  4 +-
 .../util/packed/BlockPackedReaderIterator.java  |  4 +-
 .../lucene/util/packed/BlockPackedWriter.java   |  4 +-
 .../lucene/util/packed/BulkOperation.java       |  3 +-
 .../lucene/util/packed/BulkOperationPacked.java |  6 +-
 .../util/packed/BulkOperationPacked1.java       |  3 +-
 .../util/packed/BulkOperationPacked10.java      |  3 +-
 .../util/packed/BulkOperationPacked11.java      |  3 +-
 .../util/packed/BulkOperationPacked12.java      |  3 +-
 .../util/packed/BulkOperationPacked13.java      |  3 +-
 .../util/packed/BulkOperationPacked14.java      |  3 +-
 .../util/packed/BulkOperationPacked15.java      |  3 +-
 .../util/packed/BulkOperationPacked16.java      |  3 +-
 .../util/packed/BulkOperationPacked17.java      |  3 +-
 .../util/packed/BulkOperationPacked18.java      |  3 +-
 .../util/packed/BulkOperationPacked19.java      |  3 +-
 .../util/packed/BulkOperationPacked2.java       |  3 +-
 .../util/packed/BulkOperationPacked20.java      |  3 +-
 .../util/packed/BulkOperationPacked21.java      |  3 +-
 .../util/packed/BulkOperationPacked22.java      |  3 +-
 .../util/packed/BulkOperationPacked23.java      |  3 +-
 .../util/packed/BulkOperationPacked24.java      |  3 +-
 .../util/packed/BulkOperationPacked3.java       |  3 +-
 .../util/packed/BulkOperationPacked4.java       |  3 +-
 .../util/packed/BulkOperationPacked5.java       |  3 +-
 .../util/packed/BulkOperationPacked6.java       |  3 +-
 .../util/packed/BulkOperationPacked7.java       |  3 +-
 .../util/packed/BulkOperationPacked8.java       |  3 +-
 .../util/packed/BulkOperationPacked9.java       |  3 +-
 .../packed/BulkOperationPackedSingleBlock.java  |  4 +-
 .../util/packed/DeltaPackedLongValues.java      |  4 +-
 .../org/apache/lucene/util/packed/Direct16.java |  8 +-
 .../org/apache/lucene/util/packed/Direct32.java |  8 +-
 .../org/apache/lucene/util/packed/Direct64.java |  3 +-
 .../org/apache/lucene/util/packed/Direct8.java  |  8 +-
 .../util/packed/DirectMonotonicReader.java      |  4 +-
 .../util/packed/DirectMonotonicWriter.java      |  4 +-
 .../packed/DirectPacked64SingleBlockReader.java |  4 +-
 .../lucene/util/packed/DirectPackedReader.java  |  4 +-
 .../apache/lucene/util/packed/DirectReader.java |  4 +-
 .../apache/lucene/util/packed/DirectWriter.java |  4 +-
 .../lucene/util/packed/GrowableWriter.java      |  4 +-
 .../util/packed/MonotonicBlockPackedReader.java |  4 +-
 .../util/packed/MonotonicBlockPackedWriter.java |  4 +-
 .../lucene/util/packed/MonotonicLongValues.java |  4 +-
 .../lucene/util/packed/Packed16ThreeBlocks.java |  3 +-
 .../org/apache/lucene/util/packed/Packed64.java |  4 +-
 .../lucene/util/packed/Packed64SingleBlock.java |  3 +-
 .../lucene/util/packed/Packed8ThreeBlocks.java  |  3 +-
 .../lucene/util/packed/PackedDataInput.java     |  4 +-
 .../lucene/util/packed/PackedDataOutput.java    |  4 +-
 .../apache/lucene/util/packed/PackedInts.java   |  4 +-
 .../lucene/util/packed/PackedLongValues.java    |  4 +-
 .../util/packed/PackedReaderIterator.java       |  4 +-
 .../apache/lucene/util/packed/PackedWriter.java |  4 +-
 .../lucene/util/packed/PagedGrowableWriter.java |  4 +-
 .../apache/lucene/util/packed/PagedMutable.java |  4 +-
 .../lucene/util/packed/gen_BulkOperation.py     | 79 +++++++++--------
 .../org/apache/lucene/util/packed/gen_Direct.py | 29 +++----
 .../util/packed/gen_Packed64SingleBlock.py      | 45 +++++-----
 .../lucene/util/packed/gen_PackedThreeBlocks.py | 27 +++---
 .../apache/lucene/util/packed/package-info.java |  1 -
 .../test/org/apache/lucene/TestAssertions.java  |  4 +-
 .../src/test/org/apache/lucene/TestDemo.java    |  4 +-
 .../org/apache/lucene/TestExternalCodecs.java   |  4 +-
 .../lucene/TestMergeSchedulerExternal.java      |  4 +-
 .../src/test/org/apache/lucene/TestSearch.java  |  4 +-
 .../apache/lucene/TestSearchForDuplicates.java  |  4 +-
 .../lucene/analysis/TestCachingTokenFilter.java |  4 +-
 .../apache/lucene/analysis/TestCharFilter.java  |  4 +-
 .../lucene/analysis/TestNumericTokenStream.java |  4 +-
 .../analysis/TestReusableStringReader.java      | 12 +--
 .../org/apache/lucene/analysis/TestToken.java   |  4 +-
 .../tokenattributes/TestBytesRefAttImpl.java    |  4 +-
 .../TestCharTermAttributeImpl.java              |  4 +-
 .../TestPackedTokenAttributeImpl.java           |  4 +-
 .../TestSimpleAttributeImpl.java                |  4 +-
 .../lucene/codecs/TestCodecLoadingDeadlock.java |  4 +-
 .../AbstractTestCompressionMode.java            |  4 +-
 .../AbstractTestLZ4CompressionMode.java         |  4 +-
 .../compressing/TestFastCompressionMode.java    |  4 +-
 .../compressing/TestFastDecompressionMode.java  |  4 +-
 .../TestGrowableByteArrayDataOutput.java        |  4 +-
 .../compressing/TestHighCompressionMode.java    |  4 +-
 .../lucene50/TestBlockPostingsFormat.java       |  4 +-
 .../lucene50/TestBlockPostingsFormat2.java      |  4 +-
 .../lucene50/TestBlockPostingsFormat3.java      |  4 +-
 .../lucene/codecs/lucene50/TestForUtil.java     |  4 +-
 .../lucene50/TestLucene50CompoundFormat.java    |  4 +-
 .../lucene50/TestLucene50FieldInfoFormat.java   |  4 +-
 .../lucene50/TestLucene50SegmentInfoFormat.java |  4 +-
 .../TestLucene50StoredFieldsFormat.java         |  4 +-
 ...cene50StoredFieldsFormatHighCompression.java |  4 +-
 .../lucene50/TestLucene50TermVectorsFormat.java |  4 +-
 .../lucene53/TestLucene53NormsFormat.java       |  4 +-
 .../lucene54/TestLucene54DocValuesFormat.java   |  4 +-
 .../lucene60/TestLucene60PointFormat.java       |  4 +-
 .../perfield/TestPerFieldDocValuesFormat.java   |  4 +-
 .../perfield/TestPerFieldPostingsFormat.java    |  4 +-
 .../perfield/TestPerFieldPostingsFormat2.java   |  4 +-
 .../lucene/document/TestBinaryDocument.java     |  4 +-
 .../apache/lucene/document/TestDateTools.java   | 16 ++--
 .../apache/lucene/document/TestDocument.java    |  4 +-
 .../org/apache/lucene/document/TestField.java   |  4 +-
 .../apache/lucene/document/TestFieldType.java   |  4 +-
 .../lucene/index/Test2BBinaryDocValues.java     |  4 +-
 .../lucene/index/Test2BNumericDocValues.java    |  4 +-
 .../apache/lucene/index/Test2BPositions.java    |  4 +-
 .../org/apache/lucene/index/Test2BPostings.java |  4 +-
 .../lucene/index/Test2BPostingsBytes.java       |  4 +-
 .../index/Test2BSortedDocValuesFixedSorted.java |  4 +-
 .../lucene/index/Test2BSortedDocValuesOrds.java |  4 +-
 .../org/apache/lucene/index/Test2BTerms.java    |  4 +-
 .../lucene/index/Test4GBStoredFields.java       |  4 +-
 .../org/apache/lucene/index/TestAddIndexes.java |  4 +-
 .../index/TestAllFilesCheckIndexHeader.java     |  4 +-
 .../index/TestAllFilesDetectTruncation.java     |  4 +-
 .../index/TestAllFilesHaveChecksumFooter.java   |  4 +-
 .../index/TestAllFilesHaveCodecHeader.java      |  4 +-
 .../apache/lucene/index/TestAtomicUpdate.java   | 15 ++--
 .../apache/lucene/index/TestBagOfPositions.java |  4 +-
 .../apache/lucene/index/TestBagOfPostings.java  |  4 +-
 .../index/TestBinaryDocValuesUpdates.java       | 32 +++----
 .../apache/lucene/index/TestBinaryTerms.java    |  4 +-
 .../org/apache/lucene/index/TestByteSlices.java | 12 +--
 .../org/apache/lucene/index/TestCheckIndex.java |  4 +-
 .../lucene/index/TestCodecHoldsOpenFiles.java   |  4 +-
 .../org/apache/lucene/index/TestCodecUtil.java  |  4 +-
 .../org/apache/lucene/index/TestCodecs.java     |  4 +-
 .../index/TestConcurrentMergeScheduler.java     |  4 +-
 .../index/TestConsistentFieldNumbers.java       |  4 +-
 .../test/org/apache/lucene/index/TestCrash.java |  4 +-
 .../index/TestCrashCausesCorruptIndex.java      |  4 +-
 .../apache/lucene/index/TestCustomNorms.java    |  4 +-
 .../apache/lucene/index/TestDeletionPolicy.java |  4 +-
 .../index/TestDemoParallelLeafReader.java       |  4 +-
 .../lucene/index/TestDirectoryReader.java       |  4 +-
 .../lucene/index/TestDirectoryReaderReopen.java |  4 +-
 .../test/org/apache/lucene/index/TestDoc.java   |  4 +-
 .../org/apache/lucene/index/TestDocCount.java   |  4 +-
 .../index/TestDocInverterPerFieldErrorInfo.java |  4 +-
 .../org/apache/lucene/index/TestDocValues.java  |  4 +-
 .../lucene/index/TestDocValuesIndexing.java     |  4 +-
 .../lucene/index/TestDocsAndPositions.java      |  4 +-
 .../apache/lucene/index/TestDocumentWriter.java |  4 +-
 .../index/TestDocumentsWriterDeleteQueue.java   | 29 +++----
 .../index/TestDocumentsWriterStallControl.java  | 27 +++---
 .../apache/lucene/index/TestDuelingCodecs.java  |  4 +-
 .../lucene/index/TestDuelingCodecsAtNight.java  |  4 +-
 .../lucene/index/TestExceedMaxTermLength.java   |  4 +-
 .../index/TestExitableDirectoryReader.java      |  4 +-
 .../org/apache/lucene/index/TestFieldReuse.java |  4 +-
 .../apache/lucene/index/TestFieldsReader.java   |  4 +-
 .../lucene/index/TestFilterDirectoryReader.java |  4 +-
 .../lucene/index/TestFilterLeafReader.java      |  4 +-
 .../test/org/apache/lucene/index/TestFlex.java  |  4 +-
 .../index/TestFlushByRamOrCountsPolicy.java     |  4 +-
 .../lucene/index/TestForTooMuchCloning.java     |  4 +-
 .../lucene/index/TestForceMergeForever.java     |  4 +-
 .../apache/lucene/index/TestIndexCommit.java    |  4 +-
 .../lucene/index/TestIndexFileDeleter.java      |  4 +-
 .../org/apache/lucene/index/TestIndexInput.java |  4 +-
 .../lucene/index/TestIndexReaderClose.java      |  4 +-
 .../apache/lucene/index/TestIndexWriter.java    |  4 +-
 .../lucene/index/TestIndexWriterCommit.java     |  4 +-
 .../lucene/index/TestIndexWriterConfig.java     |  4 +-
 .../lucene/index/TestIndexWriterDelete.java     |  4 +-
 .../index/TestIndexWriterDeleteByQuery.java     |  4 +-
 .../lucene/index/TestIndexWriterExceptions.java |  4 +-
 .../index/TestIndexWriterExceptions2.java       |  4 +-
 .../lucene/index/TestIndexWriterForceMerge.java |  4 +-
 .../lucene/index/TestIndexWriterFromReader.java |  4 +-
 .../index/TestIndexWriterLockRelease.java       |  4 +-
 .../lucene/index/TestIndexWriterMaxDocs.java    |  4 +-
 .../index/TestIndexWriterMergePolicy.java       |  4 +-
 .../lucene/index/TestIndexWriterMerging.java    | 17 ++--
 .../index/TestIndexWriterNRTIsCurrent.java      | 28 +++---
 .../lucene/index/TestIndexWriterOnDiskFull.java |  4 +-
 .../lucene/index/TestIndexWriterOnJRECrash.java | 28 +++---
 .../lucene/index/TestIndexWriterOnVMError.java  |  4 +-
 .../TestIndexWriterOutOfFileDescriptors.java    |  4 +-
 .../lucene/index/TestIndexWriterReader.java     | 14 +--
 .../index/TestIndexWriterThreadsToSegments.java |  4 +-
 .../lucene/index/TestIndexWriterUnicode.java    |  4 +-
 .../index/TestIndexWriterWithThreads.java       |  4 +-
 .../apache/lucene/index/TestIndexableField.java |  4 +-
 .../org/apache/lucene/index/TestInfoStream.java |  4 +-
 .../apache/lucene/index/TestIntBlockPool.java   |  4 +-
 .../org/apache/lucene/index/TestIsCurrent.java  |  4 +-
 .../lucene/index/TestLazyProxSkipping.java      |  4 +-
 .../apache/lucene/index/TestLogMergePolicy.java |  4 +-
 .../apache/lucene/index/TestLongPostings.java   |  4 +-
 .../org/apache/lucene/index/TestManyFields.java |  4 +-
 .../apache/lucene/index/TestMaxPosition.java    |  4 +-
 .../lucene/index/TestMaxTermFrequency.java      |  4 +-
 .../lucene/index/TestMergeRateLimiter.java      |  4 +-
 .../apache/lucene/index/TestMixedCodecs.java    |  4 +-
 .../lucene/index/TestMixedDocValuesUpdates.java | 32 +++----
 .../apache/lucene/index/TestMultiDocValues.java |  4 +-
 .../apache/lucene/index/TestMultiFields.java    |  4 +-
 .../lucene/index/TestMultiLevelSkipList.java    |  4 +-
 .../apache/lucene/index/TestMultiTermsEnum.java |  4 +-
 .../lucene/index/TestNRTReaderCleanup.java      |  4 +-
 .../lucene/index/TestNRTReaderWithThreads.java  |  4 +-
 .../org/apache/lucene/index/TestNRTThreads.java |  4 +-
 .../apache/lucene/index/TestNeverDelete.java    |  4 +-
 .../apache/lucene/index/TestNewestSegment.java  |  4 +-
 .../lucene/index/TestNoDeletionPolicy.java      |  4 +-
 .../apache/lucene/index/TestNoMergePolicy.java  |  4 +-
 .../lucene/index/TestNoMergeScheduler.java      |  4 +-
 .../test/org/apache/lucene/index/TestNorms.java |  4 +-
 .../index/TestNumericDocValuesUpdates.java      | 32 +++----
 .../org/apache/lucene/index/TestOmitNorms.java  |  4 +-
 .../apache/lucene/index/TestOmitPositions.java  |  4 +-
 .../org/apache/lucene/index/TestOmitTf.java     |  4 +-
 .../org/apache/lucene/index/TestOrdinalMap.java |  4 +-
 .../index/TestParallelCompositeReader.java      |  4 +-
 .../lucene/index/TestParallelLeafReader.java    |  4 +-
 .../index/TestParallelReaderEmptyIndex.java     |  4 +-
 .../lucene/index/TestParallelTermEnum.java      |  4 +-
 .../org/apache/lucene/index/TestPayloads.java   |  4 +-
 .../lucene/index/TestPayloadsOnVectors.java     |  4 +-
 .../lucene/index/TestPerSegmentDeletes.java     |  4 +-
 .../TestPersistentSnapshotDeletionPolicy.java   | 27 +++---
 .../apache/lucene/index/TestPointValues.java    |  4 +-
 .../lucene/index/TestPostingsOffsets.java       |  4 +-
 .../lucene/index/TestPrefixCodedTerms.java      |  4 +-
 .../apache/lucene/index/TestReadOnlyIndex.java  |  4 +-
 .../apache/lucene/index/TestReaderClosed.java   |  4 +-
 .../index/TestReaderWrapperDVTypeCheck.java     |  1 -
 .../org/apache/lucene/index/TestRollback.java   |  4 +-
 .../apache/lucene/index/TestRollingUpdates.java |  4 +-
 .../lucene/index/TestSameTokenSamePosition.java |  4 +-
 .../apache/lucene/index/TestSegmentInfos.java   |  4 +-
 .../apache/lucene/index/TestSegmentMerger.java  |  4 +-
 .../apache/lucene/index/TestSegmentReader.java  |  4 +-
 .../lucene/index/TestSegmentTermDocs.java       |  4 +-
 .../lucene/index/TestSegmentTermEnum.java       |  4 +-
 .../lucene/index/TestSizeBoundedForceMerge.java |  4 +-
 .../index/TestSnapshotDeletionPolicy.java       |  4 +-
 .../apache/lucene/index/TestStressAdvance.java  |  4 +-
 .../apache/lucene/index/TestStressDeletes.java  | 14 +--
 .../apache/lucene/index/TestStressIndexing.java | 14 +--
 .../lucene/index/TestStressIndexing2.java       | 12 +--
 .../org/apache/lucene/index/TestStressNRT.java  |  4 +-
 .../org/apache/lucene/index/TestSumDocFreq.java |  4 +-
 .../lucene/index/TestSwappedIndexFiles.java     |  4 +-
 .../test/org/apache/lucene/index/TestTerm.java  |  4 +-
 .../apache/lucene/index/TestTermVectors.java    |  4 +-
 .../lucene/index/TestTermVectorsReader.java     |  4 +-
 .../lucene/index/TestTermVectorsWriter.java     |  4 +-
 .../apache/lucene/index/TestTermdocPerf.java    | 15 ++--
 .../test/org/apache/lucene/index/TestTerms.java |  4 +-
 .../org/apache/lucene/index/TestTermsEnum.java  |  4 +-
 .../org/apache/lucene/index/TestTermsEnum2.java |  4 +-
 .../lucene/index/TestThreadedForceMerge.java    |  4 +-
 .../lucene/index/TestTieredMergePolicy.java     |  4 +-
 .../index/TestTragicIndexWriterDeadlock.java    |  4 +-
 .../lucene/index/TestTransactionRollback.java   |  4 +-
 .../apache/lucene/index/TestTransactions.java   |  4 +-
 .../org/apache/lucene/index/TestTryDelete.java  |  4 +-
 .../lucene/index/TestTwoPhaseCommitTool.java    |  4 +-
 .../lucene/index/TestUniqueTermCount.java       |  4 +-
 .../index/TestUpgradeIndexMergePolicy.java      |  4 +-
 .../lucene/search/BaseTestRangeFilter.java      |  4 +-
 .../apache/lucene/search/JustCompileSearch.java |  4 +-
 .../lucene/search/MultiCollectorTest.java       |  4 +-
 .../TestApproximationSearchEquivalence.java     |  4 +-
 .../lucene/search/TestAutomatonQuery.java       |  4 +-
 .../search/TestAutomatonQueryUnicode.java       |  4 +-
 .../lucene/search/TestBlendedTermQuery.java     |  4 +-
 .../org/apache/lucene/search/TestBoolean2.java  |  4 +-
 .../apache/lucene/search/TestBooleanCoord.java  |  4 +-
 .../search/TestBooleanMinShouldMatch.java       |  4 +-
 .../org/apache/lucene/search/TestBooleanOr.java |  2 +-
 .../apache/lucene/search/TestBooleanQuery.java  |  4 +-
 .../search/TestBooleanQueryVisitSubscorers.java |  4 +-
 .../lucene/search/TestBooleanRewrites.java      |  4 +-
 .../apache/lucene/search/TestBooleanScorer.java |  4 +-
 .../apache/lucene/search/TestBoostQuery.java    |  4 +-
 .../lucene/search/TestCachingCollector.java     |  4 +-
 .../lucene/search/TestComplexExplanations.java  |  4 +-
 .../TestComplexExplanationsOfNonMatches.java    |  4 +-
 .../lucene/search/TestConjunctionDISI.java      |  4 +-
 .../apache/lucene/search/TestConjunctions.java  |  4 +-
 .../lucene/search/TestConstantScoreQuery.java   |  4 +-
 .../TestControlledRealTimeReopenThread.java     |  4 +-
 .../lucene/search/TestCustomSearcherSort.java   | 14 +--
 .../org/apache/lucene/search/TestDateSort.java  |  4 +-
 .../lucene/search/TestDisjunctionMaxQuery.java  |  4 +-
 .../org/apache/lucene/search/TestDocBoost.java  |  4 +-
 .../search/TestDocValuesRewriteMethod.java      |  4 +-
 .../lucene/search/TestDocValuesScoring.java     |  4 +-
 .../lucene/search/TestEarlyTermination.java     |  4 +-
 .../lucene/search/TestElevationComparator.java  |  4 +-
 .../search/TestFieldCacheRewriteMethod.java     |  4 +-
 .../lucene/search/TestFieldValueQuery.java      |  4 +-
 .../apache/lucene/search/TestFuzzyQuery.java    |  4 +-
 .../apache/lucene/search/TestIndexSearcher.java |  4 +-
 .../apache/lucene/search/TestLRUQueryCache.java |  4 +-
 .../lucene/search/TestLiveFieldValues.java      |  4 +-
 .../lucene/search/TestMinShouldMatch2.java      |  4 +-
 .../lucene/search/TestMultiCollector.java       |  4 +-
 .../lucene/search/TestMultiPhraseEnum.java      |  4 +-
 .../lucene/search/TestMultiPhraseQuery.java     |  4 +-
 .../search/TestMultiTermConstantScore.java      |  4 +-
 .../search/TestMultiTermQueryRewrites.java      |  4 +-
 .../search/TestMultiThreadTermVectors.java      |  4 +-
 .../TestMultiValuedNumericRangeQuery.java       |  4 +-
 .../org/apache/lucene/search/TestMultiset.java  |  4 +-
 .../lucene/search/TestNGramPhraseQuery.java     |  4 +-
 .../apache/lucene/search/TestNeedsScores.java   |  4 +-
 .../test/org/apache/lucene/search/TestNot.java  |  4 +-
 .../lucene/search/TestNumericRangeQuery32.java  |  4 +-
 .../lucene/search/TestNumericRangeQuery64.java  |  4 +-
 .../lucene/search/TestPhrasePrefixQuery.java    |  4 +-
 .../apache/lucene/search/TestPhraseQuery.java   |  4 +-
 .../apache/lucene/search/TestPointQueries.java  |  4 +-
 .../lucene/search/TestPositionIncrement.java    |  4 +-
 .../search/TestPositiveScoresOnlyCollector.java |  4 +-
 .../lucene/search/TestPrefixInBooleanQuery.java |  4 +-
 .../apache/lucene/search/TestPrefixQuery.java   |  4 +-
 .../apache/lucene/search/TestPrefixRandom.java  |  4 +-
 .../lucene/search/TestQueryCachingPolicy.java   |  4 +-
 .../apache/lucene/search/TestQueryRescorer.java |  4 +-
 .../apache/lucene/search/TestRegexpQuery.java   |  4 +-
 .../apache/lucene/search/TestRegexpRandom.java  |  4 +-
 .../apache/lucene/search/TestRegexpRandom2.java |  4 +-
 .../lucene/search/TestReqExclBulkScorer.java    |  4 +-
 .../search/TestSameScoresWithThreads.java       |  4 +-
 .../search/TestScoreCachingWrappingScorer.java  |  4 +-
 .../apache/lucene/search/TestScorerPerf.java    | 32 +++----
 .../apache/lucene/search/TestSearchAfter.java   |  4 +-
 .../lucene/search/TestSearchWithThreads.java    |  4 +-
 .../lucene/search/TestSearcherManager.java      |  4 +-
 .../lucene/search/TestShardSearching.java       |  4 +-
 .../apache/lucene/search/TestSimilarity.java    |  4 +-
 .../lucene/search/TestSimilarityProvider.java   |  4 +-
 .../lucene/search/TestSimpleExplanations.java   |  4 +-
 .../TestSimpleExplanationsOfNonMatches.java     |  4 +-
 .../search/TestSimpleSearchEquivalence.java     | 14 +--
 .../lucene/search/TestSloppyPhraseQuery.java    |  4 +-
 .../lucene/search/TestSloppyPhraseQuery2.java   |  4 +-
 .../test/org/apache/lucene/search/TestSort.java |  4 +-
 .../apache/lucene/search/TestSortRandom.java    |  4 +-
 .../apache/lucene/search/TestSortRescorer.java  |  4 +-
 .../search/TestSortedNumericSortField.java      |  4 +-
 .../lucene/search/TestSortedSetSelector.java    |  4 +-
 .../lucene/search/TestSortedSetSortField.java   |  4 +-
 .../lucene/search/TestSubScorerFreqs.java       |  4 +-
 .../apache/lucene/search/TestSynonymQuery.java  |  4 +-
 .../lucene/search/TestTermRangeQuery.java       |  4 +-
 .../apache/lucene/search/TestTermScorer.java    |  4 +-
 .../search/TestTimeLimitingCollector.java       |  4 +-
 .../lucene/search/TestTopDocsCollector.java     |  4 +-
 .../apache/lucene/search/TestTopDocsMerge.java  |  4 +-
 .../lucene/search/TestTopFieldCollector.java    |  4 +-
 .../search/TestTotalHitCountCollector.java      |  4 +-
 .../TestUsageTrackingFilterCachingPolicy.java   |  4 +-
 .../org/apache/lucene/search/TestWildcard.java  |  4 +-
 .../lucene/search/TestWildcardRandom.java       |  4 +-
 .../search/similarities/TestBM25Similarity.java |  4 +-
 .../similarities/TestClassicSimilarity.java     |  4 +-
 .../search/similarities/TestSimilarity2.java    |  4 +-
 .../search/similarities/TestSimilarityBase.java |  4 +-
 .../search/spans/JustCompileSearchSpans.java    |  4 +-
 .../apache/lucene/search/spans/TestBasics.java  |  4 +-
 .../search/spans/TestFieldMaskingSpanQuery.java |  4 +-
 .../lucene/search/spans/TestFilterSpans.java    | 27 +++---
 .../search/spans/TestNearSpansOrdered.java      |  4 +-
 .../lucene/search/spans/TestSpanBoostQuery.java | 10 +--
 .../lucene/search/spans/TestSpanCollection.java |  4 +-
 .../search/spans/TestSpanContainQuery.java      |  4 +-
 .../search/spans/TestSpanExplanations.java      |  4 +-
 .../spans/TestSpanExplanationsOfNonMatches.java |  4 +-
 .../lucene/search/spans/TestSpanFirstQuery.java |  4 +-
 .../spans/TestSpanMultiTermQueryWrapper.java    |  4 +-
 .../lucene/search/spans/TestSpanNearQuery.java  |  4 +-
 .../lucene/search/spans/TestSpanNotQuery.java   |  4 +-
 .../lucene/search/spans/TestSpanOrQuery.java    |  4 +-
 .../search/spans/TestSpanSearchEquivalence.java |  4 +-
 .../lucene/search/spans/TestSpanTermQuery.java  |  4 +-
 .../apache/lucene/search/spans/TestSpans.java   |  4 +-
 .../lucene/search/spans/TestSpansEnum.java      |  4 +-
 .../lucene/store/TestBufferedChecksum.java      |  4 +-
 .../lucene/store/TestBufferedIndexInput.java    |  4 +-
 .../lucene/store/TestByteArrayDataInput.java    |  4 +-
 .../org/apache/lucene/store/TestDirectory.java  |  4 +-
 .../lucene/store/TestFileSwitchDirectory.java   |  4 +-
 .../lucene/store/TestFilterDirectory.java       |  4 +-
 .../apache/lucene/store/TestHugeRamFile.java    |  4 +-
 .../apache/lucene/store/TestLockFactory.java    |  4 +-
 .../apache/lucene/store/TestMmapDirectory.java  |  4 +-
 .../org/apache/lucene/store/TestMultiMMap.java  |  4 +-
 .../apache/lucene/store/TestNIOFSDirectory.java |  4 +-
 .../lucene/store/TestNRTCachingDirectory.java   |  4 +-
 .../lucene/store/TestNativeFSLockFactory.java   |  4 +-
 .../apache/lucene/store/TestRAMDirectory.java   |  4 +-
 .../apache/lucene/store/TestRateLimiter.java    |  4 +-
 .../lucene/store/TestSimpleFSDirectory.java     |  4 +-
 .../lucene/store/TestSimpleFSLockFactory.java   |  4 +-
 .../store/TestSingleInstanceLockFactory.java    |  4 +-
 .../lucene/store/TestSleepingLockWrapper.java   |  4 +-
 .../store/TestTrackingDirectoryWrapper.java     |  4 +-
 .../apache/lucene/store/TestWindowsMMap.java    |  4 +-
 .../apache/lucene/util/BaseSortTestCase.java    |  4 +-
 .../lucene/util/StressRamUsageEstimator.java    |  4 +-
 .../apache/lucene/util/Test2BPagedBytes.java    |  4 +-
 .../org/apache/lucene/util/TestArrayUtil.java   |  4 +-
 .../apache/lucene/util/TestAttributeSource.java |  4 +-
 .../apache/lucene/util/TestByteBlockPool.java   | 32 +++----
 .../org/apache/lucene/util/TestBytesRef.java    |  4 +-
 .../apache/lucene/util/TestBytesRefArray.java   | 27 +++---
 .../apache/lucene/util/TestBytesRefHash.java    |  4 +-
 .../org/apache/lucene/util/TestCharsRef.java    |  8 +-
 .../apache/lucene/util/TestCharsRefBuilder.java |  4 +-
 .../lucene/util/TestCloseableThreadLocal.java   |  1 -
 .../apache/lucene/util/TestCollectionUtil.java  |  4 +-
 .../apache/lucene/util/TestDocIdSetBuilder.java |  4 +-
 .../apache/lucene/util/TestFilterIterator.java  |  1 -
 .../lucene/util/TestFixedBitDocIdSet.java       |  1 -
 .../org/apache/lucene/util/TestFixedBitSet.java |  4 +-
 .../util/TestFrequencyTrackingRingBuffer.java   |  4 +-
 .../org/apache/lucene/util/TestIOUtils.java     |  4 +-
 .../lucene/util/TestInPlaceMergeSorter.java     |  4 +-
 .../lucene/util/TestIntArrayDocIdSet.java       |  4 +-
 .../org/apache/lucene/util/TestIntroSorter.java |  4 +-
 .../org/apache/lucene/util/TestIntsRef.java     |  4 +-
 .../apache/lucene/util/TestLSBRadixSorter.java  |  4 +-
 .../lucene/util/TestLegacyNumericUtils.java     |  4 +-
 .../org/apache/lucene/util/TestLongBitSet.java  |  4 +-
 .../org/apache/lucene/util/TestMathUtil.java    |  4 +-
 .../apache/lucene/util/TestMergedIterator.java  |  4 +-
 .../apache/lucene/util/TestNamedSPILoader.java  | 12 +--
 .../org/apache/lucene/util/TestNotDocIdSet.java |  4 +-
 .../apache/lucene/util/TestOfflineSorter.java   |  4 +-
 .../org/apache/lucene/util/TestPagedBytes.java  |  1 -
 .../apache/lucene/util/TestPriorityQueue.java   |  4 +-
 .../apache/lucene/util/TestQueryBuilder.java    |  4 +-
 .../lucene/util/TestRamUsageEstimator.java      |  4 +-
 .../util/TestRecyclingByteBlockAllocator.java   | 18 ++--
 .../util/TestRecyclingIntBlockAllocator.java    | 18 ++--
 .../apache/lucene/util/TestRoaringDocIdSet.java |  4 +-
 .../apache/lucene/util/TestRollingBuffer.java   |  8 +-
 .../lucene/util/TestSPIClassIterator.java       |  4 +-
 .../apache/lucene/util/TestSentinelIntSet.java  |  6 +-
 .../org/apache/lucene/util/TestSetOnce.java     |  4 +-
 .../org/apache/lucene/util/TestSloppyMath.java  |  4 +-
 .../org/apache/lucene/util/TestSmallFloat.java  | 14 +--
 .../lucene/util/TestSparseFixedBitDocIdSet.java |  4 +-
 .../lucene/util/TestSparseFixedBitSet.java      |  4 +-
 .../apache/lucene/util/TestStringHelper.java    |  4 +-
 .../org/apache/lucene/util/TestTimSorter.java   |  4 +-
 .../lucene/util/TestTimSorterWorstCase.java     |  4 +-
 .../org/apache/lucene/util/TestUnicodeUtil.java |  4 +-
 .../org/apache/lucene/util/TestVersion.java     |  4 +-
 .../apache/lucene/util/TestVirtualMethod.java   |  4 +-
 .../apache/lucene/util/TestWeakIdentityMap.java |  1 -
 .../automaton/FiniteStringsIteratorTest.java    |  4 +-
 .../LimitedFiniteStringsIteratorTest.java       |  4 +-
 .../lucene/util/automaton/TestAutomaton.java    |  4 +-
 .../util/automaton/TestCompiledAutomaton.java   |  4 +-
 .../lucene/util/automaton/TestDeterminism.java  |  4 +-
 .../util/automaton/TestDeterminizeLexicon.java  |  4 +-
 .../util/automaton/TestLevenshteinAutomata.java |  4 +-
 .../lucene/util/automaton/TestMinimize.java     |  4 +-
 .../lucene/util/automaton/TestOperations.java   |  4 +-
 .../lucene/util/automaton/TestRegExp.java       |  4 +-
 .../lucene/util/automaton/TestUTF32ToUTF8.java  |  4 +-
 .../org/apache/lucene/util/bkd/TestBKD.java     |  4 +-
 .../org/apache/lucene/util/fst/Test2BFST.java   |  4 +-
 .../apache/lucene/util/fst/TestBytesStore.java  |  4 +-
 .../org/apache/lucene/util/fst/TestFSTs.java    |  4 +-
 .../lucene/util/packed/TestDirectMonotonic.java |  4 +-
 .../lucene/util/packed/TestDirectPacked.java    |  4 +-
 .../lucene/util/packed/TestPackedInts.java      |  4 +-
 .../java/org/apache/lucene/demo/IndexFiles.java |  4 +-
 .../org/apache/lucene/demo/SearchFiles.java     |  4 +-
 .../demo/facet/AssociationsFacetsExample.java   |  4 +-
 .../demo/facet/DistanceFacetsExample.java       |  4 +-
 .../ExpressionAggregationFacetsExample.java     | 32 +++----
 .../facet/MultiCategoryListsFacetsExample.java  |  4 +-
 .../lucene/demo/facet/RangeFacetsExample.java   |  4 +-
 .../lucene/demo/facet/SimpleFacetsExample.java  |  4 +-
 .../facet/SimpleSortedSetFacetsExample.java     |  4 +-
 .../apache/lucene/demo/facet/package-info.java  |  1 -
 .../org/apache/lucene/demo/package-info.java    |  1 -
 .../demo/xmlparser/FormBasedXmlQueryDemo.java   |  1 -
 .../lucene/demo/xmlparser/package-info.java     |  1 -
 .../test/org/apache/lucene/demo/TestDemo.java   |  4 +-
 .../facet/TestAssociationsFacetsExample.java    |  4 +-
 .../demo/facet/TestDistanceFacetsExample.java   |  4 +-
 .../TestExpressionAggregationFacetsExample.java |  4 +-
 .../TestMultiCategoryListsFacetsExample.java    |  4 +-
 .../demo/facet/TestRangeFacetsExample.java      |  4 +-
 .../demo/facet/TestSimpleFacetsExample.java     |  4 +-
 .../facet/TestSimpleSortedSetFacetsExample.java |  4 +-
 .../org/apache/lucene/expressions/Bindings.java |  2 +-
 .../apache/lucene/expressions/Expression.java   |  2 +-
 .../expressions/ExpressionComparator.java       |  2 +-
 .../expressions/ExpressionFunctionValues.java   |  2 +-
 .../lucene/expressions/ExpressionRescorer.java  |  4 +-
 .../lucene/expressions/ExpressionSortField.java |  2 +-
 .../expressions/ExpressionValueSource.java      |  2 +-
 .../apache/lucene/expressions/FakeScorer.java   |  4 +-
 .../lucene/expressions/ScoreFunctionValues.java |  2 +-
 .../lucene/expressions/ScoreValueSource.java    |  4 +-
 .../lucene/expressions/SimpleBindings.java      |  4 +-
 .../expressions/js/JavascriptCompiler.java      |  2 +-
 .../js/JavascriptErrorHandlingLexer.java        |  4 +-
 .../js/JavascriptParserErrorStrategy.java       |  4 +-
 .../lucene/expressions/js/VariableContext.java  |  4 +-
 .../lucene/expressions/js/package-info.java     |  1 -
 .../apache/lucene/expressions/package-info.java |  1 -
 .../lucene/expressions/TestDemoExpressions.java | 32 +++----
 .../expressions/TestExpressionRescorer.java     |  4 +-
 .../expressions/TestExpressionSortField.java    |  4 +-
 .../lucene/expressions/TestExpressionSorts.java |  4 +-
 .../expressions/TestExpressionValidation.java   |  4 +-
 .../expressions/TestExpressionValueSource.java  |  4 +-
 .../expressions/js/TestCustomFunctions.java     |  4 +-
 .../expressions/js/TestJavascriptCompiler.java  |  2 +-
 .../expressions/js/TestJavascriptFunction.java  |  2 +-
 .../js/TestJavascriptOperations.java            |  2 +-
 .../expressions/js/TestVariableContext.java     |  4 +-
 .../org/apache/lucene/facet/DrillDownQuery.java |  3 +-
 .../org/apache/lucene/facet/DrillSideways.java  |  3 +-
 .../apache/lucene/facet/DrillSidewaysQuery.java |  4 +-
 .../lucene/facet/DrillSidewaysScorer.java       |  3 +-
 .../org/apache/lucene/facet/FacetField.java     |  3 +-
 .../org/apache/lucene/facet/FacetResult.java    |  3 +-
 .../java/org/apache/lucene/facet/Facets.java    |  3 +-
 .../apache/lucene/facet/FacetsCollector.java    |  3 +-
 .../org/apache/lucene/facet/FacetsConfig.java   |  4 +-
 .../org/apache/lucene/facet/LabelAndValue.java  |  3 +-
 .../org/apache/lucene/facet/MultiFacets.java    |  3 +-
 .../facet/RandomSamplingFacetsCollector.java    |  3 +-
 .../lucene/facet/TopOrdAndFloatQueue.java       |  3 +-
 .../apache/lucene/facet/TopOrdAndIntQueue.java  |  3 +-
 .../apache/lucene/facet/range/DoubleRange.java  |  3 +-
 .../facet/range/DoubleRangeFacetCounts.java     |  3 +-
 .../apache/lucene/facet/range/LongRange.java    |  3 +-
 .../lucene/facet/range/LongRangeCounter.java    |  3 +-
 .../facet/range/LongRangeFacetCounts.java       |  3 +-
 .../org/apache/lucene/facet/range/Range.java    |  3 +-
 .../lucene/facet/range/RangeFacetCounts.java    |  3 +-
 .../apache/lucene/facet/range/package-info.java |  4 -
 .../DefaultSortedSetDocValuesReaderState.java   |  3 +-
 .../SortedSetDocValuesFacetCounts.java          |  3 +-
 .../sortedset/SortedSetDocValuesFacetField.java |  3 +-
 .../SortedSetDocValuesReaderState.java          |  3 +-
 .../facet/taxonomy/AssociationFacetField.java   |  3 +-
 .../facet/taxonomy/CachedOrdinalsReader.java    |  3 +-
 .../facet/taxonomy/DocValuesOrdinalsReader.java |  4 +-
 .../lucene/facet/taxonomy/FacetLabel.java       |  3 +-
 .../lucene/facet/taxonomy/FakeScorer.java       |  3 +-
 .../facet/taxonomy/FastTaxonomyFacetCounts.java |  3 +-
 .../taxonomy/FloatAssociationFacetField.java    |  3 +-
 .../facet/taxonomy/FloatTaxonomyFacets.java     |  3 +-
 .../taxonomy/IntAssociationFacetField.java      |  3 +-
 .../facet/taxonomy/IntTaxonomyFacets.java       |  3 +-
 .../lucene/facet/taxonomy/LRUHashMap.java       |  3 +-
 .../taxonomy/OrdinalMappingLeafReader.java      |  3 +-
 .../lucene/facet/taxonomy/OrdinalsReader.java   |  3 +-
 .../facet/taxonomy/ParallelTaxonomyArrays.java  |  4 +-
 .../facet/taxonomy/PrintTaxonomyStats.java      |  3 +-
 .../facet/taxonomy/SearcherTaxonomyManager.java |  3 +-
 .../facet/taxonomy/TaxonomyFacetCounts.java     |  3 +-
 .../TaxonomyFacetSumFloatAssociations.java      |  3 +-
 .../TaxonomyFacetSumIntAssociations.java        |  3 +-
 .../taxonomy/TaxonomyFacetSumValueSource.java   |  3 +-
 .../lucene/facet/taxonomy/TaxonomyFacets.java   |  3 +-
 .../facet/taxonomy/TaxonomyMergeUtils.java      | 31 +++----
 .../lucene/facet/taxonomy/TaxonomyReader.java   | 17 ++--
 .../lucene/facet/taxonomy/TaxonomyWriter.java   | 15 ++--
 .../lucene/facet/taxonomy/directory/Consts.java |  7 +-
 .../directory/DirectoryTaxonomyReader.java      | 33 ++++----
 .../directory/DirectoryTaxonomyWriter.java      | 33 ++++----
 .../taxonomy/directory/TaxonomyIndexArrays.java | 25 +++---
 .../taxonomy/writercache/CategoryPathUtils.java |  7 +-
 .../taxonomy/writercache/CharBlockArray.java    | 21 +++--
 .../writercache/Cl2oTaxonomyWriterCache.java    | 15 ++--
 .../taxonomy/writercache/CollisionMap.java      | 13 ++-
 .../writercache/CompactLabelToOrdinal.java      |  3 +-
 .../taxonomy/writercache/LabelToOrdinal.java    |  7 +-
 .../writercache/LruTaxonomyWriterCache.java     |  9 +-
 .../writercache/NameHashIntCacheLRU.java        |  7 +-
 .../taxonomy/writercache/NameIntCacheLRU.java   | 13 ++-
 .../writercache/TaxonomyWriterCache.java        |  9 +-
 .../facet/AssertingSubDocsAtOnceCollector.java  |  3 +-
 .../org/apache/lucene/facet/FacetTestCase.java  |  3 +-
 .../apache/lucene/facet/SlowRAMDirectory.java   |  3 +-
 .../apache/lucene/facet/TestDrillDownQuery.java |  3 +-
 .../apache/lucene/facet/TestDrillSideways.java  |  3 +-
 .../apache/lucene/facet/TestFacetsConfig.java   |  3 +-
 .../lucene/facet/TestMultipleIndexFields.java   |  3 +-
 .../TestRandomSamplingFacetsCollector.java      | 33 ++++----
 .../facet/range/TestRangeFacetCounts.java       |  3 +-
 .../sortedset/TestSortedSetDocValuesFacets.java |  3 +-
 .../taxonomy/TestCachedOrdinalsReader.java      |  3 +-
 .../lucene/facet/taxonomy/TestFacetLabel.java   | 21 +++--
 .../lucene/facet/taxonomy/TestLRUHashMap.java   |  3 +-
 .../taxonomy/TestOrdinalMappingLeafReader.java  | 33 ++++----
 .../taxonomy/TestSearcherTaxonomyManager.java   |  3 +-
 .../facet/taxonomy/TestTaxonomyCombined.java    | 33 ++++----
 .../taxonomy/TestTaxonomyFacetAssociations.java |  4 +-
 .../facet/taxonomy/TestTaxonomyFacetCounts.java |  3 +-
 .../taxonomy/TestTaxonomyFacetCounts2.java      |  3 +-
 .../TestTaxonomyFacetSumValueSource.java        |  3 +-
 .../taxonomy/directory/TestAddTaxonomy.java     | 31 ++++---
 .../TestConcurrentFacetedIndexing.java          | 33 ++++----
 .../directory/TestDirectoryTaxonomyReader.java  | 33 ++++----
 .../directory/TestDirectoryTaxonomyWriter.java  | 32 +++----
 .../writercache/TestCharBlockArray.java         | 30 +++----
 .../writercache/TestCompactLabelToOrdinal.java  | 33 ++++----
 .../AbstractAllGroupHeadsCollector.java         |  3 +-
 .../grouping/AbstractAllGroupsCollector.java    |  3 +-
 .../AbstractDistinctValuesCollector.java        |  3 +-
 .../AbstractFirstPassGroupingCollector.java     |  3 +-
 .../grouping/AbstractGroupFacetCollector.java   |  3 +-
 .../AbstractSecondPassGroupingCollector.java    |  3 +-
 .../search/grouping/BlockGroupingCollector.java |  3 +-
 .../search/grouping/CollectedSearchGroup.java   |  1 -
 .../lucene/search/grouping/FakeScorer.java      |  3 +-
 .../lucene/search/grouping/GroupDocs.java       |  3 +-
 .../lucene/search/grouping/GroupingSearch.java  |  3 +-
 .../lucene/search/grouping/SearchGroup.java     |  3 +-
 .../lucene/search/grouping/TopGroups.java       |  3 +-
 .../FunctionAllGroupHeadsCollector.java         |  3 +-
 .../function/FunctionAllGroupsCollector.java    |  3 +-
 .../FunctionDistinctValuesCollector.java        |  3 +-
 .../FunctionFirstPassGroupingCollector.java     |  3 +-
 .../FunctionSecondPassGroupingCollector.java    |  3 +-
 .../search/grouping/function/package-info.java  |  1 -
 .../lucene/search/grouping/package-info.java    |  1 -
 .../term/TermAllGroupHeadsCollector.java        |  3 +-
 .../grouping/term/TermAllGroupsCollector.java   |  3 +-
 .../term/TermDistinctValuesCollector.java       |  3 +-
 .../term/TermFirstPassGroupingCollector.java    |  3 +-
 .../grouping/term/TermGroupFacetCollector.java  |  3 +-
 .../term/TermSecondPassGroupingCollector.java   |  3 +-
 .../search/grouping/term/package-info.java      |  1 -
 .../grouping/AbstractGroupingTestCase.java      |  3 +-
 .../grouping/AllGroupHeadsCollectorTest.java    |  3 +-
 .../search/grouping/AllGroupsCollectorTest.java |  5 +-
 .../grouping/DistinctValuesCollectorTest.java   |  3 +-
 .../grouping/GroupFacetCollectorTest.java       |  3 +-
 .../search/grouping/GroupingSearchTest.java     |  3 +-
 .../lucene/search/grouping/TestGrouping.java    |  1 -
 .../lucene/search/highlight/DefaultEncoder.java | 22 +++--
 .../apache/lucene/search/highlight/Encoder.java | 17 ++--
 .../lucene/search/highlight/Formatter.java      |  4 +-
 .../lucene/search/highlight/Fragmenter.java     |  3 +-
 .../search/highlight/GradientFormatter.java     |  3 +-
 .../lucene/search/highlight/Highlighter.java    |  3 +-
 .../highlight/InvalidTokenOffsetsException.java |  3 +-
 .../lucene/search/highlight/NullFragmenter.java |  3 +-
 .../highlight/OffsetLimitTokenFilter.java       |  3 +-
 .../lucene/search/highlight/PositionSpan.java   |  3 +-
 .../lucene/search/highlight/QueryScorer.java    |  3 +-
 .../search/highlight/QueryTermExtractor.java    |  3 +-
 .../search/highlight/QueryTermScorer.java       |  3 +-
 .../apache/lucene/search/highlight/Scorer.java  |  3 +-
 .../search/highlight/SimpleFragmenter.java      |  3 +-
 .../search/highlight/SimpleHTMLEncoder.java     | 19 ++---
 .../search/highlight/SimpleHTMLFormatter.java   |  3 +-
 .../search/highlight/SimpleSpanFragmenter.java  |  6 +-
 .../search/highlight/SpanGradientFormatter.java |  3 +-
 .../search/highlight/TermVectorLeafReader.java  |  3 +-
 .../lucene/search/highlight/TextFragment.java   |  4 +-
 .../lucene/search/highlight/TokenGroup.java     |  3 +-
 .../lucene/search/highlight/TokenSources.java   |  3 +-
 .../highlight/TokenStreamFromTermVector.java    |  3 +-
 .../search/highlight/WeightedSpanTerm.java      |  6 +-
 .../highlight/WeightedSpanTermExtractor.java    |  3 +-
 .../lucene/search/highlight/WeightedTerm.java   |  3 +-
 .../lucene/search/highlight/package-info.java   |  1 -
 .../CustomSeparatorBreakIterator.java           |  9 +-
 .../DefaultPassageFormatter.java                |  3 +-
 .../MultiTermHighlighting.java                  |  3 +-
 .../search/postingshighlight/Passage.java       |  3 +-
 .../postingshighlight/PassageFormatter.java     |  3 +-
 .../search/postingshighlight/PassageScorer.java |  3 +-
 .../postingshighlight/PostingsHighlighter.java  |  3 +-
 .../postingshighlight/WholeBreakIterator.java   |  3 +-
 .../search/postingshighlight/package-info.java  |  1 -
 .../vectorhighlight/BaseFragListBuilder.java    |  3 +-
 .../vectorhighlight/BaseFragmentsBuilder.java   |  3 +-
 .../search/vectorhighlight/BoundaryScanner.java |  3 +-
 .../BreakIteratorBoundaryScanner.java           |  3 +-
 .../vectorhighlight/FastVectorHighlighter.java  |  3 +-
 .../search/vectorhighlight/FieldFragList.java   |  3 +-
 .../search/vectorhighlight/FieldPhraseList.java |  3 +-
 .../search/vectorhighlight/FieldQuery.java      |  3 +-
 .../search/vectorhighlight/FieldTermStack.java  |  3 +-
 .../search/vectorhighlight/FragListBuilder.java |  3 +-
 .../vectorhighlight/FragmentsBuilder.java       |  3 +-
 .../ScoreOrderFragmentsBuilder.java             |  3 +-
 .../vectorhighlight/SimpleBoundaryScanner.java  |  3 +-
 .../vectorhighlight/SimpleFieldFragList.java    |  3 +-
 .../vectorhighlight/SimpleFragListBuilder.java  |  4 +-
 .../vectorhighlight/SimpleFragmentsBuilder.java |  3 +-
 .../vectorhighlight/SingleFragListBuilder.java  |  3 +-
 .../vectorhighlight/WeightedFieldFragList.java  |  3 +-
 .../WeightedFragListBuilder.java                |  3 +-
 .../search/vectorhighlight/package-info.java    |  1 -
 .../search/highlight/HighlighterPhraseTest.java |  3 +-
 .../search/highlight/HighlighterTest.java       |  3 +-
 .../lucene/search/highlight/MissesTest.java     |  3 +-
 .../highlight/OffsetLimitTokenFilterTest.java   |  3 +-
 .../search/highlight/TokenSourcesTest.java      |  3 +-
 .../custom/HighlightCustomQueryTest.java        |  4 +-
 .../TestCustomSeparatorBreakIterator.java       |  3 +-
 .../TestMultiTermHighlighting.java              |  3 +-
 .../TestPostingsHighlighter.java                |  3 +-
 .../TestPostingsHighlighterRanking.java         |  3 +-
 .../TestWholeBreakIterator.java                 |  3 +-
 .../vectorhighlight/AbstractTestCase.java       |  3 +-
 .../BreakIteratorBoundaryScannerTest.java       |  3 +-
 .../FastVectorHighlighterTest.java              |  2 +-
 .../vectorhighlight/FieldPhraseListTest.java    |  3 +-
 .../search/vectorhighlight/FieldQueryTest.java  |  3 +-
 .../vectorhighlight/FieldTermStackTest.java     |  3 +-
 .../vectorhighlight/IndexTimeSynonymTest.java   |  3 +-
 .../ScoreOrderFragmentsBuilderTest.java         |  3 +-
 .../SimpleBoundaryScannerTest.java              |  3 +-
 .../SimpleFragListBuilderTest.java              |  3 +-
 .../SimpleFragmentsBuilderTest.java             |  3 +-
 .../SingleFragListBuilderTest.java              | 11 ++-
 .../WeightedFragListBuilderTest.java            |  3 +-
 .../search/join/BaseGlobalOrdinalScorer.java    |  3 +-
 .../lucene/search/join/BitSetProducer.java      |  3 +-
 .../lucene/search/join/BlockJoinSelector.java   |  3 +-
 .../lucene/search/join/CheckJoinIndex.java      |  3 +-
 .../search/join/DocValuesTermsCollector.java    | 33 ++++----
 .../apache/lucene/search/join/FakeScorer.java   |  3 +-
 .../search/join/GenericTermsCollector.java      | 31 ++++---
 .../search/join/GlobalOrdinalsCollector.java    |  3 +-
 .../lucene/search/join/GlobalOrdinalsQuery.java |  3 +-
 .../join/GlobalOrdinalsWithScoreCollector.java  |  3 +-
 .../join/GlobalOrdinalsWithScoreQuery.java      |  3 +-
 .../org/apache/lucene/search/join/JoinUtil.java | 17 ++--
 .../lucene/search/join/QueryBitSetProducer.java |  3 +-
 .../apache/lucene/search/join/ScoreMode.java    |  3 +-
 .../lucene/search/join/TermsCollector.java      |  3 +-
 .../search/join/TermsIncludingScoreQuery.java   |  3 +-
 .../apache/lucene/search/join/TermsQuery.java   |  3 +-
 .../search/join/TermsWithScoreCollector.java    |  9 +-
 .../search/join/ToChildBlockJoinQuery.java      |  3 +-
 .../search/join/ToParentBlockJoinCollector.java |  3 +-
 .../join/ToParentBlockJoinIndexSearcher.java    |  3 +-
 .../search/join/ToParentBlockJoinQuery.java     |  3 +-
 .../search/join/ToParentBlockJoinSortField.java |  3 +-
 .../apache/lucene/search/join/package-info.java |  1 -
 .../lucene/search/join/TestBlockJoin.java       |  3 +-
 .../search/join/TestBlockJoinSelector.java      |  4 +-
 .../search/join/TestBlockJoinSorting.java       |  3 +-
 .../search/join/TestBlockJoinValidation.java    |  3 +-
 .../lucene/search/join/TestCheckJoinIndex.java  |  3 +-
 .../apache/lucene/search/join/TestJoinUtil.java | 33 ++++----
 .../apache/lucene/index/memory/MemoryIndex.java |  3 +-
 .../lucene/index/memory/package-info.java       |  1 -
 .../lucene/index/memory/TestMemoryIndex.java    |  3 +-
 .../memory/TestMemoryIndexAgainstRAMDir.java    |  3 +-
 .../apache/lucene/document/LazyDocument.java    | 15 ++--
 .../apache/lucene/index/MergeReaderWrapper.java |  3 +-
 .../lucene/index/MultiPassIndexSplitter.java    |  3 +-
 .../apache/lucene/index/PKIndexSplitter.java    |  3 +-
 .../java/org/apache/lucene/index/Sorter.java    |  3 +-
 .../apache/lucene/index/SortingLeafReader.java  |  3 +-
 .../apache/lucene/index/SortingMergePolicy.java |  3 +-
 .../org/apache/lucene/misc/GetTermInfo.java     |  3 +-
 .../org/apache/lucene/misc/HighFreqTerms.java   |  3 +-
 .../org/apache/lucene/misc/IndexMergeTool.java  | 14 +--
 .../apache/lucene/misc/SweetSpotSimilarity.java |  1 -
 .../java/org/apache/lucene/misc/TermStats.java  |  3 +-
 .../org/apache/lucene/misc/package-info.java    |  1 -
 .../search/BlockJoinComparatorSource.java       |  3 +-
 .../search/DiversifiedTopDocsCollector.java     |  4 +-
 .../EarlyTerminatingSortingCollector.java       |  3 +-
 .../apache/lucene/store/NativePosixUtil.java    |  3 +-
 .../lucene/store/NativeUnixDirectory.java       | 27 +++---
 .../org/apache/lucene/store/RAFDirectory.java   |  3 +-
 .../apache/lucene/store/WindowsDirectory.java   | 27 +++---
 .../apache/lucene/uninverting/DocTermOrds.java  |  1 -
 .../apache/lucene/uninverting/FieldCache.java   |  3 +-
 .../lucene/uninverting/FieldCacheImpl.java      |  3 +-
 .../uninverting/FieldCacheSanityChecker.java    | 13 +--
 .../lucene/uninverting/UninvertingReader.java   |  3 +-
 .../apache/lucene/uninverting/package-info.java |  1 -
 .../apache/lucene/util/fst/ListOfOutputs.java   |  3 +-
 .../util/fst/UpToTwoPositiveIntOutputs.java     |  3 +-
 .../apache/lucene/index/IndexSortingTest.java   |  3 +-
 .../org/apache/lucene/index/SorterTestBase.java |  3 +-
 .../lucene/index/SortingLeafReaderTest.java     |  3 +-
 .../lucene/index/TestBlockJoinSorter.java       |  3 +-
 .../index/TestMultiPassIndexSplitter.java       |  3 +-
 .../lucene/index/TestPKIndexSplitter.java       | 27 +++---
 .../lucene/index/TestSortingMergePolicy.java    |  3 +-
 .../lucene/misc/SweetSpotSimilarityTest.java    |  3 -
 .../apache/lucene/misc/TestHighFreqTerms.java   |  3 +-
 .../search/TestDiversifiedTopDocsCollector.java |  3 +-
 .../TestEarlyTerminatingSortingCollector.java   |  3 +-
 .../apache/lucene/store/TestRAFDirectory.java   |  3 +-
 .../lucene/uninverting/TestDocTermOrds.java     |  3 +-
 .../lucene/uninverting/TestFieldCache.java      | 14 +--
 .../uninverting/TestFieldCacheReopen.java       |  3 +-
 .../TestFieldCacheSanityChecker.java            | 14 +--
 .../lucene/uninverting/TestFieldCacheSort.java  |  3 +-
 .../uninverting/TestFieldCacheSortRandom.java   |  3 +-
 .../uninverting/TestFieldCacheVsDocValues.java  |  3 +-
 .../uninverting/TestFieldCacheWithThreads.java  |  3 +-
 .../lucene/uninverting/TestNumericTerms32.java  |  3 +-
 .../lucene/uninverting/TestNumericTerms64.java  |  3 +-
 .../uninverting/TestUninvertingReader.java      |  3 +-
 .../apache/lucene/util/fst/TestFSTsMisc.java    |  3 +-
 .../apache/lucene/queries/BoostingQuery.java    |  3 +-
 .../apache/lucene/queries/CommonTermsQuery.java |  4 +-
 .../lucene/queries/CustomScoreProvider.java     |  3 +-
 .../apache/lucene/queries/CustomScoreQuery.java |  3 +-
 .../org/apache/lucene/queries/TermsQuery.java   |  3 +-
 .../lucene/queries/function/BoostedQuery.java   |  3 +-
 .../lucene/queries/function/FunctionQuery.java  |  3 +-
 .../queries/function/FunctionRangeQuery.java    |  3 +-
 .../lucene/queries/function/FunctionValues.java |  3 +-
 .../lucene/queries/function/ValueSource.java    |  3 +-
 .../queries/function/ValueSourceScorer.java     |  3 +-
 .../function/docvalues/BoolDocValues.java       |  3 +-
 .../docvalues/DocTermsIndexDocValues.java       |  1 -
 .../function/docvalues/DoubleDocValues.java     |  3 +-
 .../function/docvalues/FloatDocValues.java      |  3 +-
 .../function/docvalues/IntDocValues.java        |  3 +-
 .../function/docvalues/LongDocValues.java       |  3 +-
 .../function/docvalues/StrDocValues.java        |  3 +-
 .../function/docvalues/package-info.java        |  1 -
 .../lucene/queries/function/package-info.java   |  1 -
 .../function/valuesource/BoolFunction.java      |  1 -
 .../valuesource/BytesRefFieldSource.java        |  3 +-
 .../function/valuesource/ConstNumberSource.java |  1 -
 .../function/valuesource/ConstValueSource.java  |  1 -
 .../function/valuesource/DefFunction.java       |  3 +-
 .../function/valuesource/DivFloatFunction.java  |  1 -
 .../valuesource/DocFreqValueSource.java         |  1 -
 .../valuesource/DoubleConstValueSource.java     |  1 -
 .../function/valuesource/DoubleFieldSource.java |  1 -
 .../function/valuesource/DualFloatFunction.java |  1 -
 .../function/valuesource/EnumFieldSource.java   |  3 +-
 .../function/valuesource/FieldCacheSource.java  |  1 -
 .../function/valuesource/FloatFieldSource.java  |  1 -
 .../function/valuesource/IDFValueSource.java    |  1 -
 .../function/valuesource/IfFunction.java        |  1 -
 .../function/valuesource/IntFieldSource.java    |  1 -
 .../valuesource/JoinDocFreqValueSource.java     |  1 -
 .../valuesource/LinearFloatFunction.java        |  1 -
 .../valuesource/LiteralValueSource.java         |  3 +-
 .../function/valuesource/LongFieldSource.java   |  1 -
 .../function/valuesource/MaxFloatFunction.java  |  1 -
 .../function/valuesource/MinFloatFunction.java  |  1 -
 .../function/valuesource/MultiBoolFunction.java |  1 -
 .../valuesource/MultiFloatFunction.java         |  3 +-
 .../function/valuesource/MultiFunction.java     |  3 +-
 .../function/valuesource/MultiValueSource.java  |  3 +-
 .../function/valuesource/NormValueSource.java   |  1 -
 .../function/valuesource/PowFloatFunction.java  |  1 -
 .../valuesource/ProductFloatFunction.java       |  1 -
 .../function/valuesource/QueryValueSource.java  |  1 -
 .../valuesource/RangeMapFloatFunction.java      |  1 -
 .../valuesource/ReciprocalFloatFunction.java    |  1 -
 .../valuesource/ScaleFloatFunction.java         |  1 -
 .../valuesource/SimpleBoolFunction.java         |  1 -
 .../valuesource/SimpleFloatFunction.java        |  1 -
 .../function/valuesource/SingleFunction.java    |  1 -
 .../valuesource/SortedSetFieldSource.java       |  3 +-
 .../function/valuesource/SumFloatFunction.java  |  1 -
 .../SumTotalTermFreqValueSource.java            |  1 -
 .../function/valuesource/TFValueSource.java     |  3 +-
 .../valuesource/TermFreqValueSource.java        |  1 -
 .../valuesource/TotalTermFreqValueSource.java   |  1 -
 .../function/valuesource/VectorValueSource.java |  3 +-
 .../function/valuesource/package-info.java      |  1 -
 .../apache/lucene/queries/mlt/MoreLikeThis.java | 14 +--
 .../lucene/queries/mlt/MoreLikeThisQuery.java   |  6 +-
 .../apache/lucene/queries/mlt/package-info.java |  1 -
 .../org/apache/lucene/queries/package-info.java |  1 -
 .../payloads/AveragePayloadFunction.java        |  4 +-
 .../queries/payloads/MaxPayloadFunction.java    |  4 +-
 .../queries/payloads/MinPayloadFunction.java    |  3 +-
 .../queries/payloads/PayloadFunction.java       |  3 +-
 .../queries/payloads/PayloadScoreQuery.java     |  3 +-
 .../queries/payloads/SpanPayloadCheckQuery.java |  3 +-
 .../lucene/queries/payloads/package-info.java   |  1 -
 .../lucene/queries/BoostingQueryTest.java       |  3 +-
 .../lucene/queries/CommonTermsQueryTest.java    |  3 +-
 .../apache/lucene/queries/TermsQueryTest.java   |  3 +-
 .../queries/TestCustomScoreExplanations.java    |  3 +-
 .../lucene/queries/TestCustomScoreQuery.java    |  3 +-
 .../queries/function/FunctionTestSetup.java     | 32 +++----
 .../queries/function/TestBoostedQuery.java      | 33 ++++----
 .../function/TestDocValuesFieldSources.java     |  3 +-
 .../queries/function/TestFieldScoreQuery.java   |  3 +-
 .../function/TestFunctionQueryExplanations.java |  3 +-
 .../queries/function/TestFunctionQuerySort.java |  3 +-
 .../function/TestFunctionRangeQuery.java        |  3 +-
 .../function/TestLongNormValueSource.java       |  3 +-
 .../function/TestSortedSetFieldSource.java      |  3 +-
 .../queries/function/TestValueSources.java      |  3 +-
 .../lucene/queries/mlt/TestMoreLikeThis.java    |  3 +-
 .../lucene/queries/payloads/PayloadHelper.java  |  3 +-
 .../queries/payloads/TestPayloadCheckQuery.java |  3 +-
 .../payloads/TestPayloadExplanations.java       |  3 +-
 .../queries/payloads/TestPayloadScoreQuery.java |  3 +-
 .../queries/payloads/TestPayloadSpans.java      | 14 +--
 .../queries/payloads/TestPayloadTermQuery.java  |  3 +-
 .../analyzing/AnalyzingQueryParser.java         |  3 +-
 .../queryparser/analyzing/package-info.java     |  1 -
 .../queryparser/classic/FastCharStream.java     |  5 +-
 .../classic/MultiFieldQueryParser.java          |  3 +-
 .../queryparser/classic/QueryParserBase.java    |  1 -
 .../queryparser/classic/package-info.java       |  2 -
 .../complexPhrase/ComplexPhraseQueryParser.java |  3 +-
 .../queryparser/complexPhrase/package-info.java |  1 -
 .../queryparser/ext/ExtendableQueryParser.java  |  3 +-
 .../lucene/queryparser/ext/ExtensionQuery.java  |  7 +-
 .../lucene/queryparser/ext/Extensions.java      |  4 +-
 .../lucene/queryparser/ext/ParserExtension.java |  3 +-
 .../lucene/queryparser/ext/package-info.java    |  1 -
 .../flexible/core/QueryNodeError.java           |  3 +-
 .../flexible/core/QueryNodeException.java       |  3 +-
 .../flexible/core/QueryNodeParseException.java  |  3 +-
 .../flexible/core/QueryParserHelper.java        | 16 ++--
 .../flexible/core/builders/QueryBuilder.java    |  8 +-
 .../core/builders/QueryTreeBuilder.java         |  3 +-
 .../flexible/core/builders/package-info.java    |  1 -
 .../core/config/AbstractQueryConfig.java        |  3 +-
 .../flexible/core/config/ConfigurationKey.java  |  3 +-
 .../flexible/core/config/FieldConfig.java       |  3 +-
 .../core/config/FieldConfigListener.java        |  3 +-
 .../core/config/QueryConfigHandler.java         |  3 +-
 .../flexible/core/config/package-info.java      |  1 -
 .../core/messages/QueryParserMessages.java      |  3 +-
 .../flexible/core/messages/package-info.java    |  1 -
 .../flexible/core/nodes/AndQueryNode.java       |  3 +-
 .../flexible/core/nodes/AnyQueryNode.java       |  3 +-
 .../flexible/core/nodes/BooleanQueryNode.java   |  3 +-
 .../flexible/core/nodes/BoostQueryNode.java     |  3 +-
 .../flexible/core/nodes/DeletedQueryNode.java   |  7 +-
 .../flexible/core/nodes/FieldQueryNode.java     |  3 +-
 .../core/nodes/FieldValuePairQueryNode.java     |  3 +-
 .../flexible/core/nodes/FieldableNode.java      |  3 +-
 .../flexible/core/nodes/FuzzyQueryNode.java     |  3 +-
 .../flexible/core/nodes/GroupQueryNode.java     |  3 +-
 .../core/nodes/MatchAllDocsQueryNode.java       |  3 +-
 .../core/nodes/MatchNoDocsQueryNode.java        |  3 +-
 .../flexible/core/nodes/ModifierQueryNode.java  |  3 +-
 .../core/nodes/NoTokenFoundQueryNode.java       |  3 +-
 .../flexible/core/nodes/OpaqueQueryNode.java    |  3 +-
 .../flexible/core/nodes/OrQueryNode.java        |  3 +-
 .../flexible/core/nodes/PathQueryNode.java      |  3 +-
 .../core/nodes/PhraseSlopQueryNode.java         |  3 +-
 .../flexible/core/nodes/ProximityQueryNode.java |  3 +-
 .../flexible/core/nodes/QueryNode.java          |  3 +-
 .../flexible/core/nodes/QueryNodeImpl.java      |  3 +-
 .../core/nodes/QuotedFieldQueryNode.java        |  3 +-
 .../flexible/core/nodes/RangeQueryNode.java     |  7 +-
 .../flexible/core/nodes/SlopQueryNode.java      |  3 +-
 .../flexible/core/nodes/TextableQueryNode.java  | 27 +++---
 .../core/nodes/TokenizedPhraseQueryNode.java    |  3 +-
 .../flexible/core/nodes/ValueQueryNode.java     | 27 +++---
 .../flexible/core/nodes/package-info.java       |  1 -
 .../queryparser/flexible/core/package-info.java |  1 -
 .../flexible/core/parser/EscapeQuerySyntax.java |  3 +-
 .../flexible/core/parser/SyntaxParser.java      |  3 +-
 .../flexible/core/parser/package-info.java      |  1 -
 .../NoChildOptimizationQueryNodeProcessor.java  |  3 +-
 .../core/processors/QueryNodeProcessor.java     |  3 +-
 .../core/processors/QueryNodeProcessorImpl.java |  3 +-
 .../processors/QueryNodeProcessorPipeline.java  |  3 +-
 .../RemoveDeletedQueryNodesProcessor.java       |  3 +-
 .../flexible/core/processors/package-info.java  |  1 -
 .../flexible/core/util/QueryNodeOperation.java  |  3 +-
 .../flexible/core/util/StringUtils.java         |  3 +-
 .../core/util/UnescapedCharSequence.java        |  7 +-
 .../flexible/core/util/package-info.java        |  1 -
 .../queryparser/flexible/messages/Message.java  |  3 +-
 .../flexible/messages/MessageImpl.java          |  3 +-
 .../queryparser/flexible/messages/NLS.java      |  3 +-
 .../flexible/messages/NLSException.java         |  3 +-
 .../flexible/messages/package-info.java         |  1 -
 .../precedence/PrecedenceQueryParser.java       |  3 +-
 .../flexible/precedence/package-info.java       |  1 -
 .../BooleanModifiersQueryNodeProcessor.java     |  3 +-
 .../PrecedenceQueryNodeProcessorPipeline.java   |  3 +-
 .../CommonQueryParserConfiguration.java         | 23 +++--
 .../flexible/standard/QueryParserUtil.java      |  3 +-
 .../flexible/standard/StandardQueryParser.java  |  3 +-
 .../standard/builders/AnyQueryNodeBuilder.java  |  3 +-
 .../builders/BooleanQueryNodeBuilder.java       |  3 +-
 .../builders/BoostQueryNodeBuilder.java         |  3 +-
 .../builders/DummyQueryNodeBuilder.java         |  3 +-
 .../builders/FieldQueryNodeBuilder.java         |  3 +-
 .../builders/FuzzyQueryNodeBuilder.java         |  3 +-
 .../builders/GroupQueryNodeBuilder.java         |  3 +-
 .../builders/MatchAllDocsQueryNodeBuilder.java  |  3 +-
 .../builders/MatchNoDocsQueryNodeBuilder.java   |  3 +-
 .../builders/ModifierQueryNodeBuilder.java      |  3 +-
 .../builders/MultiPhraseQueryNodeBuilder.java   |  3 +-
 .../builders/NumericRangeQueryNodeBuilder.java  |  3 +-
 .../builders/PhraseQueryNodeBuilder.java        |  3 +-
 .../PrefixWildcardQueryNodeBuilder.java         |  3 +-
 .../builders/RegexpQueryNodeBuilder.java        |  3 +-
 .../standard/builders/SlopQueryNodeBuilder.java |  3 +-
 .../StandardBooleanQueryNodeBuilder.java        |  3 +-
 .../standard/builders/StandardQueryBuilder.java |  3 +-
 .../builders/StandardQueryTreeBuilder.java      |  3 +-
 .../builders/TermRangeQueryNodeBuilder.java     |  3 +-
 .../builders/WildcardQueryNodeBuilder.java      |  3 +-
 .../standard/builders/package-info.java         |  1 -
 .../config/FieldBoostMapFCListener.java         |  3 +-
 .../config/FieldDateResolutionFCListener.java   |  3 +-
 .../flexible/standard/config/FuzzyConfig.java   |  3 +-
 .../standard/config/NumberDateFormat.java       |  3 +-
 .../flexible/standard/config/NumericConfig.java |  3 +-
 .../config/NumericFieldConfigListener.java      |  3 +-
 .../config/StandardQueryConfigHandler.java      |  3 +-
 .../flexible/standard/config/package-info.java  |  1 -
 .../standard/nodes/AbstractRangeQueryNode.java  |  3 +-
 .../standard/nodes/BooleanModifierNode.java     |  3 +-
 .../standard/nodes/MultiPhraseQueryNode.java    |  3 +-
 .../standard/nodes/NumericQueryNode.java        |  3 +-
 .../standard/nodes/NumericRangeQueryNode.java   | 27 +++---
 .../standard/nodes/PrefixWildcardQueryNode.java |  7 +-
 .../standard/nodes/RegexpQueryNode.java         |  3 +-
 .../nodes/StandardBooleanQueryNode.java         |  3 +-
 .../standard/nodes/TermRangeQueryNode.java      |  3 +-
 .../standard/nodes/WildcardQueryNode.java       |  3 +-
 .../flexible/standard/nodes/package-info.java   |  1 -
 .../flexible/standard/package-info.java         |  1 -
 .../standard/parser/EscapeQuerySyntaxImpl.java  |  3 +-
 .../standard/parser/FastCharStream.java         |  5 +-
 .../flexible/standard/parser/package-info.java  |  1 -
 .../AllowLeadingWildcardProcessor.java          |  3 +-
 .../processors/AnalyzerQueryNodeProcessor.java  |  3 +-
 .../BooleanQuery2ModifierNodeProcessor.java     |  3 +-
 ...ngleChildOptimizationQueryNodeProcessor.java |  3 +-
 .../processors/BoostQueryNodeProcessor.java     |  3 +-
 .../DefaultPhraseSlopQueryNodeProcessor.java    |  3 +-
 .../processors/FuzzyQueryNodeProcessor.java     |  3 +-
 ...owercaseExpandedTermsQueryNodeProcessor.java |  3 +-
 .../MatchAllDocsQueryNodeProcessor.java         |  3 +-
 .../MultiFieldQueryNodeProcessor.java           |  3 +-
 .../MultiTermRewriteMethodProcessor.java        |  3 +-
 .../processors/NumericQueryNodeProcessor.java   |  3 +-
 .../NumericRangeQueryNodeProcessor.java         |  3 +-
 .../processors/OpenRangeQueryNodeProcessor.java |  3 +-
 .../PhraseSlopQueryNodeProcessor.java           |  3 +-
 .../RemoveEmptyNonLeafQueryNodeProcessor.java   |  3 +-
 .../StandardQueryNodeProcessorPipeline.java     |  3 +-
 .../processors/TermRangeQueryNodeProcessor.java |  3 +-
 .../processors/WildcardQueryNodeProcessor.java  |  3 +-
 .../standard/processors/package-info.java       |  1 -
 .../queryparser/simple/SimpleQueryParser.java   |  3 +-
 .../lucene/queryparser/simple/package-info.java |  1 -
 .../surround/parser/FastCharStream.java         |  3 +-
 .../surround/parser/package-info.java           |  1 -
 .../queryparser/surround/query/AndQuery.java    |  4 +-
 .../surround/query/BasicQueryFactory.java       |  3 +-
 .../surround/query/ComposedQuery.java           |  3 +-
 .../surround/query/DistanceQuery.java           |  3 +-
 .../surround/query/DistanceRewriteQuery.java    |  3 +-
 .../surround/query/DistanceSubQuery.java        |  3 +-
 .../queryparser/surround/query/FieldsQuery.java |  3 +-
 .../queryparser/surround/query/NotQuery.java    |  3 +-
 .../queryparser/surround/query/OrQuery.java     |  3 +-
 .../surround/query/RewriteQuery.java            |  2 +-
 .../queryparser/surround/query/SimpleTerm.java  |  3 +-
 .../surround/query/SimpleTermRewriteQuery.java  |  2 +-
 .../surround/query/SpanNearClauseFactory.java   |  3 +-
 .../surround/query/SrndBooleanQuery.java        |  3 +-
 .../surround/query/SrndPrefixQuery.java         |  3 +-
 .../queryparser/surround/query/SrndQuery.java   |  3 +-
 .../surround/query/SrndTermQuery.java           |  3 +-
 .../surround/query/SrndTruncQuery.java          |  3 +-
 .../surround/query/TooManyBasicQueries.java     |  3 +-
 .../surround/query/package-info.java            |  1 -
 .../lucene/queryparser/xml/CoreParser.java      | 27 +++---
 .../xml/CorePlusExtensionsParser.java           | 11 ++-
 .../queryparser/xml/CorePlusQueriesParser.java  | 13 ++-
 .../apache/lucene/queryparser/xml/DOMUtils.java | 19 ++---
 .../lucene/queryparser/xml/ParserException.java |  5 +-
 .../lucene/queryparser/xml/QueryBuilder.java    |  8 +-
 .../queryparser/xml/QueryBuilderFactory.java    | 15 ++--
 .../queryparser/xml/QueryTemplateManager.java   | 33 ++++----
 .../xml/builders/BooleanQueryBuilder.java       | 27 +++---
 .../xml/builders/BoostingQueryBuilder.java      | 17 ++--
 .../xml/builders/BoostingTermBuilder.java       | 23 +++--
 .../xml/builders/ConstantScoreQueryBuilder.java | 19 ++---
 .../builders/DisjunctionMaxQueryBuilder.java    |  3 +-
 .../xml/builders/FuzzyLikeThisQueryBuilder.java | 25 +++---
 .../LegacyNumericRangeQueryBuilder.java         |  3 +-
 .../xml/builders/LikeThisQueryBuilder.java      | 31 +++----
 .../xml/builders/MatchAllDocsQueryBuilder.java  | 13 ++-
 .../xml/builders/RangeQueryBuilder.java         |  6 +-
 .../xml/builders/SpanBuilderBase.java           | 11 ++-
 .../xml/builders/SpanFirstBuilder.java          | 15 ++--
 .../xml/builders/SpanNearBuilder.java           | 23 +++--
 .../xml/builders/SpanNotBuilder.java            | 15 ++--
 .../queryparser/xml/builders/SpanOrBuilder.java | 23 +++--
 .../xml/builders/SpanOrTermsBuilder.java        | 33 ++++----
 .../xml/builders/SpanQueryBuilder.java          |  3 +-
 .../xml/builders/SpanQueryBuilderFactory.java   | 17 ++--
 .../xml/builders/SpanTermBuilder.java           | 17 ++--
 .../xml/builders/TermQueryBuilder.java          | 19 ++---
 .../xml/builders/TermsQueryBuilder.java         | 33 ++++----
 .../xml/builders/UserInputQueryBuilder.java     | 23 +++--
 .../queryparser/xml/builders/package-info.java  |  1 -
 .../lucene/queryparser/xml/package-info.java    |  1 -
 .../analyzing/TestAnalyzingQueryParser.java     |  3 +-
 .../queryparser/classic/TestMultiAnalyzer.java  |  3 +-
 .../classic/TestMultiFieldQueryParser.java      |  3 +-
 .../classic/TestMultiPhraseQueryParsing.java    |  3 +-
 .../queryparser/classic/TestQueryParser.java    |  3 +-
 .../complexPhrase/TestComplexPhraseQuery.java   |  3 +-
 .../lucene/queryparser/ext/ExtensionStub.java   | 13 ++-
 .../ext/TestExtendableQueryParser.java          |  3 +-
 .../lucene/queryparser/ext/TestExtensions.java  |  3 +-
 .../core/builders/TestQueryTreeBuilder.java     |  3 +-
 .../flexible/core/nodes/TestQueryNode.java      |  3 +-
 .../flexible/messages/MessagesTestBundle.java   | 27 +++---
 .../queryparser/flexible/messages/TestNLS.java  |  3 +-
 .../precedence/TestPrecedenceQueryParser.java   |  3 +-
 .../flexible/spans/SpanOrQueryNodeBuilder.java  |  3 +-
 .../spans/SpanTermQueryNodeBuilder.java         |  3 +-
 .../flexible/spans/SpansQueryConfigHandler.java |  3 +-
 .../flexible/spans/SpansQueryTreeBuilder.java   |  3 +-
 .../spans/SpansValidatorQueryNodeProcessor.java |  3 +-
 .../flexible/spans/TestSpanQueryParser.java     |  3 +-
 .../spans/TestSpanQueryParserSimpleSample.java  |  3 +-
 .../flexible/spans/UniqueFieldAttribute.java    |  3 +-
 .../spans/UniqueFieldAttributeImpl.java         |  3 +-
 .../spans/UniqueFieldQueryNodeProcessor.java    |  3 +-
 .../standard/TestMultiAnalyzerQPHelper.java     |  3 +-
 .../standard/TestMultiFieldQPHelper.java        |  3 +-
 .../standard/TestNumericQueryParser.java        |  3 +-
 .../flexible/standard/TestQPHelper.java         |  3 +-
 .../flexible/standard/TestStandardQP.java       |  3 +-
 .../simple/TestSimpleQueryParser.java           |  3 +-
 .../surround/query/BooleanQueryTst.java         |  3 +-
 .../surround/query/ExceptionQueryTst.java       |  3 +-
 .../surround/query/SingleFieldTestDb.java       |  3 +-
 .../surround/query/SrndQueryTest.java           |  3 +-
 .../surround/query/Test01Exceptions.java        |  3 +-
 .../surround/query/Test02Boolean.java           |  3 +-
 .../surround/query/Test03Distance.java          |  3 +-
 .../queryparser/util/QueryParserTestBase.java   |  3 +-
 .../lucene/queryparser/xml/TestCoreParser.java  |  9 +-
 .../xml/TestCorePlusExtensionsParser.java       |  9 +-
 .../xml/TestCorePlusQueriesParser.java          |  9 +-
 .../xml/TestQueryTemplateManager.java           |  3 +-
 .../builders/TestNumericRangeQueryBuilder.java  |  3 +-
 .../IndexAndTaxonomyReplicationHandler.java     |  3 +-
 .../replicator/IndexAndTaxonomyRevision.java    |  3 +-
 .../replicator/IndexInputInputStream.java       |  3 +-
 .../replicator/IndexReplicationHandler.java     |  3 +-
 .../apache/lucene/replicator/IndexRevision.java |  3 +-
 .../lucene/replicator/LocalReplicator.java      |  3 +-
 .../replicator/PerSessionDirectoryFactory.java  |  3 +-
 .../lucene/replicator/ReplicationClient.java    |  3 +-
 .../apache/lucene/replicator/Replicator.java    |  3 +-
 .../org/apache/lucene/replicator/Revision.java  |  3 +-
 .../apache/lucene/replicator/RevisionFile.java  |  3 +-
 .../replicator/SessionExpiredException.java     |  3 +-
 .../apache/lucene/replicator/SessionToken.java  |  3 +-
 .../lucene/replicator/http/HttpClientBase.java  |  3 +-
 .../lucene/replicator/http/HttpReplicator.java  |  3 +-
 .../replicator/http/ReplicationService.java     |  3 +-
 .../lucene/replicator/http/package-info.java    |  1 -
 .../apache/lucene/replicator/package-info.java  |  1 -
 .../IndexAndTaxonomyReplicationClientTest.java  |  3 +-
 .../IndexAndTaxonomyRevisionTest.java           |  3 +-
 .../replicator/IndexReplicationClientTest.java  |  3 +-
 .../lucene/replicator/IndexRevisionTest.java    |  3 +-
 .../lucene/replicator/LocalReplicatorTest.java  |  3 +-
 .../lucene/replicator/ReplicatorTestCase.java   |  3 +-
 .../lucene/replicator/SessionTokenTest.java     |  3 +-
 .../replicator/http/HttpReplicatorTest.java     |  3 +-
 .../replicator/http/ReplicationServlet.java     |  3 +-
 .../idversion/IDVersionPostingsFormat.java      |  3 +-
 .../idversion/IDVersionPostingsReader.java      |  3 +-
 .../idversion/IDVersionPostingsWriter.java      |  3 +-
 .../idversion/IDVersionSegmentTermsEnum.java    |  3 +-
 .../IDVersionSegmentTermsEnumFrame.java         |  3 +-
 .../codecs/idversion/IDVersionTermState.java    |  3 +-
 .../lucene/codecs/idversion/SingleDocsEnum.java |  3 +-
 .../codecs/idversion/SinglePostingsEnum.java    |  3 +-
 .../idversion/VersionBlockTreeTermsReader.java  |  3 +-
 .../idversion/VersionBlockTreeTermsWriter.java  |  3 +-
 .../codecs/idversion/VersionFieldReader.java    |  3 +-
 .../lucene/codecs/idversion/package-info.java   |  1 -
 .../apache/lucene/document/GeoPointField.java   |  3 +-
 .../org/apache/lucene/document/LatLonPoint.java |  3 +-
 .../lucene/payloads/PayloadSpanCollector.java   |  3 +-
 .../apache/lucene/payloads/PayloadSpanUtil.java |  3 +-
 .../apache/lucene/payloads/package-info.java    |  1 -
 .../sandbox/queries/FuzzyLikeThisQuery.java     |  3 +-
 .../lucene/sandbox/queries/SlowFuzzyQuery.java  |  3 +-
 .../sandbox/queries/SlowFuzzyTermsEnum.java     |  3 +-
 .../lucene/sandbox/queries/package-info.java    |  1 -
 .../lucene/search/DocValuesNumbersQuery.java    |  3 +-
 .../lucene/search/DocValuesRangeQuery.java      |  3 +-
 .../lucene/search/DocValuesTermsQuery.java      |  3 +-
 .../apache/lucene/search/GeoBoundingBox.java    |  3 +-
 .../lucene/search/GeoPointDistanceQuery.java    |  3 +-
 .../search/GeoPointDistanceQueryImpl.java       |  3 +-
 .../search/GeoPointDistanceRangeQuery.java      |  3 +-
 .../lucene/search/GeoPointInBBoxQuery.java      |  3 +-
 .../lucene/search/GeoPointInBBoxQueryImpl.java  |  3 +-
 .../lucene/search/GeoPointInPolygonQuery.java   |  3 +-
 .../apache/lucene/search/GeoPointTermQuery.java |  3 +-
 .../GeoPointTermQueryConstantScoreWrapper.java  |  3 +-
 .../apache/lucene/search/GeoPointTermsEnum.java |  3 +-
 .../lucene/search/PointInPolygonQuery.java      |  3 +-
 .../apache/lucene/search/PointInRectQuery.java  |  3 +-
 .../lucene/search/TermAutomatonQuery.java       |  3 +-
 .../lucene/search/TermAutomatonScorer.java      |  3 +-
 .../search/TokenStreamToTermAutomatonQuery.java |  3 +-
 .../apache/lucene/util/GeoDistanceUtils.java    |  3 +-
 .../org/apache/lucene/util/GeoHashUtils.java    |  3 +-
 .../apache/lucene/util/GeoProjectionUtils.java  |  3 +-
 .../java/org/apache/lucene/util/GeoRect.java    |  3 +-
 .../apache/lucene/util/GeoRelationUtils.java    |  3 +-
 .../java/org/apache/lucene/util/GeoUtils.java   |  3 +-
 .../codecs/idversion/StringAndPayloadField.java |  3 +-
 .../idversion/TestIDVersionPostingsFormat.java  |  3 +-
 .../lucene/payloads/TestPayloadSpanUtil.java    |  3 +-
 .../sandbox/queries/FuzzyLikeThisQueryTest.java |  3 +-
 .../sandbox/queries/TestSlowFuzzyQuery.java     |  3 +-
 .../sandbox/queries/TestSlowFuzzyQuery2.java    |  3 +-
 .../search/TestDocValuesNumbersQuery.java       |  3 +-
 .../lucene/search/TestDocValuesRangeQuery.java  |  3 +-
 .../lucene/search/TestDocValuesTermsQuery.java  |  3 +-
 .../search/TestFieldCacheTermsFilter.java       |  3 +-
 .../apache/lucene/search/TestGeoPointQuery.java |  3 +-
 .../lucene/search/TestLatLonPointQueries.java   |  3 +-
 .../lucene/search/TestTermAutomatonQuery.java   |  3 +-
 .../lucene/util/BaseGeoPointTestCase.java       |  3 +-
 .../org/apache/lucene/util/TestGeoUtils.java    |  3 +-
 .../apache/lucene/spatial/SpatialStrategy.java  |  3 +-
 .../spatial/bbox/BBoxSimilarityValueSource.java |  3 +-
 .../lucene/spatial/bbox/BBoxStrategy.java       |  3 +-
 .../lucene/spatial/bbox/BBoxValueSource.java    |  3 +-
 .../lucene/spatial/bbox/package-info.java       |  1 -
 .../composite/CompositeSpatialStrategy.java     |  3 +-
 .../spatial/composite/CompositeVerifyQuery.java |  3 +-
 .../composite/IntersectsRPTVerifyQuery.java     |  3 +-
 .../lucene/spatial/composite/package-info.java  |  1 -
 .../org/apache/lucene/spatial/package-info.java |  1 -
 .../spatial/prefix/AbstractPrefixTreeQuery.java |  3 +-
 .../prefix/AbstractVisitingPrefixTreeQuery.java |  3 +-
 .../prefix/BytesRefIteratorTokenStream.java     |  3 +-
 .../spatial/prefix/CellToBytesRefIterator.java  |  3 +-
 .../spatial/prefix/ContainsPrefixTreeQuery.java |  3 +-
 .../spatial/prefix/HeatmapFacetCounter.java     |  3 +-
 .../prefix/IntersectsPrefixTreeQuery.java       |  3 +-
 .../prefix/NumberRangePrefixTreeStrategy.java   |  3 +-
 .../PointPrefixTreeFieldCacheProvider.java      |  3 +-
 .../spatial/prefix/PrefixTreeFacetCounter.java  |  3 +-
 .../spatial/prefix/PrefixTreeStrategy.java      |  3 +-
 .../prefix/RecursivePrefixTreeStrategy.java     |  3 +-
 .../prefix/TermQueryPrefixTreeStrategy.java     |  3 +-
 .../spatial/prefix/WithinPrefixTreeQuery.java   |  3 +-
 .../lucene/spatial/prefix/package-info.java     |  1 -
 .../apache/lucene/spatial/prefix/tree/Cell.java |  3 +-
 .../spatial/prefix/tree/CellIterator.java       |  3 +-
 .../prefix/tree/DateRangePrefixTree.java        |  3 +-
 .../spatial/prefix/tree/FilterCellIterator.java |  3 +-
 .../spatial/prefix/tree/GeohashPrefixTree.java  |  3 +-
 .../lucene/spatial/prefix/tree/LegacyCell.java  |  3 +-
 .../spatial/prefix/tree/LegacyPrefixTree.java   |  3 +-
 .../prefix/tree/NumberRangePrefixTree.java      |  3 +-
 .../prefix/tree/PackedQuadPrefixTree.java       |  3 +-
 .../spatial/prefix/tree/QuadPrefixTree.java     |  3 +-
 .../prefix/tree/SingletonCellIterator.java      |  3 +-
 .../spatial/prefix/tree/SpatialPrefixTree.java  |  3 +-
 .../prefix/tree/SpatialPrefixTreeFactory.java   |  1 -
 .../spatial/prefix/tree/TreeCellIterator.java   |  3 +-
 .../spatial/prefix/tree/package-info.java       |  1 -
 .../lucene/spatial/query/SpatialArgs.java       |  3 +-
 .../lucene/spatial/query/SpatialArgsParser.java |  3 +-
 .../lucene/spatial/query/SpatialOperation.java  |  3 +-
 .../query/UnsupportedSpatialOperation.java      |  3 +-
 .../lucene/spatial/query/package-info.java      |  1 -
 .../serialized/SerializedDVStrategy.java        |  3 +-
 .../lucene/spatial/serialized/package-info.java |  1 -
 .../lucene/spatial/spatial4j/Geo3dShape.java    |  3 +-
 .../lucene/spatial/spatial4j/package-info.java  |  1 -
 .../spatial/util/CachingDoubleValueSource.java  |  1 -
 .../util/DistanceToShapeValueSource.java        |  3 +-
 .../spatial/util/ShapeAreaValueSource.java      |  3 +-
 .../lucene/spatial/util/ShapeFieldCache.java    |  1 -
 .../ShapeFieldCacheDistanceValueSource.java     |  3 +-
 .../spatial/util/ShapeFieldCacheProvider.java   |  1 -
 .../spatial/util/ShapePredicateValueSource.java |  3 +-
 .../lucene/spatial/util/package-info.java       |  1 -
 .../spatial/vector/DistanceValueSource.java     |  3 +-
 .../spatial/vector/PointVectorStrategy.java     |  3 +-
 .../lucene/spatial/vector/package-info.java     |  1 -
 .../lucene/spatial/DistanceStrategyTest.java    |  3 +-
 .../apache/lucene/spatial/PortedSolr3Test.java  |  3 +-
 .../lucene/spatial/QueryEqualsHashCodeTest.java |  3 +-
 .../apache/lucene/spatial/SpatialArgsTest.java  |  3 +-
 .../apache/lucene/spatial/SpatialExample.java   |  3 +-
 .../lucene/spatial/SpatialMatchConcern.java     |  1 -
 .../apache/lucene/spatial/SpatialTestCase.java  |  3 +-
 .../apache/lucene/spatial/SpatialTestData.java  |  3 +-
 .../apache/lucene/spatial/SpatialTestQuery.java |  3 +-
 .../apache/lucene/spatial/StrategyTestCase.java |  5 +-
 .../lucene/spatial/TestTestFramework.java       |  3 +-
 .../lucene/spatial/bbox/TestBBoxStrategy.java   |  3 +-
 .../composite/CompositeStrategyTest.java        |  3 +-
 .../prefix/CellToBytesRefIterator50.java        |  3 +-
 .../spatial/prefix/DateNRStrategyTest.java      |  3 +-
 .../spatial/prefix/HeatmapFacetCounterTest.java |  3 +-
 .../lucene/spatial/prefix/JtsPolygonTest.java   |  3 +-
 .../spatial/prefix/NumberRangeFacetsTest.java   |  3 +-
 .../RandomSpatialOpFuzzyPrefixTree50Test.java   |  3 +-
 .../RandomSpatialOpFuzzyPrefixTreeTest.java     |  3 +-
 .../prefix/RandomSpatialOpStrategyTestCase.java |  3 +-
 .../prefix/TestRecursivePrefixTreeStrategy.java |  3 +-
 .../prefix/TestTermQueryPrefixGridStrategy.java |  3 +-
 .../prefix/tree/DateRangePrefixTreeTest.java    |  3 +-
 .../prefix/tree/SpatialPrefixTreeTest.java      |  3 +-
 .../spatial/query/SpatialArgsParserTest.java    |  3 +-
 .../serialized/SerializedStrategyTest.java      |  3 +-
 .../lucene/spatial/spatial4j/Geo3dRptTest.java  |  3 +-
 .../Geo3dShapeRectRelationTestCase.java         |  3 +-
 .../Geo3dShapeSphereModelRectRelationTest.java  |  3 +-
 .../Geo3dShapeWGS84ModelRectRelationTest.java   |  3 +-
 .../spatial4j/RandomizedShapeTestCase.java      |  4 +-
 .../spatial/spatial4j/geo3d/GeoPointTest.java   |  3 +-
 .../spatial/vector/TestPointVectorStrategy.java |  3 +-
 .../org/apache/lucene/geo3d/ArcDistance.java    |  3 +-
 .../apache/lucene/geo3d/BasePlanetObject.java   |  3 +-
 .../org/apache/lucene/geo3d/BaseXYZSolid.java   |  3 +-
 .../java/org/apache/lucene/geo3d/Bounds.java    |  3 +-
 .../org/apache/lucene/geo3d/DistanceStyle.java  |  3 +-
 .../org/apache/lucene/geo3d/Geo3DPoint.java     |  3 +-
 .../java/org/apache/lucene/geo3d/Geo3DUtil.java |  3 +-
 .../java/org/apache/lucene/geo3d/GeoArea.java   |  3 +-
 .../org/apache/lucene/geo3d/GeoAreaFactory.java |  3 +-
 .../java/org/apache/lucene/geo3d/GeoBBox.java   |  3 +-
 .../org/apache/lucene/geo3d/GeoBBoxFactory.java |  3 +-
 .../org/apache/lucene/geo3d/GeoBaseBBox.java    |  3 +-
 .../org/apache/lucene/geo3d/GeoBaseCircle.java  |  3 +-
 .../lucene/geo3d/GeoBaseDistanceShape.java      |  3 +-
 .../lucene/geo3d/GeoBaseMembershipShape.java    |  3 +-
 .../org/apache/lucene/geo3d/GeoBasePolygon.java |  3 +-
 .../org/apache/lucene/geo3d/GeoBaseShape.java   |  3 +-
 .../java/org/apache/lucene/geo3d/GeoCircle.java |  3 +-
 .../apache/lucene/geo3d/GeoCircleFactory.java   |  3 +-
 .../geo3d/GeoCompositeMembershipShape.java      |  3 +-
 .../lucene/geo3d/GeoCompositePolygon.java       |  3 +-
 .../apache/lucene/geo3d/GeoConvexPolygon.java   |  3 +-
 .../geo3d/GeoDegenerateHorizontalLine.java      |  3 +-
 .../lucene/geo3d/GeoDegenerateLatitudeZone.java |  3 +-
 .../geo3d/GeoDegenerateLongitudeSlice.java      |  3 +-
 .../apache/lucene/geo3d/GeoDegeneratePoint.java |  5 +-
 .../lucene/geo3d/GeoDegenerateVerticalLine.java |  3 +-
 .../org/apache/lucene/geo3d/GeoDistance.java    |  3 +-
 .../apache/lucene/geo3d/GeoDistanceShape.java   |  3 +-
 .../apache/lucene/geo3d/GeoLatitudeZone.java    |  3 +-
 .../apache/lucene/geo3d/GeoLongitudeSlice.java  |  3 +-
 .../apache/lucene/geo3d/GeoMembershipShape.java |  3 +-
 .../lucene/geo3d/GeoNorthLatitudeZone.java      |  3 +-
 .../apache/lucene/geo3d/GeoNorthRectangle.java  |  3 +-
 .../apache/lucene/geo3d/GeoOutsideDistance.java |  3 +-
 .../java/org/apache/lucene/geo3d/GeoPath.java   |  3 +-
 .../java/org/apache/lucene/geo3d/GeoPoint.java  |  5 +-
 .../org/apache/lucene/geo3d/GeoPolygon.java     |  3 +-
 .../apache/lucene/geo3d/GeoPolygonFactory.java  |  3 +-
 .../org/apache/lucene/geo3d/GeoRectangle.java   |  3 +-
 .../java/org/apache/lucene/geo3d/GeoShape.java  |  3 +-
 .../org/apache/lucene/geo3d/GeoSizeable.java    |  3 +-
 .../lucene/geo3d/GeoSouthLatitudeZone.java      |  3 +-
 .../apache/lucene/geo3d/GeoSouthRectangle.java  |  3 +-
 .../apache/lucene/geo3d/GeoStandardCircle.java  |  3 +-
 .../geo3d/GeoWideDegenerateHorizontalLine.java  |  3 +-
 .../lucene/geo3d/GeoWideLongitudeSlice.java     |  3 +-
 .../lucene/geo3d/GeoWideNorthRectangle.java     |  3 +-
 .../apache/lucene/geo3d/GeoWideRectangle.java   |  3 +-
 .../lucene/geo3d/GeoWideSouthRectangle.java     |  3 +-
 .../java/org/apache/lucene/geo3d/GeoWorld.java  |  3 +-
 .../org/apache/lucene/geo3d/LatLonBounds.java   |  3 +-
 .../org/apache/lucene/geo3d/LinearDistance.java |  3 +-
 .../lucene/geo3d/LinearSquaredDistance.java     |  3 +-
 .../org/apache/lucene/geo3d/Membership.java     |  3 +-
 .../org/apache/lucene/geo3d/NormalDistance.java |  3 +-
 .../lucene/geo3d/NormalSquaredDistance.java     |  3 +-
 .../src/java/org/apache/lucene/geo3d/Plane.java |  3 +-
 .../org/apache/lucene/geo3d/PlanetModel.java    |  3 +-
 .../lucene/geo3d/PointInGeo3DShapeQuery.java    |  3 +-
 .../org/apache/lucene/geo3d/SidedPlane.java     |  3 +-
 .../apache/lucene/geo3d/StandardXYZSolid.java   |  3 +-
 .../src/java/org/apache/lucene/geo3d/Tools.java |  3 +-
 .../java/org/apache/lucene/geo3d/Vector.java    |  3 +-
 .../java/org/apache/lucene/geo3d/XYZBounds.java |  3 +-
 .../java/org/apache/lucene/geo3d/XYZSolid.java  |  3 +-
 .../apache/lucene/geo3d/XYZSolidFactory.java    |  3 +-
 .../java/org/apache/lucene/geo3d/XYdZSolid.java |  3 +-
 .../java/org/apache/lucene/geo3d/XdYZSolid.java |  3 +-
 .../org/apache/lucene/geo3d/XdYdZSolid.java     |  3 +-
 .../java/org/apache/lucene/geo3d/dXYZSolid.java |  3 +-
 .../org/apache/lucene/geo3d/dXYdZSolid.java     |  3 +-
 .../org/apache/lucene/geo3d/dXdYZSolid.java     |  3 +-
 .../org/apache/lucene/geo3d/dXdYdZSolid.java    |  3 +-
 .../org/apache/lucene/geo3d/package-info.java   |  1 -
 .../org/apache/lucene/geo3d/GeoBBoxTest.java    |  3 +-
 .../org/apache/lucene/geo3d/GeoCircleTest.java  |  3 +-
 .../lucene/geo3d/GeoConvexPolygonTest.java      |  3 +-
 .../org/apache/lucene/geo3d/GeoModelTest.java   |  3 +-
 .../org/apache/lucene/geo3d/GeoPathTest.java    |  3 +-
 .../org/apache/lucene/geo3d/GeoPolygonTest.java |  3 +-
 .../test/org/apache/lucene/geo3d/PlaneTest.java |  3 +-
 .../org/apache/lucene/geo3d/TestGeo3DPoint.java |  3 +-
 .../org/apache/lucene/geo3d/XYZSolidTest.java   |  3 +-
 .../lucene/search/spell/CombineSuggestion.java  |  3 +-
 .../apache/lucene/search/spell/Dictionary.java  |  3 +-
 .../lucene/search/spell/DirectSpellChecker.java |  3 +-
 .../search/spell/HighFrequencyDictionary.java   |  1 -
 .../search/spell/JaroWinklerDistance.java       |  3 +-
 .../lucene/search/spell/LevensteinDistance.java |  3 +-
 .../lucene/search/spell/LuceneDictionary.java   |  3 +-
 .../search/spell/LuceneLevenshteinDistance.java |  3 +-
 .../lucene/search/spell/NGramDistance.java      | 33 ++++----
 .../search/spell/PlainTextDictionary.java       |  3 +-
 .../lucene/search/spell/SpellChecker.java       |  3 +-
 .../lucene/search/spell/StringDistance.java     |  3 +-
 .../apache/lucene/search/spell/SuggestMode.java |  3 +-
 .../apache/lucene/search/spell/SuggestWord.java |  5 +-
 .../spell/SuggestWordFrequencyComparator.java   |  6 +-
 .../lucene/search/spell/SuggestWordQueue.java   |  5 +-
 .../spell/SuggestWordScoreComparator.java       |  3 +-
 .../search/spell/WordBreakSpellChecker.java     |  3 +-
 .../lucene/search/spell/package-info.java       |  2 -
 .../lucene/search/suggest/BitsProducer.java     |  3 +-
 .../search/suggest/BufferedInputIterator.java   |  3 +-
 .../search/suggest/DocumentDictionary.java      |  3 +-
 .../suggest/DocumentValueSourceDictionary.java  |  3 +-
 .../lucene/search/suggest/FileDictionary.java   |  4 +-
 .../lucene/search/suggest/InMemorySorter.java   |  3 +-
 .../lucene/search/suggest/InputIterator.java    |  3 +-
 .../apache/lucene/search/suggest/Lookup.java    |  3 +-
 .../search/suggest/SortedInputIterator.java     |  3 +-
 .../search/suggest/UnsortedInputIterator.java   |  3 +-
 .../analyzing/AnalyzingInfixSuggester.java      |  3 +-
 .../suggest/analyzing/AnalyzingSuggester.java   |  3 +-
 .../analyzing/BlendedInfixSuggester.java        |  3 +-
 .../search/suggest/analyzing/FSTUtil.java       |  3 +-
 .../suggest/analyzing/FreeTextSuggester.java    |  3 +-
 .../suggest/analyzing/FuzzySuggester.java       |  3 +-
 .../suggest/analyzing/SuggestStopFilter.java    |  3 +-
 .../analyzing/SuggestStopFilterFactory.java     |  3 +-
 .../search/suggest/analyzing/package-info.java  |  1 -
 .../document/Completion50PostingsFormat.java    |  4 +-
 .../suggest/document/CompletionAnalyzer.java    |  3 +-
 .../document/CompletionFieldsConsumer.java      |  3 +-
 .../document/CompletionFieldsProducer.java      |  3 +-
 .../document/CompletionPostingsFormat.java      |  3 +-
 .../suggest/document/CompletionQuery.java       |  3 +-
 .../suggest/document/CompletionScorer.java      |  3 +-
 .../suggest/document/CompletionTerms.java       |  3 +-
 .../suggest/document/CompletionTokenStream.java |  3 +-
 .../suggest/document/CompletionWeight.java      |  3 +-
 .../document/CompletionsTermsReader.java        |  3 +-
 .../search/suggest/document/ContextQuery.java   |  3 +-
 .../suggest/document/ContextSuggestField.java   |  3 +-
 .../suggest/document/FuzzyCompletionQuery.java  |  3 +-
 .../search/suggest/document/NRTSuggester.java   |  3 +-
 .../suggest/document/NRTSuggesterBuilder.java   |  3 +-
 .../suggest/document/PrefixCompletionQuery.java |  3 +-
 .../suggest/document/RegexCompletionQuery.java  |  3 +-
 .../search/suggest/document/SuggestField.java   |  3 +-
 .../suggest/document/SuggestIndexSearcher.java  |  3 +-
 .../document/SuggestScoreDocPriorityQueue.java  |  3 +-
 .../search/suggest/document/TopSuggestDocs.java |  3 +-
 .../document/TopSuggestDocsCollector.java       |  3 +-
 .../search/suggest/document/package-info.java   |  1 -
 .../search/suggest/fst/BytesRefSorter.java      |  3 +-
 .../search/suggest/fst/ExternalRefSorter.java   |  3 +-
 .../search/suggest/fst/FSTCompletion.java       |  3 +-
 .../suggest/fst/FSTCompletionBuilder.java       |  3 +-
 .../search/suggest/fst/FSTCompletionLookup.java |  3 +-
 .../suggest/fst/WFSTCompletionLookup.java       |  3 +-
 .../lucene/search/suggest/fst/package-info.java |  1 -
 .../search/suggest/jaspell/JaspellLookup.java   |  3 +-
 .../jaspell/JaspellTernarySearchTrie.java       |  3 +-
 .../search/suggest/jaspell/package-info.java    |  1 -
 .../lucene/search/suggest/package-info.java     |  1 -
 .../search/suggest/tst/TSTAutocomplete.java     |  3 +-
 .../lucene/search/suggest/tst/TSTLookup.java    |  3 +-
 .../search/suggest/tst/TernaryTreeNode.java     |  7 +-
 .../lucene/search/suggest/tst/package-info.java |  1 -
 .../search/spell/TestDirectSpellChecker.java    |  3 +-
 .../search/spell/TestJaroWinklerDistance.java   |  3 +-
 .../search/spell/TestLevenshteinDistance.java   |  3 +-
 .../search/spell/TestLuceneDictionary.java      |  3 +-
 .../lucene/search/spell/TestNGramDistance.java  |  3 +-
 .../search/spell/TestPlainTextDictionary.java   |  3 +-
 .../lucene/search/spell/TestSpellChecker.java   |  3 +-
 .../search/spell/TestWordBreakSpellChecker.java |  3 +-
 .../apache/lucene/search/suggest/Average.java   |  5 +-
 .../search/suggest/DocumentDictionaryTest.java  | 33 ++++----
 .../DocumentValueSourceDictionaryTest.java      |  3 +-
 .../search/suggest/FileDictionaryTest.java      | 33 ++++----
 .../org/apache/lucene/search/suggest/Input.java |  3 +-
 .../search/suggest/InputArrayIterator.java      |  3 +-
 .../search/suggest/LookupBenchmarkTest.java     |  3 +-
 .../suggest/TestHighFrequencyDictionary.java    | 27 +++---
 .../search/suggest/TestInputIterator.java       | 27 +++---
 .../analyzing/AnalyzingInfixSuggesterTest.java  |  3 +-
 .../analyzing/AnalyzingSuggesterTest.java       |  3 +-
 .../analyzing/BlendedInfixSuggesterTest.java    |  3 +-
 .../suggest/analyzing/FuzzySuggesterTest.java   |  3 +-
 .../analyzing/TestFreeTextSuggester.java        |  3 +-
 .../analyzing/TestSuggestStopFilter.java        |  3 +-
 .../analyzing/TestSuggestStopFilterFactory.java |  3 +-
 .../document/CompletionTokenStreamTest.java     |  3 +-
 .../suggest/document/TestContextQuery.java      |  3 +-
 .../document/TestContextSuggestField.java       |  3 +-
 .../document/TestFuzzyCompletionQuery.java      |  3 +-
 .../document/TestPrefixCompletionQuery.java     |  3 +-
 .../document/TestRegexCompletionQuery.java      |  3 +-
 .../suggest/document/TestSuggestField.java      |  3 +-
 .../search/suggest/fst/BytesRefSortersTest.java |  3 +-
 .../search/suggest/fst/FSTCompletionTest.java   |  3 +-
 .../search/suggest/fst/WFSTCompletionTest.java  |  3 +-
 .../analysis/BaseTokenStreamTestCase.java       |  3 +-
 .../analysis/CannedBinaryTokenStream.java       |  3 +-
 .../lucene/analysis/CannedTokenStream.java      |  3 +-
 .../lucene/analysis/CollationTestBase.java      |  4 +-
 .../lucene/analysis/CrankyTokenFilter.java      |  3 +-
 .../lucene/analysis/LookaheadTokenFilter.java   |  3 +-
 .../apache/lucene/analysis/MockAnalyzer.java    |  3 +-
 .../lucene/analysis/MockBytesAnalyzer.java      |  3 +-
 .../apache/lucene/analysis/MockCharFilter.java  |  3 +-
 .../analysis/MockFixedLengthPayloadFilter.java  |  3 +-
 .../lucene/analysis/MockGraphTokenFilter.java   |  3 +-
 .../analysis/MockHoleInjectingTokenFilter.java  |  4 +-
 .../lucene/analysis/MockPayloadAnalyzer.java    |  4 +-
 .../MockRandomLookaheadTokenFilter.java         |  3 +-
 .../lucene/analysis/MockReaderWrapper.java      |  3 +-
 .../apache/lucene/analysis/MockTokenFilter.java |  3 +-
 .../apache/lucene/analysis/MockTokenizer.java   |  3 +-
 .../analysis/MockUTF16TermAttributeImpl.java    |  3 +-
 .../MockVariableLengthPayloadFilter.java        |  3 +-
 .../lucene/analysis/SimplePayloadFilter.java    |  3 +-
 .../lucene/analysis/TokenStreamToDot.java       |  3 +-
 .../lucene/analysis/ValidatingTokenFilter.java  |  3 +-
 .../lucene/analysis/VocabularyAssert.java       |  3 +-
 .../lucene/codecs/MissingOrdRemapper.java       | 11 ++-
 .../lucene/codecs/asserting/AssertingCodec.java |  3 +-
 .../asserting/AssertingDocValuesFormat.java     |  3 +-
 .../asserting/AssertingLiveDocsFormat.java      |  3 +-
 .../codecs/asserting/AssertingNormsFormat.java  |  3 +-
 .../codecs/asserting/AssertingPointFormat.java  |  3 +-
 .../asserting/AssertingPostingsFormat.java      |  3 +-
 .../asserting/AssertingStoredFieldsFormat.java  |  3 +-
 .../asserting/AssertingTermVectorsFormat.java   |  3 +-
 .../lucene/codecs/asserting/package-info.java   |  1 -
 .../codecs/blockterms/LuceneFixedGap.java       |  3 +-
 .../blockterms/LuceneVarGapDocFreqInterval.java |  3 +-
 .../blockterms/LuceneVarGapFixedInterval.java   |  3 +-
 .../bloom/TestBloomFilteredLucenePostings.java  |  3 +-
 .../codecs/cheapbastard/CheapBastardCodec.java  |  3 +-
 .../codecs/cheapbastard/package-info.java       |  1 -
 .../codecs/compressing/CompressingCodec.java    |  3 +-
 .../compressing/FastCompressingCodec.java       |  3 +-
 .../FastDecompressionCompressingCodec.java      |  3 +-
 .../HighCompressionCompressingCodec.java        |  3 +-
 .../dummy/DummyCompressingCodec.java            |  3 +-
 .../codecs/compressing/dummy/package-info.java  |  1 -
 .../lucene/codecs/cranky/CrankyCodec.java       |  3 +-
 .../codecs/cranky/CrankyCompoundFormat.java     |  3 +-
 .../codecs/cranky/CrankyDocValuesFormat.java    |  3 +-
 .../codecs/cranky/CrankyFieldInfosFormat.java   |  3 +-
 .../codecs/cranky/CrankyLiveDocsFormat.java     |  3 +-
 .../lucene/codecs/cranky/CrankyNormsFormat.java |  3 +-
 .../lucene/codecs/cranky/CrankyPointFormat.java |  3 +-
 .../codecs/cranky/CrankyPostingsFormat.java     |  3 +-
 .../codecs/cranky/CrankySegmentInfoFormat.java  |  3 +-
 .../codecs/cranky/CrankyStoredFieldsFormat.java |  3 +-
 .../codecs/cranky/CrankyTermVectorsFormat.java  |  3 +-
 .../lucene/codecs/cranky/package-info.java      |  1 -
 .../mockrandom/MockRandomPostingsFormat.java    |  3 +-
 .../lucene/codecs/mockrandom/package-info.java  |  1 -
 .../codecs/ramonly/RAMOnlyPostingsFormat.java   |  3 +-
 .../lucene/codecs/ramonly/package-info.java     |  1 -
 .../lucene/index/AlcoholicMergePolicy.java      |  3 +-
 .../lucene/index/AllDeletedFilterReader.java    |  7 +-
 .../lucene/index/AssertingDirectoryReader.java  |  3 +-
 .../lucene/index/AssertingLeafReader.java       | 21 +++--
 .../index/BaseCompoundFormatTestCase.java       |  3 +-
 .../BaseCompressingDocValuesFormatTestCase.java |  3 +-
 .../index/BaseDocValuesFormatTestCase.java      |  3 +-
 .../index/BaseFieldInfoFormatTestCase.java      |  3 +-
 .../index/BaseIndexFileFormatTestCase.java      |  3 +-
 .../lucene/index/BaseMergePolicyTestCase.java   |  3 +-
 .../lucene/index/BaseNormsFormatTestCase.java   |  3 +-
 .../lucene/index/BasePointFormatTestCase.java   |  3 +-
 .../index/BasePostingsFormatTestCase.java       |  3 +-
 .../index/BaseSegmentInfoFormatTestCase.java    |  3 +-
 .../index/BaseStoredFieldsFormatTestCase.java   |  3 +-
 .../index/BaseTermVectorsFormatTestCase.java    |  3 +-
 .../apache/lucene/index/BaseTestCheckIndex.java |  4 +-
 .../java/org/apache/lucene/index/DocHelper.java |  3 +-
 .../lucene/index/FieldFilterLeafReader.java     |  3 +-
 .../apache/lucene/index/ForceMergePolicy.java   |  3 +-
 .../lucene/index/IndexWriterMaxDocsChanger.java |  7 +-
 .../lucene/index/MismatchedDirectoryReader.java |  3 +-
 .../lucene/index/MismatchedLeafReader.java      |  3 +-
 .../lucene/index/MockRandomMergePolicy.java     |  3 +-
 .../apache/lucene/index/PerThreadPKLookup.java  |  3 +-
 .../org/apache/lucene/index/RandomCodec.java    |  3 +-
 .../apache/lucene/index/RandomIndexWriter.java  |  3 +-
 .../lucene/index/RandomPostingsTester.java      |  3 +-
 .../SuppressingConcurrentMergeScheduler.java    |  7 +-
 .../ThreadedIndexingAndSearchingTestCase.java   |  3 +-
 .../apache/lucene/mockfile/DisableFsyncFS.java  | 23 +++--
 .../org/apache/lucene/mockfile/ExtrasFS.java    |  3 +-
 .../mockfile/FilterAsynchronousFileChannel.java |  3 +-
 .../lucene/mockfile/FilterDirectoryStream.java  |  3 +-
 .../lucene/mockfile/FilterFileChannel.java      |  3 +-
 .../apache/lucene/mockfile/FilterFileStore.java |  3 +-
 .../lucene/mockfile/FilterFileSystem.java       |  3 +-
 .../mockfile/FilterFileSystemProvider.java      |  3 +-
 .../lucene/mockfile/FilterInputStream2.java     |  3 +-
 .../lucene/mockfile/FilterOutputStream2.java    |  3 +-
 .../org/apache/lucene/mockfile/FilterPath.java  |  3 +-
 .../mockfile/FilterSeekableByteChannel.java     |  3 +-
 .../apache/lucene/mockfile/HandleLimitFS.java   |  3 +-
 .../lucene/mockfile/HandleTrackingFS.java       |  3 +-
 .../java/org/apache/lucene/mockfile/LeakFS.java |  3 +-
 .../lucene/mockfile/MockFileSystemTestCase.java |  3 +-
 .../org/apache/lucene/mockfile/ShuffleFS.java   |  3 +-
 .../org/apache/lucene/mockfile/VerboseFS.java   |  3 +-
 .../org/apache/lucene/mockfile/WindowsFS.java   |  3 +-
 .../apache/lucene/mockfile/package-info.java    |  1 -
 .../lucene/search/AssertingBulkScorer.java      |  3 +-
 .../lucene/search/AssertingCollector.java       |  3 +-
 .../lucene/search/AssertingIndexSearcher.java   |  3 +-
 .../lucene/search/AssertingLeafCollector.java   |  3 +-
 .../apache/lucene/search/AssertingQuery.java    |  3 +-
 .../apache/lucene/search/AssertingScorer.java   |  3 +-
 .../apache/lucene/search/AssertingWeight.java   |  3 +-
 .../lucene/search/BaseExplanationTestCase.java  |  3 +-
 .../lucene/search/BulkScorerWrapperScorer.java  |  3 +-
 .../org/apache/lucene/search/CheckHits.java     |  3 +-
 .../org/apache/lucene/search/QueryUtils.java    |  3 +-
 .../lucene/search/RandomApproximationQuery.java |  3 +-
 .../lucene/search/ScorerIndexSearcher.java      |  3 +-
 .../search/SearchEquivalenceTestBase.java       |  3 +-
 .../lucene/search/ShardSearchingTestBase.java   |  3 +-
 .../search/similarities/RandomSimilarity.java   |  3 +-
 .../lucene/search/spans/AssertingSpanQuery.java |  3 +-
 .../search/spans/AssertingSpanWeight.java       |  3 +-
 .../lucene/search/spans/AssertingSpans.java     |  3 +-
 .../lucene/search/spans/MultiSpansWrapper.java  |  3 +-
 .../lucene/search/spans/SpanTestUtil.java       |  3 +-
 .../lucene/store/BaseDirectoryTestCase.java     |  3 +-
 .../lucene/store/BaseDirectoryWrapper.java      |  3 +-
 .../lucene/store/BaseLockFactoryTestCase.java   |  3 +-
 .../lucene/store/MockDirectoryWrapper.java      |  3 +-
 .../lucene/store/MockIndexInputWrapper.java     | 13 ++-
 .../lucene/store/MockIndexOutputWrapper.java    |  3 +-
 .../lucene/store/RawDirectoryWrapper.java       |  3 +-
 .../store/SlowClosingMockIndexInputWrapper.java |  3 +-
 .../store/SlowOpeningMockIndexInputWrapper.java |  3 +-
 .../lucene/util/AbstractBeforeAfterRule.java    | 23 +++--
 .../apache/lucene/util/BaseBitSetTestCase.java  |  3 +-
 .../lucene/util/BaseDocIdSetTestCase.java       |  3 +-
 .../apache/lucene/util/CloseableDirectory.java  | 15 ++--
 .../java/org/apache/lucene/util/English.java    |  9 +-
 .../util/FailOnNonBulkMergesInfoStream.java     |  3 +-
 .../org/apache/lucene/util/FailureMarker.java   | 13 ++-
 .../org/apache/lucene/util/LineFileDocs.java    |  3 +-
 .../lucene/util/LuceneJUnit3MethodProvider.java |  3 +-
 .../org/apache/lucene/util/LuceneTestCase.java  |  3 +-
 .../org/apache/lucene/util/NullInfoStream.java  |  3 +-
 .../lucene/util/QuickPatchThreadsFilter.java    |  7 +-
 .../org/apache/lucene/util/RamUsageTester.java  |  3 +-
 .../org/apache/lucene/util/RemoveUponClose.java | 19 ++---
 .../java/org/apache/lucene/util/Rethrow.java    |  3 +-
 .../util/RunListenerPrintReproduceInfo.java     | 33 ++++----
 .../lucene/util/TestRuleAssertionsRequired.java |  3 +-
 .../apache/lucene/util/TestRuleDelegate.java    | 15 ++--
 .../util/TestRuleIgnoreAfterMaxFailures.java    | 21 +++--
 .../lucene/util/TestRuleIgnoreTestSuites.java   | 11 ++-
 .../lucene/util/TestRuleLimitSysouts.java       | 33 ++++----
 .../apache/lucene/util/TestRuleMarkFailure.java | 19 ++---
 .../util/TestRuleRestoreSystemProperties.java   | 17 ++--
 .../util/TestRuleSetupAndRestoreClassEnv.java   |  3 +-
 .../TestRuleSetupAndRestoreInstanceEnv.java     |  7 +-
 .../util/TestRuleSetupTeardownChained.java      | 13 ++-
 .../lucene/util/TestRuleStoreClassName.java     |  3 +-
 .../util/TestRuleTemporaryFilesCleanup.java     |  3 +-
 .../lucene/util/TestRuleThreadAndTestName.java  | 11 ++-
 .../apache/lucene/util/TestSecurityManager.java |  9 +-
 .../java/org/apache/lucene/util/TestUtil.java   |  3 +-
 .../lucene/util/ThrottledIndexOutput.java       |  9 +-
 .../java/org/apache/lucene/util/TimeUnits.java  |  3 +-
 .../util/automaton/AutomatonTestUtil.java       |  3 +-
 .../org/apache/lucene/util/fst/FSTTester.java   |  9 +-
 .../lucene/analysis/TestGraphTokenizers.java    |  3 +-
 .../analysis/TestLookaheadTokenFilter.java      |  3 +-
 .../lucene/analysis/TestMockAnalyzer.java       |  3 +-
 .../lucene/analysis/TestMockCharFilter.java     |  9 +-
 .../apache/lucene/analysis/TestPosition.java    |  5 +-
 .../lucene/analysis/TrivialLookaheadFilter.java |  3 +-
 .../asserting/TestAssertingDocValuesFormat.java |  3 +-
 .../asserting/TestAssertingNormsFormat.java     |  3 +-
 .../asserting/TestAssertingPointFormat.java     |  3 +-
 .../asserting/TestAssertingPostingsFormat.java  |  3 +-
 .../TestAssertingStoredFieldsFormat.java        |  3 +-
 .../TestAssertingTermVectorsFormat.java         |  3 +-
 .../TestCompressingStoredFieldsFormat.java      |  3 +-
 .../TestCompressingTermVectorsFormat.java       | 33 ++++----
 .../lucene/index/TestAssertingLeafReader.java   |  3 +-
 .../lucene/index/TestForceMergePolicy.java      |  3 +-
 .../lucene/mockfile/TestDisableFsyncFS.java     |  3 +-
 .../apache/lucene/mockfile/TestExtrasFS.java    |  3 +-
 .../lucene/mockfile/TestHandleLimitFS.java      |  3 +-
 .../lucene/mockfile/TestHandleTrackingFS.java   |  3 +-
 .../org/apache/lucene/mockfile/TestLeakFS.java  |  3 +-
 .../apache/lucene/mockfile/TestShuffleFS.java   |  3 +-
 .../apache/lucene/mockfile/TestVerboseFS.java   |  3 +-
 .../apache/lucene/mockfile/TestWindowsFS.java   |  3 +-
 .../lucene/store/TestMockDirectoryWrapper.java  |  3 +-
 .../test/org/apache/lucene/util/SorePoint.java  |  3 +-
 .../test/org/apache/lucene/util/SoreType.java   |  3 +-
 .../lucene/util/TestBeforeAfterOverrides.java   | 17 ++--
 .../apache/lucene/util/TestCodecReported.java   | 15 ++--
 .../util/TestExceptionInBeforeClassHooks.java   |  3 +-
 .../util/TestFailIfDirectoryNotClosed.java      |  3 +-
 .../util/TestFailIfUnreferencedFiles.java       |  3 +-
 .../apache/lucene/util/TestGroupFiltering.java  | 21 +++--
 .../apache/lucene/util/TestJUnitRuleOrder.java  |  3 +-
 .../apache/lucene/util/TestMaxFailuresRule.java |  3 +-
 .../util/TestRamUsageTesterOnWildAnimals.java   |  3 +-
 .../lucene/util/TestReproduceMessage.java       |  3 +-
 .../util/TestReproduceMessageWithRepeated.java  |  3 +-
 .../util/TestRunWithRestrictedPermissions.java  |  3 +-
 .../lucene/util/TestSeedFromUncaught.java       |  3 +-
 .../lucene/util/TestSetupTeardownChaining.java  |  3 +-
 .../lucene/util/TestWorstCaseTestBehavior.java  | 15 ++--
 .../org/apache/lucene/util/WithNestedTests.java |  3 +-
 .../dependencies/GetMavenDependenciesTask.java  |  3 +-
 .../dependencies/InterpolatedProperties.java    |  3 +-
 .../lucene/validation/LibVersionsCheckTask.java |  3 +-
 .../lucene/validation/LicenseCheckTask.java     |  3 +-
 .../apache/lucene/validation/LicenseType.java   |  5 +-
 .../lucene/validation/ivyde/IvyNodeElement.java | 28 +++---
 .../validation/ivyde/IvyNodeElementAdapter.java | 28 +++---
 .../apache/solr/schema/ICUCollationField.java   |  3 +-
 .../TestFoldingMultitermExtrasQuery.java        |  3 +-
 .../solr/schema/TestICUCollationField.java      |  1 -
 .../schema/TestICUCollationFieldDocValues.java  |  1 -
 .../schema/TestICUCollationFieldOptions.java    |  3 +-
 .../analytics/accumulator/BasicAccumulator.java |  1 -
 .../accumulator/FacetingAccumulator.java        |  1 -
 .../analytics/accumulator/ValueAccumulator.java |  1 -
 .../facet/FacetValueAccumulator.java            |  1 -
 .../facet/FieldFacetAccumulator.java            |  1 -
 .../facet/QueryFacetAccumulator.java            |  1 -
 .../facet/RangeFacetAccumulator.java            |  1 -
 .../accumulator/facet/package-info.java         |  1 -
 .../analytics/accumulator/package-info.java     |  1 -
 .../analytics/expression/BaseExpression.java    |  1 -
 .../expression/DualDelegateExpression.java      |  1 -
 .../solr/analytics/expression/Expression.java   |  1 -
 .../analytics/expression/ExpressionFactory.java |  1 -
 .../expression/MultiDelegateExpression.java     |  1 -
 .../expression/SingleDelegateExpression.java    |  1 -
 .../solr/analytics/expression/package-info.java |  1 -
 .../plugin/AnalyticsStatisticsCollector.java    |  1 -
 .../solr/analytics/plugin/package-info.java     |  1 -
 .../request/AbstractFieldFacetRequest.java      |  1 -
 .../request/AnalyticsContentHandler.java        |  1 -
 .../analytics/request/AnalyticsRequest.java     |  1 -
 .../request/AnalyticsRequestFactory.java        |  1 -
 .../solr/analytics/request/AnalyticsStats.java  |  1 -
 .../analytics/request/ExpressionRequest.java    |  1 -
 .../solr/analytics/request/FacetRequest.java    |  1 -
 .../analytics/request/FieldFacetRequest.java    |  1 -
 .../analytics/request/QueryFacetRequest.java    |  1 -
 .../analytics/request/RangeFacetRequest.java    |  1 -
 .../solr/analytics/request/package-info.java    |  1 -
 .../AbstractDelegatingStatsCollector.java       |  1 -
 .../statistics/MedianStatsCollector.java        |  1 -
 .../statistics/MinMaxStatsCollector.java        |  1 -
 .../statistics/NumericStatsCollector.java       |  1 -
 .../statistics/PercentileStatsCollector.java    |  1 -
 .../analytics/statistics/StatsCollector.java    |  1 -
 .../StatsCollectorSupplierFactory.java          |  1 -
 .../statistics/UniqueStatsCollector.java        |  1 -
 .../solr/analytics/statistics/package-info.java |  1 -
 .../solr/analytics/util/AnalyticsParams.java    |  1 -
 .../solr/analytics/util/AnalyticsParsers.java   |  1 -
 .../solr/analytics/util/MedianCalculator.java   |  1 -
 .../analytics/util/PercentileCalculator.java    |  1 -
 .../analytics/util/RangeEndpointCalculator.java |  1 -
 .../solr/analytics/util/package-info.java       |  1 -
 .../AbsoluteValueDoubleFunction.java            |  1 -
 .../util/valuesource/AddDoubleFunction.java     |  1 -
 .../util/valuesource/ConcatStringFunction.java  |  1 -
 .../util/valuesource/ConstDateSource.java       |  1 -
 .../util/valuesource/ConstDoubleSource.java     |  1 -
 .../util/valuesource/ConstStringSource.java     |  1 -
 .../util/valuesource/DateFieldSource.java       |  1 -
 .../util/valuesource/DateMathFunction.java      |  1 -
 .../util/valuesource/DivDoubleFunction.java     |  1 -
 .../util/valuesource/DualDoubleFunction.java    |  1 -
 .../util/valuesource/FilterFieldSource.java     |  1 -
 .../util/valuesource/LogDoubleFunction.java     |  1 -
 .../util/valuesource/MultiDateFunction.java     |  1 -
 .../util/valuesource/MultiDoubleFunction.java   |  1 -
 .../util/valuesource/MultiStringFunction.java   |  1 -
 .../valuesource/MultiplyDoubleFunction.java     |  1 -
 .../util/valuesource/NegateDoubleFunction.java  |  1 -
 .../util/valuesource/PowDoubleFunction.java     |  1 -
 .../util/valuesource/ReverseStringFunction.java |  1 -
 .../util/valuesource/SingleDoubleFunction.java  |  1 -
 .../util/valuesource/SingleStringFunction.java  |  1 -
 .../util/valuesource/package-info.java          |  1 -
 .../handler/component/AnalyticsComponent.java   |  1 -
 .../analytics/AbstractAnalyticsStatsTest.java   |  1 -
 .../org/apache/solr/analytics/NoFacetTest.java  |  1 -
 .../analytics/expression/ExpressionTest.java    |  1 -
 .../facet/AbstractAnalyticsFacetTest.java       |  1 -
 .../analytics/facet/FieldFacetExtrasTest.java   |  1 -
 .../solr/analytics/facet/FieldFacetTest.java    |  1 -
 .../solr/analytics/facet/QueryFacetTest.java    |  1 -
 .../solr/analytics/facet/RangeFacetTest.java    |  1 -
 .../util/valuesource/FunctionTest.java          |  1 -
 .../handler/clustering/ClusteringComponent.java |  3 +-
 .../handler/clustering/ClusteringEngine.java    |  2 +-
 .../handler/clustering/ClusteringParams.java    |  3 +-
 .../clustering/DocumentClusteringEngine.java    |  3 +-
 .../clustering/SearchClusteringEngine.java      |  3 +-
 .../carrot2/CarrotClusteringEngine.java         |  3 +-
 .../clustering/carrot2/CarrotParams.java        | 10 +--
 .../carrot2/LuceneCarrot2StemmerFactory.java    |  7 +-
 .../carrot2/LuceneCarrot2TokenizerFactory.java  |  3 +-
 .../clustering/carrot2/SolrResourceLocator.java |  1 -
 .../SolrStopwordsCarrot2LexicalDataFactory.java |  3 +-
 .../clustering/carrot2/package-info.java        |  1 -
 .../solr/handler/clustering/package-info.java   |  1 -
 .../clustering/AbstractClusteringTestCase.java  |  3 +-
 .../clustering/ClusteringComponentTest.java     |  3 +-
 .../DistributedClusteringComponentTest.java     |  3 +-
 .../MockDocumentClusteringEngine.java           |  2 +-
 .../carrot2/CarrotClusteringEngineTest.java     |  3 +-
 .../carrot2/DuplicatingStemmerFactory.java      |  3 +-
 .../carrot2/DuplicatingTokenizerFactory.java    |  3 +-
 .../carrot2/EchoClusteringAlgorithm.java        |  2 +-
 .../carrot2/EchoStemsClusteringAlgorithm.java   |  4 +-
 .../carrot2/EchoTokensClusteringAlgorithm.java  |  4 +-
 ...exicalResourcesCheckClusteringAlgorithm.java |  4 +-
 .../carrot2/MockClusteringAlgorithm.java        |  2 +-
 .../handler/dataimport/CachePropertyUtil.java   |  3 +-
 .../apache/solr/handler/dataimport/Context.java |  1 -
 .../solr/handler/dataimport/ContextImpl.java    |  4 +-
 .../solr/handler/dataimport/DIHCache.java       |  3 +-
 .../handler/dataimport/DIHCacheSupport.java     |  3 +-
 .../solr/handler/dataimport/DIHLogLevels.java   |  3 +-
 .../solr/handler/dataimport/DIHProperties.java  |  5 +-
 .../solr/handler/dataimport/DIHWriter.java      |  2 +-
 .../solr/handler/dataimport/DIHWriterBase.java  |  3 +-
 .../dataimport/DataImportHandlerException.java  |  1 -
 .../solr/handler/dataimport/DataImporter.java   |  1 -
 .../solr/handler/dataimport/DataSource.java     |  1 -
 .../handler/dataimport/DateFormatEvaluator.java | 33 ++++----
 .../dataimport/DateFormatTransformer.java       |  1 -
 .../solr/handler/dataimport/DebugLogger.java    |  3 +-
 .../solr/handler/dataimport/DocBuilder.java     |  1 -
 .../dataimport/NumberFormatTransformer.java     |  3 +-
 .../dataimport/SimplePropertiesWriter.java      |  3 +-
 .../handler/dataimport/SolrEntityProcessor.java |  3 +-
 .../dataimport/SolrQueryEscapingEvaluator.java  | 15 ++--
 .../dataimport/SortedMapBackedCache.java        |  3 +-
 .../dataimport/SqlEscapingEvaluator.java        | 11 ++-
 .../solr/handler/dataimport/UrlEvaluator.java   | 17 ++--
 .../apache/solr/handler/dataimport/Zipper.java  | 27 +++---
 .../dataimport/config/DIHConfiguration.java     | 33 ++++----
 .../solr/handler/dataimport/config/Entity.java  | 26 +++---
 .../handler/dataimport/config/EntityField.java  |  1 -
 .../solr/handler/dataimport/config/Field.java   |  1 -
 .../dataimport/config/PropertyWriter.java       |  9 +-
 .../solr/handler/dataimport/config/Script.java  | 25 +++---
 .../handler/dataimport/config/package-info.java |  1 -
 .../solr/handler/dataimport/package-info.java   |  1 -
 .../dataimport/AbstractDIHCacheTestCase.java    |  3 +-
 .../dataimport/AbstractDIHJdbcTestCase.java     | 30 +++----
 .../AbstractSqlEntityProcessorTestCase.java     | 33 ++++----
 .../dataimport/AddAColumnTransformer.java       |  7 +-
 .../handler/dataimport/DestroyCountCache.java   |  3 +-
 .../dataimport/MockSolrEntityProcessor.java     |  3 +-
 .../handler/dataimport/TestEphemeralCache.java  |  3 +-
 .../handler/dataimport/TestErrorHandling.java   |  3 +-
 .../dataimport/TestFileListEntityProcessor.java |  3 +-
 .../TestFileListWithLineEntityProcessor.java    | 19 ++---
 .../dataimport/TestHierarchicalDocBuilder.java  |  3 +-
 .../TestJdbcDataSourceConvertType.java          |  3 +-
 .../dataimport/TestLineEntityProcessor.java     |  3 +-
 .../handler/dataimport/TestNestedChildren.java  | 15 ++--
 .../dataimport/TestSimplePropertiesWriter.java  | 33 ++++----
 .../TestSolrEntityProcessorEndToEnd.java        |  3 +-
 .../dataimport/TestSolrEntityProcessorUnit.java |  2 +-
 .../dataimport/TestSortedMapBackedCache.java    |  7 +-
 .../dataimport/TestSqlEntityProcessor.java      |  9 +-
 .../dataimport/TestSqlEntityProcessorDelta.java | 21 +++--
 .../TestVariableResolverEndToEnd.java           | 31 ++++---
 .../dataimport/TestXPathRecordReader.java       |  2 +-
 .../dataimport/TestZKPropertiesWriter.java      |  7 +-
 .../dataimport/TripleThreatTransformer.java     | 16 ++--
 .../handler/extraction/ParseContextConfig.java  |  3 +-
 .../extraction/RegexRulesPasswordProvider.java  |  1 -
 .../handler/extraction/SolrContentHandler.java  |  1 -
 .../solr/handler/extraction/package-info.java   |  1 -
 .../ExtractingRequestHandlerTest.java           |  3 +-
 .../extraction/ParseContextConfigTest.java      |  3 +-
 .../solr/update/processor/DetectedLanguage.java |  3 +-
 ...DetectLanguageIdentifierUpdateProcessor.java |  3 +-
 ...anguageIdentifierUpdateProcessorFactory.java |  3 +-
 .../solr/update/processor/LangIdParams.java     |  3 +-
 .../LanguageIdentifierUpdateProcessor.java      |  3 +-
 .../TikaLanguageIdentifierUpdateProcessor.java  |  3 +-
 ...anguageIdentifierUpdateProcessorFactory.java |  3 +-
 ...ageIdentifierUpdateProcessorFactoryTest.java |  3 +-
 ...dentifierUpdateProcessorFactoryTestCase.java |  1 -
 ...ageIdentifierUpdateProcessorFactoryTest.java |  3 +-
 .../solr/hadoop/AlphaNumericComparator.java     |  1 -
 .../solr/hadoop/DataInputInputStream.java       |  1 -
 .../hadoop/UnbufferedDataInputInputStream.java  |  1 -
 .../apache/solr/hadoop/ZooKeeperInspector.java  |  1 -
 .../apache/solr/hadoop/dedup/package-info.java  |  1 -
 .../solr/hadoop/morphline/package-info.java     |  1 -
 .../org/apache/solr/hadoop/package-info.java    |  1 -
 .../solr/hadoop/MorphlineGoLiveMiniMRTest.java  |  1 -
 .../solr/morphlines/cell/package-info.java      |  1 -
 .../solr/morphlines/solr/package-info.java      |  1 -
 .../solr/AbstractSolrMorphlineZkTestBase.java   |  1 -
 .../uima/processor/FieldMappingException.java   |  3 +-
 .../uima/processor/SolrUIMAConfiguration.java   |  3 +-
 .../processor/SolrUIMAConfigurationReader.java  |  3 +-
 .../solr/uima/processor/UIMAToSolrMapper.java   |  3 +-
 .../processor/UIMAUpdateRequestProcessor.java   |  3 +-
 .../UIMAUpdateRequestProcessorFactory.java      |  3 +-
 .../solr/uima/processor/package-info.java       |  1 -
 .../UIMATokenizersSolrIntegrationTest.java      |  3 +-
 .../UIMAUpdateRequestProcessorTest.java         |  3 +-
 .../uima/processor/an/DummyEntityAnnotator.java | 17 ++--
 .../processor/an/DummyExceptionAnnotator.java   | 11 ++-
 .../processor/an/DummySentimentAnnotator.java   | 21 +++--
 .../java/org/apache/solr/response/PageTool.java |  1 -
 .../solr/response/SolrParamResourceLoader.java  |  1 -
 .../solr/response/SolrVelocityLogger.java       |  3 +-
 .../solr/response/VelocityResponseWriter.java   |  1 -
 .../test/org/apache/solr/velocity/MockTool.java |  3 +-
 .../velocity/VelocityResponseWriterTest.java    |  1 -
 .../solr/analysis/ReversedWildcardFilter.java   |  3 +-
 .../analysis/ReversedWildcardFilterFactory.java |  3 +-
 .../org/apache/solr/analysis/SolrAnalyzer.java  |  1 -
 .../apache/solr/analysis/TokenizerChain.java    |  1 -
 .../org/apache/solr/analysis/package-info.java  |  1 -
 .../solrj/embedded/EmbeddedSolrServer.java      |  1 -
 .../solr/client/solrj/embedded/JettyConfig.java |  1 -
 .../client/solrj/embedded/JettySolrRunner.java  |  1 -
 .../solr/client/solrj/embedded/SSLConfig.java   |  3 +-
 .../client/solrj/embedded/package-info.java     |  1 -
 .../org/apache/solr/cloud/ActionThrottle.java   |  7 +-
 .../src/java/org/apache/solr/cloud/Assign.java  | 27 +++---
 .../solr/cloud/CloudConfigSetService.java       |  1 -
 .../org/apache/solr/cloud/CloudDescriptor.java  |  3 +-
 .../java/org/apache/solr/cloud/CloudUtil.java   |  3 +-
 .../cloud/CurrentCoreDescriptorProvider.java    |  3 +-
 .../org/apache/solr/cloud/DistributedMap.java   |  3 +-
 .../org/apache/solr/cloud/DistributedQueue.java |  4 +-
 .../org/apache/solr/cloud/ElectionContext.java  |  3 +-
 .../org/apache/solr/cloud/LeaderElector.java    |  3 +-
 .../cloud/LeaderInitiatedRecoveryThread.java    | 33 ++++----
 .../java/org/apache/solr/cloud/Overseer.java    | 27 +++---
 .../OverseerAutoReplicaFailoverThread.java      |  3 +-
 .../OverseerCollectionConfigSetProcessor.java   |  3 +-
 .../cloud/OverseerCollectionMessageHandler.java |  3 +-
 .../cloud/OverseerConfigSetMessageHandler.java  |  3 +-
 .../solr/cloud/OverseerMessageHandler.java      |  3 +-
 .../solr/cloud/OverseerNodePrioritizer.java     |  7 +-
 .../apache/solr/cloud/OverseerSolrResponse.java |  3 +-
 .../solr/cloud/OverseerTaskProcessor.java       |  3 +-
 .../apache/solr/cloud/OverseerTaskQueue.java    |  7 +-
 .../org/apache/solr/cloud/RecoveryStrategy.java |  3 +-
 .../solr/cloud/SizeLimitedDistributedMap.java   |  3 +-
 .../org/apache/solr/cloud/SolrZkServer.java     | 27 +++---
 .../org/apache/solr/cloud/SyncStrategy.java     | 15 ++--
 .../src/java/org/apache/solr/cloud/ZkCLI.java   | 33 ++++----
 .../org/apache/solr/cloud/ZkController.java     |  3 +-
 .../apache/solr/cloud/ZkSolrResourceLoader.java |  3 +-
 .../cloud/overseer/ClusterStateMutator.java     |  7 +-
 .../solr/cloud/overseer/CollectionMutator.java  |  7 +-
 .../solr/cloud/overseer/OverseerAction.java     |  3 +-
 .../solr/cloud/overseer/ReplicaMutator.java     |  7 +-
 .../solr/cloud/overseer/SliceMutator.java       |  7 +-
 .../solr/cloud/overseer/ZkStateWriter.java      |  3 +-
 .../solr/cloud/overseer/ZkWriteCommand.java     |  3 +-
 .../solr/cloud/overseer/package-info.java       |  1 -
 .../org/apache/solr/cloud/package-info.java     |  1 -
 .../apache/solr/cloud/rule/ImplicitSnitch.java  |  4 +-
 .../apache/solr/cloud/rule/RemoteCallback.java  |  3 +-
 .../apache/solr/cloud/rule/ReplicaAssigner.java |  7 +-
 .../java/org/apache/solr/cloud/rule/Rule.java   |  4 +-
 .../java/org/apache/solr/cloud/rule/Snitch.java |  3 +-
 .../apache/solr/cloud/rule/SnitchContext.java   |  3 +-
 .../apache/solr/cloud/rule/package-info.java    |  1 -
 .../solr/core/AbstractSolrEventListener.java    |  1 -
 .../solr/core/CachingDirectoryFactory.java      |  3 +-
 .../java/org/apache/solr/core/CloseHook.java    |  4 +-
 .../java/org/apache/solr/core/CloudConfig.java  |  3 +-
 .../java/org/apache/solr/core/CodecFactory.java |  3 +-
 .../src/java/org/apache/solr/core/Config.java   |  1 -
 .../org/apache/solr/core/ConfigOverlay.java     |  3 +-
 .../java/org/apache/solr/core/ConfigSet.java    |  1 -
 .../apache/solr/core/ConfigSetProperties.java   |  1 -
 .../org/apache/solr/core/ConfigSetService.java  |  1 -
 .../org/apache/solr/core/CoreContainer.java     |  1 -
 .../org/apache/solr/core/CoreDescriptor.java    |  1 -
 .../apache/solr/core/CorePropertiesLocator.java |  3 +-
 .../java/org/apache/solr/core/CoresLocator.java |  3 +-
 .../java/org/apache/solr/core/Diagnostics.java  |  4 +-
 .../org/apache/solr/core/DirectoryFactory.java  |  3 +-
 .../solr/core/EphemeralDirectoryFactory.java    |  3 +-
 .../apache/solr/core/HdfsDirectoryFactory.java  |  3 +-
 .../org/apache/solr/core/ImplicitPlugins.java   |  4 +-
 .../solr/core/IndexDeletionPolicyWrapper.java   |  3 +-
 .../apache/solr/core/IndexReaderFactory.java    |  3 +-
 .../java/org/apache/solr/core/InitParams.java   |  3 +-
 .../org/apache/solr/core/JarRepository.java     |  3 +-
 .../apache/solr/core/MMapDirectoryFactory.java  |  4 +-
 .../org/apache/solr/core/MapSerializable.java   |  4 +-
 .../org/apache/solr/core/MemClassLoader.java    |  3 +-
 .../apache/solr/core/NIOFSDirectoryFactory.java |  3 +-
 .../solr/core/NRTCachingDirectoryFactory.java   |  1 -
 .../java/org/apache/solr/core/NodeConfig.java   |  3 +-
 .../java/org/apache/solr/core/PluginBag.java    |  4 +-
 .../apache/solr/core/QuerySenderListener.java   |  1 -
 .../apache/solr/core/RAMDirectoryFactory.java   |  1 -
 .../org/apache/solr/core/RequestHandlers.java   |  1 -
 .../org/apache/solr/core/RequestParams.java     |  3 +-
 .../apache/solr/core/RunExecutableListener.java |  1 -
 .../apache/solr/core/SchemaCodecFactory.java    | 33 ++++----
 .../solr/core/SimpleFSDirectoryFactory.java     |  3 +-
 .../java/org/apache/solr/core/SolrConfig.java   |  1 -
 .../src/java/org/apache/solr/core/SolrCore.java |  1 -
 .../java/org/apache/solr/core/SolrCores.java    |  3 +-
 .../apache/solr/core/SolrDeletionPolicy.java    |  3 +-
 .../org/apache/solr/core/SolrEventListener.java |  1 -
 .../org/apache/solr/core/SolrInfoMBean.java     |  1 -
 .../apache/solr/core/SolrResourceLoader.java    |  1 -
 .../core/SolrResourceNotFoundException.java     |  1 -
 .../org/apache/solr/core/SolrXmlConfig.java     |  3 +-
 .../solr/core/StandardDirectoryFactory.java     |  3 +-
 .../solr/core/StandardIndexReaderFactory.java   |  3 +-
 .../java/org/apache/solr/core/ZkContainer.java  |  3 +-
 .../java/org/apache/solr/core/package-info.java |  1 -
 .../handler/AnalysisRequestHandlerBase.java     |  1 -
 .../org/apache/solr/handler/BlobHandler.java    |  3 +-
 .../apache/solr/handler/CdcrBufferManager.java  |  3 +-
 .../solr/handler/CdcrBufferStateManager.java    |  3 +-
 .../solr/handler/CdcrLeaderStateManager.java    |  7 +-
 .../org/apache/solr/handler/CdcrParams.java     |  3 +-
 .../solr/handler/CdcrProcessStateManager.java   |  7 +-
 .../org/apache/solr/handler/CdcrReplicator.java |  3 +-
 .../solr/handler/CdcrReplicatorManager.java     |  3 +-
 .../solr/handler/CdcrReplicatorScheduler.java   |  3 +-
 .../solr/handler/CdcrReplicatorState.java       |  3 +-
 .../apache/solr/handler/CdcrRequestHandler.java |  3 +-
 .../apache/solr/handler/CdcrStateManager.java   |  3 +-
 .../solr/handler/CdcrUpdateLogSynchronizer.java | 15 ++--
 .../solr/handler/ContentStreamHandlerBase.java  |  3 +-
 .../solr/handler/ContentStreamLoader.java       |  4 +-
 .../handler/DocumentAnalysisRequestHandler.java |  1 -
 .../apache/solr/handler/DumpRequestHandler.java |  1 -
 .../handler/FieldAnalysisRequestHandler.java    |  1 -
 .../solr/handler/MoreLikeThisHandler.java       |  1 -
 .../solr/handler/NestedRequestHandler.java      |  3 +-
 .../solr/handler/NotFoundRequestHandler.java    |  3 +-
 .../apache/solr/handler/OldBackupDirectory.java |  3 +-
 .../apache/solr/handler/PingRequestHandler.java |  1 -
 .../apache/solr/handler/RealTimeGetHandler.java |  1 -
 .../apache/solr/handler/RequestHandlerBase.java |  1 -
 .../solr/handler/RequestHandlerUtils.java       |  1 -
 .../org/apache/solr/handler/RestoreCore.java    |  3 +-
 .../org/apache/solr/handler/SQLHandler.java     |  3 +-
 .../org/apache/solr/handler/SchemaHandler.java  |  4 +-
 .../apache/solr/handler/SolrConfigHandler.java  |  4 +-
 .../solr/handler/StandardRequestHandler.java    |  1 -
 .../org/apache/solr/handler/StreamHandler.java  |  1 -
 .../solr/handler/UpdateRequestHandler.java      |  1 -
 .../solr/handler/admin/AdminHandlers.java       |  1 -
 .../solr/handler/admin/ClusterStatus.java       |  4 +-
 .../solr/handler/admin/ConfigSetsHandler.java   |  7 +-
 .../solr/handler/admin/CoreAdminHandler.java    |  1 -
 .../solr/handler/admin/CoreAdminOperation.java  |  3 +-
 .../apache/solr/handler/admin/InfoHandler.java  |  3 +-
 .../solr/handler/admin/LoggingHandler.java      |  3 +-
 .../solr/handler/admin/LukeRequestHandler.java  |  1 -
 .../solr/handler/admin/PluginInfoHandler.java   |  1 -
 .../handler/admin/PropertiesRequestHandler.java |  1 -
 .../solr/handler/admin/RebalanceLeaders.java    | 33 ++++----
 .../solr/handler/admin/SecurityConfHandler.java |  3 +-
 .../admin/SegmentsInfoRequestHandler.java       | 33 ++++----
 .../handler/admin/ShowFileRequestHandler.java   |  1 -
 .../handler/admin/SolrInfoMBeanHandler.java     |  3 +-
 .../solr/handler/admin/SystemInfoHandler.java   |  1 -
 .../solr/handler/admin/ThreadDumpHandler.java   |  1 -
 .../handler/admin/ZookeeperInfoHandler.java     |  1 -
 .../apache/solr/handler/admin/package-info.java |  1 -
 .../handler/component/DateFacetProcessor.java   |  3 +-
 .../solr/handler/component/DebugComponent.java  |  1 -
 .../solr/handler/component/ExpandComponent.java |  1 -
 .../solr/handler/component/FacetComponent.java  |  1 -
 .../solr/handler/component/FieldFacetStats.java |  3 +-
 .../handler/component/HighlightComponent.java   |  1 -
 .../handler/component/HttpShardHandler.java     |  3 +-
 .../component/HttpShardHandlerFactory.java      |  3 +-
 .../component/IterativeMergeStrategy.java       | 31 ++++---
 .../solr/handler/component/MergeStrategy.java   | 31 ++++---
 .../component/MoreLikeThisComponent.java        |  1 -
 .../solr/handler/component/PivotFacet.java      |  1 -
 .../solr/handler/component/PivotFacetField.java |  1 -
 .../PivotFacetFieldValueCollection.java         |  3 +-
 .../handler/component/PivotFacetHelper.java     |  1 -
 .../handler/component/PivotFacetProcessor.java  |  3 +-
 .../solr/handler/component/PivotFacetValue.java |  3 +-
 .../solr/handler/component/QueryComponent.java  |  1 -
 .../component/QueryElevationComponent.java      |  1 -
 .../handler/component/RangeFacetProcessor.java  |  3 +-
 .../handler/component/RangeFacetRequest.java    |  7 +-
 .../handler/component/RealTimeGetComponent.java |  3 +-
 .../solr/handler/component/ResponseBuilder.java |  1 -
 .../handler/component/ResponseLogComponent.java |  3 +-
 .../solr/handler/component/SearchComponent.java |  1 -
 .../solr/handler/component/SearchHandler.java   |  1 -
 .../component/ShardFieldSortedHitQueue.java     |  3 +-
 .../solr/handler/component/ShardHandler.java    |  4 +-
 .../handler/component/ShardHandlerFactory.java  |  4 +-
 .../solr/handler/component/ShardResponse.java   |  3 +-
 .../handler/component/SpatialHeatmapFacets.java |  3 +-
 .../handler/component/SpellCheckComponent.java  |  1 -
 .../handler/component/SpellCheckMergeData.java  |  3 +-
 .../solr/handler/component/StatsComponent.java  |  1 -
 .../solr/handler/component/StatsField.java      |  1 -
 .../solr/handler/component/StatsValues.java     |  2 -
 .../handler/component/StatsValuesFactory.java   |  3 +-
 .../handler/component/SuggestComponent.java     |  3 +-
 .../handler/component/TermVectorComponent.java  | 34 ++++----
 .../solr/handler/component/TermsComponent.java  |  3 +-
 .../solr/handler/component/package-info.java    |  1 -
 .../apache/solr/handler/loader/CSVLoader.java   |  1 -
 .../solr/handler/loader/CSVLoaderBase.java      |  1 -
 .../handler/loader/ContentStreamLoader.java     |  4 +-
 .../solr/handler/loader/JavabinLoader.java      |  1 -
 .../apache/solr/handler/loader/JsonLoader.java  |  3 +-
 .../apache/solr/handler/loader/XMLLoader.java   |  3 +-
 .../solr/handler/loader/package-info.java       |  1 -
 .../org/apache/solr/handler/package-info.java   |  1 -
 .../highlight/BreakIteratorBoundaryScanner.java |  1 -
 .../apache/solr/highlight/DefaultEncoder.java   |  1 -
 .../solr/highlight/HighlightingPluginBase.java  |  1 -
 .../org/apache/solr/highlight/HtmlEncoder.java  |  1 -
 .../solr/highlight/PostingsSolrHighlighter.java |  3 +-
 .../highlight/ScoreOrderFragmentsBuilder.java   |  1 -
 .../solr/highlight/SimpleBoundaryScanner.java   |  1 -
 .../solr/highlight/SimpleFragListBuilder.java   |  1 -
 .../solr/highlight/SimpleFragmentsBuilder.java  |  1 -
 .../solr/highlight/SingleFragListBuilder.java   |  1 -
 .../solr/highlight/SolrBoundaryScanner.java     |  1 -
 .../org/apache/solr/highlight/SolrEncoder.java  |  1 -
 .../apache/solr/highlight/SolrFormatter.java    |  1 -
 .../solr/highlight/SolrFragListBuilder.java     |  1 -
 .../apache/solr/highlight/SolrFragmenter.java   |  1 -
 .../solr/highlight/SolrFragmentsBuilder.java    |  1 -
 .../apache/solr/highlight/SolrHighlighter.java  |  3 +-
 .../solr/highlight/WeightedFragListBuilder.java |  1 -
 .../org/apache/solr/highlight/package-info.java |  1 -
 .../apache/solr/index/hdfs/CheckHdfsIndex.java  |  3 +-
 .../apache/solr/index/hdfs/package-info.java    |  1 -
 .../org/apache/solr/internal/csv/CSVParser.java |  6 +-
 .../apache/solr/internal/csv/CSVPrinter.java    |  6 +-
 .../apache/solr/internal/csv/CSVStrategy.java   |  6 +-
 .../org/apache/solr/internal/csv/CSVUtils.java  |  6 +-
 .../apache/solr/internal/csv/CharBuffer.java    | 26 +++---
 .../internal/csv/ExtendedBufferedReader.java    |  6 +-
 .../apache/solr/internal/csv/package-info.java  |  1 -
 .../solr/internal/csv/writer/CSVConfig.java     | 26 +++---
 .../internal/csv/writer/CSVConfigGuesser.java   | 26 +++---
 .../solr/internal/csv/writer/CSVField.java      | 26 +++---
 .../solr/internal/csv/writer/CSVWriter.java     | 26 +++---
 .../solr/internal/csv/writer/package-info.java  |  1 -
 .../org/apache/solr/logging/CircularList.java   |  1 -
 .../org/apache/solr/logging/ListenerConfig.java |  5 +-
 .../org/apache/solr/logging/LogWatcher.java     |  1 -
 .../apache/solr/logging/LogWatcherConfig.java   |  3 +-
 .../org/apache/solr/logging/LoggerInfo.java     |  1 -
 .../apache/solr/logging/MDCLoggingContext.java  |  3 +-
 .../apache/solr/logging/jul/package-info.java   |  1 -
 .../apache/solr/logging/log4j/package-info.java |  1 -
 .../org/apache/solr/logging/package-info.java   |  1 -
 .../src/java/org/apache/solr/package-info.java  |  1 -
 .../org/apache/solr/parser/FastCharStream.java  |  5 +-
 .../apache/solr/parser/SolrQueryParserBase.java |  1 -
 .../org/apache/solr/parser/package-info.java    |  1 -
 .../java/org/apache/solr/query/FilterQuery.java |  3 +-
 .../org/apache/solr/query/SolrRangeQuery.java   |  3 +-
 .../apache/solr/request/DocValuesFacets.java    |  3 +-
 .../org/apache/solr/request/DocValuesStats.java |  3 +-
 .../org/apache/solr/request/IntervalFacets.java | 33 ++++----
 .../solr/request/LocalSolrQueryRequest.java     |  1 -
 .../org/apache/solr/request/NumericFacets.java  |  3 +-
 .../request/PerSegmentSingleValuedFaceting.java |  1 -
 .../org/apache/solr/request/SimpleFacets.java   |  1 -
 .../apache/solr/request/SolrQueryRequest.java   |  1 -
 .../solr/request/SolrQueryRequestBase.java      |  1 -
 .../apache/solr/request/SolrRequestHandler.java |  1 -
 .../apache/solr/request/SolrRequestInfo.java    |  1 -
 .../org/apache/solr/request/json/JSONUtil.java  |  4 +-
 .../apache/solr/request/json/ObjectUtil.java    |  4 +-
 .../apache/solr/request/json/RequestUtil.java   |  4 +-
 .../solr/request/macro/MacroExpander.java       |  3 +-
 .../org/apache/solr/request/package-info.java   |  1 -
 .../solr/response/BasicResultContext.java       |  3 +-
 .../response/BinaryQueryResponseWriter.java     |  4 +-
 .../apache/solr/response/CSVResponseWriter.java |  1 -
 .../org/apache/solr/response/DocsStreamer.java  |  3 +-
 .../solr/response/JSONResponseWriter.java       |  1 -
 .../apache/solr/response/PHPResponseWriter.java |  1 -
 .../response/PHPSerializedResponseWriter.java   |  1 -
 .../solr/response/PythonResponseWriter.java     |  1 -
 .../solr/response/QueryResponseWriter.java      |  1 -
 .../solr/response/QueryResponseWriterUtil.java  |  1 -
 .../apache/solr/response/RawResponseWriter.java |  1 -
 .../org/apache/solr/response/ResultContext.java |  1 -
 .../solr/response/SchemaXmlResponseWriter.java  |  1 -
 .../apache/solr/response/SchemaXmlWriter.java   |  3 +-
 .../solr/response/SmileResponseWriter.java      |  4 +-
 .../apache/solr/response/SolrQueryResponse.java |  1 -
 .../solr/response/SortingResponseWriter.java    |  1 -
 .../solr/response/TextResponseWriter.java       |  1 -
 .../apache/solr/response/XMLResponseWriter.java |  1 -
 .../org/apache/solr/response/XMLWriter.java     |  1 -
 .../solr/response/XSLTResponseWriter.java       |  1 -
 .../org/apache/solr/response/package-info.java  |  1 -
 .../transform/BaseEditorialTransformer.java     |  5 +-
 .../solr/response/transform/DocTransformer.java |  1 -
 .../response/transform/DocTransformers.java     |  1 -
 .../transform/ElevatedMarkerFactory.java        |  3 +-
 .../transform/ExcludedMarkerFactory.java        |  3 +-
 .../response/transform/TransformerFactory.java  |  1 -
 .../solr/response/transform/package-info.java   |  1 -
 .../org/apache/solr/rest/BaseSolrResource.java  |  3 +-
 .../java/org/apache/solr/rest/DELETEable.java   |  3 +-
 .../src/java/org/apache/solr/rest/GETable.java  |  3 +-
 .../org/apache/solr/rest/ManagedResource.java   |  3 +-
 .../solr/rest/ManagedResourceObserver.java      |  3 +-
 .../solr/rest/ManagedResourceStorage.java       |  3 +-
 .../src/java/org/apache/solr/rest/POSTable.java |  3 +-
 .../src/java/org/apache/solr/rest/PUTable.java  |  3 +-
 .../java/org/apache/solr/rest/RestManager.java  |  3 +-
 .../org/apache/solr/rest/SolrSchemaRestApi.java |  3 +-
 .../java/org/apache/solr/rest/package-info.java |  1 -
 .../solr/rest/schema/BaseFieldResource.java     |  3 +-
 .../solr/rest/schema/BaseFieldTypeResource.java |  3 +-
 .../schema/CopyFieldCollectionResource.java     |  4 +-
 .../schema/DynamicFieldCollectionResource.java  |  3 +-
 .../solr/rest/schema/DynamicFieldResource.java  |  4 +-
 .../rest/schema/FieldCollectionResource.java    |  4 +-
 .../apache/solr/rest/schema/FieldResource.java  |  3 +-
 .../schema/FieldTypeCollectionResource.java     |  3 +-
 .../solr/rest/schema/FieldTypeResource.java     |  3 +-
 .../solr/rest/schema/FieldTypeXmlAdapter.java   |  3 +-
 .../analysis/BaseManagedTokenFilterFactory.java |  3 +-
 .../analysis/ManagedStopFilterFactory.java      |  3 +-
 .../analysis/ManagedSynonymFilterFactory.java   |  3 +-
 .../schema/analysis/ManagedWordSetResource.java |  3 +-
 .../solr/rest/schema/analysis/package-info.java |  1 -
 .../apache/solr/rest/schema/package-info.java   |  1 -
 .../solr/schema/AbstractSpatialFieldType.java   |  3 +-
 .../AbstractSpatialPrefixTreeFieldType.java     |  3 +-
 .../solr/schema/AbstractSubTypeFieldType.java   |  3 +-
 .../java/org/apache/solr/schema/BBoxField.java  |  3 +-
 .../org/apache/solr/schema/BinaryField.java     |  1 -
 .../java/org/apache/solr/schema/BoolField.java  |  1 -
 .../solr/schema/ClassicIndexSchemaFactory.java  |  3 +-
 .../org/apache/solr/schema/CollationField.java  |  3 +-
 .../apache/solr/schema/CoordinateFieldType.java |  1 -
 .../java/org/apache/solr/schema/CopyField.java  |  1 -
 .../org/apache/solr/schema/CurrencyField.java   |  3 +-
 .../org/apache/solr/schema/DateRangeField.java  |  3 +-
 .../apache/solr/schema/DateValueFieldType.java  |  1 -
 .../solr/schema/DoubleValueFieldType.java       |  1 -
 .../java/org/apache/solr/schema/EnumField.java  |  3 +-
 .../solr/schema/ExchangeRateProvider.java       |  3 +-
 .../solr/schema/ExternalFileFieldReloader.java  |  1 -
 .../org/apache/solr/schema/FieldProperties.java |  1 -
 .../java/org/apache/solr/schema/FieldType.java  |  1 -
 .../solr/schema/FieldTypePluginLoader.java      |  1 -
 .../apache/solr/schema/FloatValueFieldType.java |  1 -
 .../org/apache/solr/schema/GeoHashField.java    |  1 -
 .../org/apache/solr/schema/IndexSchema.java     |  1 -
 .../apache/solr/schema/IndexSchemaFactory.java  |  3 +-
 .../apache/solr/schema/IntValueFieldType.java   |  1 -
 .../solr/schema/JsonPreAnalyzedParser.java      | 33 ++++----
 .../java/org/apache/solr/schema/LatLonType.java |  3 +-
 .../apache/solr/schema/LongValueFieldType.java  |  1 -
 .../apache/solr/schema/ManagedIndexSchema.java  |  3 +-
 .../solr/schema/ManagedIndexSchemaFactory.java  |  3 +-
 .../solr/schema/NumericValueFieldType.java      |  1 -
 .../schema/OpenExchangeRatesOrgProvider.java    |  3 +-
 .../java/org/apache/solr/schema/PointType.java  |  1 -
 .../apache/solr/schema/PreAnalyzedField.java    |  3 +-
 .../apache/solr/schema/PrimitiveFieldType.java  |  1 -
 .../org/apache/solr/schema/RandomSortField.java |  1 -
 .../schema/RptWithGeometrySpatialField.java     |  3 +-
 .../org/apache/solr/schema/SchemaAware.java     |  4 +-
 .../org/apache/solr/schema/SchemaField.java     |  1 -
 .../org/apache/solr/schema/SchemaManager.java   |  4 +-
 .../apache/solr/schema/SimilarityFactory.java   |  3 +-
 .../solr/schema/SimplePreAnalyzedParser.java    |  3 +-
 .../schema/SpatialPointVectorFieldType.java     |  3 +-
 .../apache/solr/schema/SpatialQueryable.java    |  4 +-
 .../SpatialRecursivePrefixTreeFieldType.java    |  3 +-
 .../SpatialTermQueryPrefixTreeFieldType.java    |  1 -
 .../java/org/apache/solr/schema/StrField.java   |  1 -
 .../org/apache/solr/schema/StrFieldSource.java  |  1 -
 .../java/org/apache/solr/schema/TextField.java  |  1 -
 .../org/apache/solr/schema/TrieDateField.java   |  1 -
 .../org/apache/solr/schema/TrieDoubleField.java |  1 -
 .../org/apache/solr/schema/TrieFloatField.java  |  1 -
 .../org/apache/solr/schema/TrieIntField.java    |  1 -
 .../org/apache/solr/schema/TrieLongField.java   |  1 -
 .../java/org/apache/solr/schema/UUIDField.java  |  3 +-
 .../apache/solr/schema/ZkIndexSchemaReader.java |  3 +-
 .../org/apache/solr/schema/package-info.java    |  1 -
 .../org/apache/solr/search/AnalyticsQuery.java  | 31 ++++---
 .../java/org/apache/solr/search/BitDocSet.java  |  1 -
 .../solr/search/BitsFilteredDocIdSet.java       |  3 +-
 .../solr/search/BitsFilteredPostingsEnum.java   |  3 +-
 .../org/apache/solr/search/CacheConfig.java     |  1 -
 .../apache/solr/search/CacheRegenerator.java    |  1 -
 .../solr/search/CollapsingQParserPlugin.java    |  1 -
 .../solr/search/ComplexPhraseQParserPlugin.java |  3 +-
 .../java/org/apache/solr/search/CursorMark.java |  1 -
 .../apache/solr/search/DelegatingCollector.java |  1 -
 .../org/apache/solr/search/DocIterator.java     |  1 -
 .../java/org/apache/solr/search/DocList.java    |  1 -
 .../org/apache/solr/search/DocListAndSet.java   |  1 -
 .../src/java/org/apache/solr/search/DocSet.java |  1 -
 .../java/org/apache/solr/search/DocSetBase.java |  1 -
 .../org/apache/solr/search/DocSetBuilder.java   |  3 +-
 .../org/apache/solr/search/DocSetCollector.java |  3 +-
 .../org/apache/solr/search/DocSetProducer.java  |  3 +-
 .../java/org/apache/solr/search/DocSetUtil.java |  4 +-
 .../java/org/apache/solr/search/DocSlice.java   |  1 -
 .../solr/search/EarlyTerminatingCollector.java  |  3 +-
 .../EarlyTerminatingCollectorException.java     |  4 +-
 .../apache/solr/search/ExportQParserPlugin.java |  1 -
 .../solr/search/ExtendedDismaxQParser.java      |  1 -
 .../search/ExtendedDismaxQParserPlugin.java     |  1 -
 .../org/apache/solr/search/ExtendedQuery.java   |  1 -
 .../apache/solr/search/ExtendedQueryBase.java   |  1 -
 .../org/apache/solr/search/FastLRUCache.java    |  3 +-
 .../org/apache/solr/search/FieldParams.java     |  3 +-
 .../src/java/org/apache/solr/search/Filter.java |  3 +-
 .../apache/solr/search/FilteredDocIdSet.java    |  3 +-
 .../apache/solr/search/FunctionRangeQuery.java  |  1 -
 .../java/org/apache/solr/search/Grouping.java   |  1 -
 .../java/org/apache/solr/search/HashDocSet.java |  1 -
 .../apache/solr/search/HashQParserPlugin.java   |  1 -
 .../java/org/apache/solr/search/Insanity.java   |  3 +-
 .../java/org/apache/solr/search/LFUCache.java   |  3 +-
 .../java/org/apache/solr/search/LRUCache.java   |  1 -
 .../org/apache/solr/search/NoOpRegenerator.java |  3 +-
 .../java/org/apache/solr/search/PostFilter.java |  1 -
 .../org/apache/solr/search/QueryCommand.java    |  3 +-
 .../org/apache/solr/search/QueryContext.java    |  3 +-
 .../org/apache/solr/search/QueryParsing.java    |  1 -
 .../org/apache/solr/search/QueryResult.java     |  3 +-
 .../org/apache/solr/search/QueryResultKey.java  |  1 -
 .../java/org/apache/solr/search/QueryUtils.java |  1 -
 .../apache/solr/search/QueryWrapperFilter.java  |  3 +-
 .../java/org/apache/solr/search/RankQuery.java  | 31 ++++---
 .../apache/solr/search/ReRankQParserPlugin.java |  1 -
 .../org/apache/solr/search/ScoreFilter.java     |  1 -
 .../apache/solr/search/SimpleQParserPlugin.java |  3 +-
 .../java/org/apache/solr/search/SolrCache.java  |  1 -
 .../org/apache/solr/search/SolrCacheBase.java   |  1 -
 .../solr/search/SolrConstantScoreQuery.java     | 31 ++++---
 .../org/apache/solr/search/SolrCoreParser.java  |  3 +-
 .../apache/solr/search/SolrFieldCacheMBean.java |  1 -
 .../java/org/apache/solr/search/SolrFilter.java |  1 -
 .../apache/solr/search/SolrIndexSearcher.java   |  1 -
 .../org/apache/solr/search/SolrQueryParser.java |  1 -
 .../solr/search/SolrQueryTimeoutImpl.java       |  3 +-
 .../java/org/apache/solr/search/SortSpec.java   |  1 -
 .../org/apache/solr/search/SortSpecParsing.java | 31 ++++---
 .../org/apache/solr/search/SortedIntDocSet.java |  1 -
 .../java/org/apache/solr/search/Sorting.java    |  1 -
 .../solr/search/SpatialBoxQParserPlugin.java    |  1 -
 .../solr/search/SpatialFilterQParser.java       |  4 +-
 .../solr/search/SpatialFilterQParserPlugin.java |  3 +-
 .../org/apache/solr/search/SpatialOptions.java  |  3 +-
 .../java/org/apache/solr/search/StrParser.java  |  7 +-
 .../solr/search/SurroundQParserPlugin.java      |  4 +-
 .../org/apache/solr/search/SyntaxError.java     |  1 -
 .../apache/solr/search/TermsQParserPlugin.java  |  3 +-
 .../org/apache/solr/search/WrappedQuery.java    |  1 -
 .../apache/solr/search/XmlQParserPlugin.java    |  3 +-
 .../solr/search/facet/AggValueSource.java       |  3 +-
 .../org/apache/solr/search/facet/AvgAgg.java    |  3 +-
 .../org/apache/solr/search/facet/BlockJoin.java |  4 +-
 .../org/apache/solr/search/facet/CountAgg.java  |  3 +-
 .../solr/search/facet/FacetDebugInfo.java       |  1 -
 .../apache/solr/search/facet/FacetField.java    |  3 +-
 .../search/facet/FacetFieldProcessorDV.java     |  3 +-
 .../facet/FacetFieldProcessorNumeric.java       |  3 +-
 .../apache/solr/search/facet/FacetMerger.java   |  3 +-
 .../apache/solr/search/facet/FacetModule.java   |  3 +-
 .../solr/search/facet/FacetProcessor.java       |  3 +-
 .../apache/solr/search/facet/FacetQuery.java    |  3 +-
 .../apache/solr/search/facet/FacetRange.java    |  3 +-
 .../apache/solr/search/facet/FacetRequest.java  |  3 +-
 .../org/apache/solr/search/facet/FieldUtil.java |  3 +-
 .../org/apache/solr/search/facet/HLLAgg.java    |  3 +-
 .../apache/solr/search/facet/LegacyFacet.java   |  4 +-
 .../org/apache/solr/search/facet/MaxAgg.java    |  3 +-
 .../org/apache/solr/search/facet/MinAgg.java    |  3 +-
 .../apache/solr/search/facet/PercentileAgg.java |  3 +-
 .../solr/search/facet/SimpleAggValueSource.java |  3 +-
 .../org/apache/solr/search/facet/SlotAcc.java   |  3 +-
 .../solr/search/facet/StrAggValueSource.java    |  3 +-
 .../org/apache/solr/search/facet/SumAgg.java    |  3 +-
 .../org/apache/solr/search/facet/SumsqAgg.java  |  3 +-
 .../solr/search/facet/UnInvertedField.java      |  1 -
 .../org/apache/solr/search/facet/UniqueAgg.java |  3 +-
 .../apache/solr/search/facet/UniqueSlotAcc.java |  3 +-
 .../search/function/CollapseScoreFunction.java  |  1 -
 .../solr/search/function/OrdFieldSource.java    |  1 -
 .../search/function/ReverseOrdFieldSource.java  |  1 -
 .../search/function/ValueSourceRangeFilter.java |  1 -
 .../distance/GeoDistValueSourceParser.java      |  3 +-
 .../function/distance/GeohashFunction.java      |  3 +-
 .../distance/GeohashHaversineFunction.java      |  4 +-
 .../distance/HaversineConstFunction.java        |  3 +-
 .../function/distance/HaversineFunction.java    |  3 +-
 .../distance/SquaredEuclideanFunction.java      |  3 +-
 .../distance/StringDistanceFunction.java        |  3 +-
 .../distance/VectorDistanceFunction.java        |  3 +-
 .../search/function/distance/package-info.java  |  1 -
 .../solr/search/function/package-info.java      |  1 -
 .../apache/solr/search/grouping/Command.java    |  3 +-
 .../solr/search/grouping/CommandHandler.java    |  3 +-
 .../search/grouping/GroupingSpecification.java  |  3 +-
 .../grouping/collector/FilterCollector.java     |  3 +-
 .../search/grouping/collector/package-info.java |  1 -
 .../distributed/ShardRequestFactory.java        |  3 +-
 .../distributed/ShardResponseProcessor.java     |  3 +-
 .../distributed/command/GroupConverter.java     |  3 +-
 .../distributed/command/QueryCommand.java       |  3 +-
 .../distributed/command/QueryCommandResult.java |  3 +-
 .../command/SearchGroupsFieldCommand.java       |  3 +-
 .../command/SearchGroupsFieldCommandResult.java |  3 +-
 .../command/TopGroupsFieldCommand.java          |  3 +-
 .../distributed/command/package-info.java       |  1 -
 .../grouping/distributed/package-info.java      |  1 -
 .../SearchGroupsRequestFactory.java             |  3 +-
 .../StoredFieldsShardRequestFactory.java        |  3 +-
 .../TopGroupsShardRequestFactory.java           |  3 +-
 .../requestfactory/package-info.java            |  1 -
 .../SearchGroupShardResponseProcessor.java      |  3 +-
 .../StoredFieldsShardResponseProcessor.java     |  3 +-
 .../TopGroupsShardResponseProcessor.java        |  3 +-
 .../responseprocessor/package-info.java         |  1 -
 .../SearchGroupsResultTransformer.java          |  3 +-
 .../ShardResultTransformer.java                 |  3 +-
 .../TopGroupsResultTransformer.java             |  3 +-
 .../shardresultserializer/package-info.java     |  1 -
 .../EndResultTransformer.java                   |  3 +-
 .../GroupedEndResultTransformer.java            |  3 +-
 .../MainEndResultTransformer.java               |  3 +-
 .../SimpleEndResultTransformer.java             |  3 +-
 .../endresulttransformer/package-info.java      |  1 -
 .../solr/search/grouping/package-info.java      |  1 -
 .../apache/solr/search/join/BitSetSlice.java    |  1 -
 .../solr/search/join/BlockJoinChildQParser.java |  1 -
 .../join/BlockJoinChildQParserPlugin.java       |  1 -
 .../join/BlockJoinDocSetFacetComponent.java     | 33 ++++----
 .../search/join/BlockJoinFacetCollector.java    |  3 +-
 .../search/join/BlockJoinFacetComponent.java    |  3 +-
 .../solr/search/join/BlockJoinFacetFilter.java  |  3 +-
 .../join/BlockJoinFieldFacetAccumulator.java    |  3 +-
 .../search/join/BlockJoinParentQParser.java     |  1 -
 .../join/BlockJoinParentQParserPlugin.java      |  1 -
 .../apache/solr/search/join/FrontierQuery.java  |  3 +-
 .../solr/search/join/GraphQParserPlugin.java    |  3 +-
 .../org/apache/solr/search/join/GraphQuery.java |  3 +-
 .../solr/search/join/GraphQueryParser.java      |  3 +-
 .../solr/search/join/GraphTermsCollector.java   |  3 +-
 .../search/join/ScoreJoinQParserPlugin.java     |  1 -
 .../solr/search/join/ScoreModeParser.java       | 19 ++---
 .../apache/solr/search/join/package-info.java   |  1 -
 .../apache/solr/search/mlt/CloudMLTQParser.java |  3 +-
 .../solr/search/mlt/MLTQParserPlugin.java       |  3 +-
 .../solr/search/mlt/SimpleMLTQParser.java       |  3 +-
 .../apache/solr/search/mlt/package-info.java    |  1 -
 .../org/apache/solr/search/package-info.java    |  1 -
 .../similarities/BM25SimilarityFactory.java     |  3 +-
 .../similarities/ClassicSimilarityFactory.java  |  3 +-
 .../similarities/DFISimilarityFactory.java      |  3 +-
 .../similarities/DFRSimilarityFactory.java      |  3 +-
 .../similarities/IBSimilarityFactory.java       |  3 +-
 .../LMDirichletSimilarityFactory.java           |  3 +-
 .../LMJelinekMercerSimilarityFactory.java       |  3 +-
 .../similarities/SchemaSimilarityFactory.java   |  3 +-
 .../SweetSpotSimilarityFactory.java             |  3 +-
 .../solr/search/similarities/package-info.java  |  1 -
 .../solr/search/stats/CachedSearcherStats.java  |  3 +-
 .../solr/search/stats/CollectionStats.java      |  5 +-
 .../search/stats/ExactSharedStatsCache.java     |  3 +-
 .../solr/search/stats/ExactStatsCache.java      |  3 +-
 .../apache/solr/search/stats/LRUStatsCache.java |  3 +-
 .../solr/search/stats/LocalStatsCache.java      |  7 +-
 .../solr/search/stats/LocalStatsSource.java     |  3 +-
 .../apache/solr/search/stats/StatsCache.java    |  3 +-
 .../apache/solr/search/stats/StatsSource.java   |  3 +-
 .../org/apache/solr/search/stats/StatsUtil.java |  7 +-
 .../org/apache/solr/search/stats/TermStats.java |  3 +-
 .../apache/solr/search/stats/package-info.java  |  1 -
 .../solr/security/AuthenticationPlugin.java     | 33 ++++----
 .../solr/security/AuthorizationContext.java     |  3 +-
 .../solr/security/AuthorizationPlugin.java      |  3 +-
 .../solr/security/AuthorizationResponse.java    |  3 +-
 .../apache/solr/security/BasicAuthPlugin.java   |  4 +-
 .../solr/security/ConfigEditablePlugin.java     |  3 +-
 .../security/HttpClientInterceptorPlugin.java   |  4 +-
 .../apache/solr/security/KerberosFilter.java    | 25 +++---
 .../apache/solr/security/KerberosPlugin.java    | 33 ++++----
 .../solr/security/PKIAuthenticationPlugin.java  |  3 +-
 .../security/RuleBasedAuthorizationPlugin.java  |  3 +-
 .../solr/security/SecurityPluginHolder.java     |  4 +-
 .../security/Sha256AuthenticationProvider.java  |  3 +-
 .../org/apache/solr/security/package-info.java  |  1 -
 .../org/apache/solr/servlet/BaseSolrFilter.java |  1 -
 .../apache/solr/servlet/BaseSolrServlet.java    |  1 -
 .../solr/servlet/CheckLoggingConfiguration.java |  1 -
 .../solr/servlet/DirectSolrConnection.java      |  1 -
 .../org/apache/solr/servlet/HttpSolrCall.java   |  7 +-
 .../apache/solr/servlet/LoadAdminUiServlet.java |  1 -
 .../apache/solr/servlet/RedirectServlet.java    |  1 -
 .../org/apache/solr/servlet/ResponseUtils.java  |  3 +-
 .../apache/solr/servlet/SolrDispatchFilter.java |  1 -
 .../apache/solr/servlet/SolrRequestParsers.java |  1 -
 .../solr/servlet/cache/HttpCacheHeaderUtil.java |  1 -
 .../org/apache/solr/servlet/cache/Method.java   |  1 -
 .../apache/solr/servlet/cache/package-info.java |  1 -
 .../org/apache/solr/servlet/package-info.java   |  1 -
 .../spelling/AbstractLuceneSpellChecker.java    |  5 +-
 .../spelling/ConjunctionSolrSpellChecker.java   |  3 +-
 .../solr/spelling/DirectSolrSpellChecker.java   |  3 +-
 .../solr/spelling/IndexBasedSpellChecker.java   |  3 +-
 .../solr/spelling/PossibilityIterator.java      |  3 +-
 .../apache/solr/spelling/QueryConverter.java    |  3 +-
 .../org/apache/solr/spelling/ResultEntry.java   |  3 +-
 .../apache/solr/spelling/SolrSpellChecker.java  |  3 +-
 .../solr/spelling/SpellCheckCollation.java      |  3 +-
 .../solr/spelling/SpellCheckCollator.java       |  3 +-
 .../solr/spelling/SpellCheckCorrection.java     |  3 +-
 .../apache/solr/spelling/SpellingOptions.java   | 17 ++--
 .../solr/spelling/SpellingQueryConverter.java   |  1 -
 .../apache/solr/spelling/SpellingResult.java    |  3 +-
 .../solr/spelling/SuggestQueryConverter.java    |  3 +-
 .../spelling/WordBreakSolrSpellChecker.java     |  3 +-
 .../org/apache/solr/spelling/package-info.java  |  1 -
 .../spelling/suggest/DictionaryFactory.java     |  3 +-
 .../suggest/DocumentDictionaryFactory.java      |  3 +-
 .../DocumentExpressionDictionaryFactory.java    |  3 +-
 .../spelling/suggest/FileDictionaryFactory.java |  3 +-
 .../suggest/HighFrequencyDictionaryFactory.java |  3 +-
 .../solr/spelling/suggest/LookupFactory.java    |  3 +-
 .../solr/spelling/suggest/SolrSuggester.java    |  3 +-
 .../apache/solr/spelling/suggest/Suggester.java |  1 -
 .../solr/spelling/suggest/SuggesterOptions.java |  3 +-
 .../solr/spelling/suggest/SuggesterParams.java  |  3 +-
 .../solr/spelling/suggest/SuggesterResult.java  |  3 +-
 .../fst/AnalyzingInfixLookupFactory.java        |  3 +-
 .../suggest/fst/AnalyzingLookupFactory.java     |  3 +-
 .../suggest/fst/BlendedInfixLookupFactory.java  |  3 +-
 .../spelling/suggest/fst/FSTLookupFactory.java  |  3 +-
 .../suggest/fst/FreeTextLookupFactory.java      | 23 +++--
 .../suggest/fst/FuzzyLookupFactory.java         |  3 +-
 .../spelling/suggest/fst/WFSTLookupFactory.java |  3 +-
 .../solr/spelling/suggest/fst/package-info.java |  1 -
 .../suggest/jaspell/JaspellLookupFactory.java   |  7 +-
 .../spelling/suggest/jaspell/package-info.java  |  1 -
 .../solr/spelling/suggest/package-info.java     |  1 -
 .../spelling/suggest/tst/TSTLookupFactory.java  |  3 +-
 .../solr/spelling/suggest/tst/package-info.java |  1 -
 .../solr/store/blockcache/BlockCache.java       |  3 +-
 .../solr/store/blockcache/BlockCacheKey.java    |  4 +-
 .../store/blockcache/BlockCacheLocation.java    |  3 +-
 .../solr/store/blockcache/BlockDirectory.java   |  3 +-
 .../store/blockcache/BlockDirectoryCache.java   |  3 +-
 .../solr/store/blockcache/BlockLocks.java       |  3 +-
 .../solr/store/blockcache/BufferStore.java      |  3 +-
 .../org/apache/solr/store/blockcache/Cache.java |  3 +-
 .../store/blockcache/CachedIndexOutput.java     |  3 +-
 .../blockcache/CustomBufferedIndexInput.java    |  3 +-
 .../apache/solr/store/blockcache/Metrics.java   |  3 +-
 .../blockcache/ReusedBufferedIndexOutput.java   |  3 +-
 .../org/apache/solr/store/blockcache/Store.java |  3 +-
 .../solr/store/blockcache/package-info.java     |  1 -
 .../apache/solr/store/hdfs/HdfsDirectory.java   |  3 +-
 .../apache/solr/store/hdfs/HdfsFileReader.java  |  3 +-
 .../apache/solr/store/hdfs/HdfsFileWriter.java  |  3 +-
 .../solr/store/hdfs/HdfsLocalityReporter.java   |  3 +-
 .../apache/solr/store/hdfs/HdfsLockFactory.java |  3 +-
 .../apache/solr/store/hdfs/package-info.java    |  1 -
 .../apache/solr/update/AddUpdateCommand.java    |  1 -
 .../apache/solr/update/CdcrTransactionLog.java  |  3 +-
 .../org/apache/solr/update/CdcrUpdateLog.java   |  3 +-
 .../org/apache/solr/update/CommitTracker.java   |  7 +-
 .../apache/solr/update/CommitUpdateCommand.java |  1 -
 .../solr/update/DefaultSolrCoreState.java       |  3 +-
 .../solr/update/DeleteByQueryWrapper.java       |  3 +-
 .../apache/solr/update/DeleteUpdateCommand.java |  1 -
 .../solr/update/DirectUpdateHandler2.java       |  1 -
 .../org/apache/solr/update/DocumentBuilder.java |  1 -
 .../apache/solr/update/HdfsTransactionLog.java  |  1 -
 .../org/apache/solr/update/HdfsUpdateLog.java   |  1 -
 .../apache/solr/update/LoggingInfoStream.java   |  1 -
 .../org/apache/solr/update/MemOutputStream.java |  1 -
 .../apache/solr/update/MergeIndexesCommand.java |  1 -
 .../java/org/apache/solr/update/PeerSync.java   |  1 -
 .../solr/update/RollbackUpdateCommand.java      |  1 -
 .../apache/solr/update/SolrCmdDistributor.java  |  3 +-
 .../org/apache/solr/update/SolrCoreState.java   |  3 +-
 .../org/apache/solr/update/SolrIndexConfig.java |  1 -
 .../apache/solr/update/SolrIndexSplitter.java   |  1 -
 .../org/apache/solr/update/SolrIndexWriter.java |  1 -
 .../apache/solr/update/SplitIndexCommand.java   |  1 -
 .../solr/update/StreamingSolrClients.java       |  3 +-
 .../org/apache/solr/update/TransactionLog.java  |  1 -
 .../org/apache/solr/update/UpdateCommand.java   |  1 -
 .../org/apache/solr/update/UpdateHandler.java   |  1 -
 .../java/org/apache/solr/update/UpdateLog.java  |  1 -
 .../apache/solr/update/UpdateShardHandler.java  |  3 +-
 .../solr/update/UpdateShardHandlerConfig.java   |  3 +-
 .../org/apache/solr/update/VersionBucket.java   |  1 -
 .../org/apache/solr/update/VersionInfo.java     |  1 -
 .../org/apache/solr/update/package-info.java    |  1 -
 ...tractDefaultValueUpdateProcessorFactory.java |  1 -
 .../AddSchemaFieldsUpdateProcessorFactory.java  |  1 -
 ...aluesOrNoneFieldMutatingUpdateProcessor.java |  1 -
 .../processor/AtomicUpdateDocumentMerger.java   |  7 +-
 .../update/processor/CdcrUpdateProcessor.java   |  3 +-
 .../processor/CdcrUpdateProcessorFactory.java   |  3 +-
 .../ConcatFieldUpdateProcessorFactory.java      |  1 -
 .../CountFieldValuesUpdateProcessorFactory.java |  1 -
 .../DefaultValueUpdateProcessorFactory.java     |  1 -
 .../processor/DistributedUpdateProcessor.java   |  7 +-
 .../DistributedUpdateProcessorFactory.java      |  3 +-
 .../DistributingUpdateProcessorFactory.java     |  1 -
 ...BasedVersionConstraintsProcessorFactory.java |  1 -
 .../DocExpirationUpdateProcessorFactory.java    |  1 -
 .../FieldLengthUpdateProcessorFactory.java      |  1 -
 .../processor/FieldMutatingUpdateProcessor.java |  1 -
 .../FieldMutatingUpdateProcessorFactory.java    |  1 -
 ...FieldNameMutatingUpdateProcessorFactory.java |  4 +-
 .../FieldValueMutatingUpdateProcessor.java      |  1 -
 .../FieldValueSubsetUpdateProcessorFactory.java |  1 -
 .../FirstFieldValueUpdateProcessorFactory.java  |  1 -
 .../HTMLStripFieldUpdateProcessorFactory.java   |  1 -
 ...oreCommitOptimizeUpdateProcessorFactory.java |  1 -
 .../IgnoreFieldUpdateProcessorFactory.java      |  1 -
 .../LastFieldValueUpdateProcessorFactory.java   |  1 -
 .../processor/LogUpdateProcessorFactory.java    |  1 -
 .../solr/update/processor/Lookup3Signature.java |  3 +-
 .../solr/update/processor/MD5Signature.java     |  3 +-
 .../MaxFieldValueUpdateProcessorFactory.java    |  1 -
 .../MinFieldValueUpdateProcessorFactory.java    |  1 -
 .../NoOpDistributingUpdateProcessorFactory.java |  1 -
 ...ParseBooleanFieldUpdateProcessorFactory.java |  1 -
 .../ParseDateFieldUpdateProcessorFactory.java   |  1 -
 .../ParseDoubleFieldUpdateProcessorFactory.java |  1 -
 .../ParseFloatFieldUpdateProcessorFactory.java  |  1 -
 .../ParseIntFieldUpdateProcessorFactory.java    |  1 -
 .../ParseLongFieldUpdateProcessorFactory.java   |  1 -
 ...ParseNumericFieldUpdateProcessorFactory.java |  1 -
 .../PreAnalyzedUpdateProcessorFactory.java      | 33 ++++----
 .../RemoveBlankFieldUpdateProcessorFactory.java |  1 -
 .../processor/RunUpdateProcessorFactory.java    |  1 -
 .../processor/ScriptEngineCustomizer.java       |  1 -
 .../apache/solr/update/processor/Signature.java |  3 +-
 .../SignatureUpdateProcessorFactory.java        |  3 +-
 .../processor/SimpleUpdateProcessorFactory.java |  3 +-
 .../StatelessScriptUpdateProcessorFactory.java  |  3 +-
 .../update/processor/TextProfileSignature.java  |  3 +-
 .../TimestampUpdateProcessorFactory.java        |  1 -
 .../TrimFieldUpdateProcessorFactory.java        |  1 -
 .../TruncateFieldUpdateProcessorFactory.java    |  1 -
 .../processor/UUIDUpdateProcessorFactory.java   |  1 -
 .../UniqFieldsUpdateProcessorFactory.java       |  3 +-
 .../processor/UpdateRequestProcessor.java       |  1 -
 .../processor/UpdateRequestProcessorChain.java  |  1 -
 .../UpdateRequestProcessorFactory.java          |  1 -
 .../solr/update/processor/package-info.java     |  1 -
 .../apache/solr/util/AdjustableSemaphore.java   |  3 +-
 .../org/apache/solr/util/BoundedTreeSet.java    |  2 -
 .../org/apache/solr/util/CommandOperation.java  |  3 +-
 .../apache/solr/util/ConcurrentLFUCache.java    |  3 +-
 .../apache/solr/util/ConcurrentLRUCache.java    |  3 +-
 .../java/org/apache/solr/util/CryptoKeys.java   |  3 +-
 .../src/java/org/apache/solr/util/DOMUtil.java  |  3 +-
 .../org/apache/solr/util/DateFormatUtil.java    |  3 +-
 .../org/apache/solr/util/DateMathParser.java    |  1 -
 .../solr/util/DefaultSolrThreadFactory.java     |  3 +-
 .../org/apache/solr/util/DistanceUnits.java     | 19 ++---
 .../java/org/apache/solr/util/FSHDFSUtils.java  |  3 +-
 .../java/org/apache/solr/util/FastWriter.java   |  3 +-
 .../java/org/apache/solr/util/FileUtils.java    |  3 +-
 .../src/java/org/apache/solr/util/HdfsUtil.java | 17 ++--
 .../org/apache/solr/util/LongPriorityQueue.java |  7 +-
 .../java/org/apache/solr/util/MapListener.java  |  3 +-
 .../java/org/apache/solr/util/NumberUtils.java  |  1 -
 .../org/apache/solr/util/PivotListEntry.java    |  3 +-
 .../java/org/apache/solr/util/PrimUtils.java    |  3 +-
 .../apache/solr/util/PropertiesInputStream.java |  3 +-
 .../solr/util/PropertiesOutputStream.java       |  3 +-
 .../org/apache/solr/util/PropertiesUtil.java    |  3 +-
 .../src/java/org/apache/solr/util/RTimer.java   |  3 +-
 .../java/org/apache/solr/util/RTimerTree.java   |  3 +-
 .../apache/solr/util/RecordingJSONParser.java   |  4 +-
 .../java/org/apache/solr/util/RefCounted.java   |  1 -
 .../org/apache/solr/util/RegexFileFilter.java   |  3 +-
 .../org/apache/solr/util/SimplePostTool.java    |  3 +-
 .../src/java/org/apache/solr/util/SolrCLI.java  |  3 +-
 .../org/apache/solr/util/SolrLogLayout.java     | 33 ++++----
 .../org/apache/solr/util/SolrPluginUtils.java   |  1 -
 .../java/org/apache/solr/util/SpatialUtils.java |  3 +-
 .../org/apache/solr/util/SystemIdResolver.java  |  3 +-
 .../org/apache/solr/util/TestInjection.java     |  3 +-
 .../src/java/org/apache/solr/util/TimeOut.java  |  3 +-
 .../org/apache/solr/util/TimeZoneUtils.java     |  1 -
 .../org/apache/solr/util/VersionedFile.java     |  1 -
 .../hll/BigEndianAscendingWordDeserializer.java |  3 +-
 .../hll/BigEndianAscendingWordSerializer.java   |  3 +-
 .../java/org/apache/solr/util/hll/BitUtil.java  |  3 +-
 .../org/apache/solr/util/hll/BitVector.java     |  3 +-
 .../src/java/org/apache/solr/util/hll/HLL.java  |  3 +-
 .../org/apache/solr/util/hll/HLLMetadata.java   |  3 +-
 .../java/org/apache/solr/util/hll/HLLType.java  |  3 +-
 .../java/org/apache/solr/util/hll/HLLUtil.java  |  3 +-
 .../org/apache/solr/util/hll/IHLLMetadata.java  |  3 +-
 .../apache/solr/util/hll/ISchemaVersion.java    |  3 +-
 .../apache/solr/util/hll/IWordDeserializer.java |  3 +-
 .../apache/solr/util/hll/IWordSerializer.java   |  3 +-
 .../org/apache/solr/util/hll/LongIterator.java  |  3 +-
 .../org/apache/solr/util/hll/NumberUtil.java    |  3 +-
 .../apache/solr/util/hll/SchemaVersionOne.java  |  3 +-
 .../apache/solr/util/hll/SerializationUtil.java |  3 +-
 .../org/apache/solr/util/hll/package-info.java  |  1 -
 .../java/org/apache/solr/util/package-info.java |  1 -
 .../solr/util/plugin/AbstractPluginLoader.java  |  1 -
 .../solr/util/plugin/MapInitializedPlugin.java  |  1 -
 .../solr/util/plugin/MapPluginLoader.java       |  1 -
 .../util/plugin/NamedListInitializedPlugin.java |  1 -
 .../solr/util/plugin/NamedListPluginLoader.java |  1 -
 .../apache/solr/util/plugin/SolrCoreAware.java  |  1 -
 .../apache/solr/util/plugin/package-info.java   |  1 -
 .../java/org/apache/solr/util/stats/Clock.java  |  1 -
 .../java/org/apache/solr/util/stats/EWMA.java   |  1 -
 .../util/stats/ExponentiallyDecayingSample.java |  1 -
 .../org/apache/solr/util/stats/Histogram.java   |  1 -
 .../java/org/apache/solr/util/stats/Meter.java  |  1 -
 .../java/org/apache/solr/util/stats/Sample.java |  1 -
 .../org/apache/solr/util/stats/Snapshot.java    |  1 -
 .../java/org/apache/solr/util/stats/Timer.java  |  1 -
 .../apache/solr/util/stats/TimerContext.java    |  1 -
 .../apache/solr/util/stats/UniformSample.java   |  1 -
 .../apache/solr/util/stats/package-info.java    |  1 -
 .../solr/util/xslt/TransformerProvider.java     |  1 -
 .../org/apache/solr/util/xslt/package-info.java |  1 -
 .../runtimecode/RuntimeLibReqHandler.java       |  4 +-
 .../runtimecode/RuntimeLibResponseWriter.java   | 18 +++-
 .../runtimecode/RuntimeLibSearchComponent.java  |  4 +-
 .../solr/AnalysisAfterCoreReloadTest.java       |  3 +-
 .../org/apache/solr/BasicFunctionalityTest.java |  1 -
 .../org/apache/solr/ConvertedLegacyTest.java    |  1 -
 .../test/org/apache/solr/CursorPagingTest.java  |  1 -
 .../apache/solr/DisMaxRequestHandlerTest.java   |  1 -
 .../solr/DistributedIntervalFacetingTest.java   | 28 +++---
 .../test/org/apache/solr/EchoParamsTest.java    |  1 -
 .../test/org/apache/solr/MinimalSchemaTest.java |  1 -
 .../test/org/apache/solr/OutputWriterTest.java  |  1 -
 .../src/test/org/apache/solr/SampleTest.java    |  1 -
 .../org/apache/solr/SolrTestCaseJ4Test.java     |  3 +-
 .../test/org/apache/solr/TestCrossCoreJoin.java |  1 -
 .../solr/TestCursorMarkWithoutUniqueKey.java    |  1 -
 .../apache/solr/TestDistributedGrouping.java    |  3 +-
 .../apache/solr/TestDistributedMissingSort.java |  1 -
 .../org/apache/solr/TestDistributedSearch.java  |  1 -
 .../org/apache/solr/TestDocumentBuilder.java    |  4 +-
 .../org/apache/solr/TestGroupingSearch.java     |  1 -
 .../apache/solr/TestHighlightDedupGrouping.java |  1 -
 .../core/src/test/org/apache/solr/TestJoin.java |  1 -
 .../org/apache/solr/TestRandomDVFaceting.java   |  1 -
 .../org/apache/solr/TestRandomFaceting.java     |  1 -
 .../solr/TestSimpleTrackingShardHandler.java    |  1 -
 .../org/apache/solr/TestTolerantSearch.java     | 33 ++++----
 .../PathHierarchyTokenizerFactoryTest.java      |  1 -
 .../apache/solr/analysis/TestCharFilters.java   |  3 +-
 .../TestReversedWildcardFilterFactory.java      |  3 +-
 .../TestWordDelimiterFilterFactory.java         |  3 +-
 .../ThrowingMockTokenFilterFactory.java         |  3 +-
 .../solr/client/solrj/ConnectionReuseTest.java  |  3 +-
 .../TestEmbeddedSolrServerConstructors.java     |  3 +-
 .../solrj/embedded/TestJettySolrRunner.java     |  3 +-
 .../apache/solr/cloud/ActionThrottleTest.java   |  3 +-
 .../apache/solr/cloud/AliasIntegrationTest.java |  3 +-
 .../test/org/apache/solr/cloud/AssignTest.java  |  3 +-
 .../AsyncCallRequestStatusResponseTest.java     |  3 +-
 .../solr/cloud/AsyncMigrateRouteKeyTest.java    |  3 +-
 .../solr/cloud/BaseCdcrDistributedZkTest.java   |  3 +-
 .../solr/cloud/BasicDistributedZk2Test.java     |  3 +-
 .../solr/cloud/BasicDistributedZkTest.java      |  3 +-
 .../test/org/apache/solr/cloud/BasicZkTest.java |  3 +-
 .../cloud/CdcrReplicationDistributedZkTest.java |  3 +-
 .../solr/cloud/CdcrReplicationHandlerTest.java  |  3 +-
 .../solr/cloud/CdcrRequestHandlerTest.java      |  3 +-
 .../solr/cloud/CdcrVersionReplicationTest.java  |  3 +-
 .../cloud/ChaosMonkeyNothingIsSafeTest.java     |  3 +-
 .../solr/cloud/ChaosMonkeySafeLeaderTest.java   |  3 +-
 .../solr/cloud/ChaosMonkeyShardSplitTest.java   |  3 +-
 .../apache/solr/cloud/CleanupOldIndexTest.java  |  3 +-
 .../cloud/CloudExitableDirectoryReaderTest.java | 34 ++++----
 .../org/apache/solr/cloud/ClusterStateTest.java | 27 +++---
 .../solr/cloud/ClusterStateUpdateTest.java      |  3 +-
 .../apache/solr/cloud/CollectionReloadTest.java |  3 +-
 .../solr/cloud/CollectionStateFormat2Test.java  |  3 +-
 .../cloud/CollectionTooManyReplicasTest.java    |  3 +-
 .../CollectionsAPIAsyncDistributedZkTest.java   |  3 +-
 .../cloud/CollectionsAPIDistributedZkTest.java  |  3 +-
 .../solr/cloud/CollectionsAPISolrJTests.java    |  3 +-
 ...ConcurrentDeleteAndCreateCollectionTest.java |  3 +-
 .../apache/solr/cloud/ConfigSetsAPITest.java    |  3 +-
 .../solr/cloud/ConnectionManagerTest.java       | 27 +++---
 .../apache/solr/cloud/CustomCollectionTest.java |  3 +-
 .../solr/cloud/DeleteInactiveReplicaTest.java   |  3 +-
 .../DeleteLastCustomShardedReplicaTest.java     |  3 +-
 .../apache/solr/cloud/DeleteReplicaTest.java    |  3 +-
 .../org/apache/solr/cloud/DeleteShardTest.java  |  3 +-
 .../cloud/DistribJoinFromCollectionTest.java    |  3 +-
 .../apache/solr/cloud/DistributedQueueTest.java | 22 ++---
 .../solr/cloud/DistributedVersionInfoTest.java  |  3 +-
 .../org/apache/solr/cloud/ForceLeaderTest.java  |  3 +-
 .../cloud/FullSolrCloudDistribCmdsTest.java     |  3 +-
 .../apache/solr/cloud/HttpPartitionTest.java    |  3 +-
 .../org/apache/solr/cloud/KerberosTestUtil.java | 29 +++----
 .../cloud/LeaderElectionIntegrationTest.java    |  3 +-
 .../apache/solr/cloud/LeaderElectionTest.java   | 28 +++---
 .../cloud/LeaderFailoverAfterPartitionTest.java |  3 +-
 .../LeaderInitiatedRecoveryOnCommitTest.java    |  3 +-
 ...aderInitiatedRecoveryOnShardRestartTest.java |  3 +-
 .../apache/solr/cloud/MigrateRouteKeyTest.java  |  3 +-
 .../apache/solr/cloud/MultiThreadedOCPTest.java |  3 +-
 ...utOfBoxZkACLAndCredentialsProvidersTest.java | 33 ++++----
 ...rriddenZkACLAndCredentialsProvidersTest.java | 33 ++++----
 ...verseerCollectionConfigSetProcessorTest.java |  3 +-
 .../apache/solr/cloud/OverseerRolesTest.java    |  4 +-
 .../apache/solr/cloud/OverseerStatusTest.java   |  3 +-
 .../solr/cloud/OverseerTaskQueueTest.java       | 22 ++---
 .../org/apache/solr/cloud/OverseerTest.java     |  3 +-
 .../solr/cloud/RecoveryAfterSoftCommitTest.java |  3 +-
 .../org/apache/solr/cloud/RecoveryZkTest.java   |  3 +-
 .../apache/solr/cloud/RemoteQueryErrorTest.java |  3 +-
 .../solr/cloud/ReplicaPropertiesBase.java       |  3 +-
 .../solr/cloud/ReplicationFactorTest.java       |  3 +-
 .../solr/cloud/RestartWhileUpdatingTest.java    |  3 +-
 .../apache/solr/cloud/RollingRestartTest.java   |  3 +-
 .../org/apache/solr/cloud/SSLMigrationTest.java |  3 +-
 .../solr/cloud/SaslZkACLProviderTest.java       | 33 ++++----
 .../solr/cloud/ShardRoutingCustomTest.java      |  3 +-
 .../org/apache/solr/cloud/ShardRoutingTest.java |  3 +-
 .../org/apache/solr/cloud/ShardSplitTest.java   |  3 +-
 .../cloud/SharedFSAutoReplicaFailoverTest.java  |  3 +-
 .../SharedFSAutoReplicaFailoverUtilsTest.java   |  3 +-
 .../cloud/SimpleCollectionCreateDeleteTest.java |  3 +-
 .../org/apache/solr/cloud/SliceStateTest.java   | 27 +++---
 .../apache/solr/cloud/SolrCloudExampleTest.java |  3 +-
 .../org/apache/solr/cloud/SolrXmlInZkTest.java  | 22 ++---
 .../org/apache/solr/cloud/SyncSliceTest.java    |  3 +-
 .../solr/cloud/TestAuthenticationFramework.java |  3 +-
 .../apache/solr/cloud/TestCloudInspectUtil.java |  7 +-
 .../apache/solr/cloud/TestCollectionAPI.java    |  4 +-
 .../apache/solr/cloud/TestConfigSetsAPI.java    |  1 -
 .../cloud/TestConfigSetsAPIExclusivity.java     |  1 -
 .../solr/cloud/TestConfigSetsAPIZkFailure.java  |  1 -
 .../org/apache/solr/cloud/TestCryptoKeys.java   |  3 +-
 .../solr/cloud/TestDistribDocBasedVersion.java  |  3 +-
 .../solr/cloud/TestDownShardTolerantSearch.java |  3 +-
 .../TestExclusionRuleCollectionAccess.java      |  3 +-
 .../apache/solr/cloud/TestHashPartitioner.java  | 27 +++---
 .../solr/cloud/TestLeaderElectionZkExpiry.java  |  3 +-
 .../TestLeaderInitiatedRecoveryThread.java      | 31 ++++---
 .../solr/cloud/TestMiniSolrCloudCluster.java    |  3 +-
 .../cloud/TestMiniSolrCloudClusterBase.java     |  4 +-
 .../cloud/TestMiniSolrCloudClusterKerberos.java |  3 +-
 .../solr/cloud/TestMiniSolrCloudClusterSSL.java |  3 +-
 .../cloud/TestRandomRequestDistribution.java    |  3 +-
 .../apache/solr/cloud/TestRebalanceLeaders.java |  3 +-
 .../solr/cloud/TestReplicaProperties.java       |  4 +-
 .../solr/cloud/TestRequestForwarding.java       |  3 +-
 .../cloud/TestRequestStatusCollectionAPI.java   |  3 +-
 .../solr/cloud/TestShortCircuitedRequests.java  |  3 +-
 .../cloud/TestSolrCloudWithKerberosAlt.java     |  3 +-
 .../org/apache/solr/cloud/TestZkChroot.java     |  3 +-
 .../cloud/TriLevelCompositeIdRoutingTest.java   |  3 +-
 .../solr/cloud/UnloadDistributedZkTest.java     |  3 +-
 ...MParamsZkACLAndCredentialsProvidersTest.java | 33 ++++----
 .../test/org/apache/solr/cloud/ZkCLITest.java   |  3 +-
 .../org/apache/solr/cloud/ZkControllerTest.java | 28 +++---
 .../org/apache/solr/cloud/ZkNodePropsTest.java  | 27 +++---
 .../org/apache/solr/cloud/ZkSolrClientTest.java | 27 +++---
 .../cloud/hdfs/HdfsBasicDistributedZk2Test.java |  3 +-
 .../cloud/hdfs/HdfsBasicDistributedZkTest.java  |  3 +-
 .../hdfs/HdfsChaosMonkeyNothingIsSafeTest.java  |  3 +-
 .../hdfs/HdfsChaosMonkeySafeLeaderTest.java     |  3 +-
 .../HdfsCollectionsAPIDistributedZkTest.java    |  3 +-
 .../solr/cloud/hdfs/HdfsNNFailoverTest.java     |  1 -
 .../solr/cloud/hdfs/HdfsRecoverLeaseTest.java   |  3 +-
 .../solr/cloud/hdfs/HdfsRecoveryZkTest.java     |  3 +-
 .../hdfs/HdfsRestartWhileUpdatingTest.java      |  3 +-
 .../solr/cloud/hdfs/HdfsSyncSliceTest.java      |  3 +-
 .../apache/solr/cloud/hdfs/HdfsTestUtil.java    | 33 ++++----
 .../solr/cloud/hdfs/HdfsThreadLeakTest.java     |  3 +-
 .../cloud/hdfs/HdfsUnloadDistributedZkTest.java |  3 +-
 .../HdfsWriteToMultipleCollectionsTest.java     |  1 -
 .../apache/solr/cloud/hdfs/StressHdfsTest.java  |  1 -
 .../cloud/overseer/TestClusterStateMutator.java |  3 +-
 .../solr/cloud/overseer/ZkStateReaderTest.java  |  3 +-
 .../solr/cloud/overseer/ZkStateWriterTest.java  |  3 +-
 .../apache/solr/cloud/rule/RuleEngineTest.java  |  3 +-
 .../org/apache/solr/cloud/rule/RulesTest.java   |  7 +-
 .../solr/core/BlobStoreTestRequestHandler.java  |  4 +-
 .../solr/core/CachingDirectoryFactoryTest.java  | 33 ++++----
 .../solr/core/CountUsageValueSourceParser.java  |  3 +-
 .../apache/solr/core/DirectoryFactoryTest.java  |  1 -
 .../solr/core/DummyValueSourceParser.java       |  3 +-
 .../solr/core/ExitableDirectoryReaderTest.java  |  4 +-
 .../solr/core/HdfsDirectoryFactoryTest.java     |  1 -
 .../org/apache/solr/core/MockInfoMBean.java     | 13 ++-
 .../solr/core/MockShardHandlerFactory.java      |  3 +-
 .../solr/core/OpenCloseCoreStressTest.java      |  1 -
 .../org/apache/solr/core/PluginInfoTest.java    |  3 +-
 .../apache/solr/core/QueryResultKeyTest.java    |  1 -
 .../solr/core/RAMDirectoryFactoryTest.java      |  1 -
 .../apache/solr/core/RequestHandlersTest.java   |  1 -
 .../apache/solr/core/ResourceLoaderTest.java    |  1 -
 .../test/org/apache/solr/core/SOLR749Test.java  |  3 +-
 .../core/SolrCoreCheckLockOnStartupTest.java    |  3 +-
 .../test/org/apache/solr/core/SolrCoreTest.java |  1 -
 .../org/apache/solr/core/TestBadConfig.java     |  1 -
 .../org/apache/solr/core/TestCodecSupport.java  |  3 +-
 .../test/org/apache/solr/core/TestConfig.java   |  1 -
 .../org/apache/solr/core/TestConfigOverlay.java |  3 +-
 .../solr/core/TestConfigSetImmutable.java       |  3 +-
 .../solr/core/TestConfigSetProperties.java      |  3 +-
 .../org/apache/solr/core/TestConfigSets.java    |  3 +-
 .../org/apache/solr/core/TestCoreContainer.java |  1 -
 .../org/apache/solr/core/TestCoreDiscovery.java |  3 +-
 .../apache/solr/core/TestDynamicLoading.java    |  4 +-
 .../solr/core/TestImplicitCoreProperties.java   | 32 +++----
 .../apache/solr/core/TestInfoStreamLogging.java |  3 +-
 .../org/apache/solr/core/TestInitParams.java    |  3 +-
 .../org/apache/solr/core/TestLazyCores.java     |  3 +-
 .../apache/solr/core/TestMergePolicyConfig.java |  3 +-
 .../test/org/apache/solr/core/TestNRTOpen.java  |  3 +-
 .../solr/core/TestQuerySenderListener.java      |  1 -
 .../solr/core/TestQuerySenderNoQuery.java       |  3 +-
 .../solr/core/TestReloadAndDeleteDocs.java      |  1 -
 .../solr/core/TestShardHandlerFactory.java      |  1 -
 .../apache/solr/core/TestSolrConfigHandler.java |  4 +-
 .../apache/solr/core/TestSolrIndexConfig.java   |  3 +-
 .../test/org/apache/solr/core/TestSolrXml.java  |  3 +-
 .../apache/solr/core/TestXIncludeConfig.java    |  3 +-
 .../handler/AnalysisRequestHandlerTestBase.java |  1 -
 .../solr/handler/CSVRequestHandlerTest.java     |  1 -
 .../apache/solr/handler/CheckBackupStatus.java  |  3 +-
 .../DocumentAnalysisRequestHandlerTest.java     |  1 -
 .../FieldAnalysisRequestHandlerTest.java        |  1 -
 .../org/apache/solr/handler/JsonLoaderTest.java |  1 -
 .../solr/handler/MoreLikeThisHandlerTest.java   |  1 -
 .../solr/handler/PingRequestHandlerTest.java    |  1 -
 .../apache/solr/handler/RequestLoggingTest.java |  3 +-
 .../handler/StandardRequestHandlerTest.java     |  1 -
 .../apache/solr/handler/TestBlobHandler.java    |  3 +-
 .../org/apache/solr/handler/TestCSVLoader.java  |  1 -
 .../apache/solr/handler/TestConfigReload.java   |  3 +-
 .../handler/TestReplicationHandlerBackup.java   |  3 +-
 .../apache/solr/handler/TestReqParamsAPI.java   | 33 ++++----
 .../apache/solr/handler/TestRestoreCore.java    |  4 +-
 .../org/apache/solr/handler/TestSQLHandler.java |  3 +-
 .../handler/TestSolrConfigHandlerCloud.java     |  4 +-
 .../TestSolrConfigHandlerConcurrent.java        |  3 +-
 .../handler/ThrowErrorOnInitRequestHandler.java |  1 -
 .../admin/CoreAdminCreateDiscoverTest.java      |  1 -
 .../handler/admin/CoreAdminHandlerTest.java     |  1 -
 .../admin/CoreAdminRequestStatusTest.java       |  3 +-
 .../admin/CoreMergeIndexesAdminHandlerTest.java |  3 +-
 .../solr/handler/admin/InfoHandlerTest.java     |  1 -
 .../solr/handler/admin/LoggingHandlerTest.java  |  1 -
 .../handler/admin/LukeRequestHandlerTest.java   |  1 -
 .../solr/handler/admin/MBeansHandlerTest.java   |  1 -
 .../handler/admin/SecurityConfHandlerTest.java  |  4 +-
 .../admin/SegmentsInfoRequestHandlerTest.java   |  3 +-
 .../admin/ShowFileRequestHandlerTest.java       |  3 +-
 .../handler/admin/SystemInfoHandlerTest.java    |  1 -
 .../handler/component/BadComponentTest.java     |  5 +-
 .../handler/component/DebugComponentTest.java   |  3 +-
 .../DistributedDebugComponentTest.java          | 33 ++++----
 .../DistributedExpandComponentTest.java         |  3 +-
 .../DistributedFacetPivotLargeTest.java         |  3 +-
 .../DistributedFacetPivotLongTailTest.java      |  3 +-
 .../DistributedFacetPivotSmallAdvancedTest.java |  3 +-
 .../DistributedFacetPivotSmallTest.java         |  3 +-
 .../DistributedFacetPivotWhiteBoxTest.java      |  3 +-
 .../component/DistributedMLTComponentTest.java  |  3 +-
 ...DistributedQueryComponentCustomSortTest.java |  3 +-
 ...stributedQueryComponentOptimizationTest.java |  3 +-
 .../DistributedQueryElevationComponentTest.java |  3 +-
 .../DistributedSpellCheckComponentTest.java     |  3 +-
 .../DistributedSuggestComponentTest.java        |  3 +-
 .../DistributedTermsComponentTest.java          |  3 +-
 .../component/DummyCustomParamSpellChecker.java | 26 +++---
 .../handler/component/FacetPivotSmallTest.java  |  3 +-
 .../component/QueryElevationComponentTest.java  |  1 -
 .../component/ResponseLogComponentTest.java     | 17 ++--
 .../handler/component/SearchHandlerTest.java    |  1 -
 .../component/SpatialHeatmapFacetsTest.java     |  3 +-
 .../component/SpellCheckComponentTest.java      |  1 -
 .../handler/component/StatsComponentTest.java   |  3 +-
 .../SuggestComponentContextFilterQueryTest.java |  3 +-
 .../handler/component/SuggestComponentTest.java |  3 +-
 .../TermVectorComponentDistributedTest.java     |  1 -
 .../component/TermVectorComponentTest.java      | 18 ++--
 .../handler/component/TermsComponentTest.java   |  3 +-
 ...estDistributedStatsComponentCardinality.java |  7 +-
 .../handler/component/TestExpandComponent.java  | 31 ++++---
 .../handler/component/TestPivotHelperCode.java  |  5 +-
 .../TestTrackingShardHandlerFactory.java        |  3 +-
 .../solr/handler/loader/JavabinLoaderTest.java  |  3 +-
 .../highlight/FastVectorHighlighterTest.java    |  1 -
 .../highlight/HighlighterMaxOffsetTest.java     |  3 +-
 .../apache/solr/highlight/HighlighterTest.java  |  1 -
 .../highlight/TestPostingsSolrHighlighter.java  |  3 +-
 .../solr/index/hdfs/CheckHdfsIndexTest.java     |  3 +-
 .../apache/solr/internal/csv/CSVParserTest.java |  6 +-
 .../solr/internal/csv/CSVPrinterTest.java       |  6 +-
 .../solr/internal/csv/CSVStrategyTest.java      |  6 +-
 .../apache/solr/internal/csv/CSVUtilsTest.java  |  6 +-
 .../solr/internal/csv/CharBufferTest.java       | 26 +++---
 .../csv/ExtendedBufferedReaderTest.java         |  6 +-
 .../csv/writer/CSVConfigGuesserTest.java        | 26 +++---
 .../solr/internal/csv/writer/CSVConfigTest.java | 26 +++---
 .../solr/internal/csv/writer/CSVFieldTest.java  | 26 +++---
 .../solr/internal/csv/writer/CSVWriterTest.java | 26 +++---
 .../org/apache/solr/logging/TestLogWatcher.java |  3 +-
 .../org/apache/solr/request/JSONWriterTest.java |  1 -
 .../apache/solr/request/SimpleFacetsTest.java   |  1 -
 .../apache/solr/request/SmileWriterTest.java    |  4 +-
 .../org/apache/solr/request/TestFaceting.java   |  1 -
 .../solr/request/TestIntervalFaceting.java      |  1 -
 .../solr/request/TestRemoteStreaming.java       |  3 +-
 .../org/apache/solr/request/TestWriterPerf.java |  1 -
 .../apache/solr/request/macro/TestMacros.java   |  4 +-
 .../solr/response/TestCSVResponseWriter.java    |  1 -
 .../solr/response/TestChildDocTransformer.java  |  3 +-
 .../solr/response/TestCustomDocTransformer.java |  3 +-
 .../TestPHPSerializedResponseWriter.java        |  1 -
 .../solr/response/TestRawResponseWriter.java    |  1 -
 .../solr/response/TestRawTransformer.java       |  3 +-
 .../solr/response/TestSolrQueryResponse.java    |  3 +-
 .../response/TestSortingResponseWriter.java     |  1 -
 .../apache/solr/rest/SolrRestletTestBase.java   |  3 +-
 .../apache/solr/rest/TestManagedResource.java   |  3 +-
 .../solr/rest/TestManagedResourceStorage.java   |  3 +-
 .../org/apache/solr/rest/TestRestManager.java   |  3 +-
 .../solr/rest/schema/TestBulkSchemaAPI.java     |  3 +-
 .../rest/schema/TestClassNameShortening.java    |  3 +-
 .../schema/TestCopyFieldCollectionResource.java |  3 +-
 .../schema/TestDefaultSearchFieldResource.java  |  3 +-
 .../TestDynamicFieldCollectionResource.java     |  3 +-
 .../rest/schema/TestDynamicFieldResource.java   |  3 +-
 .../schema/TestFieldCollectionResource.java     |  3 +-
 .../solr/rest/schema/TestFieldResource.java     |  3 +-
 .../schema/TestFieldTypeCollectionResource.java |  3 +-
 .../solr/rest/schema/TestFieldTypeResource.java |  4 +-
 .../TestManagedSchemaDynamicFieldResource.java  |  3 +-
 .../schema/TestManagedSchemaFieldResource.java  |  3 +-
 .../TestManagedSchemaFieldTypeResource.java     |  3 +-
 .../schema/TestRemoveLastDynamicCopyField.java  |  4 +-
 .../rest/schema/TestSchemaNameResource.java     |  3 +-
 .../solr/rest/schema/TestSchemaResource.java    |  4 +-
 .../schema/TestSchemaSimilarityResource.java    |  3 +-
 .../rest/schema/TestSchemaVersionResource.java  |  3 +-
 .../TestSerializedLuceneMatchVersion.java       |  3 +-
 ...tSolrQueryParserDefaultOperatorResource.java |  3 +-
 .../schema/TestSolrQueryParserResource.java     |  3 +-
 .../rest/schema/TestUniqueKeyFieldResource.java |  3 +-
 .../analysis/TestManagedStopFilterFactory.java  |  3 +-
 .../TestManagedSynonymFilterFactory.java        |  3 +-
 .../solr/schema/AbstractCurrencyFieldTest.java  |  3 +-
 .../apache/solr/schema/BadCopyFieldTest.java    |  1 -
 .../apache/solr/schema/BadIndexSchemaTest.java  |  1 -
 .../solr/schema/ChangedSchemaMergeTest.java     |  1 -
 .../org/apache/solr/schema/CopyFieldTest.java   |  1 -
 .../schema/CurrencyFieldOpenExchangeTest.java   |  3 +-
 .../solr/schema/CurrencyFieldXmlFileTest.java   |  3 +-
 .../solr/schema/CustomAnalyzerStrField.java     |  3 +-
 .../org/apache/solr/schema/DateFieldTest.java   |  1 -
 .../apache/solr/schema/DateRangeFieldTest.java  |  5 +-
 .../solr/schema/DocValuesMissingTest.java       |  3 +-
 .../apache/solr/schema/DocValuesMultiTest.java  |  3 +-
 .../org/apache/solr/schema/DocValuesTest.java   |  3 +-
 .../org/apache/solr/schema/EnumFieldTest.java   |  3 +-
 .../solr/schema/ExternalFileFieldSortTest.java  | 19 ++---
 .../schema/IndexSchemaRuntimeFieldTest.java     |  3 +-
 .../org/apache/solr/schema/IndexSchemaTest.java |  1 -
 .../solr/schema/MockExchangeRateProvider.java   |  3 +-
 .../org/apache/solr/schema/MultiTermTest.java   |  3 +-
 .../apache/solr/schema/MyCrazyCustomField.java  |  3 +-
 .../solr/schema/NotRequiredUniqueKeyTest.java   |  1 -
 .../apache/solr/schema/NumericFieldsTest.java   |  1 -
 .../OpenExchangeRatesOrgProviderTest.java       |  3 +-
 .../org/apache/solr/schema/PolyFieldTest.java   |  3 +-
 .../solr/schema/PreAnalyzedFieldTest.java       |  3 +-
 .../solr/schema/PrimitiveFieldTypeTest.java     |  1 -
 .../apache/solr/schema/RequiredFieldsTest.java  |  1 -
 .../SchemaVersionSpecificBehaviorTest.java      |  1 -
 .../apache/solr/schema/SortableBinaryField.java |  3 +-
 .../solr/schema/SpatialRPTFieldTypeTest.java    |  3 +-
 .../solr/schema/SynonymTokenizerTest.java       |  3 +-
 .../org/apache/solr/schema/TestBinaryField.java |  1 -
 .../solr/schema/TestBulkSchemaConcurrent.java   |  4 +-
 .../solr/schema/TestCloudManagedSchema.java     |  3 +-
 .../TestCloudManagedSchemaConcurrent.java       |  3 +-
 .../apache/solr/schema/TestCloudSchemaless.java |  3 +-
 .../apache/solr/schema/TestCollationField.java  |  1 -
 .../schema/TestCollationFieldDocValues.java     |  1 -
 .../apache/solr/schema/TestManagedSchema.java   |  3 +-
 .../apache/solr/schema/TestOmitPositions.java   |  3 +-
 .../apache/solr/schema/TestSchemaManager.java   |  3 +-
 .../solr/schema/TestUseDocValuesAsStored.java   |  3 +-
 .../solr/schema/TestUseDocValuesAsStored2.java  |  3 +-
 .../solr/schema/ThrowErrorOnInitFieldType.java  |  3 +-
 .../TrieIntPrefixActsAsRangeQueryFieldType.java |  3 +-
 .../org/apache/solr/schema/WrappedIntField.java |  3 +-
 .../solr/search/AnalyticsMergeStrategyTest.java |  3 +-
 .../apache/solr/search/AnalyticsQueryTest.java  |  1 -
 .../org/apache/solr/search/CursorMarkTest.java  |  1 -
 .../solr/search/DelayingSearchComponent.java    |  3 +-
 .../test/org/apache/solr/search/DocSetPerf.java |  1 -
 .../apache/solr/search/FooQParserPlugin.java    |  1 -
 .../apache/solr/search/MergeStrategyTest.java   |  3 +-
 .../apache/solr/search/MockSearchComponent.java |  3 +-
 .../apache/solr/search/QueryEqualityTest.java   |  3 +-
 .../apache/solr/search/QueryParsingTest.java    |  3 +-
 .../org/apache/solr/search/RankQueryTest.java   |  1 -
 .../apache/solr/search/ReturnFieldsTest.java    |  1 -
 .../apache/solr/search/SortSpecParsingTest.java |  3 +-
 .../apache/solr/search/SpatialFilterTest.java   |  4 +-
 .../solr/search/TestAddFieldRealTimeGet.java    |  3 +-
 .../solr/search/TestAnalyticsQParserPlugin.java |  1 -
 .../solr/search/TestCollapseQParserPlugin.java  |  1 -
 .../search/TestComplexPhraseQParserPlugin.java  |  3 +-
 .../apache/solr/search/TestComponentsName.java  |  3 +-
 .../org/apache/solr/search/TestCustomSort.java  |  3 +-
 .../test/org/apache/solr/search/TestDocSet.java |  1 -
 .../solr/search/TestElisionMultitermQuery.java  | 11 ++-
 .../solr/search/TestExtendedDismaxParser.java   |  1 -
 .../apache/solr/search/TestFieldSortValues.java |  3 +-
 .../solr/search/TestFilteredDocIdSet.java       |  3 +-
 .../org/apache/solr/search/TestFiltering.java   |  1 -
 .../solr/search/TestFoldingMultitermQuery.java  |  3 +-
 .../solr/search/TestHashQParserPlugin.java      |  1 -
 .../org/apache/solr/search/TestInitQParser.java |  3 +-
 .../org/apache/solr/search/TestLFUCache.java    |  3 +-
 .../org/apache/solr/search/TestLRUCache.java    |  3 +-
 .../solr/search/TestMaxScoreQueryParser.java    |  3 +-
 .../apache/solr/search/TestMissingGroups.java   |  1 -
 .../apache/solr/search/TestNoOpRegenerator.java |  3 +-
 ...OverriddenPrefixQueryForCustomFieldType.java |  3 +-
 .../solr/search/TestPseudoReturnFields.java     |  1 -
 .../org/apache/solr/search/TestQueryUtils.java  |  1 -
 .../solr/search/TestQueryWrapperFilter.java     |  4 +-
 .../search/TestRandomCollapseQParserPlugin.java |  1 -
 .../apache/solr/search/TestRankQueryPlugin.java |  1 -
 .../solr/search/TestReRankQParserPlugin.java    |  1 -
 .../apache/solr/search/TestReloadDeadlock.java  |  5 +-
 .../org/apache/solr/search/TestSearchPerf.java  |  1 -
 .../solr/search/TestSimpleQParserPlugin.java    |  3 +-
 .../apache/solr/search/TestSmileRequest.java    |  4 +-
 .../apache/solr/search/TestSolr4Spatial.java    |  3 +-
 .../apache/solr/search/TestSolr4Spatial2.java   |  3 +-
 .../test/org/apache/solr/search/TestSolrJ.java  |  1 -
 .../test/org/apache/solr/search/TestSort.java   |  1 -
 .../solr/search/TestStandardQParsers.java       |  3 +-
 .../solr/search/TestStressUserVersions.java     |  5 +-
 .../solr/search/TestSurroundQueryParser.java    |  3 +-
 .../org/apache/solr/search/TestTrieFacet.java   |  1 -
 .../solr/search/TestValueSourceCache.java       |  3 +-
 .../org/apache/solr/search/TestXmlQParser.java  |  5 +-
 .../solr/search/facet/TestJsonFacets.java       |  3 +-
 .../search/function/NvlValueSourceParser.java   |  1 -
 .../search/function/SortByFunctionTest.java     |  3 +-
 .../solr/search/function/TestFunctionQuery.java |  1 -
 .../function/TestMinMaxOnMultiValuedField.java  |  1 -
 .../solr/search/function/TestOrdValues.java     |  3 +-
 .../function/TestSortByMinMaxFunction.java      |  3 +-
 .../function/distance/DistanceFunctionTest.java |  3 +-
 .../apache/solr/search/join/BJQParserTest.java  |  1 -
 .../search/join/BlockJoinFacetDistribTest.java  |  3 +-
 .../search/join/BlockJoinFacetRandomTest.java   |  3 +-
 .../search/join/BlockJoinFacetSimpleTest.java   |  3 +-
 .../apache/solr/search/join/GraphQueryTest.java |  3 +-
 .../search/join/TestScoreJoinQPNoScore.java     |  1 -
 .../solr/search/join/TestScoreJoinQPScore.java  |  1 -
 .../solr/search/json/TestJsonRequest.java       |  3 +-
 .../solr/search/mlt/CloudMLTQParserTest.java    |  3 +-
 .../solr/search/mlt/SimpleMLTQParserTest.java   |  3 +-
 .../similarities/BaseSimilarityTestCase.java    |  3 +-
 .../similarities/TestBM25SimilarityFactory.java |  3 +-
 .../TestClassicSimilarityFactory.java           |  3 +-
 .../similarities/TestDFISimilarityFactory.java  |  3 +-
 .../similarities/TestDFRSimilarityFactory.java  |  3 +-
 .../similarities/TestIBSimilarityFactory.java   |  3 +-
 .../TestLMDirichletSimilarityFactory.java       |  3 +-
 .../TestLMJelinekMercerSimilarityFactory.java   |  3 +-
 .../TestNonDefinedSimilarityFactory.java        |  3 +-
 .../similarities/TestPerFieldSimilarity.java    |  3 +-
 .../TestPerFieldSimilarityClassic.java          |  3 +-
 ...stPerFieldSimilarityWithDefaultOverride.java |  3 +-
 .../TestSweetSpotSimilarityFactory.java         |  3 +-
 .../solr/search/stats/TestBaseStatsCache.java   |  3 +-
 .../search/stats/TestDefaultStatsCache.java     |  3 +-
 .../solr/search/stats/TestDistribIDF.java       |  3 +-
 .../search/stats/TestExactSharedStatsCache.java |  4 +-
 .../solr/search/stats/TestExactStatsCache.java  |  4 +-
 .../solr/search/stats/TestLRUStatsCache.java    |  4 +-
 .../solr/security/BasicAuthIntegrationTest.java |  4 +-
 .../solr/security/MockAuthenticationPlugin.java |  4 +-
 .../solr/security/MockAuthorizationPlugin.java  |  3 +-
 .../PKIAuthenticationIntegrationTest.java       |  4 +-
 .../security/TestAuthorizationFramework.java    |  7 +-
 .../security/TestPKIAuthenticationPlugin.java   |  3 +-
 .../TestRuleBasedAuthorizationPlugin.java       |  3 +-
 .../TestSha256AuthenticationProvider.java       |  3 +-
 .../solr/servlet/DirectSolrConnectionTest.java  |  1 -
 .../apache/solr/servlet/ResponseHeaderTest.java |  3 +-
 .../solr/servlet/SolrRequestParserTest.java     |  1 -
 .../ConjunctionSolrSpellCheckerTest.java        | 23 +++--
 .../spelling/DirectSolrSpellCheckerTest.java    |  3 +-
 .../spelling/FileBasedSpellCheckerTest.java     |  1 -
 .../apache/solr/spelling/SampleComparator.java  |  3 +-
 .../solr/spelling/SpellCheckCollatorTest.java   |  3 +-
 .../spelling/SpellPossibilityIteratorTest.java  |  3 +-
 .../spelling/SpellingQueryConverterTest.java    |  1 -
 .../spelling/TestSuggestSpellingConverter.java  |  3 +-
 .../spelling/WordBreakSolrSpellCheckerTest.java |  3 +-
 .../solr/spelling/suggest/SuggesterFSTTest.java |  3 +-
 .../solr/spelling/suggest/SuggesterTSTTest.java |  3 +-
 .../solr/spelling/suggest/SuggesterTest.java    |  1 -
 .../spelling/suggest/SuggesterWFSTTest.java     |  3 +-
 .../suggest/TestAnalyzeInfixSuggestions.java    | 11 ++-
 .../suggest/TestAnalyzedSuggestions.java        |  3 +-
 .../suggest/TestBlendedInfixSuggestions.java    |  3 +-
 .../suggest/TestFileDictionaryLookup.java       |  3 +-
 .../suggest/TestFreeTextSuggestions.java        |  3 +-
 .../suggest/TestFuzzyAnalyzedSuggestions.java   | 11 ++-
 .../TestHighFrequencyDictionaryFactory.java     |  3 +-
 .../spelling/suggest/TestPhraseSuggestions.java |  3 +-
 .../solr/store/blockcache/BlockCacheTest.java   |  3 +-
 .../store/blockcache/BlockDirectoryTest.java    |  3 +-
 .../solr/store/blockcache/BufferStoreTest.java  |  3 +-
 .../solr/store/hdfs/HdfsDirectoryTest.java      |  3 +-
 .../solr/store/hdfs/HdfsLockFactoryTest.java    |  3 +-
 .../apache/solr/update/AddBlockUpdateTest.java  | 25 +++---
 .../solr/update/AnalysisErrorHandlingTest.java  |  3 +-
 .../org/apache/solr/update/AutoCommitTest.java  |  1 -
 .../apache/solr/update/CdcrUpdateLogTest.java   |  3 +-
 .../solr/update/DataDrivenBlockJoinTest.java    | 23 +++--
 .../update/DirectUpdateHandlerOptimizeTest.java |  3 +-
 .../solr/update/DirectUpdateHandlerTest.java    |  1 -
 .../apache/solr/update/DocumentBuilderTest.java |  1 -
 .../apache/solr/update/DummyMergePolicy.java    |  3 +-
 .../apache/solr/update/HardAutoCommitTest.java  |  1 -
 .../solr/update/MockStreamingSolrClients.java   |  3 +-
 .../org/apache/solr/update/PeerSyncTest.java    |  3 +-
 .../apache/solr/update/SoftAutoCommitTest.java  |  1 -
 .../solr/update/SolrCmdDistributorTest.java     |  3 +-
 .../apache/solr/update/SolrIndexConfigTest.java |  3 +-
 .../solr/update/SolrIndexSplitterTest.java      |  3 +-
 .../update/TestDocBasedVersionConstraints.java  |  1 -
 .../solr/update/TestExceedMaxTermLength.java    |  3 +-
 .../apache/solr/update/TestHdfsUpdateLog.java   |  3 +-
 .../solr/update/TestIndexingPerformance.java    |  1 -
 .../apache/solr/update/UpdateParamsTest.java    |  1 -
 .../org/apache/solr/update/VersionInfoTest.java |  3 +-
 ...dSchemaFieldsUpdateProcessorFactoryTest.java |  1 -
 .../update/processor/AtomicUpdatesTest.java     | 31 ++++---
 .../CloneFieldUpdateProcessorFactoryTest.java   |  1 -
 .../processor/CustomUpdateRequestProcessor.java |  1 -
 .../CustomUpdateRequestProcessorFactory.java    |  1 -
 .../DefaultValueUpdateProcessorTest.java        |  1 -
 ...DocExpirationUpdateProcessorFactoryTest.java |  1 -
 .../FieldMutatingUpdateProcessorTest.java       |  1 -
 ...ommitOptimizeUpdateProcessorFactoryTest.java |  3 +-
 .../ParsingFieldUpdateProcessorsTest.java       |  1 -
 .../PreAnalyzedUpdateProcessorTest.java         | 13 ++-
 .../RecordingUpdateProcessorFactory.java        |  1 -
 .../solr/update/processor/RuntimeUrp.java       |  3 +-
 .../solr/update/processor/ScriptEngineTest.java |  1 -
 .../SignatureUpdateProcessorFactoryTest.java    |  1 -
 ...atelessScriptUpdateProcessorFactoryTest.java |  3 +-
 .../processor/TestNamedUpdateProcessors.java    |  4 +-
 .../TestPartialUpdateDeduplication.java         |  3 +-
 .../UUIDUpdateProcessorFallbackTest.java        |  3 +-
 .../UniqFieldsUpdateProcessorFactoryTest.java   |  1 -
 .../processor/UpdateProcessorTestBase.java      |  3 +-
 .../UpdateRequestProcessorFactoryTest.java      |  1 -
 .../test/org/apache/solr/util/BitSetPerf.java   |  1 -
 .../org/apache/solr/util/CircularListTest.java  |  1 -
 .../test/org/apache/solr/util/DOMUtilTest.java  |  3 +-
 .../apache/solr/util/DateMathParserTest.java    |  1 -
 .../org/apache/solr/util/DistanceUnitsTest.java |  9 +-
 .../org/apache/solr/util/FileUtilsTest.java     |  3 +-
 .../org/apache/solr/util/MockCoreContainer.java |  3 +-
 .../org/apache/solr/util/PrimUtilsTest.java     | 14 +--
 .../apache/solr/util/SimplePostToolTest.java    |  3 +-
 .../apache/solr/util/SolrPluginUtilsTest.java   |  1 -
 .../apache/solr/util/TestFastOutputStream.java  |  1 -
 .../org/apache/solr/util/TestFastWriter.java    |  1 -
 .../solr/util/TestObjectReleaseTracker.java     |  3 +-
 .../org/apache/solr/util/TestRTimerTree.java    |  3 +-
 .../apache/solr/util/TestSolrCLIRunExample.java |  3 +-
 .../apache/solr/util/TestSystemIdResolver.java  |  3 +-
 .../org/apache/solr/util/TestTestInjection.java |  3 +-
 .../test/org/apache/solr/util/TestUtils.java    |  1 -
 .../org/apache/solr/util/TimeZoneUtilsTest.java |  1 -
 .../BigEndianAscendingWordDeserializerTest.java |  1 -
 .../BigEndianAscendingWordSerializerTest.java   |  1 -
 .../org/apache/solr/util/hll/BitVectorTest.java |  1 -
 .../apache/solr/util/hll/ExplicitHLLTest.java   |  1 -
 .../org/apache/solr/util/hll/FullHLLTest.java   |  1 -
 .../solr/util/hll/HLLSerializationTest.java     |  1 -
 .../org/apache/solr/util/hll/HLLUtilTest.java   |  1 -
 .../solr/util/hll/IntegrationTestGenerator.java |  1 -
 .../solr/util/hll/ProbabilisticTestUtil.java    |  1 -
 .../org/apache/solr/util/hll/SparseHLLTest.java |  1 -
 .../solr/client/solrj/ResponseParser.java       |  1 -
 .../apache/solr/client/solrj/SolrClient.java    |  1 -
 .../org/apache/solr/client/solrj/SolrQuery.java |  1 -
 .../apache/solr/client/solrj/SolrRequest.java   |  1 -
 .../apache/solr/client/solrj/SolrResponse.java  |  1 -
 .../solr/client/solrj/SolrServerException.java  |  1 -
 .../client/solrj/StreamingResponseCallback.java |  1 -
 .../client/solrj/beans/BindingException.java    |  3 +-
 .../solr/client/solrj/beans/package-info.java   |  1 -
 .../solr/client/solrj/impl/CloudSolrClient.java |  3 +-
 .../solrj/impl/ConcurrentUpdateSolrClient.java  |  1 -
 .../client/solrj/impl/HttpClientConfigurer.java |  4 +-
 .../solrj/impl/InputStreamResponseParser.java   |  3 +-
 .../solrj/impl/Krb5HttpClientConfigurer.java    |  3 +-
 .../client/solrj/impl/NoOpResponseParser.java   |  3 +-
 .../solrj/impl/SolrHttpRequestRetryHandler.java |  3 +-
 .../impl/SolrPortAwareCookieSpecFactory.java    | 33 ++++----
 .../client/solrj/impl/XMLResponseParser.java    |  1 -
 .../solr/client/solrj/impl/package-info.java    |  1 -
 .../solr/client/solrj/io/SolrClientCache.java   |  3 +-
 .../org/apache/solr/client/solrj/io/Tuple.java  |  1 -
 .../client/solrj/io/comp/ComparatorLambda.java  | 11 ++-
 .../client/solrj/io/comp/ComparatorOrder.java   |  7 +-
 .../client/solrj/io/comp/FieldComparator.java   |  1 -
 .../solr/client/solrj/io/comp/HashKey.java      |  3 +-
 .../solrj/io/comp/MultipleFieldComparator.java  |  1 -
 .../client/solrj/io/comp/StreamComparator.java  |  1 -
 .../solr/client/solrj/io/comp/package-info.java |  3 -
 .../solr/client/solrj/io/eq/Equalitor.java      |  5 +-
 .../solr/client/solrj/io/eq/FieldEqualitor.java |  1 -
 .../solrj/io/eq/MultipleFieldEqualitor.java     |  1 -
 .../client/solrj/io/eq/StreamEqualitor.java     |  1 -
 .../solr/client/solrj/io/eq/package-info.java   |  1 -
 .../client/solrj/io/ops/ConcatOperation.java    | 23 +++--
 .../client/solrj/io/ops/DistinctOperation.java  | 33 ++++----
 .../client/solrj/io/ops/GroupOperation.java     | 33 ++++----
 .../client/solrj/io/ops/ReduceOperation.java    |  6 +-
 .../client/solrj/io/ops/ReplaceOperation.java   | 21 +++--
 .../solrj/io/ops/ReplaceWithFieldOperation.java | 23 +++--
 .../solrj/io/ops/ReplaceWithValueOperation.java | 23 +++--
 .../client/solrj/io/ops/StreamOperation.java    | 19 ++---
 .../solr/client/solrj/io/ops/package-info.java  |  1 -
 .../solr/client/solrj/io/package-info.java      |  3 -
 .../client/solrj/io/sql/ConnectionImpl.java     |  3 +-
 .../solrj/io/sql/DatabaseMetaDataImpl.java      |  3 +-
 .../solr/client/solrj/io/sql/DriverImpl.java    |  4 +-
 .../solr/client/solrj/io/sql/ResultSetImpl.java |  3 +-
 .../solrj/io/sql/ResultSetMetaDataImpl.java     |  3 +-
 .../solr/client/solrj/io/sql/StatementImpl.java |  3 +-
 .../solr/client/solrj/io/sql/package-info.java  |  1 -
 .../client/solrj/io/stream/BiJoinStream.java    |  1 -
 .../client/solrj/io/stream/CloudSolrStream.java |  1 -
 .../solrj/io/stream/ComplementStream.java       |  1 -
 .../client/solrj/io/stream/DaemonStream.java    |  2 -
 .../client/solrj/io/stream/ExceptionStream.java |  1 -
 .../client/solrj/io/stream/FacetStream.java     |  3 +-
 .../client/solrj/io/stream/HashJoinStream.java  |  1 -
 .../client/solrj/io/stream/InnerJoinStream.java |  1 -
 .../client/solrj/io/stream/IntersectStream.java |  1 -
 .../solr/client/solrj/io/stream/JDBCStream.java |  1 -
 .../client/solrj/io/stream/JSONTupleStream.java | 33 ++++----
 .../solr/client/solrj/io/stream/JoinStream.java | 33 ++++----
 .../solrj/io/stream/LeftOuterJoinStream.java    |  1 -
 .../client/solrj/io/stream/MergeStream.java     |  1 -
 .../solrj/io/stream/OuterHashJoinStream.java    |  1 -
 .../client/solrj/io/stream/ParallelStream.java  |  1 -
 .../client/solrj/io/stream/PushBackStream.java  |  1 -
 .../solr/client/solrj/io/stream/RankStream.java |  1 -
 .../client/solrj/io/stream/ReducerStream.java   |  1 -
 .../client/solrj/io/stream/RollupStream.java    |  2 -
 .../client/solrj/io/stream/SelectStream.java    |  1 -
 .../solr/client/solrj/io/stream/SolrStream.java |  1 -
 .../client/solrj/io/stream/StatsStream.java     |  3 +-
 .../client/solrj/io/stream/StreamContext.java   |  1 -
 .../client/solrj/io/stream/TupleStream.java     |  1 -
 .../client/solrj/io/stream/UniqueStream.java    |  1 -
 .../solrj/io/stream/expr/Expressible.java       |  7 +-
 .../solrj/io/stream/expr/StreamExpression.java  |  9 +-
 .../expr/StreamExpressionNamedParameter.java    |  5 +-
 .../stream/expr/StreamExpressionParameter.java  |  3 +-
 .../io/stream/expr/StreamExpressionParser.java  | 13 ++-
 .../io/stream/expr/StreamExpressionValue.java   |  3 +-
 .../solrj/io/stream/expr/StreamFactory.java     | 33 ++++----
 .../solrj/io/stream/expr/package-info.java      |  3 -
 .../client/solrj/io/stream/metrics/Bucket.java  |  7 +-
 .../solrj/io/stream/metrics/CountMetric.java    |  3 +-
 .../solrj/io/stream/metrics/MaxMetric.java      |  3 +-
 .../solrj/io/stream/metrics/MeanMetric.java     |  3 +-
 .../client/solrj/io/stream/metrics/Metric.java  |  3 +-
 .../solrj/io/stream/metrics/MinMetric.java      |  3 +-
 .../solrj/io/stream/metrics/SumMetric.java      |  3 +-
 .../solrj/io/stream/metrics/package-info.java   |  3 -
 .../client/solrj/io/stream/package-info.java    |  3 -
 .../apache/solr/client/solrj/package-info.java  |  1 -
 .../solrj/request/AbstractUpdateRequest.java    |  3 +-
 .../solrj/request/CollectionAdminRequest.java   |  1 -
 .../solrj/request/ConfigSetAdminRequest.java    |  1 -
 .../request/ContentStreamUpdateRequest.java     |  4 +-
 .../client/solrj/request/CoreAdminRequest.java  |  1 -
 .../client/solrj/request/DirectXmlRequest.java  |  1 -
 .../solrj/request/DocumentAnalysisRequest.java  |  1 -
 .../solrj/request/FieldAnalysisRequest.java     |  1 -
 .../solrj/request/GenericSolrRequest.java       |  3 +-
 .../client/solrj/request/IsUpdateRequest.java   |  4 +-
 .../solr/client/solrj/request/LukeRequest.java  |  1 -
 .../solr/client/solrj/request/QueryRequest.java |  1 -
 .../client/solrj/request/RequestWriter.java     |  1 -
 .../solr/client/solrj/request/SolrPing.java     |  1 -
 .../client/solrj/request/UpdateRequest.java     |  1 -
 .../solr/client/solrj/request/package-info.java |  1 -
 .../request/schema/AbstractSchemaRequest.java   |  3 +-
 .../request/schema/AnalyzerDefinition.java      |  3 +-
 .../request/schema/FieldTypeDefinition.java     |  3 +-
 .../solrj/request/schema/SchemaRequest.java     |  3 +-
 .../solrj/request/schema/package-info.java      |  1 -
 .../solrj/response/AnalysisResponseBase.java    |  1 -
 .../solr/client/solrj/response/Cluster.java     |  3 +-
 .../solrj/response/ClusteringResponse.java      |  3 +-
 .../solrj/response/CollectionAdminResponse.java |  1 -
 .../solrj/response/ConfigSetAdminResponse.java  |  1 -
 .../solrj/response/CoreAdminResponse.java       |  1 -
 .../response/DocumentAnalysisResponse.java      |  1 -
 .../solr/client/solrj/response/FacetField.java  |  1 -
 .../solrj/response/FieldAnalysisResponse.java   |  1 -
 .../solr/client/solrj/response/Group.java       |  3 +-
 .../client/solrj/response/GroupCommand.java     |  3 +-
 .../client/solrj/response/GroupResponse.java    |  3 +-
 .../client/solrj/response/IntervalFacet.java    |  8 +-
 .../client/solrj/response/LukeResponse.java     |  1 -
 .../solr/client/solrj/response/PivotField.java  |  1 -
 .../client/solrj/response/QueryResponse.java    |  1 -
 .../solr/client/solrj/response/RangeFacet.java  |  3 +-
 .../solrj/response/SimpleSolrResponse.java      |  4 +-
 .../client/solrj/response/SolrPingResponse.java |  1 -
 .../client/solrj/response/SolrResponseBase.java |  1 -
 .../solrj/response/SpellCheckResponse.java      |  3 +-
 .../solrj/response/SuggesterResponse.java       |  3 +-
 .../solr/client/solrj/response/Suggestion.java  |  2 +-
 .../client/solrj/response/TermsResponse.java    |  3 +-
 .../client/solrj/response/UpdateResponse.java   |  1 -
 .../client/solrj/response/package-info.java     |  1 -
 .../schema/FieldTypeRepresentation.java         |  3 +-
 .../response/schema/SchemaRepresentation.java   |  3 +-
 .../solrj/response/schema/SchemaResponse.java   |  3 +-
 .../solrj/response/schema/package-info.java     |  1 -
 .../solr/client/solrj/util/ClientUtils.java     |  1 -
 .../solr/client/solrj/util/package-info.java    |  1 -
 .../java/org/apache/solr/common/Callable.java   |  3 +-
 .../apache/solr/common/EmptyEntityResolver.java |  3 +-
 .../org/apache/solr/common/EnumFieldValue.java  |  3 +-
 .../org/apache/solr/common/SolrDocument.java    |  1 -
 .../apache/solr/common/SolrDocumentBase.java    | 13 ++-
 .../apache/solr/common/SolrDocumentList.java    |  1 -
 .../org/apache/solr/common/SolrException.java   |  1 -
 .../apache/solr/common/SolrInputDocument.java   |  1 -
 .../org/apache/solr/common/SolrInputField.java  |  1 -
 .../org/apache/solr/common/StringUtils.java     |  3 +-
 .../org/apache/solr/common/cloud/Aliases.java   |  3 +-
 .../solr/common/cloud/BeforeReconnect.java      | 27 +++---
 .../solr/common/cloud/ClosableThread.java       |  3 +-
 .../apache/solr/common/cloud/ClusterState.java  |  3 +-
 .../solr/common/cloud/ClusterStateUtil.java     | 31 ++++---
 .../solr/common/cloud/CompositeIdRouter.java    |  3 +-
 .../solr/common/cloud/ConnectionManager.java    |  7 +-
 .../common/cloud/DefaultConnectionStrategy.java | 27 +++---
 .../solr/common/cloud/DefaultZkACLProvider.java | 13 ++-
 .../cloud/DefaultZkCredentialsProvider.java     |  9 +-
 .../apache/solr/common/cloud/DocCollection.java |  3 +-
 .../org/apache/solr/common/cloud/DocRouter.java |  3 +-
 .../solr/common/cloud/HashBasedRouter.java      |  3 +-
 .../solr/common/cloud/ImplicitDocRouter.java    |  3 +-
 .../apache/solr/common/cloud/OnReconnect.java   | 27 +++---
 .../apache/solr/common/cloud/PlainIdRouter.java |  5 +-
 .../org/apache/solr/common/cloud/Replica.java   |  3 +-
 .../apache/solr/common/cloud/RoutingRule.java   |  3 +-
 .../solr/common/cloud/SaslZkACLProvider.java    |  3 +-
 .../org/apache/solr/common/cloud/Slice.java     |  3 +-
 .../apache/solr/common/cloud/SolrZkClient.java  | 23 +++--
 .../apache/solr/common/cloud/SolrZooKeeper.java |  3 +-
 ...ParamsAllAndReadonlyDigestZkACLProvider.java | 23 +++--
 ...tCredentialsDigestZkCredentialsProvider.java | 17 ++--
 .../apache/solr/common/cloud/ZkACLProvider.java | 11 ++-
 .../cloud/ZkClientConnectionStrategy.java       | 27 +++---
 .../apache/solr/common/cloud/ZkCmdExecutor.java |  3 +-
 .../solr/common/cloud/ZkConfigManager.java      |  1 -
 .../solr/common/cloud/ZkCoreNodeProps.java      | 27 +++---
 .../common/cloud/ZkCredentialsProvider.java     |  7 +-
 .../apache/solr/common/cloud/ZkNodeProps.java   |  3 +-
 .../apache/solr/common/cloud/ZkOperation.java   |  6 +-
 .../apache/solr/common/cloud/ZkStateReader.java |  5 +-
 .../solr/common/cloud/ZooKeeperException.java   |  4 +-
 .../apache/solr/common/cloud/package-info.java  |  1 -
 .../org/apache/solr/common/luke/FieldFlag.java  |  4 +-
 .../apache/solr/common/luke/package-info.java   |  1 -
 .../org/apache/solr/common/package-info.java    |  1 -
 .../solr/common/params/AnalysisParams.java      |  1 -
 .../solr/common/params/AppendedSolrParams.java  |  1 -
 .../solr/common/params/CollectionParams.java    |  3 +-
 .../solr/common/params/CommonAdminParams.java   |  1 -
 .../apache/solr/common/params/CommonParams.java |  1 -
 .../solr/common/params/ConfigSetParams.java     |  3 +-
 .../solr/common/params/CoreAdminParams.java     |  1 -
 .../solr/common/params/CursorMarkParams.java    |  1 -
 .../solr/common/params/DefaultSolrParams.java   |  1 -
 .../apache/solr/common/params/DisMaxParams.java |  1 -
 .../apache/solr/common/params/EventParams.java  |  4 +-
 .../apache/solr/common/params/ExpandParams.java |  1 -
 .../apache/solr/common/params/FacetParams.java  |  1 -
 .../apache/solr/common/params/GroupParams.java  |  1 -
 .../solr/common/params/HighlightParams.java     |  1 -
 .../solr/common/params/MapSolrParams.java       |  1 -
 .../common/params/ModifiableSolrParams.java     |  1 -
 .../solr/common/params/MoreLikeThisParams.java  |  1 -
 .../solr/common/params/MultiMapSolrParams.java  |  1 -
 .../common/params/QueryElevationParams.java     |  4 +-
 .../solr/common/params/RequiredSolrParams.java  |  1 -
 .../apache/solr/common/params/ShardParams.java  |  1 -
 .../apache/solr/common/params/SimpleParams.java |  3 +-
 .../apache/solr/common/params/SolrParams.java   |  1 -
 .../solr/common/params/SpatialParams.java       |  4 +-
 .../solr/common/params/SpellingParams.java      |  1 -
 .../apache/solr/common/params/StatsParams.java  |  1 -
 .../solr/common/params/TermVectorParams.java    |  4 +-
 .../apache/solr/common/params/TermsParams.java  |  1 -
 .../apache/solr/common/params/UpdateParams.java |  1 -
 .../apache/solr/common/params/package-info.java |  1 -
 .../org/apache/solr/common/util/ByteUtils.java  |  1 -
 .../java/org/apache/solr/common/util/Cache.java |  3 +-
 .../apache/solr/common/util/ContentStream.java  |  1 -
 .../solr/common/util/ContentStreamBase.java     |  1 -
 .../solr/common/util/DataInputInputStream.java  |  1 -
 .../org/apache/solr/common/util/DateUtil.java   |  3 +-
 .../apache/solr/common/util/ExecutorUtil.java   | 11 ++-
 .../solr/common/util/FastInputStream.java       |  1 -
 .../solr/common/util/FastOutputStream.java      |  1 -
 .../java/org/apache/solr/common/util/Hash.java  |  3 +-
 .../org/apache/solr/common/util/IOUtils.java    | 15 ++--
 .../apache/solr/common/util/IteratorChain.java  |  1 -
 .../org/apache/solr/common/util/NamedList.java  |  1 -
 .../solr/common/util/ObjectReleaseTracker.java  |  3 +-
 .../java/org/apache/solr/common/util/Pair.java  |  3 +-
 .../org/apache/solr/common/util/RetryUtil.java  | 11 ++-
 .../solr/common/util/SimpleOrderedMap.java      |  3 +-
 .../common/util/SolrjNamedThreadFactory.java    |  9 +-
 .../org/apache/solr/common/util/StrUtils.java   |  1 -
 .../solr/common/util/SuppressForbidden.java     |  3 +-
 .../org/apache/solr/common/util/URLUtil.java    |  1 -
 .../java/org/apache/solr/common/util/Utils.java |  4 +-
 .../java/org/apache/solr/common/util/XML.java   |  1 -
 .../apache/solr/common/util/XMLErrorLogger.java |  1 -
 .../apache/solr/common/util/package-info.java   |  1 -
 ...ollectionAdminRequestRequiredParamsTest.java |  3 +-
 .../apache/solr/client/solrj/GetByIdTest.java   |  3 +-
 .../solr/client/solrj/LargeVolumeTestBase.java  |  1 -
 .../solrj/MergeIndexesExampleTestBase.java      |  1 -
 .../client/solrj/SolrExampleBinaryTest.java     |  1 -
 .../solr/client/solrj/SolrExampleTestBase.java  |  1 -
 .../solr/client/solrj/SolrExampleTests.java     |  1 -
 .../solr/client/solrj/SolrExampleTestsBase.java |  1 -
 .../solr/client/solrj/SolrExampleXMLTest.java   |  1 -
 .../solr/client/solrj/SolrExceptionTest.java    |  1 -
 .../apache/solr/client/solrj/SolrQueryTest.java |  1 -
 .../client/solrj/SolrSchemalessExampleTest.java |  1 -
 .../solr/client/solrj/StartSolrJetty.java       |  1 -
 .../solr/client/solrj/TestLBHttpSolrClient.java |  1 -
 .../client/solrj/TestSolrJErrorHandling.java    |  7 +-
 .../AbstractEmbeddedSolrServerTestCase.java     |  3 +-
 .../client/solrj/embedded/JettyWebappTest.java  |  1 -
 .../solrj/embedded/LargeVolumeEmbeddedTest.java |  1 -
 .../solrj/embedded/LargeVolumeJettyTest.java    |  1 -
 .../embedded/MergeIndexesEmbeddedTest.java      |  1 -
 .../solrj/embedded/SolrExampleEmbeddedTest.java |  1 -
 .../solrj/embedded/SolrExampleJettyTest.java    |  1 -
 .../SolrExampleStreamingBinaryTest.java         |  3 +-
 .../embedded/SolrExampleStreamingTest.java      |  1 -
 .../solrj/embedded/TestEmbeddedSolrServer.java  |  3 +-
 .../solrj/embedded/TestSolrProperties.java      |  1 -
 .../solrj/impl/BasicHttpSolrClientTest.java     |  1 -
 .../CloudSolrClientMultiConstructorTest.java    | 21 +++--
 .../client/solrj/impl/CloudSolrClientTest.java  |  3 +-
 .../impl/ConcurrentUpdateSolrClientTest.java    |  1 -
 .../solrj/impl/ExternalHttpClientTest.java      |  3 +-
 .../client/solrj/impl/LBHttpSolrClientTest.java |  1 -
 .../solrj/impl/SolrPortAwareCookieSpecTest.java |  3 +-
 .../impl/TestCloudSolrClientConnections.java    |  3 +-
 .../client/solrj/io/sql/JdbcDriverTest.java     |  3 +-
 .../solr/client/solrj/io/sql/JdbcTest.java      |  3 +-
 .../client/solrj/io/stream/JDBCStreamTest.java  |  3 +-
 .../solrj/io/stream/RecordCountStream.java      |  2 +-
 .../solrj/io/stream/StreamExpressionTest.java   |  3 +-
 .../stream/StreamExpressionToExpessionTest.java |  3 +-
 .../client/solrj/io/stream/StreamingTest.java   |  3 +-
 .../stream/expr/StreamExpressionParserTest.java |  3 +-
 .../io/stream/ops/ConcatOperationTest.java      |  3 +-
 .../solrj/io/stream/ops/OperationsTest.java     |  3 +-
 .../solr/client/solrj/request/SchemaTest.java   |  3 +-
 .../solr/client/solrj/request/SolrPingTest.java |  3 +-
 .../request/TestConfigSetAdminRequest.java      |  1 -
 .../client/solrj/request/TestCoreAdmin.java     |  1 -
 .../client/solrj/request/TestUpdateRequest.java |  3 +-
 .../solrj/response/AnlysisResponseBaseTest.java |  1 -
 .../response/DocumentAnalysisResponseTest.java  |  1 -
 .../client/solrj/response/FacetFieldTest.java   |  3 +-
 .../response/FieldAnalysisResponseTest.java     |  1 -
 .../solrj/response/NoOpResponseParserTest.java  |  3 +-
 .../solrj/response/QueryResponseTest.java       |  1 -
 .../solrj/response/TermsResponseTest.java       |  3 +-
 .../solrj/response/TestClusteringResponse.java  |  3 +-
 .../solrj/response/TestSpellCheckResponse.java  |  3 +-
 .../solrj/response/TestSuggesterResponse.java   |  3 +-
 .../solr/client/solrj/util/ClientUtilsTest.java |  1 -
 .../apache/solr/common/SolrDocumentTest.java    |  1 -
 .../solr/common/cloud/SolrZkClientTest.java     |  3 +-
 .../solr/common/cloud/TestZkConfigManager.java  |  1 -
 .../common/params/CommonAdminParamsTest.java    |  1 -
 .../solr/common/params/CommonParamsTest.java    |  1 -
 .../common/params/ModifiableSolrParamsTest.java | 25 +++---
 .../solr/common/params/ShardParamsTest.java     |  3 +-
 .../solr/common/params/SolrParamTest.java       |  1 -
 .../solr/common/util/ContentStreamTest.java     |  1 -
 .../solr/common/util/IteratorChainTest.java     |  1 -
 .../apache/solr/common/util/NamedListTest.java  |  1 -
 .../apache/solr/common/util/TestDateUtil.java   |  3 +-
 .../org/apache/solr/common/util/TestHash.java   |  3 +-
 .../solr/common/util/TestJavaBinCodec.java      |  3 +-
 .../solr/common/util/TestJsonRecordReader.java  |  3 +-
 .../apache/solr/common/util/TestRetryUtil.java  |  3 +-
 .../solr/common/util/TestXMLEscaping.java       |  1 -
 .../apache/solr/common/util/URLUtilTest.java    |  1 -
 .../solr/BaseDistributedSearchTestCase.java     |  3 +-
 .../src/java/org/apache/solr/JSONTestUtil.java  |  1 -
 .../apache/solr/SolrIgnoredThreadsFilter.java   | 13 ++-
 .../java/org/apache/solr/SolrJettyTestBase.java |  3 +-
 .../java/org/apache/solr/SolrTestCaseHS.java    |  4 +-
 .../java/org/apache/solr/SolrTestCaseJ4.java    |  1 -
 .../solr/analysis/MockCharFilterFactory.java    |  3 +-
 .../solr/analysis/MockTokenFilterFactory.java   |  3 +-
 .../solr/analysis/MockTokenizerFactory.java     |  3 +-
 .../analysis/StringMockSolrResourceLoader.java  |  3 +-
 .../solr/cloud/AbstractDistribZkTestBase.java   |  3 +-
 .../apache/solr/cloud/AbstractZkTestCase.java   |  3 +-
 .../java/org/apache/solr/cloud/ChaosMonkey.java |  7 +-
 .../org/apache/solr/cloud/CloudInspectUtil.java | 33 ++++----
 .../java/org/apache/solr/cloud/IpTables.java    |  4 +-
 .../apache/solr/cloud/MiniSolrCloudCluster.java |  3 +-
 .../org/apache/solr/cloud/MockSolrZkClient.java |  3 +-
 .../apache/solr/cloud/MockZkStateReader.java    |  3 +-
 .../java/org/apache/solr/cloud/SocketProxy.java |  3 +-
 .../solr/cloud/StoppableIndexingThread.java     | 25 +++---
 .../solr/cloud/StoppableSearchThread.java       |  7 +-
 .../org/apache/solr/cloud/ZkTestServer.java     | 27 +++---
 .../solr/core/AbstractBadConfigTestBase.java    |  1 -
 .../apache/solr/core/MockDirectoryFactory.java  |  3 +-
 .../solr/core/MockFSDirectoryFactory.java       |  3 +-
 .../component/TrackingShardHandlerFactory.java  |  3 +-
 .../processor/BufferingRequestProcessor.java    |  1 -
 .../apache/solr/util/AbstractSolrTestCase.java  |  2 -
 .../apache/solr/util/BadHdfsThreadsFilter.java  |  3 +-
 .../solr/util/BadMrClusterThreadsFilter.java    |  3 +-
 .../solr/util/BadZookeeperThreadsFilter.java    |  3 +-
 .../org/apache/solr/util/BaseTestHarness.java   |  3 +-
 .../org/apache/solr/util/DOMUtilTestBase.java   |  1 -
 .../org/apache/solr/util/ExternalPaths.java     |  3 +-
 .../apache/solr/util/RESTfulServerProvider.java |  3 +-
 .../solr/util/RandomForceMergePolicy.java       |  1 -
 .../org/apache/solr/util/RandomMergePolicy.java |  1 -
 .../apache/solr/util/ReadOnlyCoresLocator.java  |  3 +-
 .../java/org/apache/solr/util/RestTestBase.java |  3 +-
 .../org/apache/solr/util/RestTestHarness.java   |  3 +-
 .../util/RevertDefaultThreadHandlerRule.java    | 23 +++--
 .../org/apache/solr/util/SSLTestConfig.java     |  3 +-
 .../java/org/apache/solr/util/TestHarness.java  |  1 -
 5570 files changed, 10100 insertions(+), 13689 deletions(-)
----------------------------------------------------------------------



[77/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/geonames-IE.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/geonames-IE.txt b/lucene/spatial-extras/src/test-files/data/geonames-IE.txt
new file mode 100644
index 0000000..baa7b74
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/geonames-IE.txt
@@ -0,0 +1,22929 @@
+2652852	Cliff	Cliff		54.48333	-8.11667	S	EST	IE		U	06			0		76	Europe/Dublin	2010-08-14
+2654332	Bun Cranncha	Bun Cranncha	Buncrana	55.13333	-7.45	P	PPL	IE		U	06			5546		63	Europe/Dublin	2010-08-14
+2960863	Dromore West	Dromore West	Dromore,Dromore West	54.25167	-8.89306	P	PPL	IE	IE	C	25			0		32	Europe/Dublin	2010-08-14
+2960864	Dromore	Dromore	Dromore,Dromore House	52.93111	-8.96833	S	EST	IE	IE	M	03			0		36	Europe/Dublin	2010-08-14
+2960865	Youghal Harbour	Youghal Harbour		51.95194	-7.83972	H	HBR	IE		00	00			0		1	Europe/Dublin	2010-08-14
+2960866	Youghal Bay	Youghal Bay		52.89944	-8.30361	H	BAY	IE		M	26			0		55	Europe/Dublin	2010-08-14
+2960867	Youghal Bay	Youghal Bay		51.91	-7.81917	H	BAY	IE		00	00			0		-9999	Europe/Dublin	2010-08-14
+2960868	Youghal	Youghal		52.88861	-8.3075	P	PPL	IE		M	26			0		61	Europe/Dublin	2010-08-14
+2960869	Eochaill	Eochaill	Youghal	51.95	-7.85056	P	PPL	IE		M	04			6868		1	Europe/Dublin	2010-08-14
+2960870	Yellow River	Yellow River		54.13972	-8.02722	H	STM	IE		C	14			0		58	Europe/Dublin	2010-08-14
+2960871	Yellow River	Yellow River		54.05	-7.83333	H	STM	IE		C	14			0		76	Europe/Dublin	2010-08-14
+2960872	Yellow River	Yellow River		53.81667	-9	H	STM	IE		C	20			0		51	Europe/Dublin	2010-08-14
+2960873	Yellow River	Yellow River		53.38556	-7.08361	H	STM	IE		00	00			0		108	Europe/Dublin	2010-08-14
+2960874	Yellow Furze	Yellow Furze		53.67333	-6.57167	P	PPL	IE		L	21			0		86	Europe/Dublin	2010-08-14
+2960875	Woodville	Woodville		54.13333	-9.31667	P	PPL	IE		C	20			0		42	Europe/Dublin	2010-08-14
+2960876	Woodville	Woodville		53.85	-7.56667	S	BLDG	IE		L	18			0		71	Europe/Dublin	2010-08-14
+2960877	Wood View	Wood View		52.83333	-7.21667	S	EST	IE		L	13			0		135	Europe/Dublin	2010-08-14
+2960878	Woodtown House	Woodtown House	Woodtown,Woodtown House	53.58139	-6.98639	S	EST	IE	IE	L	21			0		92	Europe/Dublin	2010-08-14
+2960879	Woodstown	Woodstown		52.19667	-7.01	P	PPL	IE		M	27			0		75	Europe/Dublin	2010-08-14
+2960880	Woodstock House	Woodstock House	Woodstock,Woodstock House	52.47861	-7.05639	S	EST	IE	IE	L	13			0		32	Europe/Dublin	2010-08-14
+2960881	Woodsgift House	Woodsgift House	Woodsgift,Woodsgift House	52.70694	-7.515	S	EST	IE	IE	L	13			0		152	Europe/Dublin	2010-08-14
+2960882	Woodrooff House	Woodrooff House	Woodroof House,Woodrooff House	52.38222	-7.81944	S	EST	IE	IE	M	26			0		122	Europe/Dublin	2010-11-04
+2960883	Woodpark	Woodpark		53.44417	-6.48417	S	EST	IE		L	21			0		78	Europe/Dublin	2010-08-14
+2960884	Woodpark	Woodpark		52.92583	-8.45833	S	EST	IE		M	03			0		53	Europe/Dublin	2010-08-14
+2960885	Woodmount	Woodmount		53.33583	-8.16167	S	EST	IE		C	24			0		73	Europe/Dublin	2010-08-14
+2960886	Wood Lodge	Wood Lodge		54.03333	-7.16667	S	BLDG	IE		U	02			0		111	Europe/Dublin	2010-08-14
+2960887	Woodlawn Station	Woodlawn Station	Woodlawn,Woodlawn Station	53.35	-8.46667	S	RSTN	IE	IE	C	10			0		76	Europe/Dublin	2010-08-14
+2960888	Woodlawn	Woodlawn	Woodlawn,Woodlawn House	53.32889	-8.47889	S	EST	IE	IE	C	10			0		76	Europe/Dublin	2010-08-14
+2960889	Woodlands Station	Woodlands Station	Woodlands,Woodlands Station	51.55	-9.51667	S	RSTN	IE	IE	M	04			0		145	Europe/Dublin	2010-08-14
+2960890	Woodhouse	Woodhouse		52.12389	-7.475	S	EST	IE		M	27			0		1	Europe/Dublin	2010-08-14
+2960891	Wood Hill	Wood Hill		54.75944	-8.41833	S	EST	IE		U	06			0		32	Europe/Dublin	2010-08-14
+2960892	Woodfort	Woodfort	Woodfoot,Woodfort	53.88333	-6.83333	P	PPL	IE		L	21			0		111	Europe/Dublin	2010-08-10
+2960893	Woodfort	Woodfort		52.15944	-8.34139	S	EST	IE		M	04			0		40	Europe/Dublin	2010-08-14
+2960894	Woodford River	Woodford River	Rosmore,Woodford River	53.02028	-8.31639	H	STM	IE	IE	C	10			0		55	Europe/Dublin	2010-08-14
+2960895	Woodford	Woodford	An Chraig,An Chráig,An Ghraig,An Ghráig,Woodford	53.04833	-8.40028	P	PPL	IE		C	10			0		76	Europe/Dublin	2010-08-14
+2960896	Woodford	Woodford		52.05	-9.45	P	PPL	IE		M	11			0		92	Europe/Dublin	1993-12-27
+2960897	Woodfield House	Woodfield House		53.86667	-8.88333	S	EST	IE		C	20			0		70	Europe/Dublin	1993-12-27
+2960898	Woodfield House	Woodfield House		53.37028	-7.62167	S	EST	IE		L	23			0		74	Europe/Dublin	2010-08-14
+2960899	Woodfield House	Woodfield House		53.11667	-7.9	S	EST	IE		L	23			0		70	Europe/Dublin	2010-08-14
+2960900	Woodenbridge Junction Station	Woodenbridge Junction Station	Woodenbridge,Woodenbridge Junction,Woodenbridge Junction Station	52.83333	-6.23333	S	RSTN	IE	IE	L	31			0		40	Europe/Dublin	2010-08-14
+2960901	Woodenbridge	Woodenbridge		52.83222	-6.23639	P	PPL	IE		L	31			0		43	Europe/Dublin	2010-08-14
+2960902	Woodbrook House	Woodbrook House	Woodbrook,Woodbrook House	53.12944	-7.23583	S	HSEC	IE	IE	L	15			0		101	Europe/Dublin	2010-08-14
+2960903	Woodbrook	Woodbrook		52.54806	-6.73861	S	EST	IE		L	30			0		131	Europe/Dublin	2010-08-14
+2960904	Woodbrook	Woodbrook		51.71667	-9.13333	S	EST	IE		M	04			0		89	Europe/Dublin	1993-12-27
+2960905	Woodbine Hill	Woodbine Hill		51.95472	-7.82944	S	EST	IE		M	04			0		1	Europe/Dublin	2010-08-14
+2960906	Wingfield House	Wingfield House		52.7725	-6.39194	S	EST	IE		L	30			0		154	Europe/Dublin	2010-08-14
+2960907	Windy Harbour	Windy Harbour		53.74083	-6.66472	P	PPL	IE		L	21			0		130	Europe/Dublin	2010-08-14
+2960908	Windy Gap	Windy Gap		52.03333	-9.93333	T	GAP	IE		M	11			0		269	Europe/Dublin	2010-08-14
+2960909	Windgap	Windgap	Bearna na Gaoithe,Bearra na Gaoithe,Windgap	52.46556	-7.39972	P	PPL	IE		L	13			0		152	Europe/Dublin	2010-08-14
+2960910	Windfield House	Windfield House		53.43333	-8.63333	S	EST	IE		C	10			0		76	Europe/Dublin	1993-12-27
+2960911	Wilton House	Wilton House	Wilton,Wilton House	52.72222	-7.54806	S	EST	IE	IE	L	13			0		137	Europe/Dublin	2010-08-14
+2960912	Wilton Castle	Wilton Castle	Wilton Castle,Wilton House	52.45917	-6.61639	S	EST	IE	IE	L	30			0		63	Europe/Dublin	2010-08-14
+2960913	Wilmount House	Wilmount House		52.58333	-6.71667	S	EST	IE		L	30			0		150	Europe/Dublin	2010-08-14
+2960914	Wilmount House	Wilmount House		52.41667	-6.45611	S	EST	IE		L	30			0		24	Europe/Dublin	2010-08-14
+2960915	Wilmount	Wilmount		53.74833	-6.89528	S	EST	IE		L	21			0		71	Europe/Dublin	2010-08-14
+2960916	Wills Grove	Wills Grove		53.73333	-8.41667	S	RUIN	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2960917	Willsbrook House	Willsbrook House		53.73333	-8.48333	S	BLDG	IE		C	24			0		74	Europe/Dublin	1993-12-27
+2960918	Willmount House	Willmount House		53.11611	-6.55833	S	HSEC	IE		L	31			0		198	Europe/Dublin	2010-08-14
+2960919	Willmount	Willmount		53.26667	-8.76667	S	EST	IE		C	10			0		30	Europe/Dublin	1993-12-27
+2960920	Willmount	Willmount		52.55472	-7.56556	S	EST	IE		M	26			0		150	Europe/Dublin	2010-08-14
+2960921	Williamstown Lodge	Williamstown Lodge		52.95	-8.33333	S	BLDG	IE		M	03			0		55	Europe/Dublin	2010-08-14
+2960922	Williamstown House	Williamstown House		53.88333	-6.41417	S	EST	IE		L	19			0		3	Europe/Dublin	2010-08-14
+2960923	Williamstown Harbour	Williamstown Harbour		52.95	-8.33333	H	HBR	IE		M	03			0		55	Europe/Dublin	2010-08-14
+2960924	Williamstown	Williamstown		53.68333	-8.58333	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
+2960925	Williamstown	Williamstown		53.75222	-6.87333	S	EST	IE		L	21			0		70	Europe/Dublin	2010-08-14
+2960926	Willbrook	Willbrook		53.29361	-6.31194	P	PPL	IE		L	07			0		76	Europe/Dublin	2010-08-14
+2960927	Willbrook	Willbrook		52.93778	-9.12806	P	PPL	IE		M	03			0		95	Europe/Dublin	2010-08-14
+2960928	Wilkinstown	Wilkinstown		53.73556	-6.71306	P	PPL	IE		L	21			0		73	Europe/Dublin	2010-08-14
+2960929	Wilford House	Wilford House		52.55722	-7.55889	S	EST	IE		M	26			0		150	Europe/Dublin	2010-08-14
+2960930	Wild Bellows Rock	Wild Bellows Rock		53.34417	-10.05056	T	RK	IE		C	10			0		-9999	Europe/Dublin	1999-03-04
+2960931	Wicklow Mountains	Wicklow Mountains	Wicklow Hills,Wicklow Mountains	53.08333	-6.33333	T	MTS	IE		L	31			0		439	Europe/Dublin	2010-08-10
+2960932	Wicklow Head	Wicklow Head		52.96056	-5.99889	T	CAPE	IE		L	31			0		-9999	Europe/Dublin	2010-08-14
+2960933	Wicklow Gap	Wicklow Gap		53.04056	-6.40194	T	GAP	IE		L	31			0		528	Europe/Dublin	2010-08-14
+2960934	Wicklow Gap	Wicklow Gap		52.75667	-6.35944	T	GAP	IE		L	30			0		160	Europe/Dublin	2010-08-14
+2960935	Cill Mhantáin	Cill Mhantain	Contae Chill Mhantain,Contae Chill Mhantáin,County Wicklow,Wicklow	53	-6.41667	A	ADM2	IE		L	31			119873		371	Europe/Dublin	2010-08-14
+2960936	Cill Mhantáin	Cill Mhantain	Cill Maintain,Cill Maintainn,Cill Maintáinn,Cill Manntein,Cill Manntéin,Cill Mantan,Cill Mhanntain,Wicklow	52.975	-6.04944	P	PPLA2	IE		L	31			10461		69	Europe/Dublin	2010-08-14
+2960937	Whiting Bay	Whiting Bay		51.94694	-7.78139	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2960938	Whitfield Court	Whitfield Court	Whitfield,Whitfield Court	52.22278	-7.21722	S	EST	IE	IE	M	27			0		54	Europe/Dublin	2010-08-14
+2960939	Whitewood House	Whitewood House	Whitewood,Whitewood House	53.84139	-6.78333	S	EST	IE	IE	L	21			0		72	Europe/Dublin	2010-08-14
+2960940	Whitewell House	Whitewell House		53.43333	-7.31667	S	EST	IE		L	29			0		130	Europe/Dublin	1993-12-27
+2960941	Whites Town	Whites Town		53.99778	-6.12778	P	PPL	IE		L	19			0		1	Europe/Dublin	2010-08-14
+2960942	White River	White River		53.85972	-6.38694	H	STM	IE		L	19			0		8	Europe/Dublin	2010-08-14
+2960943	White River	White River		52.59556	-9.19361	H	STM	IE		M	16			0		15	Europe/Dublin	2010-08-14
+2960944	White Point	White Point		51.85	-8.31667	T	PT	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2960945	White Mountain	White Mountain		52.48333	-6.83333	T	MT	IE		L	30			0		215	Europe/Dublin	2010-08-14
+2960946	White Lough	White Lough		53.70194	-7.22	H	LK	IE		00				0		151	Europe/Dublin	1999-03-22
+2960947	Whitehill House	Whitehill House		53.73333	-7.63333	S	EST	IE		L	18			0		76	Europe/Dublin	1993-12-27
+2960948	Whitehall	Whitehall		53.75	-7.93333	P	PPL	IE		C	24			0		66	Europe/Dublin	1993-12-27
+2960949	Paulstown	Paulstown	Baile Phoil,Baile Phóil,Paulstown,Whitehall	52.68111	-7.02222	P	PPL	IE		L	13			0		55	Europe/Dublin	2010-08-14
+2960950	Whitegate	Whitegate		53.73333	-7.31667	P	PPL	IE		L	29			0		211	Europe/Dublin	1993-12-27
+2960951	Whitegate	Whitegate	An Geata Ban,An Geata Bán,Whitegate	52.94917	-8.37139	P	PPL	IE		M	03			0		56	Europe/Dublin	2010-08-14
+2960952	Whitegate	Whitegate	An Geata Ban,An Geata Bán,Whitegate	51.83056	-8.22972	P	PPL	IE		M	04			0		1	Europe/Dublin	2010-08-14
+2960953	Whitechurch	Whitechurch		52.37139	-7.39306	P	PPL	IE		L	13			0		32	Europe/Dublin	2010-08-14
+2960954	Whitechurch	Whitechurch		52.31778	-6.96611	P	PPL	IE		L	30			0		46	Europe/Dublin	2010-08-14
+2960955	Whitechurch	Whitechurch		52.10944	-7.74944	P	PPL	IE		M	27			0		62	Europe/Dublin	2010-08-14
+2960956	Whitechurch	Whitechurch		51.98139	-8.51389	P	PPL	IE		M	04			0		152	Europe/Dublin	2010-08-14
+2960957	White Castle	White Castle		55.13333	-7.16667	P	PPL	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
+2960958	White Ball Head	White Ball Head		51.59667	-10.055	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2960959	Whiddy Island	Whiddy Island	Whiddy Island	51.70139	-9.49972	T	ISL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2960960	Wheelam Cross Roads	Wheelam Cross Roads		53.20278	-6.87083	P	PPL	IE		L	12			0		157	Europe/Dublin	2010-08-14
+2960961	Whale Head	Whale Head		55.0525	-7.57389	T	CAPE	IE		U	06			0		1	Europe/Dublin	2010-08-14
+2960962	Wexford Harbour	Wexford Harbour	Wexford Harbour	52.33833	-6.40417	H	HBR	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2960963	Loch Garman	Loch Garman	Contae Loch Garman,County Wexford,Wexford	52.5	-6.66667	A	ADM2	IE		L	30			121122		76	Europe/Dublin	2010-08-14
+2960964	Loch Garman	Loch Garman	Loch Garman,Wexford	52.33417	-6.4575	P	PPLA2	IE		L	30			17708		-9999	Europe/Dublin	2010-08-14
+2960965	West Village	West Village		51.88333	-8.6	P	PPL	IE		M	04			0		66	Europe/Dublin	2010-08-14
+2960966	West Town	West Town	Baile Thiar,West Town	55.26528	-8.22583	P	PPL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2960967	West Sister	West Sister	Beenhenry,West Sister	52.2	-10.43333	T	HLL	IE	IE	M	11			0		61	Europe/Dublin	2010-08-14
+2960968	Westport House	Westport House		53.8	-9.51667	S	EST	IE		C	20			0		108	Europe/Dublin	1993-12-27
+2960969	Westport Bay	Westport Bay		53.8	-9.63333	H	BAY	IE		C	20			0		-9999	Europe/Dublin	1993-12-27
+2960970	Cathair na Mart	Cathair na Mart	Westport	53.8	-9.51667	P	PPL	IE		C	20			6200		108	Europe/Dublin	2010-08-14
+2960971	Westmoreland Fort	Westmoreland Fort	Fort Westmoreland,Westmoreland Fort	51.83333	-8.28333	S	FT	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
+2960972	An Iarmhí	An Iarmhi	Contae na hIarmhi,Contae na hIarmhí,County Westmeath,Westmeath	53.5	-7.5	A	ADM2	IE		L	29			75298		144	Europe/Dublin	2010-08-14
+2960973	Westland Row Station	Westland Row Station	Westland Row Passenger Station	53.35	-6.25	S	RSTN	IE	IE	L	07			0		1	Europe/Dublin	2010-08-14
+2960974	Westland House	Westland House		53.785	-6.89694	S	EST	IE		L	21			0		79	Europe/Dublin	2010-08-14
+2960975	Westfield	Westfield		51.55	-9.38333	S	EST	IE		M	04			0		92	Europe/Dublin	1993-12-27
+2960976	West Cove	West Cove		51.77917	-10.07694	P	PPL	IE		M	11			0		134	Europe/Dublin	2010-08-14
+2960977	West Court	West Court		52.54917	-7.39389	S	EST	IE		L	13			0		71	Europe/Dublin	2010-08-14
+2960978	Wells House	Wells House	Wells,Wells House	52.52833	-6.34444	S	EST	IE	IE	L	30			0		58	Europe/Dublin	2010-08-14
+2960979	Wellmount House	Wellmount House		53.10472	-8.22778	S	BLDG	IE		C	10			0		77	Europe/Dublin	2010-08-14
+2960980	Wellingtonbridge	Wellingtonbridge	Wellingtonbridge	52.26333	-6.77833	P	PPL	IE		L	30			0		5	Europe/Dublin	2010-08-14
+2960981	Welchtown	Welchtown		54.81861	-7.87083	P	PPL	IE		U	06			0		84	Europe/Dublin	2010-08-14
+2960982	Webbsborough	Webbsborough	Webbsborough,Webbsborough House	52.75083	-7.23111	S	BLDG	IE	IE	L	13			0		128	Europe/Dublin	2010-08-14
+2960983	Weatherstown	Weatherstown		52.37361	-7.03944	P	PPL	IE		L	13			0		108	Europe/Dublin	2010-08-14
+2960984	Waterville	Waterville	An Coirean,An Coireán,Waterville	51.83333	-10.16667	P	PPL	IE		M	11			0		14	Europe/Dublin	2010-08-14
+2960985	Waterstown House	Waterstown House	Waterstown,Waterstown House	53.46667	-7.85	S	EST	IE		L	29			0		136	Europe/Dublin	2010-08-10
+2960986	Waterloo	Waterloo		53.93333	-7.13028	P	PPL	IE		U	02			0		171	Europe/Dublin	2010-08-14
+2960987	Watergrasshill	Watergrasshill	Cnocan na Biolrai,Cnocán na Biolraí,Watergrasshill	52.01139	-8.34417	P	PPL	IE		M	04			0		156	Europe/Dublin	2010-08-14
+2960988	Waterford North Station	Waterford North Station	Waterford,Waterford North Station	52.26667	-7.11667	S	RSTN	IE	IE	L	13			0		58	Europe/Dublin	2010-08-14
+2960989	Waterford Manor Station	Waterford Manor Station	Manor Station,Waterford Manor Station	52.25	-7.11667	S	RSTN	IE	IE	M	27			0		17	Europe/Dublin	2010-08-14
+2960990	Waterford Harbour	Waterford Harbour		52.17917	-6.93056	H	ESTY	IE		00				0		-9999	Europe/Dublin	1998-01-09
+2960991	Port Láirge	Port Lairge	Contae Phort Lairge,Contae Phort Láirge,County Waterford,Waterford	52.25	-7.5	A	ADM2	IE		M	27			104132		178	Europe/Dublin	2010-08-14
+2960992	Port Láirge	Port Lairge	Port Lairge,Port Láirge,Uoterford,Waterford,Waterford city,u~otafodo,Уотерфорд,ウォーターフォード	52.25833	-7.11194	P	PPLA2	IE		M	27			47904		8	Europe/Dublin	2010-08-14
+2960993	Waterfall	Waterfall		51.85944	-8.55917	P	PPL	IE		M	04			0		77	Europe/Dublin	2010-08-14
+2960994	Waterdale	Waterdale	Waterdale,Waterdale House	53.36667	-8.95	S	BLDG	IE		C	10			0		21	Europe/Dublin	2010-08-10
+2960995	Watch House Village	Watch House Village	Watch House,Watch House Village	52.69083	-6.63972	P	PPL	IE	IE	L	30			0		76	Europe/Dublin	2010-08-14
+2960996	Warrenstown House	Warrenstown House		53.51667	-6.61667	S	EST	IE		L	21			0		92	Europe/Dublin	1993-12-27
+2960997	Warrens Grove	Warrens Grove		51.85	-8.83333	S	EST	IE		M	04			0		79	Europe/Dublin	2010-08-14
+2960998	Warrens Court	Warrens Court		51.85472	-8.91278	S	EST	IE		M	04			0		146	Europe/Dublin	2010-08-14
+2960999	War Hill	War Hill		53.13778	-6.25389	T	MT	IE		L	31			0	685	439	Europe/Dublin	2010-08-14
+2961000	Hill of Ward	Hill of Ward	Hill of Ward	53.62444	-6.88611	T	HLL	IE		L	21			0		79	Europe/Dublin	2010-08-14
+2961001	Ward	Ward		53.43306	-6.33333	P	PPL	IE		L	07			0		66	Europe/Dublin	2010-08-14
+2961002	Walterstown	Walterstown		53.61278	-6.55306	P	PPL	IE		L	21			0		79	Europe/Dublin	2010-08-14
+2961003	Walshtown	Walshtown		51.98306	-8.18722	P	PPL	IE		M	04			0		130	Europe/Dublin	2010-08-14
+2961004	Walshpool Lough	Walshpool Lough		53.8	-9.18333	H	LK	IE		C	20			0		65	Europe/Dublin	1993-12-27
+2961005	Virginia Road	Virginia Road	Virginia Road,Virginia Road Station	53.75	-7.01667	S	RSTN	IE		L	21			0		160	Europe/Dublin	2010-08-10
+2961006	Virginia	Virginia	Achadh an Iuir,Achadh an Iúir,Virginia	53.83389	-7.07556	P	PPL	IE		U	02			0		120	Europe/Dublin	2010-08-14
+2961007	Violetstown House	Violetstown House		53.48333	-7.28333	S	EST	IE		L	29			0		124	Europe/Dublin	1993-12-27
+2961008	Violet Hill	Violet Hill		52.74444	-7.56083	S	EST	IE		L	13			0		142	Europe/Dublin	2010-08-14
+2961009	Vinegar Hill	Vinegar Hill		52.50417	-6.54611	T	HLL	IE		L	30			0		61	Europe/Dublin	2010-08-14
+2961010	Villierstown	Villierstown	An Baile Nua,Villierstown	52.08889	-7.85306	P	PPL	IE		M	27			0		75	Europe/Dublin	2010-08-14
+2961011	Vicarstown Cross Roads	Vicarstown Cross Roads	Vicarstown,Vicarstown Cross Roads	51.93333	-8.65	P	PPL	IE	IE	M	04			0		76	Europe/Dublin	2010-08-14
+2961012	Vicarstown	Vicarstown		53.04917	-7.08861	P	PPL	IE		L	15			0		71	Europe/Dublin	2010-08-14
+2961013	Ventry Harbour	Ventry Harbour		52.12278	-10.35583	H	HBR	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961014	Ventry	Ventry	Ceann Tra,Ceann Trá,Ventry	52.1325	-10.36694	P	PPL	IE		M	11			0		1	Europe/Dublin	2010-08-14
+2961015	Velvetstown House	Velvetstown House		52.25	-8.66667	S	EST	IE		M	04			0		114	Europe/Dublin	1993-12-27
+2961016	Lough Vearty	Lough Vearty	Lough Vearty	54.53333	-8	H	LK	IE		00				0		177	Europe/Dublin	1998-02-19
+2961017	Lough Beagh	Lough Beagh	Lough Beagh,Lough Veagh	55.03833	-7.97167	H	LK	IE	IE	U	06			0		70	Europe/Dublin	2010-08-14
+2961018	Vartry River	Vartry River		53.00278	-6.05528	H	STM	IE		L	31			0		-9999	Europe/Dublin	2010-08-14
+2961019	Valencia River	Valencia River	Valencia River,Valentia River	51.93222	-10.27806	H	STM	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
+2961020	Valencia Island	Valencia Island	Valencia Island,Valentia Island	51.90833	-10.37194	T	ISL	IE	IE	M	11			0		28	Europe/Dublin	2010-08-14
+2961021	Valencia Harbour Station	Valencia Harbour Station	Valencia Harbour,Valencia Harbour Station,Valentia Harbour	51.91667	-10.28333	S	RSTN	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
+2961022	Valencia Harbour	Valencia Harbour	Valencia Harbour,Valentia Harbour	51.93	-10.30306	H	HBR	IE		M	11			0		35	Europe/Dublin	2010-08-14
+2961023	Urris Hills	Urris Hills		55.22389	-7.51889	T	MTS	IE		U	06			0		269	Europe/Dublin	2010-08-14
+2961024	Urrin River	Urrin River		52.49278	-6.56722	H	STM	IE		L	30			0		52	Europe/Dublin	2010-08-14
+2961025	Urlingford	Urlingford	Ath na nUrlainn,Urlingford,Áth na nUrlainn	52.72056	-7.5825	P	PPL	IE		L	13			0		143	Europe/Dublin	2010-08-14
+2961026	Urlaur Lough	Urlaur Lough		53.83333	-8.73333	H	LK	IE		C	20			0		54	Europe/Dublin	1993-12-27
+2961027	Uregare House	Uregare House	Uregare,Uregare House	52.45	-8.56667	S	EST	IE		M	16			0		75	Europe/Dublin	2010-08-10
+2961028	Urbalreagh	Urbalreagh		55.33639	-7.28528	P	PPL	IE		U	06			0		76	Europe/Dublin	2010-08-14
+2961029	Upton House	Upton House		51.79917	-8.68833	S	EST	IE		M	04			0		76	Europe/Dublin	2010-08-14
+2961030	Upton	Upton		51.79222	-8.67333	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
+2961031	Upper Court	Upper Court		52.72611	-7.40667	S	EST	IE		L	13			0		128	Europe/Dublin	2010-08-14
+2961032	Upperchurch	Upperchurch	Upperchurch	52.70333	-8.0175	P	PPL	IE		M	26			0		289	Europe/Dublin	2010-11-04
+2961033	Unshin River	Unshin River		54.19139	-8.48167	H	STM	IE		C	25			0		59	Europe/Dublin	2010-08-14
+2961034	Lough Unshin	Lough Unshin		54.52028	-8.07917	H	LK	IE		U	06			0		403	Europe/Dublin	2010-08-14
+2961035	Unionhall	Unionhall	Breantra,Bréantrá,Unionhall	51.55	-9.13333	P	PPL	IE		M	04			0		28	Europe/Dublin	2010-08-14
+2961036	Umrycam	Umrycam		55.18333	-7.7	P	PPL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961037	Ummeryroe	Ummeryroe		54.11667	-8.28333	P	PPL	IE		C	25			0		142	Europe/Dublin	1993-12-27
+2961038	Umma House	Umma House		53.45	-7.7	S	EST	IE		L	29			0		76	Europe/Dublin	1993-12-27
+2961039	Umfin Island	Umfin Island		55.10194	-8.36583	T	ISL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961040	Ullard	Ullard		52.57972	-6.93083	P	PPL	IE		L	13			0		27	Europe/Dublin	2010-08-14
+2961041	Lough Ugga Beg	Lough Ugga Beg		53.27194	-9.4325	H	LK	IE		C	10			0		74	Europe/Dublin	2010-08-14
+2961042	Tyrrelstown House	Tyrrelstown House		53.4	-6.4	S	EST	IE		L	07			0		36	Europe/Dublin	2010-08-14
+2961043	Tyrrellspass	Tyrrellspass	Bealach an Tirialaigh,Tyrrellspass,Tyrrelspass	53.38889	-7.37361	P	PPL	IE		L	29			0		133	Europe/Dublin	2010-08-14
+2961044	Tyredagh Castle	Tyredagh Castle	Tyredach Castle,Tyredagh Castle	52.88472	-8.79861	S	RUIN	IE	IE	M	03			0		66	Europe/Dublin	2010-08-14
+2961045	Tyrcallen	Tyrcallen		54.82528	-7.74417	S	EST	IE		U	06			0		82	Europe/Dublin	2010-08-14
+2961046	Tynagh	Tynagh	Tine,Tynagh,Tíne	53.14944	-8.3725	P	PPL	IE	IE	C	10			0		75	Europe/Dublin	2010-08-14
+2961047	Tyholland Bridge	Tyholland Bridge	Tyholland,Tyholland Bridge	54.25	-6.9	P	PPL	IE	IE	00				0		65	Europe/Dublin	2010-08-10
+2961048	Two Rock Mountain	Two Rock Mountain		53.23472	-6.24167	T	MT	IE		L	07			0	517	453	Europe/Dublin	2010-08-14
+2961049	Twomileditch	Twomileditch		53.30389	-8.99778	P	PPL	IE		C	10			0		3	Europe/Dublin	2010-08-14
+2961050	Twomileborris	Twomileborris		52.67167	-7.72	P	PPL	IE		M	26			0		124	Europe/Dublin	2010-08-14
+2961051	The Twelve Pins	The Twelve Pins	Beanna Beola,Benna Beola,The Twelve Bens,The Twelve Pins,Twelve Pins of Bennebeola	53.5	-9.83333	T	MTS	IE	IE	C	10			0		402	Europe/Dublin	2010-08-14
+2961052	Tuskar Rock	Tuskar Rock	Tuskar Rock	52.19889	-6.19833	T	RK	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961053	Turvey House	Turvey House		53.49667	-6.17556	S	EST	IE		L	07			0		1	Europe/Dublin	2010-08-14
+2961054	Turners Rock	Turners Rock		51.79222	-9.58111	T	MT	IE		M	04			0		233	Europe/Dublin	2010-08-14
+2961055	Turloughmore	Turloughmore		53.37472	-8.86472	P	PPL	IE		C	10			0		27	Europe/Dublin	2010-08-14
+2961056	Turlough	Turlough	Turlach,Turlough	53.88333	-9.21667	P	PPL	IE	IE	C	20			0		38	Europe/Dublin	2010-08-14
+2961057	Turlough	Turlough		53.09222	-9.06528	P	PPL	IE		M	03			0		68	Europe/Dublin	2010-08-14
+2961058	Turkstown	Turkstown		52.32333	-7.30389	P	PPL	IE		L	13			0		13	Europe/Dublin	2010-08-14
+2961059	Turbotston	Turbotston	Turbotston,Turbotstown,Turbotstown House	53.7	-7.35	S	EST	IE	IE	L	29			0		79	Europe/Dublin	2010-08-14
+2961060	Turbot Island	Turbot Island	Talbot Island,Turbot Island	53.50194	-10.14806	T	ISL	IE	IE	C	10			0		-9999	Europe/Dublin	2010-08-14
+2961061	Tulsk	Tulsk	Tuilsce,Tulsk	53.78333	-8.25	P	PPL	IE	IE	C	24			0		75	Europe/Dublin	2010-08-14
+2961062	Tullyvin House	Tullyvin House	Tullyvin,Tullyvin House	54.05	-7.15	S	HSEC	IE	IE	U	02			0		76	Europe/Dublin	2010-08-14
+2961063	Tullyvin	Tullyvin		54.04833	-7.14472	P	PPL	IE		U	02			0		76	Europe/Dublin	2010-08-14
+2961064	Tullynascreen	Tullynascreen		54.17472	-8.28167	P	PPL	IE		C	14			0		174	Europe/Dublin	2010-08-14
+2961065	Tullynahinnera	Tullynahinnera	Tullynahinera,Tullynahinnera	54.08333	-6.8	P	PPL	IE	IE	00				0		152	Europe/Dublin	2010-08-10
+2961066	Tullymurray	Tullymurray		54.13333	-8.1	P	PPL	IE		C	14			0		58	Europe/Dublin	1993-12-27
+2961067	Tullymore	Tullymore	Tullamore,Tullymore	54.52111	-8.17806	P	PPL	IE	IE	U	06			0		67	Europe/Dublin	2010-08-14
+2961068	Tully Lough	Tully Lough	Tally Lough,Tully Lough	53.58972	-9.97972	H	LK	IE		C	10			0		15	Europe/Dublin	2010-08-14
+2961069	Tullylease	Tullylease		52.3	-8.95	P	PPL	IE		M	04			0		155	Europe/Dublin	1993-12-27
+2961070	Tullyleague	Tullyleague		52.53611	-9.30028	P	PPL	IE		M	16			0		148	Europe/Dublin	2010-08-14
+2961071	Tullyglass House	Tullyglass House	Tullyglass,Tullyglass House	51.76	-8.86361	S	BLDG	IE	IE	M	04			0		110	Europe/Dublin	2010-08-14
+2961072	Tullycreen Upper	Tullycreen Upper	Tullycreen,Tullycreen Upper,Tullycrine	52.68389	-9.35583	P	PPL	IE	IE	M	03			0		27	Europe/Dublin	2010-08-14
+2961073	Tullycreen Lower	Tullycreen Lower		52.66833	-9.32722	P	PPL	IE		M	03			0		24	Europe/Dublin	2010-08-14
+2961074	Tullycanna	Tullycanna		52.2675	-6.66861	P	PPL	IE		L	30			0		35	Europe/Dublin	2010-08-14
+2961075	Tullybrook	Tullybrook		54.63194	-8.07889	P	PPL	IE		U	06			0		53	Europe/Dublin	2010-08-14
+2961076	Tullyard	Tullyard		53.58194	-6.79333	S	EST	IE		L	21			0		77	Europe/Dublin	2010-08-14
+2961077	Tullyallen	Tullyallen	Tullyallen	53.73611	-6.42278	P	PPL	IE		L	19			0		60	Europe/Dublin	2010-08-14
+2961078	Tully	Tully		53.23333	-9.48333	P	PPL	IE		C	10			0		-9999	Europe/Dublin	1993-12-27
+2961079	Tullow	Tullow	An Tulach,Tullow	52.80028	-6.73694	P	PPL	IE		L	01			2424		86	Europe/Dublin	2010-08-14
+2961080	Tullira Castle	Tullira Castle		53.13611	-8.78444	S	HSEC	IE		C	10			0		33	Europe/Dublin	2010-08-14
+2961081	Tullig Point	Tullig Point		52.61417	-9.80417	T	PT	IE		M	03			0		2	Europe/Dublin	2010-08-14
+2961082	Tullig	Tullig		52.61472	-9.77611	P	PPL	IE		M	03			0		30	Europe/Dublin	2010-08-14
+2961083	Tullig	Tullig		52.11278	-9.85444	P	PPL	IE		M	11			0		8	Europe/Dublin	2010-08-14
+2961084	Tullaroan	Tullaroan	Tullaroan	52.66222	-7.43639	P	PPL	IE		L	13			0		152	Europe/Dublin	2010-08-14
+2961085	Tullamore River	Tullamore River	Clonmore,Tullamore River	53.27722	-7.5775	H	STM	IE	IE	L	23			0		71	Europe/Dublin	2010-08-14
+2961086	Tullamore	Tullamore	Tulach Mhor,Tulach Mhór	53.27389	-7.48889	P	PPLA2	IE		L	23			11575		73	Europe/Dublin	2010-08-14
+2961087	Tullamore	Tullamore		52.49167	-9.48778	P	PPL	IE		M	11			0		68	Europe/Dublin	2010-08-14
+2961088	Tullaher Lough	Tullaher Lough	Lough Trullaher,Tullaher Lough	52.69861	-9.54528	H	LK	IE	IE	M	03			0		1	Europe/Dublin	2010-08-14
+2961089	Tullagh Point	Tullagh Point		55.29472	-7.46722	T	PT	IE		U	06			0		2	Europe/Dublin	2010-08-14
+2961090	Tullaghought	Tullaghought		52.42194	-7.36167	P	PPL	IE		L	13			0		169	Europe/Dublin	2010-08-14
+2961091	Tullagher	Tullagher		52.43167	-7.04556	P	PPL	IE		L	13			0		134	Europe/Dublin	2010-08-14
+2961092	Tullagh Bay	Tullagh Bay		55.28639	-7.44361	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961093	Tullaghanoge	Tullaghanoge		53.58889	-6.87222	P	PPL	IE		L	21			0		77	Europe/Dublin	2010-08-14
+2961094	Tullaghan Bay	Tullaghan Bay	Tallaghan Bay,Tullaghan Bay	54.09111	-9.86889	H	BAY	IE	IE	C	20			0		-9999	Europe/Dublin	2010-08-14
+2961095	Tullaghan	Tullaghan		54.46833	-8.33111	P	PPL	IE		C	14			0		1	Europe/Dublin	2010-08-14
+2961096	Tulla	Tulla	An Tulach,Tulla	52.86472	-8.76056	P	PPL	IE		M	03			0		152	Europe/Dublin	2010-08-14
+2961097	Tudenham Park	Tudenham Park		53.46667	-7.35	S	EST	IE		L	29			0		117	Europe/Dublin	1993-12-27
+2961098	Tubber	Tubber	Tobar,Tubber	52.99889	-8.88528	P	PPL	IE		C	10			0		47	Europe/Dublin	2010-08-14
+2961099	Tuam	Tuam	Tuaim,Tuam	53.51667	-8.85	P	PPL	IE		C	10			6130		48	Europe/Dublin	2010-08-14
+2961100	Truskmore	Truskmore		54.37639	-8.37222	T	MT	IE		00				0	646	591	Europe/Dublin	2006-01-16
+2961101	Trusk Lough	Trusk Lough		54.75722	-7.79917	H	LK	IE		U	06			0		161	Europe/Dublin	2010-08-14
+2961102	Trusklieve	Trusklieve		52.62778	-9.76444	P	PPL	IE		M	03			0		73	Europe/Dublin	2010-08-14
+2961103	Trubley Castle	Trubley Castle		53.56667	-6.71667	S	RUIN	IE		L	21			0		57	Europe/Dublin	1993-12-27
+2961104	Trough	Trough		52.73333	-8.61667	P	PPL	IE		M	03			0		79	Europe/Dublin	1993-12-27
+2961105	Triogue River	Triogue River	Tiogue River,Triogue River	53.11389	-7.28972	H	STM	IE	IE	L	15			0		107	Europe/Dublin	2010-08-14
+2961106	Trimoge River	Trimoge River		53.91667	-9.01667	H	STM	IE		C	20			0		30	Europe/Dublin	1993-12-27
+2961107	Baile Átha Troim	Baile Atha Troim	Baile Atha Troim,Baile Átha Troim,Trim	53.555	-6.79167	P	PPL	IE		L	21			1800		62	Europe/Dublin	2010-09-05
+2961108	The Triangle	The Triangle		53.76667	-9.4	P	PPLL	IE		C	20			0		137	Europe/Dublin	2010-08-14
+2961109	Tremone Bay	Tremone Bay		55.26667	-7.06667	H	BAY	IE		U	06			0		1	Europe/Dublin	1993-12-27
+2961110	Tremblestown River	Tremblestown River		53.55417	-6.83167	H	STM	IE		L	21			0		66	Europe/Dublin	2010-08-14
+2961111	Treantagh	Treantagh		54.92667	-7.4875	P	PPL	IE		U	06			0		52	Europe/Dublin	2010-08-14
+2961112	Trawmore Bay	Trawmore Bay		54.18361	-9.9575	H	BAY	IE		C	20			0		-9999	Europe/Dublin	2010-08-14
+2961113	Trawenagh Bay	Trawenagh Bay		54.89333	-8.35417	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961114	Trawbreaga Bay	Trawbreaga Bay	Trawbreaga Bay,Trawbreaga Lough	55.285	-7.29472	H	BAY	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
+2961115	Traverston House	Traverston House		52.7975	-8.16444	S	EST	IE		M	26			0		118	Europe/Dublin	2010-08-14
+2961116	Tranarossan Bay	Tranarossan Bay	Tranarossan Bay,Tranrossan Bay	55.23056	-7.82444	H	BAY	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
+2961117	Tranagh	Tranagh		52.69472	-7.6025	P	PPL	IE		M	26			0		138	Europe/Dublin	2010-08-14
+2961118	Tramore Bay	Tramore Bay		55.18333	-8.03333	H	BAY	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
+2961119	Tramore Bay	Tramore Bay		52.13917	-7.1325	H	BAY	IE		M	27			0		-9999	Europe/Dublin	2010-08-14
+2961120	Trá Mhór	Tra Mhor	Tramore	52.16235	-7.15244	P	PPL	IE		M	27			9164		2	Europe/Dublin	2010-08-14
+2961121	Tralong Bay	Tralong Bay		51.55694	-9.05861	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961122	Tralee Bay	Tralee Bay	Tralee Bay	52.27833	-9.93139	H	BAY	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961123	Trá Lí	Tra Li	Tra Li,Tralee,Trá Lí	52.27042	-9.70264	P	PPLA2	IE		M	11			22941	912	48	Europe/Dublin	2010-10-06
+2961124	Tracton	Tracton		51.76139	-8.41639	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
+2961125	Tracarta	Tracarta		51.51583	-9.19389	P	PPL	IE		M	04			0		6	Europe/Dublin	2010-08-14
+2961126	Trabolgan House	Trabolgan House		51.79972	-8.23583	S	EST	IE		M	04			0		1	Europe/Dublin	2010-08-14
+2961127	Townley Hall	Townley Hall		53.72944	-6.44722	S	EST	IE		L	19			0		54	Europe/Dublin	2010-08-14
+2961128	Towerhill House	Towerhill House		53.71667	-9.2	S	EST	IE		C	20			0		46	Europe/Dublin	1993-12-27
+2961129	Tower	Tower	Tower,Tower Village	51.91667	-8.6	P	PPL	IE		M	04			3099		70	Europe/Dublin	2010-08-14
+2961130	Tourin	Tourin		52.11667	-7.86667	P	PPL	IE		M	27			0		17	Europe/Dublin	1993-12-27
+2961131	Tourig River	Tourig River		51.97778	-7.8625	H	STM	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961132	Tory Sound	Tory Sound		55.21667	-8.2	H	SD	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
+2961133	Toraigh	Toraigh	Toraigh,Tory Island	55.26444	-8.22111	T	ISL	IE		U	06			0		15	Europe/Dublin	2010-08-14
+2961134	The Tor Rocks	The Tor Rocks		55.43333	-7.25	T	RKS	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961135	Torneady Point	Torneady Point	Tornado Point,Torneady Point	55.02167	-8.54028	T	PT	IE	IE	U	06			0		35	Europe/Dublin	2010-08-14
+2961136	Tormore Island	Tormore Island		54.76389	-8.69222	T	ISL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961137	Torc Mountain	Torc Mountain	Torc Mountain	52	-9.51667	T	MT	IE		M	11			0		189	Europe/Dublin	2010-08-10
+2961138	Torc Cascade	Torc Cascade	Torc Cascade,Tore Cascade	52	-9.5	H	FLLS	IE		M	11			0		378	Europe/Dublin	2010-08-10
+2961139	Toormore Bay	Toormore Bay		51.50194	-9.65583	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961140	Toormore	Toormore		53.79278	-10.03417	L	LCTY	IE		C	20			0		111	Europe/Dublin	2010-08-14
+2961141	Toormore	Toormore		51.52083	-9.65611	P	PPL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961142	Toormakeady Lodge	Toormakeady Lodge	Toormakeady,Toormakeady Lodge	53.65	-9.38333	S	EST	IE		C	20			0		59	Europe/Dublin	2010-08-10
+2961143	Toormakeady	Toormakeady		53.65	-9.36667	P	PPL	IE		C	20			0		59	Europe/Dublin	1993-12-27
+2961144	Tooreeny	Tooreeny		53	-8.38333	P	PPL	IE		C	10			0		68	Europe/Dublin	2010-08-14
+2961145	Tooreens	Tooreens		51.84278	-10.02861	P	PPL	IE		M	11			0		421	Europe/Dublin	2010-08-14
+2961146	Tooreengarriv	Tooreengarriv		52.16667	-9.28333	P	PPL	IE		M	11			0		241	Europe/Dublin	1993-12-27
+2961147	Tooreendonnell	Tooreendonnell		52.495	-9.22694	P	PPL	IE		M	16			0		152	Europe/Dublin	2010-08-14
+2961148	Tooreencahill	Tooreencahill		52.15	-9.25	P	PPL	IE		M	11			0		181	Europe/Dublin	1993-12-27
+2961149	Tooreenbrien Bridge	Tooreenbrien Bridge	Tooreenbrien,Tooreenbrien Bridge	52.6925	-8.27361	P	PPL	IE	IE	M	26			0		288	Europe/Dublin	2010-11-04
+2961150	Tooreen	Tooreen		53.66667	-9.28333	P	PPL	IE		C	20			0		49	Europe/Dublin	1993-12-27
+2961151	Tooreen	Tooreen		51.55	-9.83333	P	PPL	IE		M	04			0		-9999	Europe/Dublin	1993-12-27
+2961152	Tooravoola	Tooravoola		53.05667	-8.64028	P	PPL	IE		C	10			0		146	Europe/Dublin	2010-08-14
+2961153	Tooraneena	Tooraneena		52.20222	-7.715	P	PPL	IE		M	27			0		152	Europe/Dublin	2010-08-14
+2961154	Toor	Toor		51.8	-10.16667	P	PPL	IE		M	11			0		39	Europe/Dublin	2010-08-14
+2961155	Toon River	Toon River		51.88333	-9.01667	H	STM	IE		M	04			0		104	Europe/Dublin	1993-12-27
+2961156	Toonagh House	Toonagh House		52.88778	-9.02833	S	EST	IE		M	03			0		50	Europe/Dublin	2010-08-14
+2961157	Toomyvara	Toomyvara	Toomyvara,Tuaim Ui Mheara,Tuaim Uí Mheára	52.84972	-8.03222	P	PPL	IE		M	38			0		157	Europe/Dublin	2010-11-04
+2961158	Toomona House	Toomona House		53.76667	-8.28333	S	EST	IE		C	24			0		78	Europe/Dublin	1993-12-27
+2961159	Toomard	Toomard		53.53333	-8.46667	P	PPL	IE		C	10			0		73	Europe/Dublin	1993-12-27
+2961160	Tooban Junction	Tooban Junction		55.05	-7.43333	S	RSTN	IE		U	06			0		55	Europe/Dublin	1993-12-27
+2961161	Tonlegee House	Tonlegee House	Tonlegee,Tonlegee House	52.9775	-6.98917	S	EST	IE	IE	L	15			0		59	Europe/Dublin	2010-08-14
+2961162	Tonduff	Tonduff		55.2	-7.51667	P	PPL	IE		U	06			0		62	Europe/Dublin	1993-12-27
+2961163	Tomies Mountain	Tomies Mountain		52.01667	-9.61667	T	MT	IE		M	11			0		432	Europe/Dublin	1993-12-27
+2961164	Tomhaggard	Tomhaggard		52.21194	-6.51778	P	PPL	IE		L	30			0		11	Europe/Dublin	2010-08-14
+2961165	Tuamgraney	Tuamgraney	Tomgraney,Tuaim Greine,Tuaim Gréine,Tuamgraney	52.89722	-8.53861	P	PPL	IE		M	03			0		75	Europe/Dublin	2010-08-14
+2961166	Tombrack	Tombrack		52.60278	-6.5475	P	PPL	IE		L	30			0		71	Europe/Dublin	2010-08-14
+2961167	Tomacurry	Tomacurry		52.55333	-6.56	P	PPL	IE		L	30			0		56	Europe/Dublin	2010-08-14
+2961168	Tolka River	Tolka River	An Tulca,Tolka River	53.34972	-6.23889	H	STM	IE	IE	00				0		1	Europe/Dublin	2010-08-10
+2961169	Toghermore	Toghermore		53.48333	-8.81667	S	EST	IE		C	10			0		43	Europe/Dublin	1993-12-27
+2961170	The Togher	The Togher		53.07972	-7.19972	P	PPL	IE		L	15			0		134	Europe/Dublin	2010-08-14
+2961171	Togher	Togher		53.84278	-6.30278	P	PPL	IE		L	19			0		21	Europe/Dublin	2010-08-14
+2961172	Togher	Togher		53.08167	-6.52	P	PPL	IE		L	31			0		280	Europe/Dublin	2010-08-14
+2961173	Roundwood	Roundwood	An Tochar,An Tóchar,Roundwood,Togher	53.05861	-6.22611	P	PPL	IE		L	31			0		258	Europe/Dublin	2010-08-14
+2961174	Togher	Togher		51.8775	-8.49167	P	PPL	IE		M	04			0		56	Europe/Dublin	2010-08-14
+2961175	Togher	Togher		51.78111	-9.15556	P	PPL	IE		M	04			0		145	Europe/Dublin	2010-08-14
+2961176	Toem	Toem		52.57667	-8.19611	P	PPL	IE		M	26			0		96	Europe/Dublin	2010-08-14
+2961177	Toe Head Bay	Toe Head Bay		51.49111	-9.25167	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961178	Toe Head	Toe Head		51.48583	-9.23556	T	CAPE	IE		M	04			0		3	Europe/Dublin	2010-08-14
+2961179	Tobertynan House	Tobertynan House	Tobertynan,Tobertynan House	53.48528	-6.8575	S	EST	IE	IE	L	21			0		79	Europe/Dublin	2010-08-14
+2961180	Toberscanavan	Toberscanavan		54.16694	-8.48556	P	PPL	IE		C	25			0		66	Europe/Dublin	2010-08-14
+2961181	Toberdan	Toberdan		53.53333	-8.06667	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2961182	Tobercurry	Tobercurry	Tobar an Choire,Tobercurry,Tubbercurry	54.05	-8.73333	P	PPL	IE		C	25			0		92	Europe/Dublin	2010-08-14
+2961183	Tober	Tober		54.21667	-8.00194	P	PPL	IE		U	02			0		158	Europe/Dublin	2010-08-14
+2961184	Tober	Tober		53.375	-7.65611	P	PPL	IE		L	23			0		73	Europe/Dublin	2010-08-14
+2961185	Tivoli House	Tivoli House		51.9	-8.43333	S	EST	IE		M	04			0		27	Europe/Dublin	2010-08-14
+2961186	Tirraboy	Tirraboy		55.25	-7.15	P	PPL	IE		U	06			0		25	Europe/Dublin	1993-12-27
+2961187	Tirneevin	Tirneevin		53.06417	-8.88306	P	PPL	IE		C	10			0		44	Europe/Dublin	2010-08-14
+2961188	Tiragarvan	Tiragarvan		53.98333	-6.76667	P	PPL	IE		00				0		99	Europe/Dublin	1993-12-27
+2961189	Tipperary South Riding	Tipperary South Riding	South Riding,Tipperary County South Riding	52.41667	-7.83333	A	ADM2	IE		00	40			80276		151	Europe/Dublin	2010-08-14
+2961190	Tipperary North Riding	Tipperary North Riding	North Riding,Tipperary County North Riding	52.75	-7.83333	A	ADM2	IE		00	38			61926		104	Europe/Dublin	2010-08-14
+2961191	County Tipperary	County Tipperary	Contae Thiobraid Arann,Contae Thiobraid Árann,County Tipperary,Tiobraid Arann,Tiobraid Árann,Tipperary	52.66667	-7.83333	A	ADMD	IE	IE	M	26			0		93	Europe/Dublin	2010-11-04
+2961192	Tiobraid Árann	Tiobraid Arann	Tipperary	52.47333	-8.15583	P	PPL	IE		M	26			4976		166	Europe/Dublin	2010-08-14
+2961193	Tintrim House	Tintrim House		52.96417	-8.34556	S	EST	IE		M	03			0		56	Europe/Dublin	2010-08-14
+2961194	Tintern Abbey	Tintern Abbey		52.23528	-6.83333	S	MSTY	IE		L	30			0		3	Europe/Dublin	2010-08-14
+2961195	Tinny Park	Tinny Park		53.68333	-8.38333	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2961196	Tinnaslatty House	Tinnaslatty House		52.8	-7.41667	S	RUIN	IE		L	13			0		154	Europe/Dublin	2010-08-14
+2961197	Timnapark House	Timnapark House	Timnapark House,Tinnapark,Tinnapark House	53.1	-6.11667	S	HSEC	IE	IE	L	31			0		114	Europe/Dublin	2010-08-14
+2961198	Tinnahinch	Tinnahinch		52.53861	-6.94806	P	PPL	IE		L	01			0		28	Europe/Dublin	2010-08-14
+2961199	Tinnaglogh	Tinnaglogh		52.26806	-6.89722	P	PPL	IE		L	30			0		64	Europe/Dublin	2010-08-14
+2961200	Tinkerslane	Tinkerslane		53.505	-6.98111	P	PPL	IE		L	21			0		84	Europe/Dublin	2010-08-14
+2961201	Tincoora	Tincoora		52.1	-8.86667	P	PPL	IE		M	04			0		156	Europe/Dublin	1993-12-27
+2961202	Tinarana House	Tinarana House	Tinarana,Tinarana House	52.86444	-8.44917	S	EST	IE	IE	M	03			0		55	Europe/Dublin	2010-08-14
+2961203	Tinalira	Tinalira		52.18472	-7.72806	P	PPL	IE		M	27			0		133	Europe/Dublin	1997-12-15
+2961204	Tinahely	Tinahely	Tigh na hEille,Tigh na hÉille,Tinahely	52.79667	-6.46333	P	PPL	IE	IE	L	31			0		121	Europe/Dublin	2010-08-14
+2961205	Timoney Park	Timoney Park	Timaney Park,Timoney Park	52.91139	-7.72333	S	EST	IE	IE	M	26			0		153	Europe/Dublin	2010-11-04
+2961206	Timolin	Timolin		52.9825	-6.81167	P	PPL	IE		L	12			0		138	Europe/Dublin	2010-08-14
+2961207	Timoleague	Timoleague	Tigh Molaige,Timoleague	51.64222	-8.77306	P	PPL	IE	IE	M	04			0		25	Europe/Dublin	2010-08-14
+2961208	Timahoe	Timahoe		53.335	-6.83861	P	PPL	IE		L	12			0		92	Europe/Dublin	2010-08-14
+2961209	Timahoe	Timahoe	Tigh Mochua,Timahoe	52.95833	-7.20528	P	PPL	IE	IE	L	15			0		152	Europe/Dublin	2010-08-14
+2961210	Tiltinbane	Tiltinbane	Tiltinbane	54.21972	-7.85778	T	MT	IE		00				0	594	453	Europe/Dublin	2006-01-16
+2961211	Tievemore House	Tievemore House		54.59444	-7.77472	S	HSEC	IE		U	06			0		173	Europe/Dublin	2010-08-14
+2961212	Tievemore	Tievemore		54.58333	-7.76667	P	PPL	IE		00				0		330	Europe/Dublin	1993-12-27
+2961213	Tiaquin	Tiaquin		53.35972	-8.63333	P	PPL	IE		C	10			0		74	Europe/Dublin	2010-08-14
+2961214	Durlas	Durlas	Thurles	52.68194	-7.80222	P	PPL	IE		M	26			7588		98	Europe/Dublin	2010-08-14
+2961215	The Three Sisters	The Three Sisters		52.20167	-10.42194	T	HLLS	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961216	The Pigeons	The Pigeons	The Pigeons,Three Jolly Pigeons	53.5	-7.81667	P	PPL	IE	IE	L	29			0		77	Europe/Dublin	2010-08-14
+2961217	Threecastles House	Threecastles House	Three Castles,Threecastles House	52.71	-7.32	S	EST	IE	IE	L	13			0		67	Europe/Dublin	2010-08-14
+2961218	Three Castle Head	Three Castle Head		51.48278	-9.83667	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961219	Thomastown Park	Thomastown Park	Thomastown House,Thomastown Park	53.36583	-8.07333	S	EST	IE	IE	C	24			0		123	Europe/Dublin	2010-08-14
+2961220	Thomaston Park	Thomaston Park	Thomaston Park,Thomastown House,Thomastown Park	53.13389	-7.79583	S	EST	IE	IE	L	23			0		76	Europe/Dublin	2010-08-14
+2961221	Thomastown Castle	Thomastown Castle		53.93333	-6.58333	S	EST	IE		00				0		44	Europe/Dublin	1993-12-27
+2961222	Thomastown Castle	Thomastown Castle		52.48972	-8.03222	S	EST	IE		M	26			0		79	Europe/Dublin	2010-08-14
+2961223	Thomastown	Thomastown		53.39639	-6.88417	P	PPL	IE		L	12			0		86	Europe/Dublin	2010-08-14
+2961224	Thomastown	Thomastown	Baile Mhic Andain,Baile Mhic Andáin,Thomastown	52.52667	-7.13722	P	PPL	IE		L	13			1603		52	Europe/Dublin	2010-08-14
+2961225	Thomastown	Thomastown	Thomastown,Thomastown Castle	52.49417	-8.02444	P	PPL	IE	IE	M	26			0		79	Europe/Dublin	2010-11-04
+2961226	Thomas Street	Thomas Street		53.46667	-8.21667	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2961227	Tervoe House	Tervoe House		52.64944	-8.71139	S	EST	IE		M	16			0		3	Europe/Dublin	2010-08-14
+2961228	Terryglass	Terryglass	Terryglass	53.05028	-8.19889	P	PPL	IE		M	26			0		55	Europe/Dublin	2010-11-04
+2961229	Termon River	Termon River	Termon River	54.53333	-7.85	H	STM	IE		00				0		68	Europe/Dublin	1998-02-19
+2961230	Termon Hill	Termon Hill		54.10333	-10.09611	T	HLL	IE		C	20			0	105	2	Europe/Dublin	2010-08-14
+2961231	Termonfeckin	Termonfeckin	Tearmann Feichin,Tearmann Feichín,Termonfeckin	53.76333	-6.26778	P	PPL	IE		L	19			0		3	Europe/Dublin	2010-08-14
+2961232	Termon Cottage	Termon Cottage		53.04806	-9.06056	S	HSEC	IE		M	03			0		151	Europe/Dublin	2010-08-14
+2961233	Termoncarragh	Termoncarragh		54.25139	-10.06361	P	PPL	IE		C	20			0		57	Europe/Dublin	2010-08-14
+2961234	Termonbarry	Termonbarry		53.75	-7.91667	P	PPL	IE		00				0		66	Europe/Dublin	1993-12-27
+2961235	Terenure	Terenure	Roundtown,Terenure	53.30972	-6.28528	P	PPL	IE	IE	00				0		49	Europe/Dublin	2010-08-10
+2961236	Templetouhy	Templetouhy	Teampall Tuaithe,Templetouhy,Templetuohy	52.78722	-7.71972	P	PPL	IE	IE	M	26			0		147	Europe/Dublin	2010-11-04
+2961237	An Teampall Mór	An Teampall Mor	Templemore	52.79472	-7.83389	P	PPL	IE		M	26			2264		120	Europe/Dublin	2010-08-14
+2961238	Templehouse Lake	Templehouse Lake		54.10333	-8.58917	H	LK	IE		C	25			0		74	Europe/Dublin	2010-08-14
+2961239	Temple House	Temple House		54.11083	-8.59111	S	HSEC	IE		C	25			0		74	Europe/Dublin	2010-08-14
+2961240	Templebreedy	Templebreedy		51.78167	-8.31583	A	PRSH	IE		M	04			0		5	Europe/Dublin	2010-08-14
+2961241	Templeboy	Templeboy		54.24583	-8.8125	P	PPL	IE		C	25			0		43	Europe/Dublin	2010-08-14
+2961242	Templebodan	Templebodan		51.99861	-8.24583	P	PPL	IE		M	04			0		138	Europe/Dublin	2010-08-14
+2961243	Temple	Temple	Oriel Temple,Temple	53.78333	-6.46667	S	EST	IE	IE	00				0		152	Europe/Dublin	2010-08-10
+2961244	Temora House	Temora House		53.16667	-7.75	S	EST	IE		L	23			0		73	Europe/Dublin	2010-08-14
+2961245	Teltown House	Teltown House	Teltown,Teltown House	53.69667	-6.77861	S	BLDG	IE	IE	L	21			0		57	Europe/Dublin	2010-08-14
+2961246	Teeromoyle	Teeromoyle		51.97222	-10.07028	P	PPL	IE		M	11			0		170	Europe/Dublin	2010-08-14
+2961247	Teerelton	Teerelton		51.85139	-8.98444	P	PPL	IE		M	04			0		152	Europe/Dublin	2010-08-14
+2961248	Teeranearagh	Teeranearagh		51.86861	-10.26278	P	PPL	IE		M	11			0		263	Europe/Dublin	2010-08-14
+2961249	Teelin Bay	Teelin Bay	Teelin Bay,Teelin Harbour	54.63333	-8.63333	H	HBR	IE		U	06			0		-9999	Europe/Dublin	2010-08-10
+2961250	Teelin	Teelin		54.63472	-8.64167	P	PPL	IE		U	06			0		15	Europe/Dublin	2010-08-14
+2961251	Tedavnet	Tedavnet		54.29639	-7.01389	P	PPL	IE		U	22			0		138	Europe/Dublin	2010-08-14
+2961252	Tearaght Island	Tearaght Island	Inishteraght,Tearaght Island	52.07528	-10.65667	T	ISL	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
+2961253	River Tay	River Tay		52.125	-7.46222	H	STM	IE		M	27			0		-9999	Europe/Dublin	2010-08-14
+2961254	Lough Tay	Lough Tay	Loch Te,Loch Té,Lough Tay,Luggada Lake	53.10472	-6.26861	H	LK	IE	IE	L	31			0		342	Europe/Dublin	2010-08-14
+2961255	Tawnyinah	Tawnyinah		53.9	-8.76667	P	PPL	IE		C	20			0		135	Europe/Dublin	1993-12-27
+2961256	Tawny Bay	Tawny Bay		54.62167	-8.61861	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961257	Tawnyard Lough	Tawnyard Lough		53.63333	-9.63333	H	LK	IE		C	20			0		74	Europe/Dublin	1993-12-27
+2961258	Tawny	Tawny	Tamney,Tawny	55.2	-7.68333	P	PPL	IE	IE	U	06			0		51	Europe/Dublin	2010-08-14
+2961259	Tawny	Tawny		54.62444	-8.60083	P	PPL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961260	Tawnawully Mountains	Tawnawully Mountains		54.73528	-7.98333	T	MTS	IE		U	06			0		180	Europe/Dublin	2010-08-14
+2961261	Tawin Island	Tawin Island	Tawin Island,West Tawin	53.21861	-9.03194	T	ISL	IE	IE	C	10			0		1	Europe/Dublin	2010-08-14
+2961262	Taurbeg	Taurbeg		52.23333	-9.13333	T	MT	IE		M	04			0		299	Europe/Dublin	1993-12-27
+2961263	Taur	Taur		52.23333	-9.11667	P	PPL	IE		M	04			0		291	Europe/Dublin	1993-12-27
+2961264	Tarsaghaunmore River	Tarsaghaunmore River		54.06361	-9.785	H	STM	IE		C	20			0		55	Europe/Dublin	2010-08-14
+2961265	Tarmon	Tarmon		52.53806	-9.37889	P	PPL	IE		M	11			0		76	Europe/Dublin	2010-08-14
+2961266	Tarbert House	Tarbert House		52.57833	-9.36833	S	EST	IE		M	11			0		1	Europe/Dublin	2010-08-14
+2961267	Tarbert	Tarbert	Tairbeart,Tarbert	52.57278	-9.37528	P	PPL	IE	IE	M	11			0		12	Europe/Dublin	2010-08-14
+2961268	Tara Hill	Tara Hill		52.69806	-6.21472	T	HLL	IE		L	30			0		56	Europe/Dublin	2010-08-14
+2961269	Tara Hall	Tara Hall		53.58	-6.60222	S	EST	IE		L	21			0		121	Europe/Dublin	2010-08-14
+2961270	Hill of Tara	Hill of Tara		53.57972	-6.61194	T	HLL	IE		L	21			0		135	Europe/Dublin	2010-08-14
+2961271	River Tar	River Tar		52.28333	-7.83333	H	STM	IE		00				0		48	Europe/Dublin	1993-12-27
+2961272	Lough Tap	Lough Tap		53.9	-7.98333	H	LK	IE		C	14			0		92	Europe/Dublin	1993-12-27
+2961273	Tanrego House	Tanrego House	Tanrego,Tanrego House	54.23056	-8.61222	S	HSEC	IE	IE	C	25			0		1	Europe/Dublin	2010-08-14
+2961274	Tankersley House	Tankersley House		52.82667	-6.38583	S	EST	IE		L	31			0		87	Europe/Dublin	2010-08-14
+2961275	Tang River	Tang River		53.53333	-7.83333	H	STM	IE		L	29			0		67	Europe/Dublin	1993-12-27
+2961276	Tang	Tang		53.53333	-7.78333	P	PPL	IE		L	29			0		67	Europe/Dublin	1993-12-27
+2961277	Lough Talt	Lough Talt		54.08389	-8.92139	H	LK	IE		C	25			0		182	Europe/Dublin	2010-08-14
+2961278	Tallyho Lodge	Tallyho Lodge		53.27	-8.69611	S	HSEC	IE		C	10			0		46	Europe/Dublin	2010-08-14
+2961279	Tallyho	Tallyho		52.81361	-6.36222	P	PPL	IE		L	31			0		170	Europe/Dublin	2010-08-14
+2961280	Tallow Road Station	Tallow Road Station	Tallow Road,Tallow Road Station	52.11667	-7.98333	S	RSTN	IE	IE	M	27			0		71	Europe/Dublin	2010-08-14
+2961281	Tallowbridge	Tallowbridge		52.10417	-8.00278	P	PPL	IE		M	27			0		32	Europe/Dublin	2010-08-14
+2961282	Tallow	Tallow	Tallow,Tulach an Iarainn	52.09278	-8.00806	P	PPL	IE		M	27			0		44	Europe/Dublin	2010-08-14
+2961283	Tallanstown	Tallanstown		53.92278	-6.54639	P	PPL	IE		L	19			0		36	Europe/Dublin	2010-08-14
+2961284	Tallaght	Tallaght	Tallaght	53.2859	-6.37344	P	PPL	IE	IE	L	07			64282		87	Europe/Dublin	2010-08-14
+2961285	Talbotstown House	Talbotstown House		53.22917	-6.45167	S	EST	IE		L	31			0		298	Europe/Dublin	2010-08-14
+2961286	Talbot Hall	Talbot Hall		52.38611	-6.9125	S	EST	IE		L	13			0		76	Europe/Dublin	2010-08-14
+2961287	Tahilla	Tahilla		51.83722	-9.83639	P	PPL	IE		M	11			0		62	Europe/Dublin	2010-08-14
+2961288	Tagoat	Tagoat		52.24278	-6.38028	P	PPL	IE		L	30			0		1	Europe/Dublin	2010-08-14
+2961289	Taghshinny	Taghshinny	Taghshinny	53.6	-7.71667	P	PPL	IE		L	18			0		76	Europe/Dublin	2010-08-10
+2961290	Taghsheenod	Taghsheenod		53.61667	-7.71667	P	PPL	IE		L	18			0		90	Europe/Dublin	1993-12-27
+2961291	Taghmon Castle	Taghmon Castle		53.6	-7.26667	S	BLDG	IE		L	29			0		118	Europe/Dublin	1993-12-27
+2961292	Taghmon	Taghmon	Taghmon,Teach Munna	52.32167	-6.6475	P	PPL	IE		L	30			0		73	Europe/Dublin	2010-08-14
+2961293	Tacumshin Lake	Tacumshin Lake	Tacumshin Lake,Tacumshin Lough,Tucumshin Lake	52.19528	-6.45306	H	BAY	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
+2961294	Lough Tacker	Lough Tacker		54.01667	-6.95	H	LK	IE		U	02			0		127	Europe/Dublin	2010-08-14
+2961295	Table Mountain	Table Mountain		53.01444	-6.48417	T	MT	IE		L	31			0	701	599	Europe/Dublin	2010-08-14
+2961296	Sybil Point	Sybil Point		52.17806	-10.47333	T	PT	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961297	Swords	Swords	Sord,Swords	53.45972	-6.21806	P	PPL	IE		L	35			29816		6	Europe/Dublin	2010-11-04
+2961298	Swines Head	Swines Head		52.12972	-7.02667	T	CAPE	IE		M	27			0		-9999	Europe/Dublin	2010-08-14
+2961299	Swinford	Swinford	Beal Atha na Muice,Béal Átha na Muice,Swineford,Swinford	53.95	-8.95	P	PPL	IE		C	20			1241		68	Europe/Dublin	2010-08-14
+2961300	River Swilly	River Swilly		54.96056	-7.67778	H	STM	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961301	Lough Swilly	Lough Swilly	Loch Suili,Loch Súilí,Lough Swilly,The Lake of Shadows	55.16667	-7.53333	H	INLT	IE		U	06			0		-9999	Europe/Dublin	2011-03-06
+2961302	The Sweep	The Sweep		52.21667	-7.23333	P	PPL	IE		M	27			0		49	Europe/Dublin	2010-08-14
+2961303	Swanlinbar	Swanlinbar	An Muileann Iarainn,Swanlinbar	54.19472	-7.70444	P	PPL	IE		U	02			0		74	Europe/Dublin	2010-08-14
+2961304	Swan	Swan		52.8875	-7.15972	P	PPL	IE		L	15			0		153	Europe/Dublin	2010-08-14
+2961305	Sutton	Sutton	Sutton	53.39056	-6.12167	P	PPL	IE		L	07			0		-9999	Europe/Dublin	2010-11-04
+2961306	Sunvale	Sunvale	Sun Ville,Sunvale	52.34611	-8.5175	S	EST	IE	IE	M	16			0		151	Europe/Dublin	2010-08-14
+2961307	Lough Sunderlin	Lough Sunderlin	Lough Sewdy,Lough Sunderlin	53.5	-7.66667	H	LK	IE		L	29			0		79	Europe/Dublin	2010-08-10
+2961308	Summerville	Summerville		53.8	-7.36667	P	PPL	IE		U	02			0		73	Europe/Dublin	1993-12-27
+2961309	Summerhill House	Summerhill House		53.47	-6.72556	S	EST	IE		L	21			0		78	Europe/Dublin	2010-08-14
+2961310	Summerhill House	Summerhill House		52.76306	-7.94278	S	EST	IE		M	26			0		107	Europe/Dublin	2010-08-14
+2961311	Summerhill House	Summerhill House	Summerhill House,Summerville	52.36778	-7.73889	S	EST	IE	IE	M	26			0		71	Europe/Dublin	2010-11-04
+2961312	Summerhill	Summerhill		53.47694	-6.73639	P	PPL	IE		L	21			0		77	Europe/Dublin	2010-08-14
+2961313	Summerhill	Summerhill		52.80528	-7.13722	P	PPL	IE		L	13			0		227	Europe/Dublin	2010-08-14
+2961314	Summer Cove	Summer Cove	Summer Cove,Summor Cove	51.70333	-8.50222	P	PPL	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
+2961315	Sullane River	Sullane River		51.88333	-8.93333	H	STM	IE		M	04			0		85	Europe/Dublin	2010-08-14
+2961316	Suir Mount	Suir Mount		52.29611	-7.79222	S	EST	IE		M	27			0		59	Europe/Dublin	2010-08-14
+2961317	Suir Island	Suir Island		52.35	-7.7	T	ISL	IE		M	27			0		132	Europe/Dublin	2010-08-14
+2961318	Suircastle House	Suircastle House		52.46167	-7.98972	S	HSEC	IE		M	26			0		73	Europe/Dublin	2010-08-14
+2961319	River Suir	River Suir	River Suir	52.27333	-6.99556	H	STM	IE		00				0		1	Europe/Dublin	2011-01-04
+2961320	Sugarloaf Mountain	Sugarloaf Mountain	Sugarloaf Mountain	51.72583	-9.63111	T	MT	IE		M	04			0		228	Europe/Dublin	2010-08-14
+2961321	Sugar Hill	Sugar Hill		52.43611	-9.16917	T	HLL	IE		M	11			0		312	Europe/Dublin	2010-08-14
+2961322	River Suck	River Suck		53.27222	-8.05306	H	STM	IE		00				0		55	Europe/Dublin	1998-08-18
+2961323	Sturrall	Sturrall		54.73667	-8.74417	T	CAPE	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961324	Stuake	Stuake		51.98333	-8.76667	P	PPL	IE		M	04			0		171	Europe/Dublin	2010-08-14
+2961325	Stroove	Stroove		55.21667	-6.93333	P	PPL	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
+2961326	Strokestown House	Strokestown House		53.76667	-8.1	S	EST	IE		C	24			0		71	Europe/Dublin	1993-12-27
+2961327	Strokestown	Strokestown	Beal na mBuilli,Béal na mBuillí,Strokestown	53.78333	-8.1	P	PPL	IE		C	24			0		72	Europe/Dublin	2010-08-14
+2961328	Street	Street		53.66667	-7.48333	P	PPL	IE		L	29			0		72	Europe/Dublin	1993-12-27
+2961329	Streek Head	Streek Head		51.47056	-9.70306	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961330	Streedagh Point	Streedagh Point		54.41194	-8.56722	T	PT	IE		C	25			0		1	Europe/Dublin	2010-08-14
+2961331	Streedagh House	Streedagh House		54.39778	-8.56389	S	HSEC	IE		C	25			0		1	Europe/Dublin	2010-08-14
+2961332	Streamstown Bay	Streamstown Bay		53.50917	-10.06833	H	BAY	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
+2961333	Streamstown	Streamstown		53.52333	-10.04694	P	PPL	IE		C	10			0		76	Europe/Dublin	2010-08-14
+2961334	Streamstown	Streamstown		53.43333	-7.58333	P	PPL	IE		L	29			0		102	Europe/Dublin	1993-12-27
+2961335	Strawberryhill House	Strawberryhill House		53.23639	-7.88778	S	HSEC	IE		L	23			0		68	Europe/Dublin	2010-08-14
+2961336	Stratford	Stratford	Ath na Sraide,Stratford,Áth na Sráide	52.98583	-6.67778	P	PPL	IE		L	31			0		147	Europe/Dublin	2010-08-14
+2961337	Stranorlar	Stranorlar	Srath an Urlair,Srath an Urláir,Stranorlar	54.8	-7.76667	P	PPL	IE		U	06			0		58	Europe/Dublin	2010-08-14
+2961338	Strand	Strand		52.39556	-9.11056	P	PPL	IE		M	03			0		152	Europe/Dublin	2010-08-14
+2961339	Strancally House	Strancally House		52.01667	-7.85	S	BLDG	IE		M	04			0		71	Europe/Dublin	2010-08-14
+2961340	Strancally Castle	Strancally Castle		52.06861	-7.87694	S	EST	IE		M	27			0		36	Europe/Dublin	2010-08-14
+2961341	Straid River	Straid River		55.28333	-7.33333	H	STM	IE		U	06			0		40	Europe/Dublin	1993-12-27
+2961342	Straffan	Straffan		53.31556	-6.63472	P	PPL	IE		L	12			0		72	Europe/Dublin	2010-08-14
+2961343	Stradone House	Stradone House		53.98389	-7.25	S	EST	IE		U	02			0		134	Europe/Dublin	2010-08-14
+2961344	Stradone	Stradone	Sraith an Domhain,Stradone	53.98333	-7.23333	P	PPL	IE	IE	U	02			0		135	Europe/Dublin	2010-08-14
+2961345	Strade	Strade		53.91694	-9.13389	P	PPL	IE		C	20			0		38	Europe/Dublin	2010-08-14
+2961346	Stradbally River	Stradbally River	Bauteogue River,Stradbally River,Strade River,Straid River	53.03806	-7.08972	H	STM	IE	IE	L	15			0		72	Europe/Dublin	2010-08-14
+2961347	Stradbally Hall	Stradbally Hall		53	-7.16667	S	EST	IE		L	15			0		152	Europe/Dublin	2010-08-14
+2961348	Stradbally	Stradbally		53.21889	-8.88667	P	PPL	IE		C	10			0		2	Europe/Dublin	2010-08-14
+2961349	Stradbally	Stradbally	An Sraidbhaile,An Sráidbhaile,Stradbally	53.01556	-7.15278	P	PPL	IE		L	15			0		149	Europe/Dublin	2010-08-14
+2961350	Stradbally	Stradbally		52.24722	-10.06639	P	PPL	IE		M	11			0		81	Europe/Dublin	2010-08-14
+2961351	Stradbally	Stradbally	An tSraidbhaile,An tSráidbhaile,Stradbally	52.13	-7.46	P	PPL	IE		M	27			0		17	Europe/Dublin	2010-08-14
+2961352	Stowlin House	Stowlin House		53.18139	-8.21722	S	EST	IE		C	10			0		75	Europe/Dublin	2010-08-14
+2961353	Stookaruddan	Stookaruddan	Stockaruddan,Stookaruddan,Stookarudden	55.36972	-7.28222	T	ISLS	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
+2961354	Stonyford	Stonyford		52.53639	-7.22	P	PPL	IE		L	13			0		69	Europe/Dublin	2010-08-14
+2961355	Stonybatter	Stonybatter		52.76278	-6.45278	P	PPL	IE		L	31			0		159	Europe/Dublin	2010-08-14
+2961356	Stonetown	Stonetown		53.61667	-8.55	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
+2961357	Stonepark	Stonepark		54.01028	-8.93722	P	PPL	IE		C	20			0		77	Europe/Dublin	2010-08-14
+2961358	Stonehall	Stonehall		52.60722	-8.87306	P	PPL	IE		M	16			0		22	Europe/Dublin	2010-08-14
+2961359	Stonefield	Stonefield		54.31	-9.82972	P	PPL	IE		C	20			0		141	Europe/Dublin	2010-08-14
+2961360	Stone Bridge	Stone Bridge		54.2	-7.16667	P	PPL	IE		U	22			0		73	Europe/Dublin	2010-08-14
+2961361	Stokestown	Stokestown	Stokestown,Stokestown Castle	52.36028	-6.98806	S	EST	IE	IE	L	30			0		13	Europe/Dublin	2010-08-14
+2961362	Stillorgan	Stillorgan		53.29049	-6.19487	P	PPL	IE		L	07			0		39	Europe/Dublin	2010-08-14
+2961363	Stephenstown House	Stephenstown House	Stephenstown,Stephenstown House	53.95806	-6.46639	S	EST	IE	IE	L	19			0		19	Europe/Dublin	2010-08-14
+2961364	Stepaside	Stepaside	Stepaside	53.2525	-6.21361	P	PPL	IE		L	07			0		140	Europe/Dublin	2010-11-04
+2961365	Station Island	Station Island		54.60833	-7.87139	T	ISL	IE		U	06			0		148	Europe/Dublin	2010-08-14
+2961366	Stamullin	Stamullin		53.62889	-6.26833	P	PPL	IE		L	21			0		48	Europe/Dublin	2010-08-14
+2961367	Stags of Broad Haven	Stags of Broad Haven	Stags,Stags of Broad Haven,The Stags	54.36639	-9.78778	T	RKS	IE	IE	C	20			0		-9999	Europe/Dublin	2010-08-14
+2961368	Stags of Bofin	Stags of Bofin		53.63194	-10.25917	T	RKS	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
+2961369	The Stag Rocks	The Stag Rocks	The Stag Rocks,The Stags	55.07528	-8.47889	T	RKS	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
+2961370	Stacks Mountains	Stacks Mountains		52.31667	-9.56667	T	MTS	IE		M	11			0		286	Europe/Dublin	1993-12-27
+2961371	Stabannan	Stabannan	Stabannan,Stahannan	53.86472	-6.43583	P	PPL	IE	IE	L	19			0		6	Europe/Dublin	2010-08-14
+2961372	Sruwaddacon Bay	Sruwaddacon Bay	Sruwaddacon Bay,Sruwaddacon Creek	54.26667	-9.78333	H	BAY	IE		C	20			0		-9999	Europe/Dublin	2010-08-10
+2961373	Srahmore River	Srahmore River		53.95667	-9.58	H	STM	IE		C	20			0		98	Europe/Dublin	2010-08-14
+2961374	Srahmore	Srahmore		53.96028	-9.57083	P	PPL	IE		C	20			0		131	Europe/Dublin	2010-08-14
+2961375	Srahlaghy	Srahlaghy		54.235	-9.57361	P	PPL	IE		C	20			0		128	Europe/Dublin	2010-08-14
+2961376	Srahduggaun	Srahduggaun		54	-9.73333	P	PPL	IE		C	20			0		73	Europe/Dublin	1993-12-27
+2961377	Srah	Srah		54.1725	-9.93361	P	PPL	IE		C	20			0		5	Europe/Dublin	2010-08-14
+2961378	Srah	Srah		53.68333	-9.33333	P	PPL	IE		C	20			0		59	Europe/Dublin	1993-12-27
+2961379	Srah	Srah		53.28333	-7.75	P	PPL	IE		L	23			0		65	Europe/Dublin	2010-08-14
+2961380	Spring Valley	Spring Valley		53.47806	-6.71389	S	EST	IE		L	21			0		77	Europe/Dublin	2010-08-14
+2961381	Springfield Castle	Springfield Castle		52.35	-8.95	S	EST	IE		M	16			0		146	Europe/Dublin	1993-12-27
+2961382	Springfield	Springfield		53.05	-7.4	P	PPL	IE		L	15			0		138	Europe/Dublin	2010-08-14
+2961383	Springfield	Springfield		52.71556	-6.615	S	EST	IE		L	31			0		71	Europe/Dublin	2010-08-14
+2961384	Sporthouse Cross Roads	Sporthouse Cross Roads		52.19667	-7.17917	P	PPL	IE		M	27			0		77	Europe/Dublin	2010-08-14
+2961385	Spittle	Spittle		52.38	-8.3375	P	PPL	IE		M	16			0		152	Europe/Dublin	2010-08-14
+2961386	Spink	Spink		52.89944	-7.22611	P	PPL	IE		L	15			0		151	Europe/Dublin	2010-08-14
+2961387	Spike Island	Spike Island		51.83861	-8.28889	T	ISL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961388	Spiddal	Spiddal	An Spideal,An Spidéal,Spiddal,Spiddle	53.24667	-9.30278	P	PPL	IE		C	10			0		1	Europe/Dublin	2010-08-14
+2961389	Spear Vale	Spear Vale		53.91667	-7	P	PPL	IE		U	02			0		187	Europe/Dublin	1993-12-27
+2961390	Spanish Point	Spanish Point		52.84972	-9.44722	T	PT	IE		M	03			0		-9999	Europe/Dublin	2010-08-14
+2961391	Spancelhill	Spancelhill		52.86667	-8.9	P	PPL	IE		M	03			0		119	Europe/Dublin	1993-12-27
+2961392	Spa	Spa		52.28333	-9.78333	P	PPL	IE		M	11			0		39	Europe/Dublin	2010-08-14
+2961393	River Sow	River Sow		52.37778	-6.45139	H	STM	IE		L	30			0		4	Europe/Dublin	2010-08-14
+2961394	Sovereign Islands	Sovereign Islands	Big Sovereign,Sovereign Islands	51.67667	-8.45556	T	ISLS	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
+2961395	Sovereign Island	Sovereign Island	Little Sovereign,Sovereign Island	51.68389	-8.4425	T	ISL	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
+2961396	South Sound	South Sound		53.04167	-9.46583	H	SD	IE		M	03			0		-9999	Europe/Dublin	2010-08-14
+2961397	Southpark House	Southpark House		53.76667	-8.43333	S	EST	IE		C	24			0		77	Europe/Dublin	1993-12-27
+2961398	South Hill	South Hill		53.60861	-7.07167	S	EST	IE		L	29			0		109	Europe/Dublin	2010-08-14
+2961399	Sorrel House	Sorrel House		52.75	-9.23333	S	BLDG	IE		M	03			0		96	Europe/Dublin	1993-12-27
+2961400	Sorrelhill House	Sorrelhill House		52.83333	-7.75	S	EST	IE		M	26			0		150	Europe/Dublin	2010-08-14
+2961401	Sopwell Hall	Sopwell Hall		52.99194	-8.04806	S	EST	IE		M	26			0		119	Europe/Dublin	2010-08-14
+2961402	Soppog	Soppog		55.06472	-7.32111	P	PPL	IE		U	06			0		63	Europe/Dublin	2010-08-14
+2961403	Sonna House	Sonna House		53.56667	-7.46667	S	EST	IE		L	29			0		123	Europe/Dublin	1993-12-27
+2961404	Somerville House	Somerville House	Somerville,Somerville House	53.63139	-6.51167	S	EST	IE	IE	L	21			0		57	Europe/Dublin	2010-08-14
+2961405	Somerset House	Somerset House		53.24778	-8.22694	S	EST	IE		C	10			0		76	Europe/Dublin	2010-08-14
+2961406	Solsborough House	Solsborough House	Solsborough,Solsborough House	52.52861	-6.52	S	EST	IE	IE	L	30			0		64	Europe/Dublin	2010-08-14
+2961407	Snowhill House	Snowhill House		52.27278	-7.02028	S	EST	IE		L	13			0		1	Europe/Dublin	2010-08-14
+2961408	Sneem Harbour	Sneem Harbour		51.8	-9.88333	H	INLT	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961409	Sneem	Sneem	An Snaidhm,An tSnaidhm,Sneem	51.83333	-9.9	P	PPL	IE		M	11			0		25	Europe/Dublin	2010-08-14
+2961410	Slieve Snaght	Slieve Snaght	Sliabh Sneachta,Slieve Snaght	55.19639	-7.33528	T	MT	IE		U	06			0	615	573	Europe/Dublin	2010-08-14
+2961411	Slieve Snaght	Slieve Snaght		54.98083	-8.11778	T	MT	IE		U	06			0		466	Europe/Dublin	2010-08-14
+2961412	Smithstown House	Smithstown House		52.98333	-9.26667	S	EST	IE		M	03			0		75	Europe/Dublin	1993-12-27
+2961413	Smithborough	Smithborough		54.22333	-7.09083	P	PPL	IE		U	22			0		74	Europe/Dublin	2010-08-14
+2961414	Smerwick Harbour	Smerwick Harbour		52.19222	-10.4025	H	HBR	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961415	Smerwick	Smerwick		52.19444	-10.42333	P	PPL	IE		M	11			0		30	Europe/Dublin	2010-08-14
+2961416	Smearlagh River	Smearlagh River		52.43917	-9.42889	H	STM	IE		M	11			0		74	Europe/Dublin	2010-08-14
+2961417	Smarmore Castle	Smarmore Castle		53.81722	-6.56667	S	EST	IE		L	19			0		75	Europe/Dublin	2010-08-14
+2961418	Slyne Head	Slyne Head		53.40056	-10.23528	T	CAPE	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
+2961419	Slugga	Slugga		54.30278	-9.86556	T	RK	IE		C	20			0		-9999	Europe/Dublin	2010-08-14
+2961420	Slish Wood	Slish Wood		54.23333	-8.38333	V	FRST	IE		C	25			0		149	Europe/Dublin	2010-08-14
+2961421	Sligo Bay	Sligo Bay		54.3	-8.7	H	BAY	IE		C	25			0		-9999	Europe/Dublin	1998-09-01
+2961422	Sligeach	Sligeach	Contae Shligigh,County Sligo,Sligo	54.25	-8.66667	A	ADM2	IE		C	25			58900		5	Europe/Dublin	2010-08-14
+2961423	Sligeach	Sligeach	Slajgou,Sligeach,Sligo,suraigo,Слайгоу,スライゴ	54.26969	-8.46943	P	PPLA2	IE		C	25			20228	13	5	Europe/Dublin	2010-08-14
+2961424	Slievetooey	Slievetooey		54.76278	-8.60722	T	MT	IE		U	06			0		329	Europe/Dublin	2010-08-14
+2961425	Slieveroe	Slieveroe		52.28056	-7.08667	P	PPL	IE		L	13			0		59	Europe/Dublin	2010-08-14
+2961426	Slievenamuck	Slievenamuck		52.4275	-8.23194	T	MT	IE		M	26			0		156	Europe/Dublin	2010-08-14
+2961427	Slievenamon	Slievenamon	Slievenaman,Slievenamon	52.42778	-7.56111	T	MT	IE		M	26			0	721	568	Europe/Dublin	2010-11-04
+2961428	Slievenakilla	Slievenakilla		54.15	-7.93333	P	PPL	IE		C	14			0		315	Europe/Dublin	1993-12-27
+2961429	Slievemore Point	Slievemore Point		54.01667	-10.05	T	PT	IE		C	20			0		73	Europe/Dublin	1993-12-27
+2961430	Slievemore	Slievemore		53.99611	-10.07056	P	PPLL	IE		C	20			0		149	Europe/Dublin	2010-08-14
+2961431	Slievemore	Slievemore		54.0075	-10.0625	T	MT	IE		C	20			0	671	269	Europe/Dublin	2010-08-14
+2961432	Slieve Miskish Mountains	Slieve Miskish Mountains	Slieve Miskish Mountains	51.66722	-9.95306	T	MTS	IE		M	04			0		188	Europe/Dublin	2010-08-14
+2961433	Slieve Mish Mountains	Slieve Mish Mountains	Slieve Mish Mountains	52.2	-9.76667	T	MTS	IE		M	11			0		224	Europe/Dublin	2010-08-14
+2961434	Slievekimalta	Slievekimalta	Keeper Hill,Slievekimalta	52.74972	-8.26028	T	MT	IE	IE	M	26			0		421	Europe/Dublin	2010-11-04
+2961435	Slieveglass	Slieveglass		52.27861	-10.20667	T	MT	IE		M	11			0		143	Europe/Dublin	2010-08-14
+2961436	Slievefelim Mountains	Slievefelim Mountains		52.67167	-8.3075	T	MTS	IE		M	16			0		315	Europe/Dublin	2010-08-14
+2961437	Slievecarran	Slievecarran		53.09583	-9.00639	T	MT	IE		M	03			0		154	Europe/Dublin	2010-08-14
+2961438	Slievecallan	Slievecallan		52.84056	-9.26861	T	MT	IE		M	03			0		279	Europe/Dublin	2010-08-14
+2961439	Slieveboy	Slieveboy		52.65639	-6.48861	T	MT	IE		L	30			0	422	266	Europe/Dublin	2010-08-14
+2961440	Slieve Bloom Mountains	Slieve Bloom Mountains	Slieve Bloom,Slieve Bloom Mountains	53.09333	-7.56722	T	MTS	IE		L	15			0		326	Europe/Dublin	2010-08-10
+2961441	Slievebane Bay	Slievebane Bay		55.36667	-7.33333	H	BAY	IE		U	06			0		1	Europe/Dublin	2010-08-14
+2961442	Slieve Aughty Mountains	Slieve Aughty Mountains	Slieve Aughty Mountains	53.04611	-8.51111	T	MTS	IE		C	10			0		151	Europe/Dublin	2010-08-14
+2961443	Slieveardagh Hills	Slieveardagh Hills	Slievardagh Region,Slieveardagh Hills	52.65278	-7.52056	T	HLLS	IE	IE	00				0		152	Europe/Dublin	2010-08-10
+2961444	Slevoir House	Slevoir House		53.06139	-8.18111	S	EST	IE		M	26			0		56	Europe/Dublin	2010-08-14
+2961445	Sleatygraigue	Sleatygraigue		52.84472	-6.97167	P	PPL	IE		L	15			0		39	Europe/Dublin	2010-08-14
+2961446	Slea Head	Slea Head		52.09639	-10.45917	T	CAPE	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961447	Slate River	Slate River		53.195	-7.09417	H	STM	IE		L	23			0		75	Europe/Dublin	1999-02-24
+2961448	River Slaney	River Slaney		52.33806	-6.45306	H	STM	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961449	Slane Castle	Slane Castle		53.70944	-6.5825	S	EST	IE		L	21			0		37	Europe/Dublin	2010-08-14
+2961450	Slane	Slane	Baile Shlaine,Baile Shláine,Slane	53.71	-6.54333	P	PPL	IE		L	21			0		58	Europe/Dublin	2010-08-14
+2961451	Slaheny River	Slaheny River		51.9	-9.45	H	STM	IE		M	11			0		86	Europe/Dublin	1993-12-27
+2961452	Slade	Slade		52.1325	-6.90444	P	PPL	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961453	Skycur House	Skycur House	Skycur,Skycur House	53.22139	-8.23472	S	EST	IE	IE	C	10			0		76	Europe/Dublin	2010-08-14
+2961454	Skull Harbour	Skull Harbour		51.52528	-9.53833	H	HBR	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961455	Skull	Skull	An Scoil,Schull,Skull	51.53333	-9.53333	P	PPL	IE		M	04			0		44	Europe/Dublin	2010-08-14
+2961456	Skreeny House	Skreeny House		54.315	-8.16722	S	RUIN	IE		C	14			0		76	Europe/Dublin	2010-08-14
+2961457	Skreen	Skreen		54.24333	-8.73111	P	PPL	IE		C	25			0		55	Europe/Dublin	2010-08-14
+2961458	Screen	Screen	Screen,Skreen	52.41361	-6.4125	P	PPL	IE	IE	L	30			0		22	Europe/Dublin	2010-08-14
+2961459	An Sciobairin	An Sciobairin	Skibbereen	51.55	-9.26667	P	PPL	IE		M	04			2098		98	Europe/Dublin	2010-08-14
+2961460	Skerries Islands	Skerries Islands		53.58333	-6.08333	T	ISLS	IE		00				0		-9999	Europe/Dublin	1993-12-27
+2961461	Skerries	Skerries	Na Sceiri,Na Sceirí,Skerries	53.58278	-6.10833	P	PPL	IE		L	35			10014		-9999	Europe/Dublin	2010-11-04
+2961462	Skenakilla Cross Roads	Skenakilla Cross Roads		52.19306	-8.51778	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
+2961463	Skellig Rocks	Skellig Rocks	Skellig Rocks,The Skelligs	51.76667	-10.51667	T	RKS	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
+2961464	Skehanagh	Skehanagh		53.41389	-8.63417	P	PPL	IE		C	10			0		72	Europe/Dublin	2010-08-14
+2961465	Lough Skean	Lough Skean		54.06222	-8.21528	H	LK	IE		00				0		55	Europe/Dublin	1998-09-01
+2961466	Skeagh Lough Upper	Skeagh Lough Upper	Skeagh Lough,Skeagh Lough Upper	53.95	-7	H	LK	IE	IE	U	02			0		150	Europe/Dublin	2010-08-14
+2961467	Skeagh	Skeagh		51.58639	-9.35472	P	PPL	IE		M	04			0		79	Europe/Dublin	2010-08-14
+2961468	Skeaf House	Skeaf House		51.6775	-8.78111	S	EST	IE		M	04			0		75	Europe/Dublin	2010-08-14
+2961469	Lough Skannive	Lough Skannive		53.33083	-9.78722	H	LK	IE		C	10			0		65	Europe/Dublin	2010-08-14
+2961470	Sixmilebridge	Sixmilebridge	Droichead Abhann O gCearnaigh,Droíchead Abhann Ó gCearnaigh,Sixmilebridge	52.74139	-8.77417	P	PPL	IE		M	03			0		43	Europe/Dublin	2010-08-14
+2961471	Single Street	Single Street		54.48306	-8.26417	P	PPL	IE		U	06			0		1	Europe/Dublin	2010-08-14
+2961472	Silver Stream	Silver Stream		54.26667	-6.91667	P	PPL	IE		00				0		66	Europe/Dublin	1993-12-27
+2961473	Silver River	Silver River		53.2925	-7.62889	H	STM	IE		L	23			0		70	Europe/Dublin	2010-08-14
+2961474	Silver River	Silver River		53.24333	-7.79139	H	STM	IE		L	23			0		63	Europe/Dublin	2010-08-14
+2961475	Silvermines	Silvermines	Beal Atha Gabhann,Béal Átha Gabhann,Silvermines	52.79028	-8.23417	P	PPL	IE		M	38			0		188	Europe/Dublin	2010-11-04
+2961476	Silvermine Mountains	Silvermine Mountains	Silvermine Mountains,Silvermines Mountains	52.77583	-8.24889	T	MTS	IE	IE	M	26			0		345	Europe/Dublin	2010-11-04
+2961477	Silver Hill	Silver Hill		54.76944	-8.14722	T	MT	IE		U	06			0		423	Europe/Dublin	2010-08-14
+2961478	Lough Sillan	Lough Sillan		54.00222	-6.92222	H	LK	IE		U	02			0		149	Europe/Dublin	2010-08-14
+2961479	Siddan	Siddan		53.80972	-6.65639	P	PPL	IE		L	21			0		61	Europe/Dublin	2010-08-14
+2961480	Shrule Castle	Shrule Castle		52.87694	-6.95111	S	BLDG	IE		L	15			0		48	Europe/Dublin	2010-08-14
+2961481	Shrule	Shrule	Shrule,Shruthair,Sruthair	53.51681	-9.08902	P	PPL	IE		C	20			0		59	Europe/Dublin	2010-08-14
+2961482	Shronowen	Shronowen		52.50389	-9.45361	P	PPL	IE		M	11			0		69	Europe/Dublin	2010-08-14
+2961483	Shronell	Shronell		52.47222	-8.23472	P	PPL	IE		M	26			0		136	Europe/Dublin	2010-08-14
+2961484	Shrone	Shrone		52.525	-9.49	P	PPL	IE		M	11			0		57	Europe/Dublin	2010-08-14
+2961485	Shot Head	Shot Head		51.67667	-9.67611	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961486	Shiven River	Shiven River	Kingstown River,Shiven River	53.51667	-8.45	H	STM	IE		C	10			0		72	Europe/Dublin	2010-08-10
+2961487	Shiven River	Shiven River		53.5	-8.28333	H	STM	IE		00				0		69	Europe/Dublin	1993-12-27
+2961488	Shippool	Shippool	Shippool,Shippool Castle	51.75111	-8.62889	S	RUIN	IE	IE	M	04			0		72	Europe/Dublin	2010-08-14
+2961489	Shinrone	Shinrone	Shinrone,Sui an Roin,Suí an Róin	52.9825	-7.92444	P	PPL	IE	IE	L	23			0		84	Europe/Dublin	2010-08-14
+2961490	Lough Shindilla	Lough Shindilla		53.45	-9.56667	H	LK	IE		C	10			0		58	Europe/Dublin	1993-12-27
+2961491	Shillelagh	Shillelagh	Shillelagh,Siol Ealaigh,Síol Éalaigh	52.75389	-6.53722	P	PPL	IE	IE	L	31			0		76	Europe/Dublin	2010-08-14
+2961492	Sheskin Lodge	Sheskin Lodge		54.17028	-9.615	S	HSE	IE		C	20			0		146	Europe/Dublin	2010-08-14
+2961493	Sheshia	Sheshia		53.1	-9.06667	P	PPL	IE		M	03			0		57	Europe/Dublin	1993-12-27
+2961494	Sherky Island	Sherky Island		51.7975	-9.905	T	ISL	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961495	Sherkin Island	Sherkin Island	Sherkin Island	51.4775	-9.42694	T	ISL	IE		M	04			0		1	Europe/Dublin	2010-08-14
+2961496	Sheriffhill	Sheriffhill		52.95	-6.80278	P	PPL	IE		L	12			0		143	Europe/Dublin	2010-08-14
+2961497	Shercock	Shercock	Searcog,Searcóg,Shercock	54	-6.9	P	PPL	IE	IE	U	02			0		153	Europe/Dublin	2010-08-14
+2961498	Shenicks Island	Shenicks Island		53.57472	-6.08444	T	ISL	IE		L	07			0		-9999	Europe/Dublin	2010-08-14
+2961499	Shelton Abbey	Shelton Abbey		52.815	-6.18278	S	EST	IE		L	31			0		43	Europe/Dublin	2010-08-14
+2961500	Shehy Mountain	Shehy Mountain		51.81778	-9.28722	T	MT	IE		M	04			0		334	Europe/Dublin	2010-08-14
+2961501	Sheffield	Sheffield	Sheffield,Sheffield House	53.00417	-7.26806	S	EST	IE	IE	L	15			0		150	Europe/Dublin	2010-08-14
+2961502	Sheep Haven	Sheep Haven	Cuan na gCaorach,Sheep Haven	55.2	-7.9	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961503	Sheen River	Sheen River		51.86667	-9.56667	H	STM	IE		M	11			0		61	Europe/Dublin	1993-12-27
+2961504	Lough Sheelin	Lough Sheelin		53.8	-7.31667	H	LK	IE		L	21			0		73	Europe/Dublin	1993-12-27
+2961505	Sheehills House	Sheehills House		52.93278	-7.76861	S	EST	IE		M	26			0		135	Europe/Dublin	2010-08-14
+2961506	Sheeanamore	Sheeanamore		52.885	-6.37694	P	PPL	IE		L	31			0		269	Europe/Dublin	2010-08-14
+2961507	Shark Head	Shark Head	Shark Head,Stark Head	53.60167	-10.295	T	CAPE	IE	IE	C	10			0		-9999	Europe/Dublin	2010-08-14
+2961508	Shanvally	Shanvally		53.78333	-7.91667	P	PPL	IE		C	24			0		67	Europe/Dublin	1993-12-27
+2961509	Shantonagh	Shantonagh		54.05028	-6.85056	P	PPL	IE		U	22			0		147	Europe/Dublin	2010-08-14
+2961510	Shanow River	Shanow River		52.36667	-9.65	H	STM	IE		M	11			0		70	Europe/Dublin	1993-12-27
+2961511	Shannon View	Shannon View		52.61667	-8.98333	S	EST	IE		M	16			0		3	Europe/Dublin	1993-12-27
+2961512	Shannon Harbour	Shannon Harbour	Shannon Harbour	53.22056	-7.94833	P	PPL	IE		L	23			0		73	Europe/Dublin	2010-08-14
+2961513	Shannon Hall	Shannon Hall	Shannon Hall,Shannonvale House	52.90417	-8.28056	S	BLDG	IE	IE	M	26			0		51	Europe/Dublin	2010-11-04
+2961514	Shannongrove House	Shannongrove House	Shannongrove,Shannongrove House	52.66	-8.86417	S	EST	IE	IE	M	16			0		1	Europe/Dublin	2010-08-14
+2961515	Shannon Grove	Shannon Grove		53.19861	-8.04806	S	EST	IE		C	10			0		55	Europe/Dublin	2010-08-14
+2961516	Shannonbridge	Shannonbridge	Droichead na Sionainne,Shannonbridge	53.27778	-8.03722	P	PPL	IE		L	23			0		56	Europe/Dublin	2010-08-14
+2961517	River Shannon	River Shannon		52.58194	-9.68167	H	STM	IE		00				0		-9999	Europe/Dublin	1998-05-05
+2961518	Mouth of the Shannon	Mouth of the Shannon		52.50167	-9.81694	H	STMM	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961519	Shannaghmore	Shannaghmore		53.6	-8.6	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
+2961520	Shanlis Cross Roads	Shanlis Cross Roads	Shanlis,Shanlis Cross Roads	53.83778	-6.57111	P	PPL	IE	IE	L	19			0		49	Europe/Dublin	2010-08-14
+2961521	Shanlaragh	Shanlaragh		51.79556	-9.07889	P	PPL	IE		M	04			0		152	Europe/Dublin	2010-08-14
+2961522	Shankill Castle	Shankill Castle		52.68611	-7.02111	S	EST	IE		L	13			0		60	Europe/Dublin	2010-08-14
+2961523	Shankill	Shankill	Shankill	53.22611	-6.12444	P	PPL	IE		L	07			0		1	Europe/Dublin	2010-11-04
+2961524	Shanid Castle	Shanid Castle		52.55	-9.11667	S	BLDG	IE		M	16			0		117	Europe/Dublin	1993-12-27
+2961525	Shanganagh Junction	Shanganagh Junction		53.21667	-6.1	S	RSTN	IE		00				0		-9999	Europe/Dublin	1993-12-27
+2961526	Shanganagh Castle	Shanganagh Castle		53.22583	-6.11972	S	EST	IE		L	07			0		1	Europe/Dublin	2010-08-14
+2961527	Shanballymore	Shanballymore	An Seanbhaile Mor,An Seanbhaile Mór,Shanballymore	52.22028	-8.50139	P	PPL	IE		M	04			0		70	Europe/Dublin	2010-08-14
+2961528	Shanbally House	Shanbally House	Shanbally,Shanbally House	52.85722	-8.09167	S	EST	IE	IE	M	26			0		105	Europe/Dublin	2010-11-04
+2961529	Shanbally Castle	Shanbally Castle		52.29361	-8.04361	S	EST	IE		M	26			0		75	Europe/Dublin	2010-08-14
+2961530	Shanbally	Shanbally		51.8325	-8.3575	P	PPL	IE		M	04			0		11	Europe/Dublin	2010-08-14
+2961531	Shanagolden	Shanagolden	Seanghualainn,Shanagolden	52.5725	-9.1025	P	PPL	IE	IE	M	16			0		67	Europe/Dublin	2010-08-14
+2961532	Shanagh	Shanagh	Shanagh,Shunagh	51.58222	-8.71889	P	PPL	IE	IE	M	04			0		13	Europe/Dublin	2010-08-14
+2961533	Shanagarry	Shanagarry	Shanagarry	51.85444	-8.07083	P	PPL	IE		M	04			0		51	Europe/Dublin	2010-08-14
+2961534	Shallee River	Shallee River		52.87056	-8.99528	H	STM	IE		M	03			0		24	Europe/Dublin	2010-08-14
+2961535	Shaen House	Shaen House	Shaen,Shaen House	53.06667	-7.25	S	EST	IE	IE	L	15			0		141	Europe/Dublin	2010-08-14
+2961536	Shad Lough	Shad Lough		53.73333	-8.26667	H	LK	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2961537	The Seven Stars	The Seven Stars		53.05722	-6.88028	L	LCTY	IE		L	12			0		108	Europe/Dublin	2010-08-14
+2961538	The Seven Hogs	The Seven Hogs	Magharee Islands,The Seven Hogs	52.32194	-10.03528	T	ISLS	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
+2961539	Seven Heads Bay	Seven Heads Bay		51.59444	-8.7	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961540	Seven Heads	Seven Heads		51.56889	-8.7275	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961541	Seven Fathom Bank	Seven Fathom Bank		52.8	-6	H	BNK	IE		L	31			0		-9999	Europe/Dublin	1993-12-27
+2961542	Sevenchurches	Sevenchurches	Camaderry,Sevenchurches	53.02389	-6.39306	S	RUIN	IE	IE	L	31			0		588	Europe/Dublin	2010-08-14
+2961543	The Seven Arches	The Seven Arches	Seven Arches,The Seven Arches	55.21667	-7.6	S	CAVE	IE		U	06			0		-9999	Europe/Dublin	2010-08-10
+2961544	Seskinryan	Seskinryan		52.68222	-6.93167	P	PPL	IE		L	01			0		115	Europe/Dublin	2010-08-14
+2961545	Seskinrea	Seskinrea		52.76778	-7.06833	P	PPL	IE		L	01			0		191	Europe/Dublin	2010-08-14
+2961546	Seltannaveeny	Seltannaveeny	Seltannaveeny,Seltannavenny	54.1	-8.11667	P	PPL	IE		C	24			0		145	Europe/Dublin	2010-08-10
+2961547	Sellerna Bay	Sellerna Bay	Sellerna Bay,Sillerna Bay	53.55	-10.13333	H	BAY	IE		C	10			0		61	Europe/Dublin	2010-08-10
+2961548	Seershin	Seershin		53.26667	-9.21667	P	PPL	IE		C	10			0		57	Europe/Dublin	2010-08-14
+2961549	Seaweed Point	Seaweed Point		53.24889	-9.10944	T	PT	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
+2961550	Seaview House	Seaview House	Seaview,Seaview House	52.02472	-7.58556	S	EST	IE	IE	M	27			0		2	Europe/Dublin	2010-08-14
+2961551	Seapark Point	Seapark Point		52.93333	-6.01667	T	PT	IE		L	31			0		-9999	Europe/Dublin	2010-08-14
+2961552	Sea Mount	Sea Mount		53.44278	-6.14	P	PPL	IE		L	07			0		1	Europe/Dublin	2010-08-14
+2961553	Seal Rocks	Seal Rocks		54.33667	-8.68722	T	RKS	IE		C	25			0		-9999	Europe/Dublin	2010-08-14
+2961554	Seafield House	Seafield House	Seafield,Seafield House	52.67417	-6.21444	S	EST	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
+2961555	Scurmore House	Scurmore House	Scarmore House,Scurmore House	54.19667	-9.11556	S	HSEC	IE	IE	C	25			0		3	Europe/Dublin	2010-08-14
+2961556	Lough Scur	Lough Scur	Lough Scur,Lough Seur	54.02667	-7.95222	H	LK	IE	IE	C	14			0		65	Europe/Dublin	2010-08-14
+2961557	Scullogue Gap	Scullogue Gap	Sculloge Gap,Scullogue Gap	52.57306	-6.7875	T	GAP	IE	IE	L	01			0		286	Europe/Dublin	2010-08-14
+2961558	Scullane Point	Scullane Point		51.49139	-9.21139	T	PT	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961559	Scregg West	Scregg West		53.53333	-8.58333	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
+2961560	Scregg House	Scregg House		53.55	-8.1	S	EST	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2961561	Scregg East	Scregg East		53.53333	-8.56667	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
+2961562	Screeb Lodge	Screeb Lodge	Screeb,Screeb Lodge	53.38694	-9.5525	S	HSEC	IE	IE	C	10			0		69	Europe/Dublin	2010-08-14
+2961563	Scramore Loughs	Scramore Loughs		54.3	-8.35	H	LKS	IE		00				0		284	Europe/Dublin	1993-12-27
+2961564	Scramoge	Scramoge		53.76667	-8.05	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
+2961565	Scrahan	Scrahan		52.4	-9.36667	P	PPL	IE		M	11			0		143	Europe/Dublin	1993-12-27
+2961566	Scrabby	Scrabby		53.86667	-7.53333	P	PPL	IE		U	02			0		70	Europe/Dublin	1993-12-27
+2961567	Scotstown	Scotstown	Baile an Scotaigh,Scotstown	54.2775	-7.065	P	PPL	IE		U	22			0		81	Europe/Dublin	2010-08-14
+2961568	Scotshouse	Scotshouse		54.12194	-7.2475	P	PPL	IE		U	22			0		78	Europe/Dublin	2010-08-14
+2961569	Scilly	Scilly		51.70639	-8.52167	P	PPL	IE		M	04			0		1	Europe/Dublin	2010-08-14
+2961570	Scattery Island	Scattery Island		52.61222	-9.51944	T	ISL	IE		M	03			0		-9999	Europe/Dublin	2010-08-14
+2961571	Scartaglin	Scartaglin	Scartaglen,Scartaglin,Seartaglin	52.18333	-9.4	P	PPL	IE		M	11			0		149	Europe/Dublin	2010-08-10
+2961572	Scarriff Bay	Scarriff Bay	Scariff Bay,Scarriff Bay	52.90333	-8.48694	H	BAY	IE	IE	M	03			0		55	Europe/Dublin	2010-08-14
+2961573	River Scarriff	River Scarriff		52.9	-8.5	H	STM	IE		M	03			0		55	Europe/Dublin	1993-12-27
+2961574	Scarriff	Scarriff	An Scairbh,Scariff,Scarriff	52.89889	-8.50917	P	PPL	IE		M	03			0		82	Europe/Dublin	2010-08-14
+2961575	Scariff Island	Scariff Island	Great Hog Island,Scariff Island	51.73556	-10.25333	T	ISL	IE	IE	M	11			0		47	Europe/Dublin	2010-08-14
+2961576	Scardaun	Scardaun		53.65	-9	P	PPL	IE		C	20			0		120	Europe/Dublin	1993-12-27
+2961577	Lough Scannive	Lough Scannive		53.43528	-9.9525	H	LK	IE		C	10			0		81	Europe/Dublin	2010-08-14
+2961578	Scalp Mountain	Scalp Mountain		55.08917	-7.36611	T	MT	IE		U	06			0	484	352	Europe/Dublin	2010-08-14
+2961579	The Scalp	The Scalp	An Scailp,The Scalp	53.21611	-6.17944	T	GAP	IE	IE	00				0		151	Europe/Dublin	2010-08-10
+2961580	Scalp	Scalp		53.08333	-6.58333	P	PPL	IE		L	31			0		304	Europe/Dublin	2010-08-14
+2961581	Scalp	Scalp		52.99139	-8.48972	T	MT	IE		C	10			0		304	Europe/Dublin	2010-08-14
+2961582	Saundersville	Saundersville		52.96667	-6.68333	P	PPL	IE		L	31			0		156	Europe/Dublin	1993-12-27
+2961583	Saunders Court	Saunders Court		52.36611	-6.49333	S	EST	IE		L	30			0		1	Europe/Dublin	2010-08-14
+2961584	Sarsfieldscourt House	Sarsfieldscourt House	Sarsfieldcourt,Sarsfieldscourt House	51.95139	-8.4025	S	HSEC	IE	IE	M	04			0		89	Europe/Dublin	2010-08-14
+2961585	Sarnaght	Sarnaght		53.89056	-9.31389	P	PPL	IE		C	20			0		104	Europe/Dublin	2010-08-14
+2961586	Sarahville	Sarahville		52.16667	-7.46667	S	EST	IE		M	27			0		78	Europe/Dublin	1993-12-27
+2961587	Santry	Santry		53.39812	-6.25268	P	PPL	IE		L	07			0		12	Europe/Dublin	2010-08-14
+2961588	Sandymount	Sandymount		53.97139	-6.36194	P	PPL	IE		L	19			0		-9999	Europe/Dublin	2010-08-14
+2961589	Sandymount	Sandymount		53.335	-6.21139	P	PPL	IE		L	07			0		-9999	Europe/Dublin	2010-08-14
+2961590	Sandy Ford	Sandy Ford		52.85194	-6.46139	P	PPL	IE		L	31			0		289	Europe/Dublin	2010-08-14
+2961591	Sandy Cove	Sandy Cove		51.67694	-8.54917	P	PPL	IE		M	04			0		72	Europe/Dublin	2010-08-14
+2961592	Sandeel Bay	Sandeel Bay		52.1575	-6.87	H	BAY	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961593	Samphire Island	Samphire Island		52.27167	-9.865	T	ISL	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
+2961594	Saltmills	Saltmills		52.22194	-6.82667	P	PPL	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961595	Salt Hill	Salt Hill		53.26139	-9.06944	P	PPL	IE		C	10			0		1	Europe/Dublin	2010-08-14
+2961596	Salt Hill	Salt Hill		54.63111	-8.21111	S	EST	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961597	Salterstown	Salterstown		53.87167	-6.30694	P	PPL	IE		L	19			0		1	Europe/Dublin	2010-08-14
+2961598	Saltee Islands	Saltee Islands	Saltee Islands	52.125	-6.59722	T	ISLS	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961599	Little Saltee	Little Saltee	Little Saltee,North Saltee,Saltee Island Little	52.13333	-6.61667	T	ISL	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
+2961600	Great Saltee	Great Saltee	Great Saltee,Saltee Island Great,South Saltee	52.11667	-6.61667	T	ISL	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
+2961601	Lough Salt	Lough Salt		55.08278	-7.80611	H	LK	IE		U	06			0		340	Europe/Dublin	2010-08-14
+2961602	Salrock	Salrock		53.6	-9.85	P	PPL	IE		C	10			0		144	Europe/Dublin	1993-12-27
+2961603	Sallymount House	Sallymount House	Sallymount,Sallymount House	53.12222	-6.70972	S	EST	IE	IE	L	12			0		151	Europe/Dublin	2010-08-14
+2961604	Sally Gap	Sally Gap	Sally Gap,Sully Gap	53.13611	-6.31306	T	GAP	IE	IE	L	31			0		460	Europe/Dublin	2010-08-14
+2961605	Sallybrook Station	Sallybrook Station	Sallybrook,Sallybrook Station	54.95	-7.56667	S	RSTN	IE		U	06			0		86	Europe/Dublin	2010-08-10
+2961606	Sallybrook	Sallybrook	Sallybrook	51.935	-8.38639	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
+2961607	Sallins	Sallins	Na Sollain,Na Solláin,Sallins	53.24889	-6.66611	P	PPL	IE		L	12			3164		97	Europe/Dublin	2010-08-14
+2961608	Salisbury Lodge	Salisbury Lodge		53.65	-8	S	EST	IE		L	18			0		79	Europe/Dublin	1993-12-27
+2961609	Salia	Salia		53.95111	-9.94806	P	PPL	IE		C	20			0		26	Europe/Dublin	2010-08-14
+2961610	Saleen Harbour	Saleen Harbour	Saleen Bay,Saleen Harbour	54.18361	-10.03	H	HBR	IE	IE	C	20			0		-9999	Europe/Dublin	2010-08-14
+2961611	Saleen	Saleen		52.55861	-9.46444	P	PPL	IE		M	11			0		11	Europe/Dublin	2010-08-14
+2961612	Saleen	Saleen		51.86333	-8.16556	P	PPL	IE		M	04			0		74	Europe/Dublin	2010-08-14
+2961613	Saivnose River	Saivnose River		51.61278	-9.27	H	STM	IE		M	04			0		56	Europe/Dublin	2010-08-14
+2961614	Saint Thomas Island	Saint Thomas Island		52.69	-8.62	T	ISL	IE		M	03			0		2	Europe/Dublin	2010-08-14
+2961615	Saint Stephens Green Park	Saint Stephens Green Park		53.33784	-6.25813	L	PRK	IE		L	07			0		5	Europe/Dublin	2010-08-14
+2961616	Saints Island	Saints Island		54.61528	-7.88639	T	ISL	IE		U	06			0		152	Europe/Dublin	2010-08-14
+2961617	Patrickswell	Patrickswell	Patrickswell,Saint Patrickswell,Tobar Phadraig,Tobar Phádraig	52.59722	-8.70889	P	PPL	IE		M	16			0		55	Europe/Dublin	2010-08-14
+2961618	Saint Patricks Island	Saint Patricks Island		53.58833	-6.07389	T	ISL	IE		L	07			0		-9999	Europe/Dublin	2010-08-14
+2961619	Saint Mullins	Saint Mullins		52.49278	-6.92306	P	PPL	IE		L	01			0		45	Europe/Dublin	2010-08-14
+2961620	Saint Margarets House	Saint Margarets House		52.20083	-6.34472	S	BLDG	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
+2961621	Saint Macdaras Island	Saint Macdaras Island	Macdara,Saint Macdaras Island	53.305	-9.91889	T	ISL	IE	IE	C	10			0		-9999	Europe/Dublin	2010-08-14
+2961622	Saint Johnstown	Saint Johnstown	Baile Suingean,Saint Johnston,Saint Johnstown	54.93333	-7.45	P	PPL	IE		U	06			0		1	Europe/Dublin	2010-08-14
+2961623	Saint Johns Port	Saint Johns Port		54.33333	-8.6	P	PPL	IE		C	25			0		-9999	Europe/Dublin	1993-12-27
+2961624	Saint John’s Point	Saint John's Point		54.56667	-8.46667	T	PT	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
+2961625	Saint Johns Lough	Saint Johns Lough		54.04028	-7.86167	H	LK	IE		C	14			0		70	Europe/Dublin	2010-08-14
+2961626	Saint Johns House	Saint Johns House		52.48833	-6.56944	S	EST	IE		L	30			0		51	Europe/Dublin	2010-08-14
+2961627	Saint Finans Bay	Saint Finans Bay	Saint Finans Bay,Saint Finian Bay,Saint Finnans Bay	51.81667	-10.36667	H	BAY	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
+2961628	Saint Edmonds	Saint Edmonds		52.38333	-6.48333	S	EST	IE		L	30			0		1	Europe/Dublin	2010-08-14
+2961629	Saint Doolaghs	Saint Doolaghs		53.41639	-6.18056	P	PPL	IE		L	07			0		3	Europe/Dublin	2010-08-14
+2961630	Saint Clerans	Saint Clerans	Saint Clerans,Saint Clernans	53.22667	-8.65778	S	EST	IE	IE	C	10			0		51	Europe/Dublin	2010-08-14
+2961631	Saint Catherines	Saint Catherines	Saint Catharine's,Saint Catharine’s,Saint Catherines	52.86667	-8.6	P	PPL	IE		M	03			0		76	Europe/Dublin	2010-08-10
+2961632	Saint Brendans House	Saint Brendans House		53.53333	-8.4	S	EST	IE		C	10			0		69	Europe/Dublin	1993-12-27
+2961633	Saint Brendans	Saint Brendans	Saint Bredan's,Saint Bredan’s,Saint Brendans	53.23417	-8.06083	S	EST	IE	IE	C	10			0		61	Europe/Dublin	2010-08-14
+2961634	Saint Anns Wells	Saint Anns Wells		53.23333	-6.35	P	PPL	IE		00				0		300	Europe/Dublin	2007-05-30
+2961635	Saint Anns Hill	Saint Anns Hill	Saint Ann's,Saint Anne's Hill,Saint Anne’s Hill,Saint Anns Hill,Saint Ann’s	51.93333	-8.6	P	PPL	IE	IE	M	04			0		68	Europe/Dublin	2010-08-14
+2961636	Saggart	Saggart	Saggart,Teach Sagard	53.28028	-6.44444	P	PPL	IE	IE	L	07			0		150	Europe/Dublin	2010-11-04
+2961637	Safe Harbour	Safe Harbour		53.53333	-8	H	COVE	IE		C	24			0		62	Europe/Dublin	1993-12-27
+2961638	Saddle Hill	Saddle Hill		54.34861	-8.12917	T	MT	IE		C	14			0	379	310	Europe/Dublin	2010-08-14
+2961639	Saddle Head	Saddle Head	Gubroenacoragh,Saddle Head	54.01222	-10.18889	T	CAPE	IE	IE	C	20			0		45	Europe/Dublin	2010-08-14
+2961640	Ryves Castle	Ryves Castle		52.42306	-8.36611	S	EST	IE		M	16			0		121	Europe/Dublin	2010-08-14
+2961641	Ryndville	Ryndville		53.43667	-6.82306	S	EST	IE		L	21			0		86	Europe/Dublin	2010-08-14
+2961642	Rylane Cross	Rylane Cross	Rylane,Rylane Cross	51.98333	-8.83333	P	PPL	IE	IE	M	04			0		191	Europe/Dublin	2010-08-14
+2961643	Rye Water	Rye Water	An Ri,Rye Water	53.365	-6.49111	H	STM	IE	IE	00				0		47	Europe/Dublin	2010-08-10
+2961644	Ryehill	Ryehill		53.39889	-8.69222	S	EST	IE		C	10			0		76	Europe/Dublin	2010-08-14
+2961645	Ryefield	Ryefield		53.78806	-7.05861	P	PPL	IE		U	02			0		126	Europe/Dublin	2010-08-14
+2961646	Rutland Island	Rutland Island		54.97667	-8.45722	T	ISL	IE		U	06			0		1	Europe/Dublin	2010-08-14
+2961647	Russborough House	Russborough House	Russborough,Russborough House	53.14111	-6.56806	S	HSEC	IE	IE	L	31			0		181	Europe/Dublin	2010-08-14
+2961648	Rushin House	Rushin House		53.01778	-7.49528	S	EST	IE		L	15			0		129	Europe/Dublin	2010-08-14
+2961649	Slieve Rushen	Slieve Rushen	Slieve Rushen	54.15	-7.63333	T	MT	IE		U	02			0		309	Europe/Dublin	1998-02-13
+2961650	Rushbrooke	Rushbrooke	Rushbrooke	51.85	-8.31667	P	PPL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
+2961651	An Ros	An Ros	Rush	53.5223	-6.09308	P	PPL	IE		L	07			7294		1	Europe/Dublin	2010-08-14
+2961652	Runnamoat House	Runnamoat House	Runnamoat,Runnamoat House	53.68333	-8.31667	S	EST	IE		C	24			0		77	Europe/Dublin	2010-08-10
+2961653	Rue Point	Rue Point	Bankmore Point,Rue Point	54.43639	-8.64583	T	PT	IE	IE	C	25			0		-9999	Europe/Dublin	2010-08-14
+2961654	Ruan	Ruan		52.93056	-8.98972	P	PPL	IE		M	03			0		38	Europe/Dublin	2010-08-14
+2961655	Royaloak	Royaloak		52.7	-6.98667	P	PPL	IE		L	01			0		40	Europe/Dublin	2010-08-14
+2961656	Royal Canal	Royal Canal	An Chanail Rioga,Royal Canal	53.35	-6.23333	H	CNL	IE	IE	00				0		1	Europe/Dublin	2010-08-10
+2961657	Roy	Roy		54.08028	-9.94528	P	PPLL	IE		C	20			0		1	Europe/Dublin	2010-08-14
+2961658	Roxborough House	Roxborough House	Roxborough,Roxborough House	53.65	-8.18333	S	EST	IE		C	24			0		75	Europe/Dublin	2010-08-10
+2961659	Roxborough House	Roxborough House	Roxborough,Roxborough House	52.61306	-8.615	S	EST	IE	IE	M	16			0		56	Europe/Dublin	2010-08-14
+2961660	Roxborough	Roxborough		53.16694	-8.69528	S	EST	IE		C	10			0		76	Europe/Dublin	2010-08-14
+2961661	Rowls Aldworth	Rowls Aldworth		52.3	-9.01667	S	BLDG	IE		M	04	

<TRUNCATED>

[74/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/world-cities-points.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/world-cities-points.txt b/lucene/spatial-extras/src/test-files/data/world-cities-points.txt
new file mode 100644
index 0000000..01a6bcc
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/world-cities-points.txt
@@ -0,0 +1,2680 @@
+#id	name	shape
+G292223	Dubai	POINT(55.280000 25.252220)
+G292672	Sharjah	POINT(55.391110 25.362220)
+G292913	Al ‘Ayn	POINT(55.760560 24.191670)
+G292932	`Ajmān	POINT(55.435040 25.411110)
+G292968	Abu Dhabi	POINT(54.366670 24.466670)
+G1133616	Mazār-e Sharīf	POINT(67.110870 36.709040)
+G1135689	Kunduz	POINT(68.857000 36.728960)
+G1138336	Kandahār	POINT(65.710130 31.613320)
+G1138958	Kabul	POINT(69.172330 34.528130)
+G1139715	Jalālābād	POINT(70.451530 34.426470)
+G1140026	Herāt	POINT(62.199670 34.348170)
+G3183875	Tirana	POINT(19.818890 41.327500)
+G616052	Yerevan	POINT(44.513610 40.181110)
+G2240449	Luanda	POINT(13.234440 -8.838330)
+G3347939	Lobito	POINT(13.545560 -12.348060)
+G3348313	Huambo	POINT(15.739170 -12.776110)
+G3351663	Benguela	POINT(13.407220 -12.578330)
+G3429577	Resistencia	POINT(-58.983330 -27.450000)
+G3429652	Quilmes	POINT(-58.269440 -34.720280)
+G3429886	Posadas	POINT(-55.883330 -27.383330)
+G3430863	Mar del Plata	POINT(-57.550000 -38.000000)
+G3432043	La Plata	POINT(-57.948890 -34.931390)
+G3433899	Formosa	POINT(-58.183330 -26.183330)
+G3435217	Corrientes	POINT(-58.833330 -27.466670)
+G3435910	Buenos Aires	POINT(-58.377230 -34.613150)
+G3835869	Santiago del Estero	POINT(-64.266670 -27.783330)
+G3836277	Santa Fe de la Vera Cruz	POINT(-60.700000 -31.633330)
+G3836564	San Salvador de Jujuy	POINT(-65.300000 -24.183330)
+G3836873	San Miguel de Tucumán	POINT(-65.216670 -26.816670)
+G3837056	San Luis	POINT(-66.350000 -33.300000)
+G3837213	San Juan	POINT(-68.536390 -31.537500)
+G3837702	San Fernando del Valle de Catamarca	POINT(-65.783330 -28.466670)
+G3838233	Salta	POINT(-65.416670 -24.783330)
+G3838583	Rosario	POINT(-60.666390 -32.951110)
+G3838874	Río Cuarto	POINT(-64.350000 -33.133330)
+G3841956	Paraná	POINT(-60.533330 -31.733330)
+G3843123	Neuquén	POINT(-68.066670 -38.950000)
+G3844421	Mendoza	POINT(-68.816670 -32.883330)
+G3848950	La Rioja	POINT(-66.850000 -29.433330)
+G3860259	Córdoba	POINT(-64.183330 -31.400000)
+G3865086	Bahía Blanca	POINT(-62.283330 -38.716670)
+G2761369	Vienna	POINT(16.372080 48.208490)
+G2766824	Salzburg	POINT(13.043990 47.799410)
+G2772400	Linz	POINT(14.286110 48.306390)
+G2778067	Graz	POINT(15.450000 47.066670)
+G7279909	Linz-Wels-Steyr	POINT(14.183690 48.154580)
+G2063523	Perth	POINT(115.833330 -31.933330)
+G2078025	Adelaide	POINT(138.600000 -34.933330)
+G2147714	Sydney	POINT(151.207320 -33.867850)
+G2155472	Newcastle	POINT(151.776470 -32.927150)
+G2158177	Melbourne	POINT(144.963320 -37.814000)
+G2165087	Gold Coast	POINT(153.433330 -28.000000)
+G2165796	Geelong West	POINT(144.350000 -38.133330)
+G2165798	Geelong	POINT(144.360690 -38.147110)
+G2171507	Wollongong	POINT(150.883330 -34.433330)
+G2172517	Canberra	POINT(149.128070 -35.283460)
+G2172797	Cairns	POINT(145.766670 -16.916670)
+G2174003	Brisbane	POINT(153.028090 -27.467940)
+G7280463	North Shore	POINT(152.901850 -31.402370)
+G7281838	Logan City	POINT(153.109440 -27.639170)
+G584923	Sumqayıt	POINT(49.668610 40.589720)
+G586523	Kirowabad	POINT(46.360560 40.682780)
+G587084	Baku	POINT(49.892010 40.377670)
+G3186573	Zenica	POINT(17.906390 44.201390)
+G3191281	Sarajevo	POINT(18.356440 43.848640)
+G3204541	Banja Luka	POINT(17.185560 44.775830)
+G1185098	Tungi	POINT(90.405830 23.890000)
+G1185099	Sylhet	POINT(91.871670 24.896670)
+G1185106	Jamālpur	POINT(89.933330 24.916670)
+G1185117	Narsingdi	POINT(90.718060 23.920830)
+G1185128	Rājshāhi	POINT(88.600000 24.366670)
+G1185155	Nārāyanganj	POINT(90.501110 23.623330)
+G1185162	Mymensingh	POINT(90.400000 24.750000)
+G1185186	Comilla	POINT(91.204440 23.457780)
+G1185188	Rangpur	POINT(89.250000 25.750000)
+G1185241	Dhaka	POINT(90.407440 23.710400)
+G1192366	Pār Naogaon	POINT(88.950840 24.802870)
+G1203891	Dinājpur	POINT(88.638640 25.627150)
+G1205733	Chittagong	POINT(91.836390 22.333060)
+G1336134	Cox’s Bāzār	POINT(91.979770 21.453240)
+G1336135	Khulna	POINT(89.567230 22.813480)
+G1336137	Barisāl	POINT(90.371110 22.701940)
+G1336140	Jessore	POINT(89.213150 23.168690)
+G1336144	Tāngāil	POINT(89.916670 24.250000)
+G1337233	Bogra	POINT(89.366670 24.850000)
+G6545349	Saidpur	POINT(88.891690 25.777690)
+G2792413	Liège	POINT(5.567490 50.633730)
+G2797656	Gent	POINT(3.716670 51.050000)
+G2800481	Charleroi	POINT(4.452480 50.409470)
+G2800866	Brussels	POINT(4.348780 50.850450)
+G2803138	Antwerpen	POINT(4.403460 51.219890)
+G2357048	Ouagadougou	POINT(-1.538340 12.364230)
+G2362344	Bobo-Dioulasso	POINT(-4.297900 11.177150)
+G726050	Varna	POINT(27.916670 43.216670)
+G727011	Sofia	POINT(23.324150 42.697510)
+G727523	Ruse	POINT(25.970830 43.856390)
+G728193	Plovdiv	POINT(24.750000 42.150000)
+G732770	Burgas	POINT(27.467810 42.506060)
+G425378	Bujumbura	POINT(29.364400 -3.382200)
+G2392087	Porto-Novo	POINT(2.603590 6.496460)
+G2392204	Parakou	POINT(2.616670 9.350000)
+G2394560	Djougou	POINT(1.666940 9.705000)
+G2394819	Cotonou	POINT(2.433330 6.350000)
+G2395914	Abomey-Calavi	POINT(2.350000 6.450000)
+G3903320	Tarija	POINT(-64.729560 -21.535490)
+G3903987	Sucre	POINT(-65.262740 -19.033320)
+G3904906	Santa Cruz de la Sierra	POINT(-63.166670 -17.800000)
+G3909234	Oruro	POINT(-67.150000 -17.983330)
+G3911925	La Paz	POINT(-68.150000 -16.500000)
+G3919968	Cochabamba	POINT(-66.156800 -17.389500)
+G3386496	Teresina	POINT(-42.801940 -5.089170)
+G3387296	Sobral	POINT(-40.349720 -3.686110)
+G3388368	São Luís	POINT(-44.302780 -2.529720)
+G3389353	Santarém	POINT(-54.708330 -2.443060)
+G3390760	Recife	POINT(-34.881110 -8.053890)
+G3392242	Petrolina	POINT(-40.500830 -9.398610)
+G3392740	Paulista	POINT(-34.873060 -7.940830)
+G3392998	Parnamirim	POINT(-35.262780 -5.915560)
+G3393536	Olinda	POINT(-34.855280 -8.008890)
+G3394023	Natal	POINT(-35.209440 -5.795000)
+G3394682	Mossoró	POINT(-37.344170 -5.187500)
+G3395473	Maracanaú	POINT(-38.625560 -3.876670)
+G3395981	Maceió	POINT(-35.735280 -9.665830)
+G3396016	Macapá	POINT(-51.066390 0.038890)
+G3397147	Juazeiro do Norte	POINT(-39.315280 -7.213060)
+G3397277	João Pessoa	POINT(-34.863060 -7.115000)
+G3397838	Jaboatão	POINT(-35.001390 -8.180280)
+G3398269	Imperatriz	POINT(-47.491670 -5.526390)
+G3399415	Fortaleza	POINT(-38.543060 -3.717220)
+G3402429	Caucaia	POINT(-38.653060 -3.736110)
+G3402655	Caruaru	POINT(-35.976110 -8.283330)
+G3403642	Campina Grande	POINT(-35.881110 -7.230560)
+G3405870	Belém	POINT(-48.504440 -1.455830)
+G3407327	Arapiraca	POINT(-36.661110 -9.752500)
+G3407669	Ananindeua	POINT(-48.372220 -1.365560)
+G3444876	Volta Redonda	POINT(-44.104170 -22.523060)
+G3444914	Vitória da Conquista	POINT(-40.839440 -14.866110)
+G3444924	Vitória	POINT(-40.337780 -20.319440)
+G3445026	Vila Velha	POINT(-40.292500 -20.329720)
+G3445156	Viamão	POINT(-51.023330 -30.081110)
+G3445451	Várzea Grande	POINT(-56.132500 -15.646670)
+G3445831	Uberlândia	POINT(-48.277220 -18.918610)
+G3445839	Uberaba	POINT(-47.931940 -19.748330)
+G3446682	Taubaté	POINT(-45.555280 -23.026390)
+G3447186	Taboão da Serra	POINT(-46.791670 -23.626110)
+G3447212	Suzano	POINT(-46.310830 -23.542500)
+G3447259	Sumaré	POINT(-47.266940 -22.821940)
+G3447399	Sorocaba	POINT(-47.458060 -23.501670)
+G3447624	Sete Lagoas	POINT(-44.246670 -19.465830)
+G3447779	Serra	POINT(-40.307780 -20.128610)
+G3448136	São Vicente	POINT(-46.391940 -23.963060)
+G3448439	São Paulo	POINT(-46.636110 -23.547500)
+G3448622	São Leopoldo	POINT(-51.147220 -29.760280)
+G3448636	São José dos Campos	POINT(-45.886940 -23.179440)
+G3448639	São José do Rio Preto	POINT(-49.379440 -20.819720)
+G3448742	São José	POINT(-49.166670 -28.233330)
+G3448877	São João de Meriti	POINT(-43.372220 -22.803890)
+G3449319	São Carlos	POINT(-47.890830 -22.017500)
+G3449344	São Bernardo do Campo	POINT(-46.565000 -23.693890)
+G3449433	Santos	POINT(-46.333610 -23.960830)
+G3449701	Santo André	POINT(-46.538330 -23.663890)
+G3450083	Santa Maria	POINT(-53.806940 -29.684170)
+G3450144	Santa Luzia	POINT(-43.851390 -19.769720)
+G3450404	Santa Bárbara d'Oeste	POINT(-47.413610 -22.753610)
+G3450554	Salvador	POINT(-38.510830 -12.971110)
+G3450909	Rondonópolis	POINT(-54.635560 -16.470830)
+G3451138	Rio Grande	POINT(-52.098610 -32.035000)
+G3451190	Rio de Janeiro	POINT(-43.207500 -22.902780)
+G3451234	Rio Claro	POINT(-47.561390 -22.411390)
+G3451328	Ribeirão Preto	POINT(-47.810280 -21.177500)
+G3451353	Ribeirão das Neves	POINT(-44.086670 -19.766940)
+G3452324	Presidente Prudente	POINT(-51.388890 -22.125560)
+G3452465	Praia Grande	POINT(-46.402780 -24.005830)
+G3452925	Porto Alegre	POINT(-51.230000 -30.033060)
+G3453186	Ponta Grossa	POINT(-50.161940 -25.095000)
+G3453643	Piracicaba	POINT(-47.649170 -22.725280)
+G3454031	Petrópolis	POINT(-43.178610 -22.505000)
+G3454244	Pelotas	POINT(-52.342500 -31.771940)
+G3454857	Passo Fundo	POINT(-52.406670 -28.262780)
+G3455775	Osasco	POINT(-46.791670 -23.532500)
+G3456068	Novo Hamburgo	POINT(-51.130560 -29.678330)
+G3456160	Nova Iguaçu	POINT(-43.451110 -22.759170)
+G3456166	Nova Friburgo	POINT(-42.531110 -22.281940)
+G3456223	Nossa Senhora do Socorro	POINT(-37.126110 -10.855000)
+G3456283	Niterói	POINT(-43.103610 -22.883330)
+G3456814	Montes Claros	POINT(-43.861670 -16.735000)
+G3457001	Mogi das Cruzes	POINT(-46.188330 -23.522780)
+G3457381	Mauá	POINT(-46.461390 -23.667780)
+G3457671	Maringá	POINT(-51.938610 -23.425280)
+G3457692	Marília	POINT(-49.945830 -22.213890)
+G3458449	Londrina	POINT(-51.162780 -23.310280)
+G3458575	Limeira	POINT(-47.401670 -22.564720)
+G3458930	Lages	POINT(-50.326110 -27.816110)
+G3459462	Jundiaí	POINT(-46.884170 -23.186390)
+G3459505	Juiz de Fora	POINT(-43.350280 -21.764170)
+G3459712	Joinville	POINT(-48.845560 -26.304440)
+G3460370	Jacareí	POINT(-45.965830 -23.305280)
+G3460644	Itaquaquecetuba	POINT(-46.348330 -23.486110)
+G3460718	Itapevi	POINT(-46.934170 -23.548890)
+G3460748	Itapecerica da Serra	POINT(-46.849170 -23.716940)
+G3460845	Itajaí	POINT(-48.661940 -26.907780)
+G3460949	Itabuna	POINT(-39.280280 -14.785560)
+G3460950	Itaboraí	POINT(-42.859440 -22.744440)
+G3461144	Ipatinga	POINT(-42.536670 -19.468330)
+G3461311	Indaiatuba	POINT(-47.218060 -23.090280)
+G3461408	Ilhéus	POINT(-39.049440 -14.788890)
+G3461655	Hortolândia	POINT(-47.220000 -22.858330)
+G3461786	Guarulhos	POINT(-46.533330 -23.462780)
+G3461789	Guarujá	POINT(-46.256390 -23.993060)
+G3461879	Guarapuava	POINT(-51.458060 -25.395280)
+G3462089	Gravataí	POINT(-50.991940 -29.944440)
+G3462315	Governador Valadares	POINT(-41.949440 -18.851110)
+G3462377	Goiânia	POINT(-49.253890 -16.678610)
+G3462980	Francisco Morato	POINT(-46.745280 -23.281670)
+G3463011	Franca	POINT(-47.400830 -20.538610)
+G3463030	Foz do Iguaçu	POINT(-54.588060 -25.547780)
+G3463237	Florianópolis	POINT(-48.549170 -27.596670)
+G3463422	Ferraz de Vasconcelos	POINT(-46.368610 -23.540830)
+G3463478	Feira de Santana	POINT(-38.966670 -12.266670)
+G3464305	Embu	POINT(-46.852220 -23.648890)
+G3464374	Duque de Caxias	POINT(-43.311670 -22.785560)
+G3464460	Dourados	POINT(-54.805560 -22.221110)
+G3464688	Divinópolis	POINT(-44.883890 -20.138890)
+G3464739	Diadema	POINT(-46.622780 -23.686110)
+G3464975	Curitiba	POINT(-49.273060 -25.427780)
+G3465038	Cuiabá	POINT(-56.096670 -15.596110)
+G3465196	Criciúma	POINT(-49.369720 -28.677500)
+G3465284	Cotia	POINT(-46.919170 -23.603890)
+G3465624	Contagem	POINT(-44.053610 -19.931670)
+G3465927	Colombo	POINT(-49.224170 -25.291670)
+G3466296	Chapecó	POINT(-52.618330 -27.096390)
+G3466537	Caxias do Sul	POINT(-51.179440 -29.168060)
+G3466779	Cascavel	POINT(-53.455280 -24.955830)
+G3466998	Carapicuíba	POINT(-46.835560 -23.522500)
+G3467467	Canoas	POINT(-51.183610 -29.917780)
+G3467693	Campos	POINT(-41.300000 -21.750000)
+G3467747	Campo Grande	POINT(-54.646390 -20.442780)
+G3467865	Campinas	POINT(-47.060830 -22.905560)
+G3468031	Camaçari	POINT(-38.324170 -12.697500)
+G3468376	Cachoeiro de Itapemirim	POINT(-41.112780 -20.848890)
+G3469058	Brasília	POINT(-47.929720 -15.779720)
+G3469968	Blumenau	POINT(-49.066110 -26.919440)
+G3470044	Betim	POINT(-44.198330 -19.967780)
+G3470127	Belo Horizonte	POINT(-43.937780 -19.920830)
+G3470142	Belford Roxo	POINT(-43.399440 -22.764170)
+G3470279	Bauru	POINT(-49.060560 -22.314720)
+G3470353	Barueri	POINT(-46.876110 -23.510560)
+G3470583	Barreiras	POINT(-44.990000 -12.152780)
+G3470636	Barra Mansa	POINT(-44.171390 -22.544170)
+G3471766	Araraquara	POINT(-48.175560 -21.794440)
+G3471859	Araçatuba	POINT(-50.432780 -21.208890)
+G3471872	Aracaju	POINT(-37.071670 -10.911110)
+G3472177	Angra dos Reis	POINT(-44.318060 -23.006670)
+G3472287	Anápolis	POINT(-48.952780 -16.326670)
+G3472343	Americana	POINT(-47.331390 -22.739170)
+G3474574	Palmas	POINT(-48.360280 -10.212780)
+G3662574	Rio Branco	POINT(-67.810000 -9.974720)
+G3662762	Porto Velho	POINT(-63.903890 -8.761940)
+G3663517	Manaus	POINT(-60.025000 -3.101940)
+G3664980	Boa Vista	POINT(-60.673330 2.819720)
+G6316406	Aparecida de Goiânia	POINT(-49.243890 -16.823330)
+G6317344	Jaboatão dos Guararapes	POINT(-35.014720 -8.112780)
+G3571824	Nassau	POINT(-77.343060 25.058230)
+G933773	Gaborone	POINT(25.908590 -24.654510)
+G620127	Vitsyebsk	POINT(30.194440 55.192500)
+G625144	Minsk	POINT(27.566670 53.900000)
+G625665	Mahilyow	POINT(30.336390 53.913890)
+G627904	Hrodna	POINT(23.814720 53.681390)
+G627907	Homyel’	POINT(30.983330 52.441670)
+G629634	Brest	POINT(23.700000 52.100000)
+G630429	Baranavichy	POINT(26.033330 53.133330)
+G630468	Babruysk	POINT(29.233330 53.150000)
+G5881791	Abbotsford	POINT(-122.252570 49.057980)
+G5894171	Barrie	POINT(-79.666340 44.400110)
+G5907364	Brampton	POINT(-79.766330 43.683410)
+G5911592	Burlington	POINT(-79.837130 43.386210)
+G5911606	Burnaby	POINT(-122.952630 49.266360)
+G5913490	Calgary	POINT(-114.085290 51.050110)
+G5946768	Edmonton	POINT(-113.468710 53.550140)
+G5959974	Gatineau	POINT(-75.701640 45.477230)
+G5964700	Greater Sudbury	POINT(-80.990010 46.490000)
+G5969785	Hamilton	POINT(-79.949640 43.233410)
+G5992996	Kitchener	POINT(-80.482990 43.450100)
+G6050610	Laval	POINT(-73.692000 45.569950)
+G6058560	London	POINT(-81.233040 42.983390)
+G6059891	Longueuil	POINT(-73.518060 45.531210)
+G6075357	Mississauga	POINT(-79.658300 43.578900)
+G6077243	Montréal	POINT(-73.587810 45.508840)
+G6091104	North York	POINT(-79.416300 43.766810)
+G6094578	Oshawa	POINT(-78.849570 43.900120)
+G6094817	Ottawa	POINT(-75.698120 45.411170)
+G6119109	Regina	POINT(-104.617800 50.450080)
+G6122085	Richmond	POINT(-123.136830 49.170030)
+G6141256	Saskatoon	POINT(-106.634520 52.116790)
+G6159905	Surrey	POINT(-122.825090 49.106350)
+G6167865	Toronto	POINT(-79.416300 43.700110)
+G6173331	Vancouver	POINT(-123.119340 49.249660)
+G6173577	Vaughan	POINT(-79.532910 43.833410)
+G6174041	Victoria	POINT(-123.369300 48.432940)
+G6182962	Windsor	POINT(-83.016540 42.300080)
+G6183235	Winnipeg	POINT(-97.147040 49.884400)
+G6324729	Halifax	POINT(-63.572390 44.645330)
+G6325494	Québec	POINT(-71.214540 46.812280)
+G7602078	Ladner	POINT(-123.082410 49.089380)
+G204405	Uvira	POINT(29.145830 -3.406670)
+G204953	Tshikapa	POINT(20.800000 -6.416670)
+G207570	Mwene-Ditu	POINT(23.450000 -7.000000)
+G209228	Mbuji-Mayi	POINT(23.600000 -6.150000)
+G212730	Kisangani	POINT(25.200000 0.516670)
+G214481	Kananga	POINT(22.417780 -5.895830)
+G216449	Gandajika	POINT(23.950000 -6.750000)
+G217562	Butembo	POINT(29.283330 0.150000)
+G217831	Bukavu	POINT(28.860830 -2.508330)
+G922704	Lubumbashi	POINT(27.466670 -11.666670)
+G922741	Likasi	POINT(26.733330 -10.981390)
+G922773	Kolwezi	POINT(25.472500 -10.716670)
+G2312895	Mbandaka	POINT(18.266670 0.066670)
+G2313002	Matadi	POINT(13.450000 -5.816670)
+G2314302	Kinshasa	POINT(15.321460 -4.324590)
+G2314705	Kikwit	POINT(18.818060 -5.038610)
+G2593460	Masina	POINT(15.391390 -4.383610)
+G2389853	Bangui	POINT(18.554960 4.361220)
+G2255414	Pointe-Noire	POINT(11.846110 -4.794720)
+G2260535	Brazzaville	POINT(15.283270 -4.266900)
+G2657896	Zürich	POINT(8.550000 47.366670)
+G2660646	Genève	POINT(6.145690 46.202220)
+G2661604	Basel	POINT(7.600000 47.566670)
+G2279755	Yamoussoukro	POINT(-5.283330 6.816670)
+G2282006	San-Pédro	POINT(-6.616670 4.733330)
+G2286304	Korhogo	POINT(-5.633330 9.450000)
+G2290486	Daloa	POINT(-6.451940 6.874720)
+G2290956	Bouaké	POINT(-5.033060 7.683330)
+G2293521	Abobo	POINT(-4.020560 5.418890)
+G2293538	Abidjan	POINT(-4.028060 5.341110)
+G3868121	Viña del Mar	POINT(-71.551830 -33.024570)
+G3868626	Valparaíso	POINT(-71.627250 -33.039320)
+G3870011	Temuco	POINT(-72.600000 -38.733330)
+G3870282	Talcahuano	POINT(-73.116670 -36.716670)
+G3870294	Talca	POINT(-71.666670 -35.433330)
+G3871336	Santiago	POINT(-70.566560 -33.426280)
+G3872348	San Bernardo	POINT(-70.716670 -33.600000)
+G3873775	Rancagua	POINT(-70.744440 -34.170830)
+G3874960	Puerto Montt	POINT(-72.936940 -41.471670)
+G3875024	Puente Alto	POINT(-70.583330 -33.616670)
+G3884373	La Serena	POINT(-71.254170 -29.907780)
+G3887127	Iquique	POINT(-70.143060 -20.220830)
+G3893629	Coquimbo	POINT(-71.343610 -29.953330)
+G3893894	Concepción	POINT(-73.049770 -36.826990)
+G3895088	Chillán	POINT(-72.103440 -36.606640)
+G3899361	Arica	POINT(-70.304170 -18.475000)
+G3899539	Antofagasta	POINT(-70.400000 -23.650000)
+G7281017	La Pintana	POINT(-70.634190 -33.583310)
+G2220957	Yaoundé	POINT(11.516670 3.866670)
+G2224827	Ngaoundéré	POINT(13.583330 7.316670)
+G2226275	Mokolo	POINT(13.801880 10.739780)
+G2228373	Maroua	POINT(14.315920 10.590950)
+G2229152	Loum	POINT(9.735100 4.718200)
+G2229798	Kousséri	POINT(15.030630 12.076890)
+G2231320	Garoua	POINT(13.400000 9.300000)
+G2232239	Edéa	POINT(10.133330 3.800000)
+G2232593	Douala	POINT(9.708400 4.046900)
+G2234359	Bertoua	POINT(13.683330 4.583330)
+G2234974	Bamenda	POINT(10.158240 5.952660)
+G2235189	Bafoussam	POINT(10.417860 5.473660)
+G1280849	Kashi	POINT(75.979720 39.454720)
+G1529102	Urunchi	POINT(87.583330 43.800000)
+G1529114	Turpan	POINT(89.166670 42.933330)
+G1529195	Shihezi	POINT(86.033330 44.300000)
+G1529376	Korla	POINT(86.146940 41.759720)
+G1529569	Changji	POINT(87.316670 44.016670)
+G1529641	Aral	POINT(81.263610 40.515560)
+G1529660	Aksu	POINT(80.264440 41.123060)
+G1783621	Zunyi	POINT(106.907220 27.686670)
+G1783633	Zoucheng	POINT(116.965560 35.400560)
+G1783745	Zigong	POINT(104.776890 29.341620)
+G1783763	Zhuzhou	POINT(113.150000 27.833330)
+G1783873	Zhumadian	POINT(114.029440 32.979440)
+G1783934	Shangqiu	POINT(115.650000 34.450000)
+G1784130	Zhoukou	POINT(114.633330 33.633330)
+G1784554	Zhicheng	POINT(111.504720 30.295560)
+G1784580	Yizheng	POINT(119.178890 32.269170)
+G1784642	Zhenjiang	POINT(119.434170 32.209170)
+G1784658	Zhengzhou	POINT(113.648610 34.757780)
+G1784853	Zhaoqing	POINT(112.459720 23.051160)
+G1784990	Zhanjiang	POINT(110.342710 21.281450)
+G1785018	Zhangzhou	POINT(117.655560 24.513330)
+G1785286	Zibo	POINT(118.063330 36.790560)
+G1785294	Anyang	POINT(114.328890 36.099440)
+G1785453	Zaozhuang	POINT(117.554170 34.864720)
+G1785462	Zaoyang	POINT(112.754170 32.127220)
+G1785725	Yunfu	POINT(112.037300 22.930560)
+G1785738	Yuncheng	POINT(110.992780 35.023060)
+G1785974	Yuci	POINT(112.731940 37.680280)
+G1786067	Yuanlin	POINT(112.885950 30.415130)
+G1786640	Yingcheng	POINT(113.550000 30.950000)
+G1786657	Yinchuan	POINT(106.273060 38.468060)
+G1786746	Yichun	POINT(114.400000 27.833330)
+G1786764	Yichang	POINT(111.284720 30.714440)
+G1786770	Yibin	POINT(104.623830 28.766670)
+G1787093	Yantai	POINT(121.400000 37.533330)
+G1787227	Yangzhou	POINT(119.435830 32.397220)
+G1787323	Yangshuo	POINT(110.489670 24.780810)
+G1787351	Yangquan	POINT(113.563330 37.857500)
+G1787746	Yancheng	POINT(120.125280 33.385560)
+G1787824	Tongshan	POINT(117.157070 34.180450)
+G1787858	Xuri	POINT(117.966670 28.466670)
+G1788046	Xuchang	POINT(113.816670 34.016670)
+G1788450	Xinzhou	POINT(112.733330 38.409170)
+G1788534	Xinyang	POINT(114.065560 32.122780)
+G1788572	Xinxiang	POINT(113.867220 35.308890)
+G1788618	Xintai	POINT(117.751940 35.900560)
+G1788694	Xinpu	POINT(119.159440 34.599720)
+G1788852	Xining	POINT(101.766670 36.616670)
+G1788927	Xingtai	POINT(114.494170 37.063060)
+G1789137	Xindi	POINT(113.466670 29.816670)
+G1789273	Sanshui	POINT(112.891610 23.154860)
+G1790254	Xiaogan	POINT(113.900000 30.916670)
+G1790353	Xianyang	POINT(108.702610 34.337780)
+G1790371	Xiantao	POINT(113.400000 30.383330)
+G1790396	Xianning	POINT(114.216670 29.883330)
+G1790437	Zhuhai	POINT(113.567780 22.276940)
+G1790492	Xiangtan	POINT(112.900000 27.850000)
+G1790587	Xiangfan	POINT(112.145000 32.041670)
+G1790630	Xi’an	POINT(108.928610 34.258330)
+G1790645	Xiamen	POINT(118.081870 24.479790)
+G1790840	Wuzhou	POINT(111.316670 23.483330)
+G1790894	Wuxue	POINT(115.552500 29.850580)
+G1790923	Wuxi	POINT(120.288570 31.568870)
+G1791121	Changde	POINT(111.678060 29.032220)
+G1791236	Wuhu	POINT(118.375480 31.336570)
+G1791247	Wuhan	POINT(114.266670 30.583330)
+G1791249	Wuhai	POINT(106.812220 39.664720)
+G1791388	Wenzhou	POINT(120.666820 27.999420)
+G1791636	Weinan	POINT(109.508910 34.503550)
+G1791673	Weihai	POINT(122.113610 37.501670)
+G1791681	Weifang	POINT(119.101940 36.710000)
+G1791748	Wanxian	POINT(108.389720 30.803890)
+G1792260	Wafangdian	POINT(122.008060 39.618330)
+G1792520	Tongzhou	POINT(116.599440 39.905280)
+G1792621	Wusong	POINT(117.783330 30.950000)
+G1792947	Tianjin	POINT(117.176670 39.142220)
+G1793346	Tangshan	POINT(118.183330 39.633330)
+G1793424	Tanggu	POINT(117.646940 39.021110)
+G1793505	Taizhou	POINT(119.910630 32.493330)
+G1793511	Taiyuan	POINT(112.560280 37.869440)
+G1793724	Tai’an	POINT(117.120000 36.185280)
+G1793743	Suzhou	POINT(116.978890 33.636110)
+G1793879	Suizhou	POINT(113.363060 31.711110)
+G1794903	Shiyan	POINT(110.778060 32.647500)
+G1794904	Shiyan	POINT(110.783330 32.566670)
+G1795060	Shiqi	POINT(113.385210 22.516820)
+G1795196	Tongchuan	POINT(109.089720 35.080560)
+G1795270	Shijiazhuang	POINT(114.478610 38.041390)
+G1795565	Shenzhen	POINT(114.068300 22.545540)
+G1795816	Shashi	POINT(112.244720 30.307220)
+G1795855	Shaoxing	POINT(120.581110 30.001670)
+G1795874	Shaoguan	POINT(113.583330 24.800000)
+G1795928	Shanwei	POINT(115.347500 22.781990)
+G1795940	Shantou	POINT(116.714790 23.368140)
+G1796236	Shanghai	POINT(121.458060 31.222220)
+G1796663	Sanming	POINT(117.618610 26.248610)
+G1797121	Jieyang	POINT(116.364160 23.528860)
+G1797132	Rizhao	POINT(119.455280 35.427500)
+G1797353	Quanzhou	POINT(118.585830 24.913890)
+G1797595	Qinhuangdao	POINT(119.588330 39.931670)
+G1797873	Huaiyin	POINT(119.019170 33.588610)
+G1797929	Qingdao	POINT(120.371940 36.098610)
+G1797945	Qingyuan	POINT(113.033330 23.700000)
+G1798422	Puyang	POINT(115.005280 35.702780)
+G1798425	Puyang	POINT(119.886110 29.460280)
+G1798449	Putian	POINT(119.010280 25.439440)
+G1798654	Pingxiang	POINT(113.850000 27.616670)
+G1798827	Pingdingshan	POINT(113.301190 33.738470)
+G1798998	Dadukou	POINT(101.705390 26.547900)
+G1799397	Ningbo	POINT(121.549450 29.878190)
+G1799491	Neijiang	POINT(105.062160 29.583540)
+G1799629	Nanyang	POINT(112.532780 32.994720)
+G1799722	Nantong	POINT(120.874720 32.030280)
+G1799846	Nanping	POINT(118.173610 26.645000)
+G1799869	Nanning	POINT(108.316670 22.816670)
+G1799962	Nanjing	POINT(118.777780 32.061670)
+G1800146	Nanchong	POINT(106.084740 30.795080)
+G1800163	Nanchang	POINT(115.883330 28.683330)
+G1800627	Mianyang	POINT(104.754240 31.459340)
+G1800657	Mentougou	POINT(116.091670 39.939170)
+G1801757	Luqiao	POINT(121.377150 28.580840)
+G1801792	Luoyang	POINT(112.453610 34.683610)
+G1801934	Luohe	POINT(114.035280 33.571670)
+G1802204	Luancheng	POINT(114.651670 37.879170)
+G1802238	Loudi	POINT(111.994440 27.734440)
+G1802875	Liuyang	POINT(113.633330 28.150000)
+G1803318	Linyi	POINT(118.342780 35.063060)
+G1803331	Linxia	POINT(103.206390 35.600280)
+G1803422	Linhai	POINT(121.116670 28.850000)
+G1803567	Linfen	POINT(111.518890 36.088890)
+G1803791	Licheng	POINT(113.828360 23.295540)
+G1803834	Liaocheng	POINT(115.964720 36.443890)
+G1804153	Leshan	POINT(103.763860 29.562280)
+G1804386	Laohekou	POINT(111.667780 32.385830)
+G1804430	Lanzhou	POINT(103.792220 36.056390)
+G1804540	Langfang	POINT(116.694720 39.509720)
+G1804586	Laiyang	POINT(120.713610 36.975830)
+G1804651	Kunming	POINT(102.718330 25.038890)
+G1804850	Kaiyuan	POINT(103.303720 23.697670)
+G1804879	Kaifeng	POINT(114.348330 34.791110)
+G1805179	Jiujiang	POINT(115.983330 29.733330)
+G1805298	Jinzhou	POINT(121.716670 39.100000)
+G1805518	Jining	POINT(116.581390 35.405000)
+G1805540	Jingzhou	POINT(112.190280 30.350280)
+G1805611	Jingmen	POINT(112.204720 31.033610)
+G1805618	Jingling	POINT(113.100000 30.650000)
+G1805680	Jingdezhen	POINT(117.207890 29.294700)
+G1805741	Jincheng	POINT(112.832780 35.502220)
+G1805753	Jinan	POINT(116.997220 36.668330)
+G1805953	Jiaxing	POINT(120.748330 30.765560)
+G1805987	Jiaozuo	POINT(113.233060 35.239720)
+G1806096	Jiaozhou	POINT(120.003330 36.283890)
+G1806299	Jiangmen	POINT(113.083330 22.583330)
+G1806408	Yangjiang	POINT(111.966670 21.850000)
+G1806445	Ji’an	POINT(114.979270 27.117160)
+G1806466	Guangyuan	POINT(105.823000 32.442020)
+G1806535	Huzhou	POINT(120.096390 30.866110)
+G1806696	Humen	POINT(113.673060 22.818980)
+G1806776	Huizhou	POINT(114.400000 23.083330)
+G1806882	Xinhui	POINT(113.048200 22.456000)
+G1807143	Huangyan	POINT(121.259440 28.647780)
+G1807234	Huangshi	POINT(115.100000 30.216670)
+G1807508	Huanggang	POINT(116.999610 23.677040)
+G1807681	Huainan	POINT(116.996940 32.626390)
+G1807700	Huaibei	POINT(116.791670 33.974440)
+G1808198	Heze	POINT(115.441110 35.243060)
+G1808316	Yiyang	POINT(112.328330 28.589170)
+G1808370	Hengyang	POINT(112.615000 26.888060)
+G1808392	Hengshui	POINT(115.701110 37.732220)
+G1808722	Hefei	POINT(117.280830 31.863890)
+G1808770	Hebi	POINT(114.192500 35.899170)
+G1808926	Hangzhou	POINT(120.168890 30.255280)
+G1808931	Hangu	POINT(117.789170 39.248890)
+G1808963	Handan	POINT(114.467780 36.600560)
+G1809061	Jiaojiang	POINT(121.442780 28.680280)
+G1809078	Haikou	POINT(110.341670 20.045830)
+G1809412	Guli	POINT(120.033330 28.883330)
+G1809461	Guiyang	POINT(106.716670 26.583330)
+G1809498	Guilin	POINT(110.286390 25.281940)
+G1809858	Guangzhou	POINT(113.250000 23.116670)
+G1809879	Guangshui	POINT(113.997800 31.619900)
+G1810295	Gaozhou	POINT(110.846070 21.939240)
+G1810437	Gaoping	POINT(106.102940 30.775760)
+G1810458	Gaomi	POINT(119.752780 36.383330)
+G1810821	Fuzhou	POINT(119.306110 26.061390)
+G1810845	Fuyang	POINT(115.816670 32.900000)
+G1810979	Fuling	POINT(107.391940 29.702220)
+G1811103	Foshan	POINT(113.131480 23.026770)
+G1811619	Ezhou	POINT(114.833330 30.400000)
+G1812101	Dongying	POINT(118.485560 37.456390)
+G1812521	Donghai	POINT(115.642040 22.945940)
+G1812545	Dongguan	POINT(113.744720 23.048890)
+G1812728	Dingzhou	POINT(114.995560 38.513060)
+G1812955	Dezhou	POINT(116.292500 37.448610)
+G1812961	Deyang	POINT(104.381980 31.130190)
+G1813253	Dayan	POINT(100.220720 26.868790)
+G1814082	Daliang	POINT(113.247010 22.850420)
+G1814087	Dalian	POINT(121.602220 38.912220)
+G1814757	Chuzhou	POINT(118.297780 32.321940)
+G1814786	Yangchun	POINT(111.783330 22.166670)
+G1814906	Chongqing	POINT(106.552780 29.562780)
+G1815059	Chenzhou	POINT(113.033330 25.800000)
+G1815286	Chengdu	POINT(104.066670 30.666670)
+G1815302	Chenghua	POINT(116.770070 23.461320)
+G1815395	Chaozhou	POINT(116.637860 23.665130)
+G1815456	Changzhou	POINT(119.966670 31.783330)
+G1815463	Changzhi	POINT(111.738610 35.208890)
+G1815577	Changsha	POINT(112.966670 28.200000)
+G1816080	Cangzhou	POINT(116.866670 38.316670)
+G1816234	Bozhou	POINT(115.770280 33.877220)
+G1816265	Boshan	POINT(117.833330 36.483330)
+G1816440	Bengbu	POINT(117.360830 32.940830)
+G1816670	Beijing	POINT(116.397230 39.907500)
+G1816705	Beihai	POINT(109.100000 21.483330)
+G1816971	Baoding	POINT(115.490280 38.851110)
+G1817240	Baiyin	POINT(104.208060 36.558330)
+G1817720	Shangyu	POINT(120.871110 30.015560)
+G1817968	Anshun	POINT(105.933330 26.250000)
+G1817993	Anqing	POINT(117.050560 30.509170)
+G1818116	Anbu	POINT(116.680920 23.448950)
+G1886760	Suzhou	POINT(120.618060 31.311390)
+G1915223	Zhongshan	POINT(110.582910 21.322560)
+G1919014	Lianghu	POINT(120.898450 29.991520)
+G1927639	Yueyang	POINT(113.091940 29.333330)
+G2033168	Zhaodong	POINT(125.983330 46.083330)
+G2033196	Zhangjiakou	POINT(114.879440 40.810000)
+G2033370	Yingkou	POINT(122.224720 40.668060)
+G2033413	Yichun	POINT(128.900000 47.700000)
+G2033467	Yanji	POINT(129.507780 42.907500)
+G2033574	Xuanhua	POINT(115.044720 40.610280)
+G2034312	Ulan Hot	POINT(122.083330 46.083330)
+G2034400	Tongliao	POINT(122.265280 43.612500)
+G2034439	Tieling	POINT(123.841390 42.293060)
+G2034655	Suihua	POINT(126.996940 46.640560)
+G2034714	Siping	POINT(124.368610 43.163330)
+G2034786	Shuangyashan	POINT(131.153890 46.636110)
+G2034937	Shenyang	POINT(123.432780 41.792220)
+G2035225	Ranghulu	POINT(124.866670 46.650000)
+G2035261	Qitaihe	POINT(130.850000 45.800000)
+G2035265	Qiqihar	POINT(123.967220 47.340830)
+G2035513	Panshan	POINT(122.049440 41.188060)
+G2035644	Nanpiao	POINT(120.747920 41.098220)
+G2035715	Mudanjiang	POINT(129.600000 44.583330)
+G2035980	Longfeng	POINT(125.116670 46.550000)
+G2036109	Liaoyuan	POINT(125.135830 42.903610)
+G2036113	Liaoyang	POINT(123.173060 41.271940)
+G2036389	Jixi	POINT(130.966670 45.300000)
+G2036401	Jiutai	POINT(125.832780 44.152500)
+G2036427	Jinzhou	POINT(121.141670 41.107780)
+G2036434	Lianshan	POINT(120.853270 40.764320)
+G2036458	Jining	POINT(113.105830 41.027500)
+G2036502	Jilin	POINT(126.560280 43.850830)
+G2036581	Jiamusi	POINT(130.350000 46.833330)
+G2036670	Hulan Ergi	POINT(123.633330 47.204170)
+G2036892	Hohhot	POINT(111.652220 40.810560)
+G2036920	Hengshan	POINT(130.916670 45.200000)
+G2036986	Hegang	POINT(130.366670 47.400000)
+G2037013	Harbin	POINT(126.650000 45.750000)
+G2037078	Hailar	POINT(119.700000 49.200000)
+G2037086	Haicheng	POINT(122.741670 40.851940)
+G2037346	Fuxin	POINT(121.658890 42.015560)
+G2037355	Fushun	POINT(123.923330 41.855830)
+G2037620	Dongling	POINT(123.575830 41.814440)
+G2037799	Datong	POINT(113.291390 40.093610)
+G2037860	Daqing	POINT(125.000000 46.583330)
+G2037886	Dandong	POINT(124.394720 40.129170)
+G2038067	Chifeng	POINT(118.963610 42.268330)
+G2038087	Chengde	POINT(117.936110 40.972500)
+G2038120	Chaoyang	POINT(120.458610 41.570280)
+G2038180	Changchun	POINT(125.322780 43.880000)
+G2038300	Benxi	POINT(123.765000 41.288610)
+G2038342	Beipiao	POINT(120.779170 41.791940)
+G2038432	Baotou	POINT(109.822220 40.652220)
+G2038569	Baicheng	POINT(122.816670 45.616670)
+G2038584	Baishan	POINT(126.428610 41.943060)
+G2038632	Anshan	POINT(122.990000 41.123610)
+G2038650	Anda	POINT(125.316670 46.400000)
+G7158935	东海岛	POINT(110.396130 21.024480)
+G7283386	Changshu City	POINT(120.742210 31.646150)
+G7304020	Fenghuang	POINT(109.599610 27.935570)
+G7602670	Zhu Cheng City	POINT(119.402590 35.995020)
+G3665900	Villavicencio	POINT(-73.626640 4.142000)
+G3666304	Valledupar	POINT(-73.250560 10.476940)
+G3666645	Tuluá	POINT(-76.200000 4.086670)
+G3667849	Soledad	POINT(-74.766670 10.917220)
+G3667905	Soacha	POINT(-74.221390 4.587220)
+G3667983	Sincelejo	POINT(-75.397780 9.304720)
+G3668605	Santa Marta	POINT(-74.201670 11.247220)
+G3671916	Popayán	POINT(-76.613160 2.438230)
+G3672486	Pereira	POINT(-75.696110 4.813330)
+G3672778	Pasto	POINT(-77.281110 1.213610)
+G3673164	Palmira	POINT(-76.303610 3.539440)
+G3673899	Neiva	POINT(-75.281880 2.927300)
+G3674453	Montería	POINT(-75.890000 8.757500)
+G3674962	Medellín	POINT(-75.536110 6.291390)
+G3675443	Manizales	POINT(-75.520560 5.070000)
+G3680450	Itagüí	POINT(-75.611390 6.171940)
+G3680656	Ibagué	POINT(-75.232220 4.438890)
+G3682385	Floridablanca	POINT(-73.089720 7.064720)
+G3682631	Envigado	POINT(-75.563890 6.173060)
+G3685095	Dos Quebradas	POINT(-75.672500 4.834720)
+G3685533	Cúcuta	POINT(-72.505280 7.883330)
+G3687238	Cartagena	POINT(-75.514440 10.399720)
+G3687925	Cali	POINT(-76.522500 3.437220)
+G3688451	Buenaventura	POINT(-77.069720 3.893330)
+G3688465	Bucaramanga	POINT(-73.125830 7.129720)
+G3688689	Bogotá	POINT(-74.081750 4.609710)
+G3688928	Bello	POINT(-75.562220 6.338890)
+G3689147	Barranquilla	POINT(-74.796390 10.963890)
+G3689169	Barrancabermeja	POINT(-73.854720 7.065280)
+G3689560	Armenia	POINT(-75.681110 4.533890)
+G3621849	San José	POINT(-84.083330 9.933330)
+G3536729	Santiago de Cuba	POINT(-75.821940 20.024720)
+G3537906	Santa Clara	POINT(-79.966670 22.400000)
+G3544091	Pinar del Río	POINT(-83.698060 22.417500)
+G3550598	Las Tunas	POINT(-76.951110 20.961670)
+G3553478	Havana	POINT(-82.383040 23.133020)
+G3556969	Holguín	POINT(-76.263060 20.887220)
+G3557689	Guantánamo	POINT(-75.209170 20.144440)
+G3564124	Cienfuegos	POINT(-80.435560 22.146110)
+G3566067	Camagüey	POINT(-77.916940 21.380830)
+G3567597	Bayamo	POINT(-76.643330 20.379170)
+G146268	Nicosia	POINT(33.366670 35.166670)
+G146384	Limassol	POINT(33.033330 34.675000)
+G3067696	Praha	POINT(14.420760 50.088040)
+G3068160	Plzeň	POINT(13.377590 49.747470)
+G3068799	Ostrava	POINT(18.282040 49.834650)
+G3078610	Brno	POINT(16.607960 49.195220)
+G2805753	Wuppertal	POINT(7.183330 51.266670)
+G2809346	Wiesbaden	POINT(8.250000 50.083330)
+G2825297	Stuttgart	POINT(9.177020 48.782320)
+G2831580	Solingen	POINT(7.083330 51.183330)
+G2842647	Saarbrücken	POINT(7.000000 49.233330)
+G2844588	Rostock	POINT(12.140490 54.088700)
+G2848756	Berlin Reinickendorf	POINT(13.333330 52.566670)
+G2855598	Berlin Pankow	POINT(13.401860 52.569260)
+G2856883	Osnabrück	POINT(8.050000 52.266670)
+G2857458	Oldenburg	POINT(8.200000 53.166670)
+G2860410	Oberhausen	POINT(6.850000 51.466670)
+G2861650	Nuremberg	POINT(11.068330 49.447780)
+G2864072	Neue Neustadt	POINT(11.633330 52.150000)
+G2864118	Neuß	POINT(6.683330 51.200000)
+G2867543	Münster	POINT(7.625710 51.962360)
+G2867714	München	POINT(11.575490 48.137430)
+G2867838	Mülheim an der Ruhr	POINT(6.883330 51.433330)
+G2869894	Mönchengladbach	POINT(6.433330 51.200000)
+G2873891	Mannheim	POINT(8.464720 49.488330)
+G2874225	Mainz	POINT(8.271110 50.000000)
+G2874545	Magdeburg	POINT(11.666670 52.166670)
+G2875376	Ludwigshafen am Rhein	POINT(8.435280 49.481110)
+G2875601	Lübeck	POINT(10.687290 53.868930)
+G2878234	Leverkusen	POINT(7.000000 51.033330)
+G2879139	Leipzig	POINT(12.371290 51.339620)
+G2884509	Krefeld	POINT(6.566670 51.333330)
+G2886242	Köln	POINT(6.950000 50.933330)
+G2891122	Kiel	POINT(10.134890 54.321330)
+G2892518	Kassel	POINT(9.500000 51.316670)
+G2892794	Karlsruhe	POINT(8.385830 49.004720)
+G2905891	Herne	POINT(7.216670 51.550000)
+G2910685	Harburg	POINT(9.983330 53.466670)
+G2910831	Hannover	POINT(9.733220 52.370520)
+G2911240	Hamm	POINT(7.820890 51.680330)
+G2911285	Wandsbek	POINT(10.100000 53.566670)
+G2911287	Marienthal	POINT(10.083330 53.566670)
+G2911293	Eimsbüttel	POINT(9.983330 53.566670)
+G2911296	Altona	POINT(9.933330 53.550000)
+G2911298	Hamburg	POINT(10.000000 53.550000)
+G2911522	Halle	POINT(12.000000 51.500000)
+G2912621	Hagen	POINT(7.466670 51.350000)
+G2921466	Gelsenkirchen	POINT(7.050000 51.516670)
+G2925177	Freiburg	POINT(7.852220 47.995900)
+G2925533	Frankfurt am Main	POINT(8.683330 50.116670)
+G2928810	Essen	POINT(7.016670 51.450000)
+G2929670	Erfurt	POINT(11.033330 50.983330)
+G2934246	Düsseldorf	POINT(6.776160 51.221720)
+G2934691	Duisburg	POINT(6.750000 51.433330)
+G2935022	Dresden	POINT(13.738320 51.050890)
+G2935517	Dortmund	POINT(7.450000 51.516670)
+G2940132	Chemnitz	POINT(12.916670 50.833330)
+G2944388	Bremen	POINT(8.807770 53.075160)
+G2945024	Braunschweig	POINT(10.533330 52.266670)
+G2946447	Bonn	POINT(7.100000 50.733330)
+G2947416	Bochum	POINT(7.216670 51.483330)
+G2949186	Bielefeld	POINT(8.533330 52.033330)
+G2950159	Berlin	POINT(13.410530 52.524370)
+G2954172	Augsburg	POINT(10.883330 48.366670)
+G3247449	Aachen	POINT(6.083420 50.776640)
+G6545310	Berlin Mitte	POINT(13.404890 52.520030)
+G6941055	Bochum-Hordel	POINT(7.175600 51.501680)
+G7289614	Halle Neustadt	POINT(11.916050 51.479240)
+G7290245	Berlin Steglitz Zehlendorf	POINT(13.241830 52.434850)
+G7290251	Berlin Wilmersdorf	POINT(13.290970 52.500970)
+G7290252	Berlin Spandau	POINT(13.199210 52.551100)
+G223817	Djibouti	POINT(43.144680 11.587670)
+G2618425	Copenhagen	POINT(12.565530 55.675940)
+G2624652	Århus	POINT(10.210760 56.156740)
+G3492908	Santo Domingo	POINT(-69.988570 18.500120)
+G3492914	Santiago de los Caballeros	POINT(-70.700000 19.450000)
+G3493032	San Pedro de Macorís	POINT(-69.297180 18.461560)
+G3500957	La Romana	POINT(-68.972850 18.427340)
+G3511540	San Cristóbal	POINT(-70.100000 18.416670)
+G2474141	Boumerdas	POINT(3.477170 36.766390)
+G2479536	Skikda	POINT(6.909210 36.876170)
+G2481007	Sidi Bel Abbès	POINT(-0.630850 35.189940)
+G2485926	Oran	POINT(-0.641670 35.691110)
+G2498766	El Achir	POINT(4.627440 36.063860)
+G2498954	Ech Chettia	POINT(1.255380 36.195910)
+G2501152	Constantine	POINT(6.614720 36.365000)
+G2505329	Bejaïa	POINT(5.084330 36.755870)
+G2505572	Batna	POINT(6.174140 35.555970)
+G2505854	Bab Ezzouar	POINT(3.182910 36.726150)
+G2506999	Annaba	POINT(7.766670 36.900000)
+G2507480	Algiers	POINT(3.041970 36.752500)
+G3651297	Santo Domingo de los Colorados	POINT(-79.150000 -0.250000)
+G3652462	Quito	POINT(-78.524950 -0.229850)
+G3652941	Portoviejo	POINT(-80.450000 -1.050000)
+G3654410	Manta	POINT(-80.733330 -0.950000)
+G3654533	Machala	POINT(-79.966670 -3.266670)
+G3657509	Guayaquil	POINT(-79.900000 -2.166670)
+G3658192	Durán	POINT(-79.833330 -2.200000)
+G3658666	Cuenca	POINT(-78.983330 -2.883330)
+G3660689	Ambato	POINT(-78.616750 -1.249080)
+G588409	Tallinn	POINT(24.753530 59.436960)
+G347497	Tanda	POINT(30.998060 30.791110)
+G347591	Ṭalkha	POINT(31.373890 31.053060)
+G347796	Sūhāj	POINT(31.700000 26.550000)
+G350550	Qinā	POINT(32.727220 26.170000)
+G354775	Kafr ad Dawwār	POINT(30.128430 31.133850)
+G355795	Hilwan	POINT(31.333330 29.850000)
+G358448	Damanhûr	POINT(30.466670 31.033330)
+G358619	Port Said	POINT(32.307500 31.280560)
+G359173	Banī Suwayf	POINT(31.088890 29.063890)
+G359280	Banhā	POINT(31.187500 30.460830)
+G359493	Az Zaqāzīq	POINT(31.510280 30.591390)
+G359783	Asyūţ	POINT(31.182780 27.182780)
+G359792	Aswān	POINT(32.898890 24.087500)
+G359796	Suez	POINT(32.550000 29.966670)
+G360502	Luxor	POINT(32.642100 25.698930)
+G360630	Cairo	POINT(31.249670 30.062630)
+G360686	Al Minyā	POINT(30.744440 28.119440)
+G360761	Al Manşūrah	POINT(31.376670 31.043060)
+G360829	Al Maḩallah al Kubrá	POINT(31.166940 30.976110)
+G360995	Al Jīzah	POINT(31.212220 30.008610)
+G361055	Ismailia	POINT(32.277220 30.605280)
+G361058	Alexandria	POINT(29.919170 31.198060)
+G361320	Al Fayyūm	POINT(30.840000 29.307780)
+G411165	Idfu	POINT(32.874720 24.980280)
+G2462881	Laâyoune / El Aaiún	POINT(-13.203150 27.162240)
+G343300	Asmara	POINT(38.933330 15.333330)
+G2509954	Valencia	POINT(-0.377390 39.469750)
+G2510911	Sevilla	POINT(-5.986940 37.377220)
+G2511174	Santa Cruz de Tenerife	POINT(-16.254620 28.468240)
+G2511401	La Laguna	POINT(-16.316670 28.483330)
+G2512989	Palma	POINT(2.650240 39.569390)
+G2513416	Murcia	POINT(-1.116670 37.983330)
+G2514256	Málaga	POINT(-4.420340 36.720160)
+G2515270	Las Palmas de Gran Canaria	POINT(-15.416670 28.100000)
+G2516326	Jerez de la Frontera	POINT(-6.133330 36.683330)
+G2517117	Granada	POINT(-3.606670 37.188170)
+G2518559	Elx	POINT(-0.701070 38.262180)
+G2519240	Córdoba	POINT(-4.766670 37.883330)
+G2519752	Castelló de la Plana	POINT(-0.033330 39.983330)
+G2520058	Cartagena	POINT(-0.983330 37.600000)
+G2521886	Almería	POINT(-2.459740 36.838140)
+G2521978	Alicante	POINT(-0.481490 38.345170)
+G2522258	Albacete	POINT(-1.850000 38.983330)
+G3104324	Zaragoza	POINT(-0.877340 41.656060)
+G3104499	Vitoria-Gasteiz	POINT(-2.666670 42.850000)
+G3105976	Vigo	POINT(-8.716670 42.233330)
+G3106672	Valladolid	POINT(-4.716670 41.650000)
+G3108286	Terrassa	POINT(2.016670 41.566670)
+G3109718	Santander	POINT(-3.804440 43.464720)
+G3110044	San Sebastián	POINT(-1.974990 43.312830)
+G3111108	Salamanca	POINT(-5.650000 40.966670)
+G3111199	Sabadell	POINT(2.109420 41.543290)
+G3114472	Pamplona	POINT(-1.643230 42.816870)
+G3114711	Oviedo	POINT(-5.844760 43.360290)
+G3116025	Móstoles	POINT(-3.864960 40.322340)
+G3117735	Madrid	POINT(-3.702560 40.416500)
+G3118150	Logroño	POINT(-2.450000 42.466670)
+G3118594	Leganés	POINT(-3.763500 40.327180)
+G3119841	A Coruña	POINT(-8.396000 43.371350)
+G3120619	L'Hospitalet de Llobregat	POINT(2.100280 41.359670)
+G3121424	Gijón	POINT(-5.664440 43.541110)
+G3121437	Getafe	POINT(-3.732950 40.305710)
+G3121960	Fuenlabrada	POINT(-3.800000 40.283330)
+G3127461	Burgos	POINT(-3.700000 42.350000)
+G3128026	Bilbao	POINT(-2.925280 43.262710)
+G3128760	Barcelona	POINT(2.158990 41.388790)
+G3129028	Badalona	POINT(2.247410 41.450040)
+G3130564	Alcorcón	POINT(-3.824870 40.345820)
+G3130616	Alcalá de Henares	POINT(-3.366670 40.483330)
+G6252065	Nou Barris	POINT(2.177270 41.441630)
+G6544100	Eixample	POINT(2.161790 41.388960)
+G6544105	Sant Martí	POINT(2.199330 41.418140)
+G330186	Nazrēt	POINT(39.266670 8.550000)
+G331180	Mek’elē	POINT(39.475280 13.496670)
+G336014	Gonder	POINT(37.466670 12.600000)
+G338832	Dirē Dawa	POINT(41.866110 9.593060)
+G342884	Bahir Dar	POINT(37.383330 11.600000)
+G344979	Addis Ababa	POINT(38.746890 9.024970)
+G632453	Vantaa	POINT(25.040990 60.294140)
+G633679	Turku	POINT(22.268690 60.451480)
+G634963	Tampere	POINT(23.787120 61.499110)
+G658225	Helsinki	POINT(24.935450 60.169520)
+G660158	Espoo	POINT(24.652200 60.205200)
+G2972315	Toulouse	POINT(1.443670 43.604260)
+G2972328	Toulon	POINT(5.933330 43.116670)
+G2973783	Strasbourg	POINT(7.742960 48.583420)
+G2980291	Saint-Étienne	POINT(4.400000 45.433330)
+G2983990	Rennes	POINT(-1.683330 48.083330)
+G2984114	Reims	POINT(4.033330 49.250000)
+G2988507	Paris	POINT(2.348800 48.853410)
+G2990440	Nice	POINT(7.266080 43.703130)
+G2990969	Nantes	POINT(-1.553360 47.217250)
+G2992166	Montpellier	POINT(3.883330 43.600000)
+G2995469	Marseille	POINT(5.381070 43.296950)
+G2996944	Lyon	POINT(4.850000 45.750000)
+G2998324	Lille	POINT(3.066670 50.633330)
+G3003796	Le Havre	POINT(0.107670 49.493800)
+G3014728	Grenoble	POINT(5.716670 45.166670)
+G3031582	Bordeaux	POINT(-0.566670 44.833330)
+G3037656	Angers	POINT(-0.550000 47.466670)
+G2399697	Libreville	POINT(9.450000 0.383330)
+G2633691	Wolverhampton	POINT(-2.122960 52.585470)
+G2634853	Walsall	POINT(-1.983960 52.585280)
+G2636389	Swindon	POINT(-1.781160 51.557970)
+G2636432	Swansea	POINT(-3.943230 51.620790)
+G2636503	Sutton	POINT(-0.200000 51.350000)
+G2636531	Sunderland	POINT(-1.382220 54.904650)
+G2636841	Stoke-on-Trent	POINT(-2.185380 53.004150)
+G2637433	Southend-on-Sea	POINT(0.714330 51.537820)
+G2637487	Southampton	POINT(-1.404280 50.903950)
+G2638077	Sheffield	POINT(-1.465900 53.382970)
+G2639577	Reading	POINT(-0.971130 51.456250)
+G2639912	Preston	POINT(-2.716670 53.766670)
+G2639996	Portsmouth	POINT(-1.091250 50.798990)
+G2640101	Poole	POINT(-2.000000 50.716670)
+G2640194	Plymouth	POINT(-4.143050 50.371530)
+G2640729	Oxford	POINT(-1.255960 51.752220)
+G2641170	Nottingham	POINT(-1.150470 52.953600)
+G2641181	Norwich	POINT(1.298340 52.627830)
+G2641430	Northampton	POINT(-0.883330 52.250000)
+G2641673	Newcastle upon Tyne	POINT(-1.613960 54.973280)
+G2642465	Milton Keynes	POINT(-0.755830 52.041720)
+G2643123	Manchester	POINT(-2.237430 53.480950)
+G2643339	Luton	POINT(-0.417480 51.879670)
+G2643741	City of London	POINT(-0.091840 51.512790)
+G2643743	London	POINT(-0.125740 51.508530)
+G2644210	Liverpool	POINT(-2.977940 53.410580)
+G2644668	Leicester	POINT(-1.131690 52.638600)
+G2644688	Leeds	POINT(-1.547850 53.796480)
+G2645425	Hull	POINT(-0.335250 53.744600)
+G2646003	Islington	POINT(-0.103040 51.536220)
+G2648579	Glasgow	POINT(-4.257630 55.865150)
+G2650225	Edinburgh	POINT(-3.196480 55.952060)
+G2650752	Dundee	POINT(-2.966670 56.500000)
+G2650839	Dudley	POINT(-2.083330 52.500000)
+G2651347	Derby	POINT(-1.476630 52.922770)
+G2652221	Coventry	POINT(-1.512170 52.406560)
+G2653822	Cardiff	POINT(-3.180000 51.480000)
+G2654675	Bristol	POINT(-2.596650 51.455230)
+G2654993	Bradford	POINT(-1.752060 53.793910)
+G2655095	Bournemouth	POINT(-1.879500 50.720480)
+G2655603	Birmingham	POINT(-1.899830 52.481420)
+G2655984	Belfast	POINT(-5.933330 54.583330)
+G2657832	Aberdeen	POINT(-2.098140 57.143690)
+G7535661	London Borough of Harrow	POINT(-0.333330 51.566670)
+G611717	Tbilisi	POINT(44.833680 41.694110)
+G613607	K'ut'aisi	POINT(42.699740 42.249610)
+G2294700	Tema	POINT(-0.016670 5.616670)
+G2294877	Tamale	POINT(-0.833330 9.400000)
+G2294915	Takoradi	POINT(-1.750000 4.883330)
+G2298890	Kumasi	POINT(-1.616670 6.683330)
+G2306079	Achiaman	POINT(-0.333330 5.700000)
+G2306104	Accra	POINT(-0.196900 5.556020)
+G2422465	Conakry	POINT(-13.677290 9.537950)
+G2422488	Camayenne	POINT(-13.687780 9.535000)
+G2309527	Malabo	POINT(8.783330 3.750000)
+G2310046	Bata	POINT(9.750000 1.850000)
+G255274	Piraeus	POINT(23.637080 37.947450)
+G255683	Pátrai	POINT(21.734440 38.244440)
+G264371	Athens	POINT(23.716220 37.979450)
+G734077	Thessaloníki	POINT(22.943890 40.640280)
+G3587902	Villa Nueva	POINT(-90.587500 14.526940)
+G3592519	Mixco	POINT(-90.606390 14.633330)
+G3598132	Guatemala City	POINT(-90.513270 14.640720)
+G2374775	Bissau	POINT(-15.583330 11.850000)
+G3378644	Georgetown	POINT(-58.155270 6.804480)
+G1819609	Kowloon	POINT(114.183330 22.316670)
+G1819729	Hong Kong	POINT(114.157690 22.285520)
+G3600949	Tegucigalpa	POINT(-87.206810 14.081800)
+G3601782	San Pedro Sula	POINT(-88.033330 15.500000)
+G3186886	Zagreb	POINT(15.977980 45.814440)
+G3190261	Split	POINT(16.439150 43.508910)
+G6618983	Zagreb - Centar	POINT(15.977530 45.813130)
+G3718426	Port-au-Prince	POINT(-72.335000 18.539170)
+G3719028	Pétionville	POINT(-72.285280 18.512500)
+G3726786	Delmas 73	POINT(-72.302780 18.544720)
+G3727135	Croix des Bouquets	POINT(-72.225000 18.575000)
+G3728338	Carrefour	POINT(-72.399220 18.541140)
+G715429	Szeged	POINT(20.148240 46.253000)
+G717582	Miskolc	POINT(20.783330 48.100000)
+G721472	Debrecen	POINT(21.633330 47.533330)
+G3046526	Pécs	POINT(18.233330 46.083330)
+G3054643	Budapest	POINT(19.039910 47.498010)
+G6942354	Nagyvárad	POINT(21.927340 47.060530)
+G1213614	Sunggal	POINT(98.615100 3.576500)
+G1214189	Percut	POINT(98.864000 3.625300)
+G1214191	Perbaungan	POINT(98.956000 3.567900)
+G1214204	Pematangsiantar	POINT(99.068700 2.959500)
+G1214520	Medan	POINT(98.666670 3.583330)
+G1215355	Binjai	POINT(98.485400 3.600100)
+G1215502	Banda Aceh	POINT(95.322200 5.557700)
+G1621177	Yogyakarta	POINT(110.360830 -7.782780)
+G1622786	Makassar	POINT(119.422100 -5.140000)
+G1624494	Tegal	POINT(109.140200 -6.869400)
+G1624647	Tasikmalaya	POINT(108.200000 -7.333330)
+G1624917	Bandarlampung	POINT(105.258030 -5.425440)
+G1625084	Tangerang	POINT(106.630000 -6.178060)
+G1625812	Surakarta	POINT(110.831670 -7.556110)
+G1625822	Surabaya	POINT(112.750830 -7.249170)
+G1626100	Sumedang Utara	POINT(107.916670 -6.850000)
+G1626381	Sukabumi	POINT(106.926670 -6.918060)
+G1626560	Soreang	POINT(107.518330 -7.033060)
+G1626801	Situbondo	POINT(114.009760 -7.706230)
+G1627549	Serang	POINT(106.150200 -6.114900)
+G1627896	Semarang	POINT(110.420300 -6.993200)
+G1629001	Samarinda	POINT(117.150000 -0.500000)
+G1629131	Salatiga	POINT(110.492780 -7.331940)
+G1629710	Rengasdengklok	POINT(107.298060 -6.159170)
+G1630328	Purwokerto	POINT(109.234440 -7.421390)
+G1630333	Purwodadi	POINT(110.915800 -7.086800)
+G1630341	Purwakarta	POINT(107.443330 -6.556940)
+G1630634	Probolinggo	POINT(113.215900 -7.754300)
+G1630789	Pontianak	POINT(109.333330 -0.033330)
+G1630997	Plumbon	POINT(108.472780 -6.705000)
+G1631648	Pemalang	POINT(109.366670 -6.900000)
+G1631761	Pekanbaru	POINT(101.450000 0.533330)
+G1631766	Pekalongan	POINT(109.675300 -6.888600)
+G1632033	Pasuruan	POINT(112.907500 -7.645300)
+G1632228	Pasarkemis	POINT(106.530280 -6.170280)
+G1632276	Parung	POINT(106.733060 -6.421390)
+G1632937	Pamulang	POINT(106.738330 -6.342780)
+G1633034	Palu	POINT(119.870700 -0.891700)
+G1633070	Palembang	POINT(104.745800 -2.916730)
+G1633419	Padang	POINT(100.354270 -0.949240)
+G1635882	Mataram	POINT(116.116670 -8.583330)
+G1636544	Manado	POINT(124.845500 1.487000)
+G1636556	Mamuju	POINT(118.888500 -2.674800)
+G1636722	Malang	POINT(112.630400 -7.979700)
+G1636930	Madiun	POINT(111.523900 -7.629800)
+G1637510	Loa Janan	POINT(117.095030 -0.582950)
+G1638063	Lembang	POINT(107.617500 -6.811670)
+G1638284	Lawang	POINT(112.694700 -7.835300)
+G1638868	Labuhanbajo	POINT(119.887700 -8.496400)
+G1640344	Kendari	POINT(122.498890 -3.945000)
+G1640660	Kediri	POINT(112.016670 -7.816670)
+G1642588	Jember	POINT(113.703170 -8.166040)
+G1642858	Jambi	POINT(103.616670 -1.600000)
+G1642911	Jakarta	POINT(106.845130 -6.214620)
+G1645524	Depok	POINT(106.818610 -6.400000)
+G1645528	Denpasar	POINT(115.216670 -8.650000)
+G1645895	Curug	POINT(106.556390 -6.265830)
+G1646170	Cirebon	POINT(108.557000 -6.706300)
+G1646194	Ciputat	POINT(106.695560 -6.237500)
+G1646448	Cimahi	POINT(107.542500 -6.872220)
+G1646494	Cileungsi	POINT(106.959170 -6.394720)
+G1647003	Cibinong	POINT(106.854170 -6.481670)
+G1647383	Ciampea	POINT(106.700830 -6.554720)
+G1648473	Bogor	POINT(106.789170 -6.594440)
+G1649150	Bengkulu	POINT(102.265540 -3.800440)
+G1649378	Bekasi	POINT(106.989600 -6.234900)
+G1650213	Banjarmasin	POINT(114.591000 -3.324420)
+G1650227	Banjaran	POINT(107.587780 -7.045280)
+G1650357	Bandung	POINT(107.618610 -6.903890)
+G1650527	Balikpapan	POINT(116.828870 -1.267530)
+G1651531	Ambon	POINT(128.200000 -3.716670)
+G1985663	Cikupa	POINT(106.508330 -6.236390)
+G2057087	Kupang	POINT(123.583330 -10.166670)
+G2964506	Dún Laoghaire	POINT(-6.135860 53.293950)
+G2964574	Dublin	POINT(-6.267190 53.343990)
+G2965140	Cork	POINT(-8.470610 51.897970)
+G281184	Jerusalem	POINT(35.225300 31.779020)
+G293397	Tel Aviv	POINT(34.766670 32.066670)
+G293703	Rishon LeẔiyyon	POINT(34.804440 31.964170)
+G294071	Netanya	POINT(34.857780 32.333610)
+G294751	H̱olon	POINT(34.772220 32.011390)
+G294801	Haifa	POINT(34.989170 32.815560)
+G295530	Beersheba	POINT(34.791300 31.251810)
+G295629	Ashdod	POINT(34.650000 31.816670)
+G6693674	Petah Tikva	POINT(34.885030 32.091740)
+G7498240	West Jerusalem	POINT(35.219610 31.781990)
+G1252797	Yamunānagar	POINT(77.283330 30.100000)
+G1252948	Warangal	POINT(79.583330 18.000000)
+G1253084	Vizianagaram	POINT(83.416670 18.116670)
+G1253102	Vishākhapatnam	POINT(83.300000 17.700000)
+G1253133	Virār	POINT(72.800000 19.466670)
+G1253184	Vijayawāda	POINT(80.616670 16.516670)
+G1253237	Verāval	POINT(70.366670 20.900000)
+G1253286	Vellore	POINT(79.133330 12.933330)
+G1253405	Benares	POINT(83.000000 25.333330)
+G1253573	Vadodara	POINT(73.200000 22.300000)
+G1253747	Unnāo	POINT(80.500000 26.533330)
+G1253894	Ulhāsnagar	POINT(73.150000 19.216670)
+G1253914	Ujjain	POINT(75.766670 23.183330)
+G1253986	Udaipur	POINT(73.691830 24.571170)
+G1254089	Tumkūr	POINT(77.101670 13.342220)
+G1254163	Thiruvananthapuram	POINT(76.916670 8.483330)
+G1254187	Trichūr	POINT(76.216670 10.516670)
+G1254241	Tonk	POINT(75.783330 26.166670)
+G1254348	Tiruppūr	POINT(77.350000 11.100000)
+G1254360	Tirupati	POINT(79.416670 13.650000)
+G1254361	Tirunelveli	POINT(77.700000 8.733330)
+G1254388	Tiruchchirāppalli	POINT(78.683330 10.816670)
+G1254649	Thanjāvūr	POINT(79.150000 10.800000)
+G1254661	Thāne	POINT(72.966670 19.200000)
+G1254745	Teni	POINT(77.483330 10.000000)
+G1255349	Surendranagar	POINT(71.683330 22.700000)
+G1255364	Sūrat	POINT(72.833330 21.166670)
+G1255634	Srīnagar	POINT(74.816670 34.083330)
+G1255744	Sonīpat	POINT(77.016670 28.983330)
+G1255969	Sītāpur	POINT(80.683330 27.566670)
+G1256052	Sirsa	POINT(75.016670 29.533330)
+G1256237	Shimla	POINT(77.166670 31.100000)
+G1256287	Silchar	POINT(92.800000 24.816670)
+G1256320	Sīkar	POINT(75.150000 27.616670)
+G1256422	Shrīrāmpur	POINT(88.342220 22.752780)
+G1256436	Solāpur	POINT(75.916670 17.683330)
+G1256451	Shivpurī	POINT(77.650000 25.433330)
+G1256515	Shimoga	POINT(75.566670 13.916670)
+G1256525	Shiliguri	POINT(88.433330 26.700000)
+G1256728	Shāhjahānpur	POINT(79.916670 27.883330)
+G1257022	Satna	POINT(80.833330 24.583330)
+G1257416	Sāngli	POINT(74.564170 16.854380)
+G1257540	Sambhal	POINT(78.550000 28.583330)
+G1257542	Sambalpur	POINT(83.966670 21.450000)
+G1257629	Salem	POINT(78.166670 11.650000)
+G1257806	Sahāranpur	POINT(77.550000 29.966670)
+G1257845	Sāgar	POINT(78.716670 23.833330)
+G1258076	Rohtak	POINT(76.566670 28.900000)
+G1258182	Rewa	POINT(81.300000 24.533330)
+G1258342	Ratlām	POINT(75.066670 23.316670)
+G1258526	Rānchī	POINT(85.333330 23.350000)
+G1258599	Rāmpur	POINT(79.033330 28.816670)
+G1258831	Rāj Nāndgaon	POINT(81.033330 21.100000)
+G1258847	Rājkot	POINT(70.783330 22.300000)
+G1258932	Rājahmundry	POINT(81.783330 16.983330)
+G1258980	Raipur	POINT(81.633330 21.233330)
+G1259004	Raigarh Fort	POINT(73.433330 18.250000)
+G1259009	Rāiganj	POINT(88.116670 25.616670)
+G1259012	Rāichūr	POINT(77.366670 16.200000)
+G1259064	Rāe Bareli	POINT(81.233330 26.216670)
+G1259091	Quilon	POINT(76.600000 8.883330)
+G1259166	Pūrnia	POINT(87.466670 25.783330)
+G1259184	Puri	POINT(85.850000 19.800000)
+G1259229	Pune	POINT(73.855350 18.519570)
+G1259239	Punāsa	POINT(76.400000 22.233330)
+G1259312	Proddatūr	POINT(78.550000 14.733330)
+G1259425	Pondicherry	POINT(79.830000 11.930000)
+G1259652	Pimpri	POINT(73.800000 18.616670)
+G1260086	Patna	POINT(85.116670 25.600000)
+G1260107	Patiāla	POINT(76.400280 30.326670)
+G1260137	Pathānkot	POINT(75.650000 32.283330)
+G1260341	Parbhani	POINT(76.783330 19.266670)
+G1260476	Pānīpat	POINT(76.968060 29.388890)
+G1260482	Pānihāti	POINT(88.374440 22.694170)
+G1260692	Pallāvaram	POINT(80.183610 12.976110)
+G1260716	Pāli	POINT(73.333330 25.766670)
+G1261039	Orai	POINT(79.466670 25.983330)
+G1261045	Ongole	POINT(80.050000 15.500000)
+G1261258	Nizāmābād	POINT(78.116670 18.666670)
+G1261481	New Delhi	POINT(77.224450 28.635760)
+G1261529	Nellore	POINT(79.966670 14.433330)
+G1261731	Nāsik	POINT(73.800000 19.983330)
+G1261913	Nāngloi Jāt	POINT(77.066670 28.683330)
+G1261927	Nandyāl	POINT(78.483330 15.483330)
+G1262131	Naihāti	POINT(88.416940 22.902780)
+G1262180	Nāgpur	POINT(79.100000 21.150000)
+G1262204	Nāgercoil	POINT(77.433330 8.166670)
+G1262292	Nadiād	POINT(72.866670 22.700000)
+G1262321	Mysore	POINT(76.649720 12.307220)
+G1262330	Muzaffarpur	POINT(85.400000 26.116670)
+G1262332	Muzaffarnagar	POINT(77.683330 29.466670)
+G1262395	Murwāra	POINT(80.400000 23.850000)
+G1262482	Munger	POINT(86.466670 25.383330)
+G1262771	Morena	POINT(78.000000 26.496940)
+G1262801	Morādābād	POINT(78.783330 28.833330)
+G1262995	Mirzāpur	POINT(82.583330 25.150000)
+G1263214	Meerut	POINT(77.700000 28.983330)
+G1263220	Medinīpur	POINT(87.333330 22.433330)
+G1263311	Mau	POINT(83.550000 25.950000)
+G1263364	Mathura	POINT(77.683330 27.500000)
+G1263780	Mangalore	POINT(74.883330 12.866670)
+G1264115	Mālegaon	POINT(74.533330 20.550000)
+G1264521	Madurai	POINT(78.116670 9.933330)
+G1264527	Chennai	POINT(80.278470 13.087840)
+G1264543	Madhyamgram	POINT(88.450000 22.700000)
+G1264637	Machilīpatnam	POINT(81.133330 16.166670)
+G1264728	Ludhiāna	POINT(75.850000 30.900000)
+G1264733	Lucknow	POINT(80.916670 26.850000)
+G1264773	Loni	POINT(77.283330 28.750000)
+G1265014	Lātūr	POINT(76.583330 18.400000)
+G1265711	Kulti	POINT(86.850000 23.733330)
+G1265767	Kūkatpalli	POINT(78.416670 17.483330)
+G1265873	Calicut	POINT(75.766670 11.250000)
+G1266049	Kota	POINT(75.833330 25.183330)
+G1266122	Korba	POINT(82.683330 22.350000)
+G1266285	Kolhāpur	POINT(74.216670 16.700000)
+G1266976	Kharagpur	POINT(87.333330 22.333330)
+G1267031	Khandwa	POINT(76.333330 21.833330)
+G1267076	Khammam	POINT(80.150000 17.250000)
+G1267480	Katihār	POINT(87.583330 25.533330)
+G1267708	Karnāl	POINT(76.983330 29.683330)
+G1267755	Karīmnagar	POINT(79.150000 18.433330)
+G1267995	Kānpur	POINT(80.350000 26.466670)
+G1268159	Kānchipuram	POINT(79.716670 12.833330)
+G1268257	Kāmārhāti	POINT(88.374720 22.671110)
+G1268295	Kalyān	POINT(73.150000 19.250000)
+G1268561	Kākināda	POINT(82.216670 16.933330)
+G1268773	Jūnāgadh	POINT(70.466670 21.516670)
+G1268782	Jalandhar	POINT(75.579170 31.325560)
+G1268865	Jodhpur	POINT(73.030000 26.286670)
+G1268907	Jīnd	POINT(76.316670 29.316670)
+G1269006	Jhānsi	POINT(78.583330 25.433330)
+G1269135	Jaunpur	POINT(82.683330 25.733330)
+G1269280	Jāmuria	POINT(87.083330 23.700000)
+G1269300	Jamshedpur	POINT(86.183330 22.800000)
+G1269317	Jāmnagar	POINT(70.066670 22.466670)
+G1269321	Jammu	POINT(74.866670 32.733330)
+G1269395	Jālna	POINT(75.883330 19.833330)
+G1269407	Jālgaon	POINT(75.566670 21.016670)
+G1269515	Jaipur	POINT(75.816670 26.916670)
+G1269633	Jabalpur	POINT(79.950060 23.166970)
+G1269723	Ingrāj Bāzār	POINT(88.150000 25.000000)
+G1269743	Indore	POINT(75.833300 22.717920)
+G1269771	Imphāl	POINT(93.950000 24.816670)
+G1269834	Ichalkaranji	POINT(74.466670 16.700000)
+G1269843	Hyderābād	POINT(78.474440 17.375280)
+G1269910	Hugli	POINT(88.402500 22.895560)
+G1269920	Hubli	POINT(75.166670 15.350000)
+G1269935	Hospet	POINT(76.400000 15.266670)
+G1269937	Hoshiārpur	POINT(75.917220 31.532220)
+G1270022	Hisār	POINT(75.716670 29.166670)
+G1270351	Haridwār	POINT(78.166670 29.966670)
+G1270393	Hāpur	POINT(77.783330 28.716670)
+G1270396	Hāora	POINT(88.310280 22.589170)
+G1270407	Hanumāngarh	POINT(74.316670 29.583330)
+G1270583	Gwalior	POINT(78.179170 26.223610)
+G1270642	Gurgaon	POINT(77.033330 28.466670)
+G1270668	Guntūr	POINT(80.450000 16.300000)
+G1270711	Guna	POINT(77.316670 24.650000)
+G1270752	Gulbarga	POINT(76.833330 17.333330)
+G1270926	Gorakhpur	POINT(75.683330 29.450000)
+G1270927	Gorakhpur	POINT(83.373890 26.755000)
+G1271308	Ghāziābād	POINT(77.433330 28.666670)
+G1271439	Gaya	POINT(85.000000 24.783330)
+G1271476	Guwāhāti	POINT(91.750950 26.186170)
+G1271685	Gangānagar	POINT(73.883330 29.916670)
+G1271715	Gāndhīnagar	POINT(72.683330 23.216670)
+G1271850	Gadag	POINT(75.616670 15.416670)
+G1271885	Fīrozābād	POINT(78.416670 27.150000)
+G1271912	Fatehpur	POINT(80.800000 25.933330)
+G1271942	Farrukhābād	POINT(79.566670 27.400000)
+G1271951	Farīdābād	POINT(77.316670 28.433330)
+G1271976	Faizābād	POINT(82.133330 26.783330)
+G1271987	Etāwah	POINT(79.023900 26.776900)
+G1272051	Elūru	POINT(81.100000 16.700000)
+G1272175	Durgāpur	POINT(87.316670 23.483330)
+G1272181	Durg	POINT(81.283330 21.183330)
+G1272423	Dombivli	POINT(73.083330 19.216670)
+G1272543	Dindigul	POINT(77.950000 10.350000)
+G1272691	Dhule	POINT(74.783330 20.900000)
+G1272979	Dhanbād	POINT(86.450000 23.800000)
+G1273066	Dewās	POINT(76.066670 22.966670)
+G1273294	Delhi	POINT(77.216670 28.666670)
+G1273313	Dehra Dūn	POINT(78.033330 30.316670)
+G1273491	Darbhanga	POINT(85.900000 26.166670)
+G1273581	Dānāpur	POINT(85.050000 25.633330)
+G1273780	Cuttack	POINT(85.879270 20.464970)
+G1273802	Cuddalore	POINT(79.750000 11.750000)
+G1273865	Coimbatore	POINT(76.966670 11.000000)
+G1273874	Cochin	POINT(76.233330 9.966670)
+G1274693	Chandrapur	POINT(79.300000 19.950000)
+G1274746	Chandīgarh	POINT(76.793300 30.734300)
+G1274784	Chandannagar	POINT(88.377220 22.869170)
+G1275004	Calcutta	POINT(88.369720 22.569720)
+G1275068	Burhānpur	POINT(76.233330 21.300000)
+G1275120	Bulandshahr	POINT(77.850000 28.400000)
+G1275163	Budaun	POINT(79.116670 28.050000)
+G1275198	Brahmapur	POINT(84.783330 19.316670)
+G1275248	Borivli	POINT(72.850000 19.233330)
+G1275339	Mumbai	POINT(72.847940 19.014410)
+G1275362	Bokāro	POINT(85.966670 23.783330)
+G1275637	Bilāspur	POINT(82.150000 22.083330)
+G1275665	Bīkāner	POINT(73.300000 28.016670)
+G1275701	Bijāpur	POINT(75.700000 16.833330)
+G1275716	Bihār Sharīf	POINT(85.516670 25.183330)
+G1275738	Bīdar	POINT(77.550000 17.900000)
+G1275778	Bhusāwal	POINT(75.766670 21.050000)
+G1275817	Bhubaneshwar	POINT(85.833330 20.233330)
+G1275841	Bhopāl	POINT(77.400000 23.266670)
+G1275899	Bhiwāni	POINT(76.133330 28.783330)
+G1275901	Bhiwandi	POINT(73.066670 19.300000)
+G1275926	Bhind	POINT(78.788330 26.564170)
+G1275960	Bhīlwāra	POINT(74.633330 25.350000)
+G1275971	Bhilai	POINT(81.433330 21.216670)
+G1276032	Bhāvnagar	POINT(72.150000 21.766670)
+G1276058	Bhātpāra	POINT(88.408890 22.871390)
+G1276070	Bhatinda	POINT(74.950000 30.200000)
+G1276100	Bharūch	POINT(72.966670 21.700000)
+G1276128	Bharatpur	POINT(77.483330 27.216670)
+G1276300	Bhāgalpur	POINT(87.000000 25.250000)
+G1276321	Bhadrāvati	POINT(75.716670 13.866670)
+G1276509	Bellary	POINT(76.933330 15.150000)
+G1276533	Belgaum	POINT(74.500000 15.866670)
+G1277013	Bareilly	POINT(79.416670 28.350000)
+G1277029	Barddhamān	POINT(87.850000 23.250000)
+G1277065	Bārāsat	POINT(88.516670 22.716670)
+G1277082	Baranagar	POINT(88.365280 22.643330)
+G1277333	Bengalore	POINT(77.603290 12.976230)
+G1277397	Bānda	POINT(80.333330 25.483330)
+G1277539	Bāli	POINT(88.340280 22.646110)
+G1277799	Bahraich	POINT(81.600000 27.583330)
+G1277820	Baharampur	POINT(88.250000 24.100000)
+G1277835	Bahādurgarh	POINT(76.916670 28.683330)
+G1278130	Āvadi	POINT(80.101670 13.115560)
+G1278149	Aurangābād	POINT(75.333330 19.883330)
+G1278314	Āsansol	POINT(86.983330 23.683330)
+G1278483	Ara	POINT(84.666670 25.566670)
+G1278672	Anantapur	POINT(77.600000 14.683330)
+G1278708	Amroha	POINT(78.466670 28.916670)
+G1278710	Amritsar	POINT(74.865560 31.633060)
+G1278718	Amrāvati	POINT(77.750000 20.933330)
+G1278840	Ambattūr	POINT(80.162220 13.098330)
+G1278903	Amarnāth	POINT(73.166670 19.200000)
+G1278946	Alwar	POINT(76.600000 27.566670)
+G1278985	Alleppey	POINT(76.326400 9.490040)
+G1278994	Allahābād	POINT(81.850000 25.450000)
+G1279017	Alīgarh	POINT(78.083330 27.883330)
+G1279064	Alandur	POINT(80.206110 13.002500)
+G1279105	Akola	POINT(77.000000 20.733330)
+G1279159	Ajmer	POINT(74.633330 26.450000)
+G1279186	Āīzawl	POINT(92.716670 23.733330)
+G1279228	Ahmadnagar	POINT(74.733330 19.083330)
+G1279233	Ahmadābād	POINT(72.616670 23.033330)
+G1279259	Āgra	POINT(78.016670 27.183330)
+G1279290	Agartala	POINT(91.275000 23.836390)
+G1279335	Ādoni	POINT(77.283330 15.633330)
+G1344377	Haldia	POINT(88.109750 22.060460)
+G1348818	Nangi	POINT(88.215280 22.508330)
+G6943660	Shivaji Nagar	POINT(73.852630 18.530170)
+G7279746	Noida	POINT(77.330000 28.580000)
+G7279754	Singrauli	POINT(82.675350 24.199730)
+G7284820	Jaigaon	POINT(89.375580 26.847660)
+G7302826	Lal Bahadur Nagar	POINT(78.557570 17.347690)
+G7302833	Gajuwaka	POINT(83.216670 17.700000)
+G7302845	Quthbullapur	POINT(78.458180 17.501070)
+G7302856	Serilingampalle	POINT(78.301960 17.493130)
+G91597	Sāmarrā’	POINT(43.875620 34.200960)
+G94787	Kirkuk	POINT(44.392220 35.468060)
+G94824	Karbalā’	POINT(44.008470 32.611440)
+G95446	Arbīl	POINT(44.010620 36.192570)
+G97990	Ba‘qūbah	POINT(44.655450 33.748460)
+G98182	Baghdad	POINT(44.400880 33.340580)
+G98463	As Sulaymānīyah	POINT(45.437490 35.561130)
+G98530	As Samāwah	POINT(45.294400 31.331980)
+G98717	Ar Ramādī	POINT(43.305840 33.422570)
+G98854	An Nāşirīyah	POINT(46.261020 31.052050)
+G98860	An Najaf al Ashraf	POINT(44.339760 31.998540)
+G99071	Al Mawşil al Jadīdah	POINT(43.097770 36.334640)
+G99072	Mosul	POINT(43.118890 36.335000)
+G99131	Al Kūt	POINT(45.819020 32.514700)
+G99347	Al Ḩillah	POINT(44.435260 32.480140)
+G99454	Al Fallūjah	POINT(43.779510 33.353800)
+G99532	Al Başrah	POINT(47.788850 30.534880)
+G99608	Al ‘Amārah	POINT(47.139600 31.840640)
+G99762	Ad Dīwānīyah	POINT(44.930630 31.990510)
+G100077	Abū Ghurayb	POINT(44.185000 33.308330)
+G388349	Al Başrat al Qadīmah	POINT(47.814910 30.497210)
+G14256	Āzādshahr	POINT(48.570730 34.790880)
+G23814	Kahrīz	POINT(47.055300 34.383800)
+G32767	Qarchak	POINT(51.568890 35.439440)
+G111453	Zanjān	POINT(48.478700 36.673600)
+G111822	Yazd	POINT(54.367500 31.897220)
+G112214	Varāmīn	POINT(51.645700 35.324200)
+G112931	Tehrān	POINT(51.421510 35.694390)
+G113646	Tabrīz	POINT(46.291900 38.080000)
+G114259	Sīrjān	POINT(55.681400 29.452000)
+G115019	Shīrāz	POINT(52.538800 29.603600)
+G116667	Sāveh	POINT(50.356600 35.021300)
+G116996	Shari-i-Tajan	POINT(53.056520 36.562970)
+G117392	Saqqez	POINT(46.273500 36.249920)
+G117574	Sanandaj	POINT(46.992300 35.314400)
+G118063	Sabzevār	POINT(57.681910 36.212600)
+G118743	Rasht	POINT(49.583190 37.280770)
+G119208	Qom	POINT(50.876400 34.640100)
+G119505	Qazvīn	POINT(50.004900 36.279700)
+G121801	Orūmīyeh	POINT(45.076050 37.552740)
+G122285	Neyshābūr	POINT(58.795760 36.213290)
+G122438	Naz̧arābād	POINT(50.607500 35.952100)
+G124665	Mashhad	POINT(59.606200 36.297000)
+G125185	Malāyer	POINT(48.823500 34.296900)
+G125446	Mahābād	POINT(45.722200 36.763100)
+G126972	Khvoy	POINT(44.952100 38.550300)
+G127319	Khorramshahr	POINT(48.166400 30.439700)
+G127349	Khorramābād	POINT(48.355830 33.487780)
+G128226	Kermānshāh	POINT(47.065000 34.314170)
+G128234	Kermān	POINT(57.081230 30.293680)
+G128477	Kāshān	POINT(51.436440 33.983080)
+G128747	Karaj	POINT(51.010300 35.835500)
+G132144	Hamadān	POINT(48.514560 34.799220)
+G132892	Gorgān	POINT(54.434750 36.838660)
+G139817	Bandar Būshehr	POINT(50.838500 28.968400)
+G139889	Būkān	POINT(46.208900 36.521000)
+G140044	Borūjerd	POINT(48.751600 33.897300)
+G140380	Bojnūrd	POINT(57.329030 37.474730)
+G140463	Bīrjand	POINT(59.221140 32.866280)
+G141681	Bandar ‘Abbās	POINT(56.280800 27.186500)
+G142363	Bābol	POINT(52.678950 36.551320)
+G143083	Ardabīl	POINT(48.293300 38.249800)
+G143127	Arāk	POINT(49.689160 34.091740)
+G143534	Āmol	POINT(52.350720 36.469610)
+G144448	Ahvāz	POINT(48.669300 31.320300)
+G145459	Ābādān	POINT(48.304300 30.339200)
+G418606	Najafābād	POINT(51.366800 32.634400)
+G418710	Khomeynī Shahr	POINT(51.521130 32.700180)
+G418863	Eşfahān	POINT(51.677610 32.657220)
+G1159301	Zāhedān	POINT(60.862900 29.496300)
+G2523630	Reggio di Calabria	POINT(15.661290 38.110470)
+G2523920	Palermo	POINT(13.359760 38.115820)
+G2524170	Messina	POINT(15.549690 38.193270)
+G2525068	Catania	POINT(15.087190 37.502130)
+G2525473	Cagliari	POINT(9.134620 39.207380)
+G3164527	Verona	POINT(10.997790 45.434190)
+G3164603	Venice	POINT(12.326670 45.438610)
+G3165185	Trieste	POINT(13.780000 45.648610)
+G3165524	Torino	POINT(7.686820 45.070490)
+G3165926	Taranto	POINT(17.229720 40.476110)
+G3169070	Roma	POINT(12.483900 41.894740)
+G3169921	Prato	POINT(11.090920 43.884250)
+G3171457	Parma	POINT(10.328980 44.802660)
+G3171728	Padova	POINT(11.881810 45.415190)
+G3172394	Napoli	POINT(14.250000 40.833330)
+G3173331	Modena	POINT(10.925390 44.647830)
+G3173435	Milano	POINT(9.189510 45.464270)
+G3173529	Mestre	POINT(12.242500 45.490280)
+G3174659	Livorno	POINT(10.316000 43.542640)
+G3176219	Genova	POINT(8.933860 44.406320)
+G3176885	Foggia	POINT(15.549250 41.460930)
+G3176959	Florence	POINT(11.250000 43.766670)
+G3181554	Brescia	POINT(10.227270 45.524780)
+G3181928	Bologna	POINT(11.338750 44.493810)
+G3182351	Bari	POINT(16.851180 41.117730)
+G3489297	New Kingston	POINT(-76.783190 18.007470)
+G3489854	Kingston	POINT(-76.793580 17.997020)
+G246013	Wādī as Sīr	POINT(35.816670 31.950000)
+G248946	Irbid	POINT(35.850000 32.555560)
+G250090	Az Zarqā’	POINT(36.087960 32.072750)
+G250441	Amman	POINT(35.945030 31.955220)
+G1847963	Atsugi	POINT(139.359720 35.438890)
+G1847966	Akashi	POINT(134.983330 34.633330)
+G1848254	Yono	POINT(139.633330 35.883330)
+G1848313	Yokosuka	POINT(139.667220 35.283610)
+G1848354	Yokohama-shi	POINT(139.642500 35.447780)
+G1848373	Yokkaichi	POINT(136.616670 34.966670)
+G1848522	Yao	POINT(135.600000 34.616670)
+G1849053	Utsunomiya-shi	POINT(139.883610 36.565830)
+G1849372	Uji	POINT(135.800000 34.883330)
+G1849498	Ube	POINT(131.251110 33.943060)
+G1849796	Tsu-shi	POINT(136.508610 34.730280)
+G1849814	Toyota	POINT(137.150000 35.083330)
+G1849837	Toyonaka	POINT(135.469320 34.782440)
+G1849846	Toyohashi	POINT(137.383330 34.766670)
+G1849876	Toyama-shi	POINT(137.211390 36.695280)
+G1849892	Tottori	POINT(134.233330 35.500000)
+G1850147	Tokyo	POINT(139.581300 35.614880)
+G1850158	Tokushima-shi	POINT(134.559440 34.065830)
+G1850181	Tokorozawa	POINT(139.469030 35.799160)
+G1850692	Nishi-Tokyo-shi	POINT(139.538300 35.725260)
+G1850910	Takatsuki	POINT(135.616780 34.848330)
+G1851002	Takasaki	POINT(139.016670 36.333330)
+G1851012	Takarazuka	POINT(135.356970 34.799360)
+G1851032	Takaoka	POINT(137.016670 36.750000)
+G1851100	Takamatsu-shi	POINT(134.043330 34.340280)
+G1851307	Tachikawa	POINT(139.418060 35.692780)
+G1851348	Suzuka	POINT(136.583330 34.883330)
+G1851483	Suita	POINT(135.515670 34.761430)
+G1851604	Sōka	POINT(139.804440 35.820280)
+G1851717	Shizuoka-shi	POINT(138.383060 34.976940)
+G1852140	Shinagawa-ku	POINT(139.730170 35.609020)
+G1852225	Shimonoseki	POINT(130.950000 33.950000)
+G1852383	Shimminatochō	POINT(135.200000 34.183330)
+G1852899	Sasebo	POINT(129.722780 33.159170)
+G1853195	Sakai	POINT(135.466670 34.583330)
+G1853295	Sagamihara	POINT(139.354440 35.553060)
+G1853303	Saga-shi	POINT(130.298800 33.249320)
+G1853483	Oyama	POINT(139.800000 36.300000)
+G1853574	Ōtsu-shi	POINT(135.868330 35.004440)
+G1853677	Ōta	POINT(139.366670 36.300000)
+G1853909	Ōsaka-shi	POINT(135.502180 34.693740)
+G1854376	Okazaki	POINT(137.166670 34.950000)
+G1854383	Okayama-shi	POINT(133.935000 34.661670)
+G1854487	Ōita-shi	POINT(131.612500 33.238060)
+G1854703	Ōgaki	POINT(136.616670 35.350000)
+G1854747	Odawara	POINT(139.159720 35.255560)
+G1854902	Numazu	POINT(138.866670 35.100000)
+G1855207	Nishinomiya	POINT(135.333330 34.716670)
+G1855431	Niigata-shi	POINT(139.023610 37.902220)
+G1855503	Nerima	POINT(139.650000 35.733330)
+G1855612	Nara-shi	POINT(135.804850 34.685050)
+G1856035	Naha-shi	POINT(127.681110 26.212500)
+G1856057	Nagoya-shi	POINT(136.906410 35.181470)
+G1856177	Nagasaki-shi	POINT(129.873610 32.744720)
+G1856184	Nagareyama	POINT(139.902660 35.856300)
+G1856199	Nagaoka	POINT(138.850000 37.450000)
+G1856215	Nagano-shi	POINT(138.181110 36.651390)
+G1856717	Miyazaki-shi	POINT(131.423890 31.911110)
+G1856942	Mitaka-shi	POINT(139.559630 35.683510)
+G1857144	Minami-rinkan	POINT(139.450000 35.483330)
+G1857519	Matsumoto	POINT(137.966670 36.233330)
+G1857550	Matsue-shi	POINT(133.050560 35.472220)
+G1857553	Matsudo	POINT(139.900000 35.783330)
+G1857843	Maebashi-shi	POINT(139.060830 36.391110)
+G1857871	Machida	POINT(139.450830 35.540280)
+G1857910	Kyoto	POINT(135.753850 35.021070)
+G1858088	Kurume	POINT(130.516670 33.316670)
+G1858296	Kure	POINT(132.566670 34.233330)
+G1858311	Kurashiki	POINT(133.766670 34.583330)
+G1858421	Kumamoto-shi	POINT(130.741670 32.789720)
+G1858428	Kumagaya	POINT(139.383330 36.133330)
+G1858729	Koshigaya	POINT(139.783330 35.883330)
+G1858926	Komaki	POINT(136.916670 35.283330)
+G1859100	Kōfu-shi	POINT(138.568330 35.663890)
+G1859116	Kodaira	POINT(139.483890 35.726390)
+G1859146	Kōchi-shi	POINT(133.531110 33.559720)
+G1859171	Kōbe-shi	POINT(135.183000 34.691300)
+G1859307	Kitakyūshū	POINT(130.833330 33.833330)
+G1859383	Kishiwada	POINT(135.366670 34.466670)
+G1859642	Kawasaki	POINT(139.717220 35.520560)
+G1859675	Kawanishi	POINT(135.416670 34.816670)
+G1859730	Kawaguchi	POINT(139.720560 35.805000)
+G1859740	Kawagoe	POINT(139.485280 35.908610)
+G1859884	Kasukabe	POINT(139.753610 35.976390)
+G1859891	Kasugai	POINT(136.972290 35.247620)
+G1859924	Kashiwa	POINT(139.968890 35.854440)
+G1860243	Kanazawa-shi	POINT(136.625560 36.594440)
+G1860437	Kami-renjaku	POINT(139.550000 35.683330)
+G1860672	Kamakura	POINT(139.550280 35.308890)
+G1860704	Kakogawa	POINT(134.850000 34.766670)
+G1860827	Kagoshima-shi	POINT(130.558140 31.560180)
+G1861107	Izumi	POINT(135.433330 34.483330)
+G1861310	Itami	POINT(135.401260 34.784270)
+G1861949	Ichinomiya	POINT(136.800000 35.300000)
+G1861968	Ichikawa	POINT(139.924720 35.719720)
+G1862033	Ibaraki	POINT(135.568280 34.816410)
+G1862415	Hiroshima-shi	POINT(132.459370 34.396270)
+G1862462	Hiratsuka	POINT(139.342220 35.323060)
+G1862540	Hirakata	POINT(135.649140 34.813520)
+G1862599	Hino	POINT(139.400280 35.673060)
+G1862627	Himeji	POINT(134.700000 34.816670)
+G1863289	Hamamatsu	POINT(137.733330 34.700000)
+G1863431	Hadano	POINT(139.223610 35.371110)
+G1863440	Hachiōji	POINT(139.323890 35.655830)
+G1863641	Gifu-shi	POINT(136.760390 35.422910)
+G1863905	Funabashi	POINT(139.983330 35.693060)
+G1863917	Fukuyama	POINT(133.366670 34.483330)
+G1863967	Fukuoka-shi	POINT(130.418060 33.606390)
+G1863985	Fukui-shi	POINT(136.222570 36.064430)
+G1864092	Fujisawa	POINT(139.470000 35.341940)
+G1864134	Fuji	POINT(138.683330 35.166670)
+G1864154	Fuchū	POINT(139.483330 35.666670)
+G1864518	Chōfu	POINT(139.552220 35.655560)
+G1864624	Chigasaki	POINT(139.403890 35.326110)
+G1865005	Ashikaga	POINT(139.450000 36.333330)
+G1865294	Anjō	POINT(137.080540 34.958280)
+G1865387	Amagasaki	POINT(135.416670 34.716670)
+G1865714	Ageo	POINT(139.588610 35.969720)
+G1907146	Sayama	POINT(139.412120 35.852950)
+G1926004	Wakayama-shi	POINT(135.167500 34.226110)
+G1926099	Matsuyama-shi	POINT(132.765740 33.839160)
+G2110556	Yamagata-shi	POINT(140.363330 38.240560)
+G2110683	Tsukuba	POINT(140.100000 36.200000)
+G2111149	Sendai-shi	POINT(140.871940 38.268890)
+G2111220	Sakura	POINT(140.233330 35.716670)
+G2111687	Narashino	POINT(140.033330 35.683330)
+G2111834	Morioka-shi	POINT(141.152500 39.703610)
+G2111901	Mito-shi	POINT(140.446670 36.341390)
+G2112141	Kōriyama	POINT(140.383330 37.400000)
+G2112312	Katsuta	POINT(140.533330 36.383330)
+G2112539	Iwaki	POINT(140.883330 37.050000)
+G2112664	Ichihara	POINT(140.083330 35.516670)
+G2112708	Hitachi	POINT(140.650000 36.600000)
+G2112923	Fukushima-shi	POINT(140.467780 37.750000)
+G2113015	Chiba-shi	POINT(140.123330 35.604720)
+G2113126	Akita	POINT(140.116670 39.716670)
+G2113719	Akita-shi	POINT(140.103330 39.718060)
+G2127733	Tomakomai	POINT(141.603330 42.636940)
+G2128295	Sapporo-shi	POINT(141.346940 43.064170)
+G2128815	Obihiro	POINT(143.204440 42.917220)
+G2129376	Kushiro	POINT(144.374720 42.975000)
+G2130057	Hirosaki	POINT(140.472500 40.593060)
+G2130188	Hakodate	POINT(140.736670 41.775830)
+G2130203	Hachinohe	POINT(141.500000 40.500000)
+G2130629	Asahikawa	POINT(142.370280 43.767780)
+G2130658	Aomori-shi	POINT(140.740000 40.824440)
+G6697563	Neyagawa	POINT(135.627590 34.766150)
+G6822096	Hitachi-Naka	POINT(140.534790 36.396590)
+G6825489	Jōetsu	POINT(138.236420 37.148280)
+G6940394	Saitama	POINT(139.656570 35.908070)
+G7279570	Higashimurayama-shi	POINT(139.468520 35.754590)
+G184622	Nakuru	POINT(36.066670 -0.283330)
+G184745	Nairobi	POINT(36.816670 -1.283330)
+G186301	Mombasa	POINT(39.660500 -4.055000)
+G191245	Kisumu	POINT(34.750000 -0.100000)
+G198629	Eldoret	POINT(35.269920 0.520360)
+G1527534	Osh	POINT(72.790000 40.529440)
+G1528675	Bishkek	POINT(74.590000 42.870000)
+G1821306	Phnom Penh	POINT(104.916010 11.562450)
+G1831142	Sihanoukville	POINT(103.529580 10.609320)
+G1831797	Bătdâmbâng	POINT(103.198220 13.102710)
+G1866923	Wŏnsan	POINT(127.443610 39.152780)
+G1869446	Songnim	POINT(125.645000 38.754170)
+G1870883	Sariwŏn	POINT(125.755830 38.507220)
+G1871859	Pyongyang	POINT(125.754320 39.033850)
+G1873757	Namp’o	POINT(125.407780 38.737500)
+G1876373	Kaesŏng	POINT(126.554440 37.970830)
+G1877030	Hŭngnam	POINT(127.618610 39.831670)
+G1877449	Hamhŭng	POINT(127.536390 39.918330)
+G1877615	Haeju	POINT(125.714720 38.040560)
+G2040893	Sinŭiju	POINT(124.398060 40.100560)
+G2043572	Kanggye-si	POINT(126.585230 40.969460)
+G2044757	Ch’ŏngjin	POINT(129.775830 41.795560)
+G1832157	Yŏsu	POINT(127.737780 34.744170)
+G1832847	Yangju	POINT(127.061690 37.833110)
+G1833105	Wŏnju	POINT(127.945280 37.351390)
+G1833747	Ulsan	POINT(129.316670 35.537220)
+G1833788	Ŭijŏngbu	POINT(127.047400 37.741500)
+G1835235	Taejŏn	POINT(127.419720 36.321390)
+G1835329	Taegu	POINT(128.591110 35.870280)
+G1835553	Suwŏn	POINT(127.008890 37.291110)
+G1835648	Sunch’ŏn	POINT(127.489470 34.948080)
+G1835848	Seoul	POINT(126.977830 37.568260)
+G1838524	Pusan	POINT(129.040280 35.102780)
+G1838716	Puch’ŏn	POINT(126.783060 37.498890)
+G1839071	P’ohang	POINT(129.365000 36.032220)
+G1839652	Osan	POINT(127.070560 37.152220)
+G1841066	Mokp’o	POINT(126.388610 34.793610)
+G1841245	Masan	POINT(128.572500 35.208060)
+G1841603	Kyŏngju	POINT(129.211670 35.842780)
+G1841811	Kwangju	POINT(126.915560 35.154720)
+G1841988	Kuri	POINT(127.139400 37.598600)
+G1842025	Kunsan	POINT(126.711390 35.978610)
+G1842225	Kumi	POINT(128.336000 36.113600)
+G1842485	Goyang	POINT(126.835000 37.656390)
+G1842943	Kimhae	POINT(128.881110 35.234170)
+G1843137	Kangnŭng	POINT(128.896110 37.755560)
+G1843491	Iksan	POINT(126.954440 35.943890)
+G1843564	Inch’ŏn	POINT(126.731670 37.453610)
+G1843702	Ich'ŏn	POINT(127.442500 37.279170)
+G1843847	Hwaseong	POINT(126.816900 37.206820)
+G1845136	Ch’unch’ŏn	POINT(127.734170 37.874720)
+G1845457	Chŏnju	POINT(127.148890 35.821940)
+G1845604	Ch’ŏngju	POINT(127.489720 36.637220)
+G1845759	Ch’ŏnan	POINT(127.152200 36.806500)
+G1846052	Chinju	POINT(128.084720 35.192780)
+G1846266	Cheju	POINT(126.521940 33.509720)
+G1846326	Ch’angwŏn	POINT(128.681110 35.228060)
+G1846898	Anyang	POINT(126.926940 37.392500)
+G1846918	Ansan	POINT(126.821940 37.323610)
+G1897000	Sŏngnam	POINT(127.137780 37.438610)
+G1948005	Kwangmyŏng	POINT(126.866390 37.477220)
+G608668	Oral	POINT(51.366670 51.233330)
+G609655	Karagandy	POINT(54.866670 50.066670)
+G610529	Atyrau	POINT(51.883330 47.116670)
+G610611	Aqtöbe	POINT(57.207180 50.279690)
+G1516905	Taraz	POINT(71.366670 42.900000)
+G1518262	Temirtau	POINT(72.948330 50.054440)
+G1518543	Taldyqorghan	POINT(77.916670 45.000000)
+G1518980	Shymkent	POINT(69.600000 42.300000)
+G1519422	Semey	POINT(80.227500 50.411110)
+G1519922	Qyzylorda	POINT(65.509170 44.852780)
+G1519928	Qostanay	POINT(63.583330 53.166670)
+G1519942	Qaraghandy	POINT(73.099440 49.798890)
+G1520172	Petropavlovsk	POINT(69.162780 54.875280)
+G1520240	Pavlodar	POINT(76.950000 52.300000)
+G1520316	Ust’-Kamenogorsk	POINT(82.610280 49.978890)
+G1526273	Astana	POINT(71.445980 51.180100)
+G1526384	Almaty	POINT(76.950000 43.250000)
+G1651944	Vientiane	POINT(102.600000 17.966670)
+G266826	Tripoli	POINT(35.849720 34.436670)
+G268064	Sidon	POINT(35.368890 33.563060)
+G268743	Ra’s Bayrūt	POINT(35.483330 33.900000)
+G276781	Beirut	POINT(35.494420 33.888940)
+G1234633	Moratuwa	POINT(79.881600 6.773000)
+G1242833	Jaffna	POINT(80.013700 9.656700)
+G1246321	Galkissa	POINT(79.863000 6.829300)
+G1248991	Colombo	POINT(79.847780 6.931940)
+G2274895	Monrovia	POINT(-10.796900 6.300540)
+G593116	Vilnius	POINT(25.279800 54.689160)
+G598098	Klaipėda	POINT(21.117500 55.717220)
+G598316	Kaunas	POINT(23.900000 54.900000)
+G456172	Riga	POINT(24.105890 56.946000)
+G88319	Banghāzī	POINT(20.066670 32.116670)
+G89055	Al Bayḑā’	POINT(21.755060 32.762720)
+G2210221	Tarhūnah	POINT(13.633200 32.435020)
+G2210247	Tripoli	POINT(13.187460 32.875190)
+G2214846	Mişrātah	POINT(15.092540 32.375350)
+G2216885	Ḩārat az Zāwiyah	POINT(12.715000 32.763060)
+G2219905	Al Khums	POINT(14.266670 32.650000)
+G2528910	Tétouan	POINT(-5.372420 35.571090)
+G2530335	Tangier	POINT(-5.813650 35.780580)
+G2537763	Salé	POINT(-6.816600 34.038920)
+G2537881	Safi	POINT(-9.237180 32.299390)
+G2538475	Rabat	POINT(-6.832550 34.013250)
+G2540483	Oujda	POINT(-1.907640 34.680520)
+G2542051	Mohammedia	POINT(-7.394420 33.706590)
+G2542715	Meknès	POINT(-5.547270 33.893520)
+G2542997	Marrakech	POINT(-8.008280 31.631480)
+G2544248	Khouribga	POINT(-6.906300 32.881080)
+G2544571	Kenitra	POINT(-6.580200 34.261010)
+G2548885	Fès	POINT(-4.999800 34.037150)
+G2553604	Casablanca	POINT(-7.619160 33.592780)
+G2555745	Beni Mellal	POINT(-6.349840 32.337250)
+G2561668	Agadir	POINT(-9.598150 30.420180)
+G617239	Tiraspol	POINT(29.643330 46.840280)
+G618426	Chişinău	POINT(28.857500 47.005560)
+G1053384	Toamasina	POINT(49.383330 -18.166670)
+G1062663	Mahajanga	POINT(46.316670 -15.716670)
+G1064890	Fianarantsoa	POINT(47.083330 -21.433330)
+G1070940	Antananarivo	POINT(47.530980 -18.914330)
+G785842	Skopje	POINT(21.433330 42.000000)
+G2460596	Bamako	POINT(-8.000000 12.650000)
+G1293960	Taunggyi	POINT(97.033330 20.783330)
+G1295765	Akyab	POINT(92.900000 20.150000)
+G1298824	Rangoon	POINT(96.156110 16.805280)
+G1300466	Bago	POINT(96.479720 17.336670)
+G1308465	Mawlamyine	POINT(97.625560 16.491390)
+G1308522	Monywa	POINT(95.133330 22.116670)
+G1309611	Myeik	POINT(98.600000 12.433330)
+G1309793	Meiktila	POINT(95.866670 20.866670)
+G1311874	Mandalay	POINT(96.083590 21.974730)
+G1328421	Pathein	POINT(94.733330 16.783330)
+G6611854	Nay Pyi Taw	POINT(96.129720 19.745000)
+G2028462	Ulaanbaatar	POINT(106.883240 47.907710)
+G1821274	Macau	POINT(113.546110 22.200560)
+G2377450	Nouakchott	POINT(-15.949750 18.100330)
+G934154	Port Louis	POINT(57.498890 -20.161940)
+G927967	Lilongwe	POINT(33.783330 -13.983330)
+G931755	Blantyre	POINT(35.013870 -15.786820)
+G3514450	Xochimilco	POINT(-99.107500 19.262220)
+G3514519	Xico	POINT(-98.933330 19.266670)
+G3514663	Alvaro Obregón	POINT(-99.225000 19.373330)
+G3514670	Villahermosa	POINT(-92.916670 17.983330)
+G3514674	Gustavo A. Madero	POINT(-99.095830 19.478610)
+G3514783	Veracruz	POINT(-96.133330 19.200000)
+G3515001	Tuxtla Gutiérrez	POINT(-93.116670 16.750000)
+G3515302	Toluca	POINT(-99.667220 19.288330)
+G3515428	Tlalpan	POINT(-99.166670 19.283330)
+G3515431	Tlalnepantla	POINT(-99.221670 19.526940)
+G3515463	Tlahuac	POINT(-99.003330 19.281670)
+G3515807	Cuautitlán Izcalli	POINT(-99.246670 19.646940)
+G3516109	Tehuacán	POINT(-97.383330 18.450000)
+G3516266	Tapachula	POINT(-92.283330 14.900000)
+G3516355	Tampico	POINT(-97.850000 22.216670)
+G3518135	San Pablo de las Salinas	POINT(-99.096390 19.665830)
+G3520339	Reynosa	POINT(-98.283330 26.083330)
+G3521081	Puebla de Zaragoza	POINT(-98.200000 19.050000)
+G3521168	Poza Rica de Hidalgo	POINT(-97.459460 20.533150)
+G3522210	Pachuca de Soto	POINT(-98.733290 20.116970)
+G3522507	Oaxaca de Juárez	POINT(-96.716670 17.050000)
+G3522551	Nuevo Laredo	POINT(-99.516670 27.500000)
+G3522732	Nicolás Romero	POINT(-99.313060 19.621940)
+G3522790	Naucalpan de Juárez	POINT(-99.239630 19.478510)
+G3523183	Minatitlán	POINT(-94.516670 17.983330)
+G3523303	Metepec	POINT(-99.607780 19.253610)
+G3523349	Mérida	POINT(-89.616670 20.966670)
+G3523466	Heroica Matamoros	POINT(-97.500000 25.883330)
+G3523760	Magdalena Contreras	POINT(-99.233330 19.283330)
+G3523908	Los Reyes	POINT(-98.966670 19.350000)
+G3526485	Jiutepec	POINT(-99.183330 18.866670)
+G3526617	Jalapa Enríquez	POINT(-96.916670 19.533330)
+G3526682	Ixtapaluca	POINT(-98.883330 19.316670)
+G3526683	Iztapalapa	POINT(-99.051940 19.351110)
+G3526700	Iztacalco	POINT(-99.084720 19.396670)
+G3529612	Ecatepec	POINT(-99.052500 19.601110)
+G3529947	Cuernavaca	POINT(-99.250000 18.916670)
+G3530049	Cuajimalpa	POINT(-99.301110 19.355830)
+G3530139	Coyoacán	POINT(-99.160280 19.328890)
+G3530517	Coatzacoalcos	POINT(-94.416670 18.150000)
+G3530569	Coacalco	POINT(-99.110280 19.631670)
+G3530580	Ciudad Victoria	POINT(-99.133330 23.733330)
+G3530589	Ciudad Nezahualcóyotl	POINT(-99.033060 19.413610)
+G3530594	Ciudad Madero	POINT(-97.833330 22.266670)
+G3530597	Mexico City	POINT(-99.127660 19.428470)
+G3530757	Cholula	POINT(-98.303520 19.064060)
+G3530870	Chilpancingo de los Bravos	POINT(-99.500000 17.550000)
+G3531200	Chalco de Díaz Covarrubias	POINT(-98.900000 19.266670)
+G3531673	Cancún	POINT(-86.846560 21.174290)
+G3531732	Campeche	POINT(-90.533330 19.850000)
+G3532497	Azcapotzalco	POINT(-99.183610 19.488890)
+G3532624	Ciudad López Mateos	POINT(-99.261390 19.558330)
+G3533462	Acapulco de Juárez	POINT(-99.890100 16.863360)
+G3827406	Benito Juarez	POINT(-99.165000 19.385000)
+G3827407	Venustiano Carranza	POINT(-99.099170 19.430000)
+G3827408	Miguel Hidalgo	POINT(-99.202780 19.422500)
+G3827409	Cuauhtémoc	POINT(-99.156940 19.417220)
+G3979770	Zapopan	POINT(-103.400000 20.716670)
+G3980760	Uruapan del Progreso	POINT(-102.066670 19.416670)
+G3981254	Torreón	POINT(-103.433330 25.550000)
+G3981369	Tonalá	POINT(-103.233330 20.616670)
+G3981461	Tlaquepaque	POINT(-103.316670 20.650000)
+G3981609	Tijuana	POINT(-117.016670 32.533330)
+G3981941	Tepic	POINT(-104.900000 21.500000)
+G3982912	Soledad Díez Gutiérrez	POINT(-100.950000 22.200000)
+G3984583	Santa Catarina	POINT(-100.458130 25.673250)
+G3985241	San Nicolás de los Garza	POINT(-100.300000 25.750000)
+G3985606	San Luis Potosí	POINT(-100.983330 22.150000)
+G3988086	Saltillo	POINT(-101.000000 25.416670)
+G3991164	Querétaro	POINT(-100.383330 20.600000)
+G3991328	Puerto Vallarta	POINT(-105.230660 20.620410)
+G3995402	Morelia	POINT(-101.184430 19.700780)
+G3995465	Monterrey	POINT(-100.316670 25.666670)
+G3995523	Monclova	POINT(-101.416670 26.900000)
+G3996069	Mexicali	POINT(-115.468330 32.651940)
+G3996322	Mazatlán	POINT(-106.416670 23.216670)
+G3997479	Los Mochis	POINT(-108.966670 25.766670)
+G3998655	León	POINT(-101.666670 21.116670)
+G4000900	La Paz	POINT(-110.300000 24.166670)
+G4004330	Irapuato	POINT(-101.350000 20.683330)
+G4004886	Heroica Nogales	POINT(-110.933330 31.333330)
+G4004898	Hermosillo	POINT(-110.966670 29.066670)
+G4005492	Guadalupe	POINT(-100.250000 25.683330)
+G4005539	Guadalajara	POINT(-103.333330 20.666670)
+G4005775	Gómez Palacio	POINT(-103.500000 25.566670)
+G4005867	General Escobedo	POINT(-100.333330 25.816670)
+G4006702	Ensenada	POINT(-116.616670 31.866670)
+G4011743	Durango	POINT(-104.666670 24.033330)
+G4012176	Culiacán	POINT(-107.389720 24.799440)
+G4013704	Ciudad Obregón	POINT(-109.933330 27.483330)
+G4013708	Ciudad Juárez	POINT(-106.483330 31.733330)
+G4014338	Chihuahua	POINT(-106.083330 28.633330)
+G4014875	Celaya	POINT(-100.816670 20.516670)
+G4018390	Apodaca	POINT(-100.200000 25.766670)
+G4019233	Aguascalientes	POINT(-102.300000 21.883330)
+G7280708	Colonia del Valle	POINT(-99.162040 19.386110)
+G1732687	Batu Pahat	POINT(102.933330 1.850000)
+G1732745	Sekudai	POINT(103.666670 1.533330)
+G1732752	Johor Bahru	POINT(103.757800 1.465500)
+G1732811	Kluang	POINT(103.332800 2.025100)
+G1732903	Shah Alam	POINT(101.532810 3.085070)
+G1732905	Klang	POINT(101.450000 3.033330)
+G1733432	Kota Kinabalu	POINT(116.066670 5.983330)
+G1734052	Sandakan	POINT(118.117900 5.840200)
+G1734199	Tawau	POINT(117.900000 4.250000)
+G1734393	Kulim	POINT(100.561770 5.364990)
+G1734586	Taiping	POINT(100.733330 4.850000)
+G1734634	Ipoh	POINT(101.082900 4.584100)
+G1734705	Kuala Terengganu	POINT(103.140800 5.330200)
+G1734759	Melaka	POINT(102.248060 2.196940)
+G1734810	Seremban	POINT(101.933330 2.716670)
+G1735079	Bukit Mertajam	POINT(100.466700 5.363010)
+G1735106	George Town	POINT(100.335430 5.411230)
+G1735158	Petaling Jaya	POINT(101.606710 3.107260)
+G1735161	Kuala Lumpur	POINT(101.686530 3.141200)
+G1735227	Kuantan	POINT(103.326000 3.807700)
+G1735498	Sungai Petani	POINT(100.487720 5.647000)
+G1735634	Kuching	POINT(110.333330 1.550000)
+G1735902	Sibu	POINT(111.816670 2.300000)
+G1736309	Alor Setar	POINT(100.360140 6.121040)
+G1736376	Kota Bharu	POINT(102.238600 6.133280)
+G1737486	Bintulu	POINT(113.033330 3.166670)
+G1738050	Miri	POINT(113.983330 4.383330)
+G1771023	Kampung Baru Subang	POINT(101.533330 3.150000)
+G1028434	Quelimane	POINT(36.888330 -17.878610)
+G1033356	Nampula	POINT(39.266600 -15.116460)
+G1035025	Cidade de Nacala	POINT(40.672780 -14.542780)
+G1039854	Matola	POINT(32.458890 -25.962220)
+G1040652	Maputo	POINT(32.589170 -25.965280)
+G1049261	Chimoio	POINT(33.483330 -19.116390)
+G1052373	Beira	POINT(34.838890 -19.843610)
+G3352136	Windhoek	POINT(17.083230 -22.559410)
+G2437798	Zinder	POINT(8.988370 13.804870)
+G2440485	Niamey	POINT(2.111780 13.512500)
+G2441291	Maradi	POINT(7.101740 13.500000)
+G2317765	Zaria	POINT(7.725180 11.113240)
+G2319133	Warri	POINT(5.750000 5.516670)
+G2320576	Umuahia	POINT(7.489590 5.526270)
+G2320831	Ugep	POINT(8.081200 5.808600)
+G2322794	Abuja	POINT(7.180830 9.175830)
+G2322911	Sokoto	POINT(5.239020 13.060920)
+G2323390	Saki	POINT(3.383330 8.666670)
+G2323411	Shagamu	POINT(3.647760 6.843230)
+G2323675	Sapele	POINT(5.676660 5.894050)
+G2324774	Port Harcourt	POINT(7.013400 4.777420)
+G2325200	Oyo	POINT(3.933330 7.850000)
+G2325314	Owo	POINT(5.586810 7.196200)
+G2325330	Owerri	POINT(7.030410 5.483330)
+G2326016	Onitsha	POINT(6.788450 6.145430)
+G2326171	Ondo	POINT(4.833330 7.100000)
+G2328765	Nnewi	POINT(6.914780 6.019860)
+G2329821	Mubi	POINT(13.264360 10.267610)
+G2330100	Minna	POINT(6.556940 9.613890)
+G2331140	Makurdi	POINT(8.512100 7.741100)
+G2331447	Maiduguri	POINT(13.160270 11.846440)
+G2332459	Lagos	POINT(3.395830 6.453060)
+G2334327	Kishi	POINT(3.850000 9.083330)
+G2334802	Katsina	POINT(7.600630 12.989430)
+G2335204	Kano	POINT(8.513810 11.994350)
+G2335727	Kaduna	POINT(7.438280 10.522240)
+G2335953	Jos	POINT(8.900000 9.916670)
+G2336056	Jimeta	POINT(12.466670 9.283330)
+G2336905	Iwo	POINT(4.183330 7.633330)
+G2337207	Ise-Ekiti	POINT(5.428100 7.463200)
+G2337490	Inisa	POINT(4.333330 7.850000)
+G2337639	Ilorin	POINT(4.550000 8.500000)
+G2337704	Ilesa	POINT(4.733330 7.616670)
+G2337765	Ila Orangun	POINT(4.900000 8.016670)
+G2338106	Ikot-Ekpene	POINT(7.710820 5.179380)
+G2338273	Ikire	POINT(4.183330 7.350000)
+G2338385	Ijero-Ekiti	POINT(5.074200 7.813900)
+G2338400	Ijebu-Ode	POINT(3.915880 6.816090)
+G2339354	Ibadan	POINT(3.896390 7.387780)
+G2339937	Gusau	POINT(6.661350 12.162780)
+G2340451	Gombe	POINT(11.167290 10.289690)
+G2343279	Enugu	POINT(7.494300 6.440200)
+G2343983	Effon Alaiye	POINT(4.916670 7.650000)
+G2344082	Ebute Ikorodu	POINT(3.488180 6.600860)
+G2345521	Damaturu	POINT(11.960800 11.747000)
+G2346229	Calabar	POINT(8.322000 4.951700)
+G2347209	Bida	POINT(6.016670 9.083330)
+G2347283	Benin City	POINT(5.627490 6.335040)
+G2347470	Bauchi	POINT(9.843270 10.313440)
+G2348773	Awka	POINT(7.074110 6.210090)
+G2350841	Akure	POINT(5.193120 7.252560)
+G2352778	Abuja	POINT(7.489760 9.057350)
+G2352947	Abeokuta	POINT(3.350000 7.150000)
+G2353151	Aba	POINT(7.366670 5.106580)
+G3617763	Managua	POINT(-86.250400 12.132820)
+G2745912	Utrecht	POINT(5.122220 52.090830)
+G2746301	Tilburg	POINT(5.091300 51.555510)
+G2747373	Den Haag	POINT(4.298610 52.076670)
+G2747891	Rotterdam	POINT(4.47917

<TRUNCATED>

[80/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
new file mode 100644
index 0000000..b74dc93
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
@@ -0,0 +1,99 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.util.Map;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+
+/**
+ * Abstract Factory for creating {@link SpatialPrefixTree} instances with useful
+ * defaults and passed on configurations defined in a Map.
+ *
+ * @lucene.experimental
+ */
+public abstract class SpatialPrefixTreeFactory {
+
+  private static final double DEFAULT_GEO_MAX_DETAIL_KM = 0.001;//1m
+  public static final String PREFIX_TREE = "prefixTree";
+  public static final String MAX_LEVELS = "maxLevels";
+  public static final String MAX_DIST_ERR = "maxDistErr";
+
+  protected Map<String, String> args;
+  protected SpatialContext ctx;
+  protected Integer maxLevels;
+
+  /**
+   * The factory  is looked up via "prefixTree" in args, expecting "geohash" or "quad".
+   * If it's neither of these, then "geohash" is chosen for a geo context, otherwise "quad" is chosen.
+   */
+  public static SpatialPrefixTree makeSPT(Map<String,String> args, ClassLoader classLoader, SpatialContext ctx) {
+    SpatialPrefixTreeFactory instance;
+    String cname = args.get(PREFIX_TREE);
+    if (cname == null)
+      cname = ctx.isGeo() ? "geohash" : "quad";
+    if ("geohash".equalsIgnoreCase(cname))
+      instance = new GeohashPrefixTree.Factory();
+    else if ("quad".equalsIgnoreCase(cname))
+      instance = new QuadPrefixTree.Factory();
+    else if ("packedQuad".equalsIgnoreCase(cname))
+      instance = new PackedQuadPrefixTree.Factory();
+    else {
+      try {
+        Class<?> c = classLoader.loadClass(cname);
+        instance = (SpatialPrefixTreeFactory) c.newInstance();
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+    instance.init(args,ctx);
+    return instance.newSPT();
+  }
+
+  protected void init(Map<String, String> args, SpatialContext ctx) {
+    this.args = args;
+    this.ctx = ctx;
+    initMaxLevels();
+  }
+
+  protected void initMaxLevels() {
+    String mlStr = args.get(MAX_LEVELS);
+    if (mlStr != null) {
+      maxLevels = Integer.valueOf(mlStr);
+      return;
+    }
+
+    double degrees;
+    String maxDetailDistStr = args.get(MAX_DIST_ERR);
+    if (maxDetailDistStr == null) {
+      if (!ctx.isGeo()) {
+        return;//let default to max
+      }
+      degrees = DistanceUtils.dist2Degrees(DEFAULT_GEO_MAX_DETAIL_KM, DistanceUtils.EARTH_MEAN_RADIUS_KM);
+    } else {
+      degrees = Double.parseDouble(maxDetailDistStr);
+    }
+    maxLevels = getLevelForDistance(degrees);
+  }
+
+  /** Calls {@link SpatialPrefixTree#getLevelForDistance(double)}. */
+  protected abstract int getLevelForDistance(double degrees);
+
+  protected abstract SpatialPrefixTree newSPT();
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
new file mode 100644
index 0000000..3ec56ac
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
@@ -0,0 +1,87 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+
+/**
+ * Navigates a {@link org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree} from a given cell (typically the world
+ * cell) down to a maximum number of configured levels, filtered by a given shape. Intermediate non-leaf cells are
+ * returned. It supports {@link #remove()} for skipping traversal of subcells of the current cell.
+ *
+ * @lucene.internal
+ */
+class TreeCellIterator extends CellIterator {
+  //This class uses a stack approach, which is more efficient than creating linked nodes. And it might more easily
+  // pave the way for re-using Cell & CellIterator at a given level in the future.
+
+  private final Shape shapeFilter;//possibly null
+  private final CellIterator[] iterStack;//starts at level 1
+  private int stackIdx;//-1 when done
+  private boolean descend;
+
+  public TreeCellIterator(Shape shapeFilter, int detailLevel, Cell parentCell) {
+    this.shapeFilter = shapeFilter;
+    assert parentCell.getLevel() == 0;
+    iterStack = new CellIterator[detailLevel];
+    iterStack[0] = parentCell.getNextLevelCells(shapeFilter);
+    stackIdx = 0;//always points to an iter (non-null)
+    //note: not obvious but needed to visit the first cell before trying to descend
+    descend = false;
+  }
+
+  @Override
+  public boolean hasNext() {
+    if (nextCell != null)
+      return true;
+    while (true) {
+      if (stackIdx == -1)//the only condition in which we return false
+        return false;
+      //If we can descend...
+      if (descend && !(stackIdx == iterStack.length - 1 || iterStack[stackIdx].thisCell().isLeaf())) {
+        CellIterator nextIter = iterStack[stackIdx].thisCell().getNextLevelCells(shapeFilter);
+        //push stack
+        iterStack[++stackIdx] = nextIter;
+      }
+      //Get sibling...
+      if (iterStack[stackIdx].hasNext()) {
+        nextCell = iterStack[stackIdx].next();
+        //at detailLevel
+        if (stackIdx == iterStack.length - 1 && !(shapeFilter instanceof Point)) //point check is a kludge
+          nextCell.setLeaf();//because at bottom
+        break;
+      }
+      //Couldn't get next; go up...
+      //pop stack
+      iterStack[stackIdx--] = null;
+      descend = false;//so that we don't re-descend where we just were
+    }
+    assert nextCell != null;
+    descend = true;//reset
+    return true;
+  }
+
+  @Override
+  public void remove() {
+    assert thisCell() != null && nextCell == null;
+    descend = false;
+  }
+
+  //TODO implement a smart nextFrom() that looks at the parent's bytes first
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
new file mode 100644
index 0000000..cd523e0
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+/**
+ * This package is about SpatialPrefixTree and any supporting classes.
+ * A SpatialPrefixTree supports spatial indexing by index-time tokens
+ * where adding characters to a string gives greater resolution.
+ * <p>
+ * Potential Implementations include:
+ * <ul>
+ * <li>http://en.wikipedia.org/wiki/Quadtree
+ * <li>http://en.wikipedia.org/wiki/Geohash
+ * <li>http://healpix.jpl.nasa.gov/
+ * </ul>
+ */
+package org.apache.lucene.spatial.prefix.tree;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgs.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
new file mode 100644
index 0000000..0503072
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
@@ -0,0 +1,148 @@
+/*
+ * 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.lucene.spatial.query;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+
+/**
+ * Principally holds the query {@link Shape} and the {@link SpatialOperation}.
+ * It's used as an argument to some methods on {@link org.apache.lucene.spatial.SpatialStrategy}.
+ *
+ * @lucene.experimental
+ */
+public class SpatialArgs {
+
+  public static final double DEFAULT_DISTERRPCT = 0.025d;
+
+  private SpatialOperation operation;
+  private Shape shape;
+  private Double distErrPct;
+  private Double distErr;
+
+  public SpatialArgs(SpatialOperation operation, Shape shape) {
+    if (operation == null || shape == null)
+      throw new NullPointerException("operation and shape are required");
+    this.operation = operation;
+    this.shape = shape;
+  }
+
+  /**
+   * Computes the distance given a shape and the {@code distErrPct}.  The
+   * algorithm is the fraction of the distance from the center of the query
+   * shape to its closest bounding box corner.
+   *
+   * @param shape Mandatory.
+   * @param distErrPct 0 to 0.5
+   * @param ctx Mandatory
+   * @return A distance (in degrees).
+   */
+  public static double calcDistanceFromErrPct(Shape shape, double distErrPct, SpatialContext ctx) {
+    if (distErrPct < 0 || distErrPct > 0.5) {
+      throw new IllegalArgumentException("distErrPct " + distErrPct + " must be between [0 to 0.5]");
+    }
+    if (distErrPct == 0 || shape instanceof Point) {
+      return 0;
+    }
+    Rectangle bbox = shape.getBoundingBox();
+    //Compute the distance from the center to a corner.  Because the distance
+    // to a bottom corner vs a top corner can vary in a geospatial scenario,
+    // take the closest one (greater precision).
+    Point ctr = bbox.getCenter();
+    double y = (ctr.getY() >= 0 ? bbox.getMaxY() : bbox.getMinY());
+    double diagonalDist = ctx.getDistCalc().distance(ctr, bbox.getMaxX(), y);
+    return diagonalDist * distErrPct;
+  }
+
+  /**
+   * Gets the error distance that specifies how precise the query shape is. This
+   * looks at {@link #getDistErr()}, {@link #getDistErrPct()}, and {@code
+   * defaultDistErrPct}.
+   * @param defaultDistErrPct 0 to 0.5
+   * @return {@code >= 0}
+   */
+  public double resolveDistErr(SpatialContext ctx, double defaultDistErrPct) {
+    if (distErr != null)
+      return distErr;
+    double distErrPct = (this.distErrPct != null ? this.distErrPct : defaultDistErrPct);
+    return calcDistanceFromErrPct(shape, distErrPct, ctx);
+  }
+
+  /** Check if the arguments make sense -- throw an exception if not */
+  public void validate() throws IllegalArgumentException {
+    if (distErr != null && distErrPct != null)
+      throw new IllegalArgumentException("Only distErr or distErrPct can be specified.");
+  }
+
+  @Override
+  public String toString() {
+    return SpatialArgsParser.writeSpatialArgs(this);
+  }
+
+  //------------------------------------------------
+  // Getters & Setters
+  //------------------------------------------------
+
+  public SpatialOperation getOperation() {
+    return operation;
+  }
+
+  public void setOperation(SpatialOperation operation) {
+    this.operation = operation;
+  }
+
+  public Shape getShape() {
+    return shape;
+  }
+
+  public void setShape(Shape shape) {
+    this.shape = shape;
+  }
+
+  /**
+   * A measure of acceptable error of the shape as a fraction.  This effectively
+   * inflates the size of the shape but should not shrink it.
+   *
+   * @return 0 to 0.5
+   * @see #calcDistanceFromErrPct(com.spatial4j.core.shape.Shape, double,
+   *      com.spatial4j.core.context.SpatialContext)
+   */
+  public Double getDistErrPct() {
+    return distErrPct;
+  }
+
+  public void setDistErrPct(Double distErrPct) {
+    if (distErrPct != null)
+      this.distErrPct = distErrPct;
+  }
+
+  /**
+   * The acceptable error of the shape.  This effectively inflates the
+   * size of the shape but should not shrink it.
+   *
+   * @return {@code >= 0}
+   */
+  public Double getDistErr() {
+    return distErr;
+  }
+
+  public void setDistErr(Double distErr) {
+    this.distErr = distErr;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
new file mode 100644
index 0000000..81612ff
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
@@ -0,0 +1,146 @@
+/*
+ * 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.lucene.spatial.query;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.exception.InvalidShapeException;
+import com.spatial4j.core.shape.Shape;
+
+import java.text.ParseException;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+/**
+ * Parses a string that usually looks like "OPERATION(SHAPE)" into a {@link SpatialArgs}
+ * object. The set of operations supported are defined in {@link SpatialOperation}, such
+ * as "Intersects" being a common one. The shape portion is defined by WKT {@link com.spatial4j.core.io.WktShapeParser},
+ * but it can be overridden/customized via {@link #parseShape(String, com.spatial4j.core.context.SpatialContext)}.
+ * There are some optional name-value pair parameters that follow the closing parenthesis.  Example:
+ * <pre>
+ *   Intersects(ENVELOPE(-10,-8,22,20)) distErrPct=0.025
+ * </pre>
+ * <p>
+ * In the future it would be good to support something at least semi-standardized like a
+ * variant of <a href="http://docs.geoserver.org/latest/en/user/filter/ecql_reference.html#spatial-predicate">
+ *   [E]CQL</a>.
+ *
+ * @lucene.experimental
+ */
+public class SpatialArgsParser {
+
+  public static final String DIST_ERR_PCT = "distErrPct";
+  public static final String DIST_ERR = "distErr";
+
+  /** Writes a close approximation to the parsed input format. */
+  static String writeSpatialArgs(SpatialArgs args) {
+    StringBuilder str = new StringBuilder();
+    str.append(args.getOperation().getName());
+    str.append('(');
+    str.append(args.getShape().toString());
+    if (args.getDistErrPct() != null)
+      str.append(" distErrPct=").append(String.format(Locale.ROOT, "%.2f%%", args.getDistErrPct() * 100d));
+    if (args.getDistErr() != null)
+      str.append(" distErr=").append(args.getDistErr());
+    str.append(')');
+    return str.toString();
+  }
+
+  /**
+   * Parses a string such as "Intersects(ENVELOPE(-10,-8,22,20)) distErrPct=0.025".
+   *
+   * @param v   The string to parse. Mandatory.
+   * @param ctx The spatial context. Mandatory.
+   * @return Not null.
+   * @throws IllegalArgumentException if the parameters don't make sense or an add-on parameter is unknown
+   * @throws ParseException If there is a problem parsing the string
+   * @throws InvalidShapeException When the coordinates are invalid for the shape
+   */
+  public SpatialArgs parse(String v, SpatialContext ctx) throws ParseException, InvalidShapeException {
+    int idx = v.indexOf('(');
+    int edx = v.lastIndexOf(')');
+
+    if (idx < 0 || idx > edx) {
+      throw new ParseException("missing parens: " + v, -1);
+    }
+
+    SpatialOperation op = SpatialOperation.get(v.substring(0, idx).trim());
+
+    String body = v.substring(idx + 1, edx).trim();
+    if (body.length() < 1) {
+      throw new ParseException("missing body : " + v, idx + 1);
+    }
+
+    Shape shape = parseShape(body, ctx);
+    SpatialArgs args = newSpatialArgs(op, shape);
+
+    if (v.length() > (edx + 1)) {
+      body = v.substring(edx + 1).trim();
+      if (body.length() > 0) {
+        Map<String, String> aa = parseMap(body);
+        readNameValuePairs(args, aa);
+        if (!aa.isEmpty()) {
+          throw new IllegalArgumentException("unused parameters: " + aa);
+        }
+      }
+    }
+    args.validate();
+    return args;
+  }
+
+  protected SpatialArgs newSpatialArgs(SpatialOperation op, Shape shape) {
+    return new SpatialArgs(op, shape);
+  }
+
+  protected void readNameValuePairs(SpatialArgs args, Map<String, String> nameValPairs) {
+    args.setDistErrPct(readDouble(nameValPairs.remove(DIST_ERR_PCT)));
+    args.setDistErr(readDouble(nameValPairs.remove(DIST_ERR)));
+  }
+
+  protected Shape parseShape(String str, SpatialContext ctx) throws ParseException {
+    //return ctx.readShape(str);//still in Spatial4j 0.4 but will be deleted
+    return ctx.readShapeFromWkt(str);
+  }
+
+  protected static Double readDouble(String v) {
+    return v == null ? null : Double.valueOf(v);
+  }
+
+  protected static boolean readBool(String v, boolean defaultValue) {
+    return v == null ? defaultValue : Boolean.parseBoolean(v);
+  }
+
+  /** Parses "a=b c=d f" (whitespace separated) into name-value pairs. If there
+   * is no '=' as in 'f' above then it's short for f=f. */
+  protected static Map<String, String> parseMap(String body) {
+    Map<String, String> map = new HashMap<>();
+    StringTokenizer st = new StringTokenizer(body, " \n\t");
+    while (st.hasMoreTokens()) {
+      String a = st.nextToken();
+      int idx = a.indexOf('=');
+      if (idx > 0) {
+        String k = a.substring(0, idx);
+        String v = a.substring(idx + 1);
+        map.put(k, v);
+      } else {
+        map.put(a, a);
+      }
+    }
+    return map;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialOperation.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
new file mode 100644
index 0000000..7d750ac
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
@@ -0,0 +1,179 @@
+/*
+ * 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.lucene.spatial.query;
+
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * A predicate that compares a stored geometry to a supplied geometry. It's enum-like. For more
+ * explanation of each predicate, consider looking at the source implementation
+ * of {@link #evaluate(com.spatial4j.core.shape.Shape, com.spatial4j.core.shape.Shape)}. It's important
+ * to be aware that Lucene-spatial makes no distinction of shape boundaries, unlike many standardized
+ * definitions. Nor does it make dimensional distinctions (e.g. line vs polygon).
+ * You can lookup a predicate by "Covers" or "Contains", for example, and you will get the
+ * same underlying predicate implementation.
+ *
+ * @see <a href="http://en.wikipedia.org/wiki/DE-9IM">DE-9IM at Wikipedia, based on OGC specs</a>
+ * @see <a href="http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm">
+ *   ESRIs docs on spatial relations</a>
+ *
+ * @lucene.experimental
+ */
+public abstract class SpatialOperation implements Serializable {
+  //TODO rename to SpatialPredicate. Use enum?  LUCENE-5771
+
+  // Private registry
+  private static final Map<String, SpatialOperation> registry = new HashMap<>();//has aliases
+  private static final List<SpatialOperation> list = new ArrayList<>();
+
+  // Geometry Operations
+
+  /** Bounding box of the *indexed* shape, then {@link #Intersects}. */
+  public static final SpatialOperation BBoxIntersects = new SpatialOperation("BBoxIntersects") {
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return indexedShape.getBoundingBox().relate(queryShape).intersects();
+    }
+  };
+  /** Bounding box of the *indexed* shape, then {@link #IsWithin}. */
+  public static final SpatialOperation BBoxWithin     = new SpatialOperation("BBoxWithin") {
+    {
+      register("BBoxCoveredBy");//alias -- the better name
+    }
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      Rectangle bbox = indexedShape.getBoundingBox();
+      return bbox.relate(queryShape) == SpatialRelation.WITHIN || bbox.equals(queryShape);
+    }
+  };
+  /** Meets the "Covers" OGC definition (boundary-neutral). */
+  public static final SpatialOperation Contains       = new SpatialOperation("Contains") {
+    {
+      register("Covers");//alias -- the better name
+    }
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return indexedShape.relate(queryShape) == SpatialRelation.CONTAINS || indexedShape.equals(queryShape);
+    }
+  };
+  /** Meets the "Intersects" OGC definition. */
+  public static final SpatialOperation Intersects     = new SpatialOperation("Intersects") {
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return indexedShape.relate(queryShape).intersects();
+    }
+  };
+  /** Meets the "Equals" OGC definition. */
+  public static final SpatialOperation IsEqualTo      = new SpatialOperation("Equals") {
+    {
+      register("IsEqualTo");//alias (deprecated)
+    }
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return indexedShape.equals(queryShape);
+    }
+  };
+  /** Meets the "Disjoint" OGC definition. */
+  public static final SpatialOperation IsDisjointTo   = new SpatialOperation("Disjoint") {
+    {
+      register("IsDisjointTo");//alias (deprecated)
+    }
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return ! indexedShape.relate(queryShape).intersects();
+    }
+  };
+  /** Meets the "CoveredBy" OGC definition (boundary-neutral). */
+  public static final SpatialOperation IsWithin       = new SpatialOperation("Within") {
+    {
+      register("IsWithin");//alias (deprecated)
+      register("CoveredBy");//alias -- the more appropriate name.
+    }
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return indexedShape.relate(queryShape) == SpatialRelation.WITHIN || indexedShape.equals(queryShape);
+    }
+  };
+  /** Almost meets the "Overlaps" OGC definition, but boundary-neutral (boundary==interior). */
+  public static final SpatialOperation Overlaps       = new SpatialOperation("Overlaps") {
+    @Override
+    public boolean evaluate(Shape indexedShape, Shape queryShape) {
+      return indexedShape.relate(queryShape) == SpatialRelation.INTERSECTS;//not Contains or Within or Disjoint
+    }
+  };
+
+  private final String name;
+
+  protected SpatialOperation(String name) {
+    this.name = name;
+    register(name);
+    list.add( this );
+  }
+
+  protected void register(String name) {
+    registry.put(name, this);
+    registry.put(name.toUpperCase(Locale.ROOT), this);
+  }
+
+  public static SpatialOperation get( String v ) {
+    SpatialOperation op = registry.get( v );
+    if( op == null ) {
+      op = registry.get(v.toUpperCase(Locale.ROOT));
+    }
+    if( op == null ) {
+      throw new IllegalArgumentException("Unknown Operation: " + v );
+    }
+    return op;
+  }
+
+  public static List<SpatialOperation> values() {
+    return list;
+  }
+
+  public static boolean is( SpatialOperation op, SpatialOperation ... tst ) {
+    for( SpatialOperation t : tst ) {
+      if( op == t ) {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  /**
+   * Returns whether the relationship between indexedShape and queryShape is
+   * satisfied by this operation.
+   */
+  public abstract boolean evaluate(Shape indexedShape, Shape queryShape);
+
+  public String getName() {
+    return name;
+  }
+
+  @Override
+  public String toString() {
+    return name;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
new file mode 100644
index 0000000..d6cb152
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
@@ -0,0 +1,28 @@
+/*
+ * 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.lucene.spatial.query;
+
+/**
+ * Exception thrown when the {@link org.apache.lucene.spatial.SpatialStrategy} cannot implement the requested operation.
+ * @lucene.experimental
+ */
+public class UnsupportedSpatialOperation extends UnsupportedOperationException {
+
+  public UnsupportedSpatialOperation(SpatialOperation op) {
+    super(op.getName());
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/package-info.java
new file mode 100644
index 0000000..f3ed445
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/query/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+/**
+ * Spatial Query options useful for client side requests
+ */
+package org.apache.lucene.spatial.query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
new file mode 100644
index 0000000..a6c575b
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
@@ -0,0 +1,278 @@
+/*
+ * 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.lucene.spatial.serialized;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.util.Map;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.io.BinaryCodec;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.BinaryDocValuesField;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.index.BinaryDocValues;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.RandomAccessWeight;
+import org.apache.lucene.search.TwoPhaseIterator;
+import org.apache.lucene.search.Weight;
+import org.apache.lucene.spatial.SpatialStrategy;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.util.DistanceToShapeValueSource;
+import org.apache.lucene.spatial.util.ShapePredicateValueSource;
+import org.apache.lucene.util.Bits;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefBuilder;
+
+
+/**
+ * A SpatialStrategy based on serializing a Shape stored into BinaryDocValues.
+ * This is not at all fast; it's designed to be used in conjunction with another index based
+ * SpatialStrategy that is approximated (like {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy})
+ * to add precision or eventually make more specific / advanced calculations on the per-document
+ * geometry.
+ * The serialization uses Spatial4j's {@link com.spatial4j.core.io.BinaryCodec}.
+ *
+ * @lucene.experimental
+ */
+public class SerializedDVStrategy extends SpatialStrategy {
+
+  /**
+   * A cache heuristic for the buf size based on the last shape size.
+   */
+  //TODO do we make this non-volatile since it's merely a heuristic?
+  private volatile int indexLastBufSize = 8 * 1024;//8KB default on first run
+
+  /**
+   * Constructs the spatial strategy with its mandatory arguments.
+   */
+  public SerializedDVStrategy(SpatialContext ctx, String fieldName) {
+    super(ctx, fieldName);
+  }
+
+  @Override
+  public Field[] createIndexableFields(Shape shape) {
+    int bufSize = Math.max(128, (int) (this.indexLastBufSize * 1.5));//50% headroom over last
+    ByteArrayOutputStream byteStream = new ByteArrayOutputStream(bufSize);
+    final BytesRef bytesRef = new BytesRef();//receiver of byteStream's bytes
+    try {
+      ctx.getBinaryCodec().writeShape(new DataOutputStream(byteStream), shape);
+      //this is a hack to avoid redundant byte array copying by byteStream.toByteArray()
+      byteStream.writeTo(new FilterOutputStream(null/*not used*/) {
+        @Override
+        public void write(byte[] b, int off, int len) throws IOException {
+          bytesRef.bytes = b;
+          bytesRef.offset = off;
+          bytesRef.length = len;
+        }
+      });
+    } catch (IOException e) {
+      throw new RuntimeException(e);
+    }
+    this.indexLastBufSize = bytesRef.length;//cache heuristic
+    return new Field[]{new BinaryDocValuesField(getFieldName(), bytesRef)};
+  }
+
+  @Override
+  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
+    //TODO if makeShapeValueSource gets lifted to the top; this could become a generic impl.
+    return new DistanceToShapeValueSource(makeShapeValueSource(), queryPoint, multiplier, ctx);
+  }
+
+  /**
+   * Returns a Query that should be used in a random-access fashion.
+   * Use in another manner will be SLOW.
+   */
+  @Override
+  public Query makeQuery(SpatialArgs args) {
+    ValueSource shapeValueSource = makeShapeValueSource();
+    ShapePredicateValueSource predicateValueSource = new ShapePredicateValueSource(
+        shapeValueSource, args.getOperation(), args.getShape());
+    return new PredicateValueSourceQuery(predicateValueSource);
+  }
+
+  /**
+   * Provides access to each shape per document as a ValueSource in which
+   * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)} returns a {@link
+   * Shape}.
+   */ //TODO raise to SpatialStrategy
+  public ValueSource makeShapeValueSource() {
+    return new ShapeDocValueSource(getFieldName(), ctx.getBinaryCodec());
+  }
+
+  /** Warning: don't iterate over the results of this query; it's designed for use in a random-access fashion
+   * by {@link TwoPhaseIterator}.
+   */
+  static class PredicateValueSourceQuery extends Query {
+    private final ValueSource predicateValueSource;//we call boolVal(doc)
+
+    public PredicateValueSourceQuery(ValueSource predicateValueSource) {
+      this.predicateValueSource = predicateValueSource;
+    }
+
+    @Override
+    public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
+      return new RandomAccessWeight(this) {
+        @Override
+        protected Bits getMatchingDocs(LeafReaderContext context) throws IOException {
+          final FunctionValues predFuncValues = predicateValueSource.getValues(null, context);
+          return new Bits() {
+            @Override
+            public boolean get(int index) {
+              return predFuncValues.boolVal(index);
+            }
+
+            @Override
+            public int length() {
+              return context.reader().maxDoc();
+            }
+          };
+        }
+      };
+    }
+
+    @Override
+    public boolean equals(Object o) {
+      if (this == o) return true;
+      if (super.equals(o) == false) return false;
+
+      PredicateValueSourceQuery that = (PredicateValueSourceQuery) o;
+
+      if (!predicateValueSource.equals(that.predicateValueSource)) return false;
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return super.hashCode() + 31 * predicateValueSource.hashCode();
+    }
+
+    @Override
+    public String toString(String field) {
+      return "PredicateValueSourceQuery(" +
+               predicateValueSource.toString() +
+             ")";
+    }
+  }//PredicateValueSourceQuery
+
+  /**
+   * Implements a ValueSource by deserializing a Shape in from BinaryDocValues using BinaryCodec.
+   * @see #makeShapeValueSource()
+   */
+  static class ShapeDocValueSource extends ValueSource {
+
+    private final String fieldName;
+    private final BinaryCodec binaryCodec;//spatial4j
+
+    private ShapeDocValueSource(String fieldName, BinaryCodec binaryCodec) {
+      this.fieldName = fieldName;
+      this.binaryCodec = binaryCodec;
+    }
+
+    @Override
+    public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+      final BinaryDocValues docValues = readerContext.reader().getBinaryDocValues(fieldName);
+
+      return new FunctionValues() {
+        int bytesRefDoc = -1;
+        BytesRefBuilder bytesRef = new BytesRefBuilder();
+
+        boolean fillBytes(int doc) {
+          if (bytesRefDoc != doc) {
+            bytesRef.copyBytes(docValues.get(doc));
+            bytesRefDoc = doc;
+          }
+          return bytesRef.length() != 0;
+        }
+
+        @Override
+        public boolean exists(int doc) {
+          return fillBytes(doc);
+        }
+
+        @Override
+        public boolean bytesVal(int doc, BytesRefBuilder target) {
+          target.clear();
+          if (fillBytes(doc)) {
+            target.copyBytes(bytesRef);
+            return true;
+          } else {
+            return false;
+          }
+        }
+
+        @Override
+        public Object objectVal(int docId) {
+          if (!fillBytes(docId))
+            return null;
+          DataInputStream dataInput = new DataInputStream(
+              new ByteArrayInputStream(bytesRef.bytes(), 0, bytesRef.length()));
+          try {
+            return binaryCodec.readShape(dataInput);
+          } catch (IOException e) {
+            throw new RuntimeException(e);
+          }
+        }
+
+        @Override
+        public Explanation explain(int doc) {
+          return Explanation.match(Float.NaN, toString(doc));
+        }
+
+        @Override
+        public String toString(int doc) {
+          return description() + "=" + objectVal(doc);//TODO truncate?
+        }
+
+      };
+    }
+
+    @Override
+    public boolean equals(Object o) {
+      if (this == o) return true;
+      if (o == null || getClass() != o.getClass()) return false;
+
+      ShapeDocValueSource that = (ShapeDocValueSource) o;
+
+      if (!fieldName.equals(that.fieldName)) return false;
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int result = fieldName.hashCode();
+      return result;
+    }
+
+    @Override
+    public String description() {
+      return "shapeDocVal(" + fieldName + ")";
+    }
+  }//ShapeDocValueSource
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/package-info.java
new file mode 100644
index 0000000..d89d3c7
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+/**
+ * Strategies that serialize the shape (non-indexed).
+ */
+package org.apache.lucene.spatial.serialized;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
new file mode 100644
index 0000000..f4585c8
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
@@ -0,0 +1,18 @@
+/*
+ * 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.
+ */
+/** Spatial4j stuff that ideally belongs in Spatial4j (isn't related to Lucene). */
+package org.apache.lucene.spatial.spatial4j;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
new file mode 100644
index 0000000..73d25ca
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
@@ -0,0 +1,93 @@
+/*
+ * 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.lucene.spatial.util;
+
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Caches the doubleVal of another value source in a HashMap
+ * so that it is computed only once.
+ * @lucene.internal
+ */
+public class CachingDoubleValueSource extends ValueSource {
+
+  final ValueSource source;
+  final Map<Integer, Double> cache;
+
+  public CachingDoubleValueSource( ValueSource source )
+  {
+    this.source = source;
+    cache = new HashMap<>();
+  }
+
+  @Override
+  public String description() {
+    return "Cached["+source.description()+"]";
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+    final int base = readerContext.docBase;
+    final FunctionValues vals = source.getValues(context,readerContext);
+    return new FunctionValues() {
+
+      @Override
+      public double doubleVal(int doc) {
+        Integer key = Integer.valueOf( base+doc );
+        Double v = cache.get( key );
+        if( v == null ) {
+          v = Double.valueOf( vals.doubleVal(doc) );
+          cache.put( key, v );
+        }
+        return v.doubleValue();
+      }
+
+      @Override
+      public float floatVal(int doc) {
+        return (float)doubleVal(doc);
+      }
+
+      @Override
+      public String toString(int doc) {
+        return doubleVal(doc)+"";
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    CachingDoubleValueSource that = (CachingDoubleValueSource) o;
+
+    if (source != null ? !source.equals(that.source) : that.source != null) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return source != null ? source.hashCode() : 0;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
new file mode 100644
index 0000000..57cad87
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
@@ -0,0 +1,122 @@
+/*
+ * 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.lucene.spatial.util;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.IndexSearcher;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceCalculator;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+
+/**
+ * The distance from a provided Point to a Point retrieved from a ValueSource via
+ * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)}. The distance
+ * is calculated via a {@link com.spatial4j.core.distance.DistanceCalculator}.
+ *
+ * @lucene.experimental
+ */
+public class DistanceToShapeValueSource extends ValueSource {
+  private final ValueSource shapeValueSource;
+  private final Point queryPoint;
+  private final double multiplier;
+  private final DistanceCalculator distCalc;
+
+  //TODO if FunctionValues returns NaN; will things be ok?
+  private final double nullValue;//computed
+
+  public DistanceToShapeValueSource(ValueSource shapeValueSource, Point queryPoint,
+                                    double multiplier, SpatialContext ctx) {
+    this.shapeValueSource = shapeValueSource;
+    this.queryPoint = queryPoint;
+    this.multiplier = multiplier;
+    this.distCalc = ctx.getDistCalc();
+    this.nullValue =
+        (ctx.isGeo() ? 180 * multiplier : Double.MAX_VALUE);
+  }
+
+  @Override
+  public String description() {
+    return "distance(" + queryPoint + " to " + shapeValueSource.description() + ")*" + multiplier + ")";
+  }
+
+  @Override
+  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
+    shapeValueSource.createWeight(context, searcher);
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+    final FunctionValues shapeValues = shapeValueSource.getValues(context, readerContext);
+
+    return new DoubleDocValues(this) {
+      @Override
+      public double doubleVal(int doc) {
+        Shape shape = (Shape) shapeValues.objectVal(doc);
+        if (shape == null || shape.isEmpty())
+          return nullValue;
+        Point pt = shape.getCenter();
+        return distCalc.distance(queryPoint, pt) * multiplier;
+      }
+
+      @Override
+      public Explanation explain(int doc) {
+        Explanation exp = super.explain(doc);
+        List<Explanation> details = new ArrayList<>(Arrays.asList(exp.getDetails()));
+        details.add(shapeValues.explain(doc));
+        return Explanation.match(exp.getValue(), exp.getDescription(), details);
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    DistanceToShapeValueSource that = (DistanceToShapeValueSource) o;
+
+    if (!queryPoint.equals(that.queryPoint)) return false;
+    if (Double.compare(that.multiplier, multiplier) != 0) return false;
+    if (!shapeValueSource.equals(that.shapeValueSource)) return false;
+    if (!distCalc.equals(that.distCalc)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result;
+    long temp;
+    result = shapeValueSource.hashCode();
+    result = 31 * result + queryPoint.hashCode();
+    temp = Double.doubleToLongBits(multiplier);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    return result;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
new file mode 100644
index 0000000..dd391d1
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
@@ -0,0 +1,116 @@
+/*
+ * 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.lucene.spatial.util;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.IndexSearcher;
+
+/**
+ * The area of a Shape retrieved from a ValueSource via
+ * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)}.
+ *
+ * @see Shape#getArea(com.spatial4j.core.context.SpatialContext)
+ *
+ * @lucene.experimental
+ */
+public class ShapeAreaValueSource extends ValueSource {
+  private final ValueSource shapeValueSource;
+  private final SpatialContext ctx;//not part of identity; should be associated with shapeValueSource indirectly
+  private final boolean geoArea;
+  private double multiplier;
+
+  public ShapeAreaValueSource(ValueSource shapeValueSource, SpatialContext ctx, boolean geoArea, double multiplier) {
+    this.shapeValueSource = shapeValueSource;
+    this.ctx = ctx;
+    this.geoArea = geoArea;
+    this.multiplier = multiplier;
+  }
+
+  @Override
+  public String description() {
+    return "area(" + shapeValueSource.description() + ",geo=" + geoArea + ")";
+  }
+
+  @Override
+  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
+    shapeValueSource.createWeight(context, searcher);
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+    final FunctionValues shapeValues = shapeValueSource.getValues(context, readerContext);
+
+    return new DoubleDocValues(this) {
+      @Override
+      public double doubleVal(int doc) {
+        Shape shape = (Shape) shapeValues.objectVal(doc);
+        if (shape == null || shape.isEmpty())
+          return 0;//or NaN?
+        //This part of Spatial4j API is kinda weird. Passing null means 2D area, otherwise geo
+        //   assuming ctx.isGeo()
+        return shape.getArea( geoArea ? ctx : null ) * multiplier;
+      }
+
+      @Override
+      public boolean exists(int doc) {
+        return shapeValues.exists(doc);
+      }
+
+      @Override
+      public Explanation explain(int doc) {
+        Explanation exp = super.explain(doc);
+        List<Explanation> details = new ArrayList<>(Arrays.asList(exp.getDetails()));
+        details.add(shapeValues.explain(doc));
+        return Explanation.match(exp.getValue(), exp.getDescription(), details);
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    ShapeAreaValueSource that = (ShapeAreaValueSource) o;
+
+    if (geoArea != that.geoArea) return false;
+    if (!shapeValueSource.equals(that.shapeValueSource)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = shapeValueSource.hashCode();
+    result = 31 * result + (geoArea ? 1 : 0);
+    return result;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
new file mode 100644
index 0000000..480369b
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
@@ -0,0 +1,54 @@
+/*
+ * 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.lucene.spatial.util;
+
+import com.spatial4j.core.shape.Shape;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Bounded Cache of Shapes associated with docIds.  Note, multiple Shapes can be
+ * associated with a given docId.
+ * <p>
+ * WARNING: This class holds the data in an extremely inefficient manner as all Points are in memory as objects and they
+ * are stored in many ArrayLists (one per document).  So it works but doesn't scale.  It will be replaced in the future.
+ *
+ * @lucene.internal
+ */
+public class ShapeFieldCache<T extends Shape> {
+  private final List<T>[] cache;
+  public final int defaultLength;
+
+  @SuppressWarnings({"unchecked", "rawtypes"})
+  public ShapeFieldCache( int length, int defaultLength ) {
+    cache = new List[length];
+    this.defaultLength= defaultLength;
+  }
+
+  public void add( int docid, T s ) {
+    List<T> list = cache[docid];
+    if( list == null ) {
+      list = cache[docid] = new ArrayList<>(defaultLength);
+    }
+    list.add( s );
+  }
+
+  public List<T> getShapes( int docid ) {
+    return cache[docid];
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
new file mode 100644
index 0000000..e4cb146
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
@@ -0,0 +1,112 @@
+/*
+ * 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.lucene.spatial.util;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceCalculator;
+import com.spatial4j.core.shape.Point;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * An implementation of the Lucene ValueSource that returns the spatial distance
+ * between an input point and a document's points in
+ * {@link ShapeFieldCacheProvider}. The shortest distance is returned if a
+ * document has more than one point.
+ *
+ * @lucene.internal
+ */
+public class ShapeFieldCacheDistanceValueSource extends ValueSource {
+
+  private final SpatialContext ctx;
+  private final Point from;
+  private final ShapeFieldCacheProvider<Point> provider;
+  private final double multiplier;
+
+  public ShapeFieldCacheDistanceValueSource(SpatialContext ctx,
+      ShapeFieldCacheProvider<Point> provider, Point from, double multiplier) {
+    this.ctx = ctx;
+    this.from = from;
+    this.provider = provider;
+    this.multiplier = multiplier;
+  }
+
+  @Override
+  public String description() {
+    return getClass().getSimpleName()+"("+provider+", "+from+")";
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, final LeafReaderContext readerContext) throws IOException {
+    return new FunctionValues() {
+      private final ShapeFieldCache<Point> cache =
+          provider.getCache(readerContext.reader());
+      private final Point from = ShapeFieldCacheDistanceValueSource.this.from;
+      private final DistanceCalculator calculator = ctx.getDistCalc();
+      private final double nullValue = (ctx.isGeo() ? 180 * multiplier : Double.MAX_VALUE);
+
+      @Override
+      public float floatVal(int doc) {
+        return (float) doubleVal(doc);
+      }
+
+      @Override
+      public double doubleVal(int doc) {
+
+        List<Point> vals = cache.getShapes( doc );
+        if( vals != null ) {
+          double v = calculator.distance(from, vals.get(0));
+          for( int i=1; i<vals.size(); i++ ) {
+            v = Math.min(v, calculator.distance(from, vals.get(i)));
+          }
+          return v * multiplier;
+        }
+        return nullValue;
+      }
+
+      @Override
+      public String toString(int doc) {
+        return description() + "=" + floatVal(doc);
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    ShapeFieldCacheDistanceValueSource that = (ShapeFieldCacheDistanceValueSource) o;
+
+    if (!ctx.equals(that.ctx)) return false;
+    if (!from.equals(that.from)) return false;
+    if (!provider.equals(that.provider)) return false;
+    if (multiplier != that.multiplier) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return from.hashCode();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
new file mode 100644
index 0000000..04c52f7
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
@@ -0,0 +1,87 @@
+/*
+ * 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.lucene.spatial.util;
+
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.index.*;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.util.BytesRef;
+
+import java.io.IOException;
+import java.util.WeakHashMap;
+import java.util.logging.Logger;
+
+/**
+ * Provides access to a {@link ShapeFieldCache} for a given {@link org.apache.lucene.index.LeafReader}.
+ *
+ * If a Cache does not exist for the Reader, then it is built by iterating over
+ * the all terms for a given field, reconstructing the Shape from them, and adding
+ * them to the Cache.
+ *
+ * @lucene.internal
+ */
+public abstract class ShapeFieldCacheProvider<T extends Shape> {
+  private Logger log = Logger.getLogger(getClass().getName());
+
+  // it may be a List<T> or T
+  WeakHashMap<IndexReader, ShapeFieldCache<T>> sidx = new WeakHashMap<>();
+
+  protected final int defaultSize;
+  protected final String shapeField;
+
+  public ShapeFieldCacheProvider(String shapeField, int defaultSize) {
+    this.shapeField = shapeField;
+    this.defaultSize = defaultSize;
+  }
+
+  protected abstract T readShape( BytesRef term );
+
+  public synchronized ShapeFieldCache<T> getCache(LeafReader reader) throws IOException {
+    ShapeFieldCache<T> idx = sidx.get(reader);
+    if (idx != null) {
+      return idx;
+    }
+    long startTime = System.currentTimeMillis();
+
+    log.fine("Building Cache [" + reader.maxDoc() + "]");
+    idx = new ShapeFieldCache<>(reader.maxDoc(),defaultSize);
+    int count = 0;
+    PostingsEnum docs = null;
+    Terms terms = reader.terms(shapeField);
+    if (terms != null) {
+      TermsEnum te = terms.iterator();
+      BytesRef term = te.next();
+      while (term != null) {
+        T shape = readShape(term);
+        if( shape != null ) {
+          docs = te.postings(docs, PostingsEnum.NONE);
+          Integer docid = docs.nextDoc();
+          while (docid != DocIdSetIterator.NO_MORE_DOCS) {
+            idx.add( docid, shape );
+            docid = docs.nextDoc();
+            count++;
+          }
+        }
+        term = te.next();
+      }
+    }
+    sidx.put(reader, idx);
+    long elapsed = System.currentTimeMillis() - startTime;
+    log.fine("Cached: [" + count + " in " + elapsed + "ms] " + idx);
+    return idx;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
new file mode 100644
index 0000000..b1dfaaa
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
@@ -0,0 +1,113 @@
+/*
+ * 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.lucene.spatial.util;
+
+import com.spatial4j.core.shape.Shape;
+
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.BoolDocValues;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * A boolean ValueSource that compares a shape from a provided ValueSource with a given Shape and sees
+ * if it matches a given {@link SpatialOperation} (the predicate).
+ *
+ * @lucene.experimental
+ */
+public class ShapePredicateValueSource extends ValueSource {
+  private final ValueSource shapeValuesource;//the left hand side
+  private final SpatialOperation op;
+  private final Shape queryShape;//the right hand side (constant)
+
+  /**
+   *
+   * @param shapeValuesource Must yield {@link Shape} instances from its objectVal(doc). If null
+   *                         then the result is false. This is the left-hand (indexed) side.
+   * @param op the predicate
+   * @param queryShape The shape on the right-hand (query) side.
+   */
+  public ShapePredicateValueSource(ValueSource shapeValuesource, SpatialOperation op, Shape queryShape) {
+    this.shapeValuesource = shapeValuesource;
+    this.op = op;
+    this.queryShape = queryShape;
+  }
+
+  @Override
+  public String description() {
+    return shapeValuesource + " " + op + " " + queryShape;
+  }
+
+  @Override
+  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
+    shapeValuesource.createWeight(context, searcher);
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+    final FunctionValues shapeValues = shapeValuesource.getValues(context, readerContext);
+
+    return new BoolDocValues(this) {
+      @Override
+      public boolean boolVal(int doc) {
+        Shape indexedShape = (Shape) shapeValues.objectVal(doc);
+        if (indexedShape == null)
+          return false;
+        return op.evaluate(indexedShape, queryShape);
+      }
+
+      @Override
+      public Explanation explain(int doc) {
+        Explanation exp = super.explain(doc);
+        List<Explanation> details = new ArrayList<>(Arrays.asList(exp.getDetails()));
+        details.add(shapeValues.explain(doc));
+        return Explanation.match(exp.getValue(), exp.getDescription(), details);
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    ShapePredicateValueSource that = (ShapePredicateValueSource) o;
+
+    if (!shapeValuesource.equals(that.shapeValuesource)) return false;
+    if (!op.equals(that.op)) return false;
+    if (!queryShape.equals(that.queryShape)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = shapeValuesource.hashCode();
+    result = 31 * result + op.hashCode();
+    result = 31 * result + queryShape.hashCode();
+    return result;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/package-info.java
new file mode 100644
index 0000000..7fec149
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+
+/**
+ * Various spatial utilities.
+ */
+package org.apache.lucene.spatial.util;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
new file mode 100644
index 0000000..d31fd59
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
@@ -0,0 +1,120 @@
+/*
+ * 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.lucene.spatial.vector;
+
+import com.spatial4j.core.distance.DistanceCalculator;
+import com.spatial4j.core.shape.Point;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.util.Bits;
+
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * An implementation of the Lucene ValueSource model that returns the distance
+ * for a {@link PointVectorStrategy}.
+ *
+ * @lucene.internal
+ */
+public class DistanceValueSource extends ValueSource {
+
+  private PointVectorStrategy strategy;
+  private final Point from;
+  private final double multiplier;
+
+  /**
+   * Constructor.
+   */
+  public DistanceValueSource(PointVectorStrategy strategy, Point from, double multiplier) {
+    this.strategy = strategy;
+    this.from = from;
+    this.multiplier = multiplier;
+  }
+
+  /**
+   * Returns the ValueSource description.
+   */
+  @Override
+  public String description() {
+    return "DistanceValueSource("+strategy+", "+from+")";
+  }
+
+  /**
+   * Returns the FunctionValues used by the function query.
+   */
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+    LeafReader reader = readerContext.reader();
+
+    final NumericDocValues ptX = DocValues.getNumeric(reader, strategy.getFieldNameX());
+    final NumericDocValues ptY = DocValues.getNumeric(reader, strategy.getFieldNameY());
+    final Bits validX =  DocValues.getDocsWithField(reader, strategy.getFieldNameX());
+    final Bits validY =  DocValues.getDocsWithField(reader, strategy.getFieldNameY());
+
+    return new FunctionValues() {
+
+      private final Point from = DistanceValueSource.this.from;
+      private final DistanceCalculator calculator = strategy.getSpatialContext().getDistCalc();
+      private final double nullValue =
+          (strategy.getSpatialContext().isGeo() ? 180 * multiplier : Double.MAX_VALUE);
+
+      @Override
+      public float floatVal(int doc) {
+        return (float) doubleVal(doc);
+      }
+
+      @Override
+      public double doubleVal(int doc) {
+        // make sure it has minX and area
+        if (validX.get(doc)) {
+          assert validY.get(doc);
+          return calculator.distance(from, Double.longBitsToDouble(ptX.get(doc)), Double.longBitsToDouble(ptY.get(doc))) * multiplier;
+        }
+        return nullValue;
+      }
+
+      @Override
+      public String toString(int doc) {
+        return description() + "=" + floatVal(doc);
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    DistanceValueSource that = (DistanceValueSource) o;
+
+    if (!from.equals(that.from)) return false;
+    if (!strategy.equals(that.strategy)) return false;
+    if (multiplier != that.multiplier) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return from.hashCode();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
new file mode 100644
index 0000000..f572f82
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
@@ -0,0 +1,178 @@
+/*
+ * 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.lucene.spatial.vector;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Circle;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.LegacyDoubleField;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.queries.function.FunctionRangeQuery;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.LegacyNumericRangeQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.SpatialStrategy;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
+
+/**
+ * Simple {@link SpatialStrategy} which represents Points in two numeric {@link
+ * org.apache.lucene.document.LegacyDoubleField}s.  The Strategy's best feature is decent distance sort.
+ *
+ * <p>
+ * <b>Characteristics:</b>
+ * <br>
+ * <ul>
+ * <li>Only indexes points; just one per field value.</li>
+ * <li>Can query by a rectangle or circle.</li>
+ * <li>{@link
+ * org.apache.lucene.spatial.query.SpatialOperation#Intersects} and {@link
+ * SpatialOperation#IsWithin} is supported.</li>
+ * <li>Uses the FieldCache for
+ * {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point)} and for
+ * searching with a Circle.</li>
+ * </ul>
+ *
+ * <p>
+ * <b>Implementation:</b>
+ * <p>
+ * This is a simple Strategy.  Search works with {@link org.apache.lucene.search.LegacyNumericRangeQuery}s on
+ * an x and y pair of fields.  A Circle query does the same bbox query but adds a
+ * ValueSource filter on
+ * {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point)}.
+ * <p>
+ * One performance shortcoming with this strategy is that a scenario involving
+ * both a search using a Circle and sort will result in calculations for the
+ * spatial distance being done twice -- once for the filter and second for the
+ * sort.
+ *
+ * @lucene.experimental
+ */
+public class PointVectorStrategy extends SpatialStrategy {
+
+  public static final String SUFFIX_X = "__x";
+  public static final String SUFFIX_Y = "__y";
+
+  private final String fieldNameX;
+  private final String fieldNameY;
+
+  public int precisionStep = 8; // same as solr default
+
+  public PointVectorStrategy(SpatialContext ctx, String fieldNamePrefix) {
+    super(ctx, fieldNamePrefix);
+    this.fieldNameX = fieldNamePrefix+SUFFIX_X;
+    this.fieldNameY = fieldNamePrefix+SUFFIX_Y;
+  }
+
+  public void setPrecisionStep( int p ) {
+    precisionStep = p;
+    if (precisionStep<=0 || precisionStep>=64)
+      precisionStep=Integer.MAX_VALUE;
+  }
+
+  String getFieldNameX() {
+    return fieldNameX;
+  }
+
+  String getFieldNameY() {
+    return fieldNameY;
+  }
+
+  @Override
+  public Field[] createIndexableFields(Shape shape) {
+    if (shape instanceof Point)
+      return createIndexableFields((Point) shape);
+    throw new UnsupportedOperationException("Can only index Point, not " + shape);
+  }
+
+  /** @see #createIndexableFields(com.spatial4j.core.shape.Shape) */
+  public Field[] createIndexableFields(Point point) {
+    FieldType doubleFieldType = new FieldType(LegacyDoubleField.TYPE_NOT_STORED);
+    doubleFieldType.setNumericPrecisionStep(precisionStep);
+    Field[] f = new Field[2];
+    f[0] = new LegacyDoubleField(fieldNameX, point.getX(), doubleFieldType);
+    f[1] = new LegacyDoubleField(fieldNameY, point.getY(), doubleFieldType);
+    return f;
+  }
+
+  @Override
+  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
+    return new DistanceValueSource(this, queryPoint, multiplier);
+  }
+
+  @Override
+  public ConstantScoreQuery makeQuery(SpatialArgs args) {
+    if(! SpatialOperation.is( args.getOperation(),
+        SpatialOperation.Intersects,
+        SpatialOperation.IsWithin ))
+      throw new UnsupportedSpatialOperation(args.getOperation());
+    Shape shape = args.getShape();
+    if (shape instanceof Rectangle) {
+      Rectangle bbox = (Rectangle) shape;
+      return new ConstantScoreQuery(makeWithin(bbox));
+    } else if (shape instanceof Circle) {
+      Circle circle = (Circle)shape;
+      Rectangle bbox = circle.getBoundingBox();
+      Query approxQuery = makeWithin(bbox);
+      BooleanQuery.Builder bqBuilder = new BooleanQuery.Builder();
+      FunctionRangeQuery vsRangeQuery =
+          new FunctionRangeQuery(makeDistanceValueSource(circle.getCenter()), 0.0, circle.getRadius(), true, true);
+      bqBuilder.add(approxQuery, BooleanClause.Occur.FILTER);//should have lowest "cost" value; will drive iteration
+      bqBuilder.add(vsRangeQuery, BooleanClause.Occur.FILTER);
+      return new ConstantScoreQuery(bqBuilder.build());
+    } else {
+      throw new UnsupportedOperationException("Only Rectangles and Circles are currently supported, " +
+          "found [" + shape.getClass() + "]");//TODO
+    }
+  }
+
+  /**
+   * Constructs a query to retrieve documents that fully contain the input envelope.
+   */
+  private Query makeWithin(Rectangle bbox) {
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
+    BooleanClause.Occur MUST = BooleanClause.Occur.MUST;
+    if (bbox.getCrossesDateLine()) {
+      //use null as performance trick since no data will be beyond the world bounds
+      bq.add(rangeQuery(fieldNameX, null/*-180*/, bbox.getMaxX()), BooleanClause.Occur.SHOULD );
+      bq.add(rangeQuery(fieldNameX, bbox.getMinX(), null/*+180*/), BooleanClause.Occur.SHOULD );
+      bq.setMinimumNumberShouldMatch(1);//must match at least one of the SHOULD
+    } else {
+      bq.add(rangeQuery(fieldNameX, bbox.getMinX(), bbox.getMaxX()), MUST);
+    }
+    bq.add(rangeQuery(fieldNameY, bbox.getMinY(), bbox.getMaxY()), MUST);
+    return bq.build();
+  }
+
+  private LegacyNumericRangeQuery<Double> rangeQuery(String fieldName, Double min, Double max) {
+    return LegacyNumericRangeQuery.newDoubleRange(
+        fieldName,
+        precisionStep,
+        min,
+        max,
+        true,
+        true);//inclusive
+  }
+
+}


[64/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoRelationUtils.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoRelationUtils.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoRelationUtils.java
new file mode 100644
index 0000000..45f8362
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoRelationUtils.java
@@ -0,0 +1,524 @@
+/*
+ * 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.lucene.spatial.util;
+
+import org.apache.lucene.util.SloppyMath;
+
+/**
+ * Reusable geo-relation utility methods
+ */
+public class GeoRelationUtils {
+
+  // No instance:
+  private GeoRelationUtils() {
+  }
+
+  /**
+   * Determine if a bbox (defined by minLon, minLat, maxLon, maxLat) contains the provided point (defined by lon, lat)
+   * NOTE: this is a basic method that does not handle dateline or pole crossing. Unwrapping must be done before
+   * calling this method.
+   */
+  public static boolean pointInRectPrecise(final double lon, final double lat, final double minLon,
+                                           final double minLat, final double maxLon, final double maxLat) {
+    return lon >= minLon && lon <= maxLon && lat >= minLat && lat <= maxLat;
+  }
+
+  /**
+   * simple even-odd point in polygon computation
+   *    1.  Determine if point is contained in the longitudinal range
+   *    2.  Determine whether point crosses the edge by computing the latitudinal delta
+   *        between the end-point of a parallel vector (originating at the point) and the
+   *        y-component of the edge sink
+   *
+   * NOTE: Requires polygon point (x,y) order either clockwise or counter-clockwise
+   */
+  public static boolean pointInPolygon(double[] x, double[] y, double lat, double lon) {
+    assert x.length == y.length;
+    boolean inPoly = false;
+    /**
+     * Note: This is using a euclidean coordinate system which could result in
+     * upwards of 110KM error at the equator.
+     * TODO convert coordinates to cylindrical projection (e.g. mercator)
+     */
+    for (int i = 1; i < x.length; i++) {
+      if (x[i] <= lon && x[i-1] >= lon || x[i-1] <= lon && x[i] >= lon) {
+        if (y[i] + (lon - x[i]) / (x[i-1] - x[i]) * (y[i-1] - y[i]) <= lat) {
+          inPoly = !inPoly;
+        }
+      }
+    }
+    return inPoly;
+  }
+
+  /////////////////////////
+  // Rectangle relations
+  /////////////////////////
+
+  /**
+   * Computes whether two rectangles are disjoint
+   */
+  public static boolean rectDisjoint(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
+                                     final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
+    return (aMaxX < bMinX || aMinX > bMaxX || aMaxY < bMinY || aMinY > bMaxY);
+  }
+
+  /**
+   * Computes whether the first (a) rectangle is wholly within another (b) rectangle (shared boundaries allowed)
+   */
+  public static boolean rectWithin(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
+                                   final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
+    return !(aMinX < bMinX || aMinY < bMinY || aMaxX > bMaxX || aMaxY > bMaxY);
+  }
+
+  /**
+   * Computes whether two rectangles cross
+   */
+  public static boolean rectCrosses(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
+                                    final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
+    return !(rectDisjoint(aMinX, aMinY, aMaxX, aMaxY, bMinX, bMinY, bMaxX, bMaxY) ||
+        rectWithin(aMinX, aMinY, aMaxX, aMaxY, bMinX, bMinY, bMaxX, bMaxY));
+  }
+
+  /**
+   * Computes whether rectangle a contains rectangle b (touching allowed)
+   */
+  public static boolean rectContains(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
+                                     final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
+    return !(bMinX < aMinX || bMinY < aMinY || bMaxX > aMaxX || bMaxY > aMaxY);
+  }
+
+  /**
+   * Computes whether a rectangle intersects another rectangle (crosses, within, touching, etc)
+   */
+  public static boolean rectIntersects(final double aMinX, final double aMinY, final double aMaxX, final double aMaxY,
+                                       final double bMinX, final double bMinY, final double bMaxX, final double bMaxY) {
+    return !((aMaxX < bMinX || aMinX > bMaxX || aMaxY < bMinY || aMinY > bMaxY) );
+  }
+
+  /////////////////////////
+  // Polygon relations
+  /////////////////////////
+
+  /**
+   * Convenience method for accurately computing whether a rectangle crosses a poly
+   */
+  public static boolean rectCrossesPolyPrecise(final double rMinX, final double rMinY, final double rMaxX,
+                                        final double rMaxY, final double[] shapeX, final double[] shapeY,
+                                        final double sMinX, final double sMinY, final double sMaxX,
+                                        final double sMaxY) {
+    // short-circuit: if the bounding boxes are disjoint then the shape does not cross
+    if (rectDisjoint(rMinX, rMinY, rMaxX, rMaxY, sMinX, sMinY, sMaxX, sMaxY)) {
+      return false;
+    }
+    return rectCrossesPoly(rMinX, rMinY, rMaxX, rMaxY, shapeX, shapeY);
+  }
+
+  /**
+   * Compute whether a rectangle crosses a shape. (touching not allowed) Includes a flag for approximating the
+   * relation.
+   */
+  public static boolean rectCrossesPolyApprox(final double rMinX, final double rMinY, final double rMaxX,
+                                              final double rMaxY, final double[] shapeX, final double[] shapeY,
+                                              final double sMinX, final double sMinY, final double sMaxX,
+                                              final double sMaxY) {
+    // short-circuit: if the bounding boxes are disjoint then the shape does not cross
+    if (rectDisjoint(rMinX, rMinY, rMaxX, rMaxY, sMinX, sMinY, sMaxX, sMaxY)) {
+      return false;
+    }
+
+    final int polyLength = shapeX.length-1;
+    for (short p=0; p<polyLength; ++p) {
+      if (lineCrossesRect(shapeX[p], shapeY[p], shapeX[p+1], shapeY[p+1], rMinX, rMinY, rMaxX, rMaxY) == true) {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  /**
+   * Accurately compute (within restrictions of cartesian decimal degrees) whether a rectangle crosses a polygon
+   */
+  private static boolean rectCrossesPoly(final double rMinX, final double rMinY, final double rMaxX,
+                                         final double rMaxY, final double[] shapeX, final double[] shapeY) {
+    final double[][] bbox = new double[][] { {rMinX, rMinY}, {rMaxX, rMinY}, {rMaxX, rMaxY}, {rMinX, rMaxY}, {rMinX, rMinY} };
+    final int polyLength = shapeX.length-1;
+    double d, s, t, a1, b1, c1, a2, b2, c2;
+    double x00, y00, x01, y01, x10, y10, x11, y11;
+
+    // computes the intersection point between each bbox edge and the polygon edge
+    for (short b=0; b<4; ++b) {
+      a1 = bbox[b+1][1]-bbox[b][1];
+      b1 = bbox[b][0]-bbox[b+1][0];
+      c1 = a1*bbox[b+1][0] + b1*bbox[b+1][1];
+      for (int p=0; p<polyLength; ++p) {
+        a2 = shapeY[p+1]-shapeY[p];
+        b2 = shapeX[p]-shapeX[p+1];
+        // compute determinant
+        d = a1*b2 - a2*b1;
+        if (d != 0) {
+          // lines are not parallel, check intersecting points
+          c2 = a2*shapeX[p+1] + b2*shapeY[p+1];
+          s = (1/d)*(b2*c1 - b1*c2);
+          t = (1/d)*(a1*c2 - a2*c1);
+          x00 = StrictMath.min(bbox[b][0], bbox[b+1][0]) - GeoUtils.TOLERANCE;
+          x01 = StrictMath.max(bbox[b][0], bbox[b+1][0]) + GeoUtils.TOLERANCE;
+          y00 = StrictMath.min(bbox[b][1], bbox[b+1][1]) - GeoUtils.TOLERANCE;
+          y01 = StrictMath.max(bbox[b][1], bbox[b+1][1]) + GeoUtils.TOLERANCE;
+          x10 = StrictMath.min(shapeX[p], shapeX[p+1]) - GeoUtils.TOLERANCE;
+          x11 = StrictMath.max(shapeX[p], shapeX[p+1]) + GeoUtils.TOLERANCE;
+          y10 = StrictMath.min(shapeY[p], shapeY[p+1]) - GeoUtils.TOLERANCE;
+          y11 = StrictMath.max(shapeY[p], shapeY[p+1]) + GeoUtils.TOLERANCE;
+          // check whether the intersection point is touching one of the line segments
+          boolean touching = ((x00 == s && y00 == t) || (x01 == s && y01 == t))
+              || ((x10 == s && y10 == t) || (x11 == s && y11 == t));
+          // if line segments are not touching and the intersection point is within the range of either segment
+          if (!(touching || x00 > s || x01 < s || y00 > t || y01 < t || x10 > s || x11 < s || y10 > t || y11 < t)) {
+            return true;
+          }
+        }
+      } // for each poly edge
+    } // for each bbox edge
+    return false;
+  }
+
+  private static boolean lineCrossesRect(double aX1, double aY1, double aX2, double aY2,
+                                         final double rMinX, final double rMinY, final double rMaxX, final double rMaxY) {
+    // short-circuit: if one point inside rect, other outside
+    if (pointInRectPrecise(aX1, aY1, rMinX, rMinY, rMaxX, rMaxY) ?
+        !pointInRectPrecise(aX2, aY2, rMinX, rMinY, rMaxX, rMaxY) : pointInRectPrecise(aX2, aY2, rMinX, rMinY, rMaxX, rMaxY)) {
+      return true;
+    }
+
+    return lineCrossesLine(aX1, aY1, aX2, aY2, rMinX, rMinY, rMaxX, rMaxY)
+        || lineCrossesLine(aX1, aY1, aX2, aY2, rMaxX, rMinY, rMinX, rMaxY);
+  }
+
+  private static boolean lineCrossesLine(final double aX1, final double aY1, final double aX2, final double aY2,
+                                         final double bX1, final double bY1, final double bX2, final double bY2) {
+    // determine if three points are ccw (right-hand rule) by computing the determinate
+    final double aX2X1d = aX2 - aX1;
+    final double aY2Y1d = aY2 - aY1;
+    final double bX2X1d = bX2 - bX1;
+    final double bY2Y1d = bY2 - bY1;
+
+    final double t1B = aX2X1d * (bY2 - aY1) - aY2Y1d * (bX2 - aX1);
+    final double test1 = (aX2X1d * (bY1 - aY1) - aY2Y1d * (bX1 - aX1)) * t1B;
+    final double t2B = bX2X1d * (aY2 - bY1) - bY2Y1d * (aX2 - bX1);
+    final double test2 = (bX2X1d * (aY1 - bY1) - bY2Y1d * (aX1 - bX1)) * t2B;
+
+    if (test1 < 0 && test2 < 0) {
+      return true;
+    }
+
+    if (test1 == 0 || test2 == 0) {
+      // vertically collinear
+      if (aX1 == aX2 || bX1 == bX2) {
+        final double minAy = Math.min(aY1, aY2);
+        final double maxAy = Math.max(aY1, aY2);
+        final double minBy = Math.min(bY1, bY2);
+        final double maxBy = Math.max(bY1, bY2);
+
+        return !(minBy >= maxAy || maxBy <= minAy);
+      }
+      // horizontally collinear
+      final double minAx = Math.min(aX1, aX2);
+      final double maxAx = Math.max(aX1, aX2);
+      final double minBx = Math.min(bX1, bX2);
+      final double maxBx = Math.max(bX1, bX2);
+
+      return !(minBx >= maxAx || maxBx <= minAx);
+    }
+    return false;
+  }
+
+  /**
+   * Computes whether a rectangle is within a polygon (shared boundaries not allowed) with more rigor than the
+   * {@link GeoRelationUtils#rectWithinPolyApprox} counterpart
+   */
+  public static boolean rectWithinPolyPrecise(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                       final double[] shapeX, final double[] shapeY, final double sMinX,
+                                       final double sMinY, final double sMaxX, final double sMaxY) {
+    // check if rectangle crosses poly (to handle concave/pacman polys), then check that all 4 corners
+    // are contained
+    return !(rectCrossesPolyPrecise(rMinX, rMinY, rMaxX, rMaxY, shapeX, shapeY, sMinX, sMinY, sMaxX, sMaxY) ||
+        !pointInPolygon(shapeX, shapeY, rMinY, rMinX) || !pointInPolygon(shapeX, shapeY, rMinY, rMaxX) ||
+        !pointInPolygon(shapeX, shapeY, rMaxY, rMaxX) || !pointInPolygon(shapeX, shapeY, rMaxY, rMinX));
+  }
+
+  /**
+   * Computes whether a rectangle is within a given polygon (shared boundaries allowed)
+   */
+  public static boolean rectWithinPolyApprox(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                       final double[] shapeX, final double[] shapeY, final double sMinX,
+                                       final double sMinY, final double sMaxX, final double sMaxY) {
+    // approximation: check if rectangle crosses poly (to handle concave/pacman polys), then check one of the corners
+    // are contained
+
+    // short-cut: if bounding boxes cross, rect is not within
+     if (rectCrosses(rMinX, rMinY, rMaxX, rMaxY, sMinX, sMinY, sMaxX, sMaxY) == true) {
+       return false;
+     }
+
+     return !(rectCrossesPolyApprox(rMinX, rMinY, rMaxX, rMaxY, shapeX, shapeY, sMinX, sMinY, sMaxX, sMaxY)
+         || !pointInPolygon(shapeX, shapeY, rMinY, rMinX));
+  }
+
+  /////////////////////////
+  // Circle relations
+  /////////////////////////
+
+  private static boolean rectAnyCornersInCircle(final double rMinX, final double rMinY, final double rMaxX,
+                                                final double rMaxY, final double centerLon, final double centerLat,
+                                                final double radiusMeters, final boolean approx) {
+    if (approx == true) {
+      return rectAnyCornersInCircleSloppy(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters);
+    }
+    double w = Math.abs(rMaxX - rMinX);
+    if (w <= 90.0) {
+      return GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMinX) <= radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMinX) <= radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMaxX) <= radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMaxX) <= radiusMeters;
+    }
+    // partition
+    w /= 4;
+    final double p1 = rMinX + w;
+    final double p2 = p1 + w;
+    final double p3 = p2 + w;
+
+    return GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMinX) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMinX) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, p1) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, p1) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, p2) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, p2) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, p3) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, p3) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMaxX) <= radiusMeters
+        || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMaxX) <= radiusMeters;
+  }
+
+  private static boolean rectAnyCornersInCircleSloppy(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                                      final double centerLon, final double centerLat, final double radiusMeters) {
+    return SloppyMath.haversin(centerLat, centerLon, rMinY, rMinX)*1000.0 <= radiusMeters
+        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMinX)*1000.0 <= radiusMeters
+        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMaxX)*1000.0 <= radiusMeters
+        || SloppyMath.haversin(centerLat, centerLon, rMinY, rMaxX)*1000.0 <= radiusMeters;
+  }
+
+  /**
+   * Compute whether any of the 4 corners of the rectangle (defined by min/max X/Y) are outside the circle (defined
+   * by centerLon, centerLat, radiusMeters)
+   *
+   * Note: exotic rectangles at the poles (e.g., those whose lon/lat distance ratios greatly deviate from 1) can not
+   * be determined by using distance alone. For this reason the approx flag may be set to false, in which case the
+   * space will be further divided to more accurately compute whether the rectangle crosses the circle
+   */
+  private static boolean rectAnyCornersOutsideCircle(final double rMinX, final double rMinY, final double rMaxX,
+                                                     final double rMaxY, final double centerLon, final double centerLat,
+                                                     final double radiusMeters, final boolean approx) {
+    if (approx == true) {
+      return rectAnyCornersOutsideCircleSloppy(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters);
+    }
+    // if span is less than 70 degrees we can approximate using distance alone
+    if (Math.abs(rMaxX - rMinX) <= 70.0) {
+      return GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMinX) > radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMinX) > radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxY, rMaxX) > radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMinY, rMaxX) > radiusMeters;
+    }
+    return rectCrossesOblateCircle(centerLon, centerLat, radiusMeters, rMinX, rMinY, rMaxX, rMaxY);
+  }
+
+  /**
+   * Compute whether the rectangle (defined by min/max Lon/Lat) crosses a potentially oblate circle
+   *
+   * TODO benchmark for replacing existing rectCrossesCircle.
+   */
+  public static boolean rectCrossesOblateCircle(double centerLon, double centerLat, double radiusMeters, double rMinLon, double rMinLat, double  rMaxLon, double rMaxLat) {
+    double w = Math.abs(rMaxLon - rMinLon);
+    final int segs = (int)Math.ceil(w / 45.0);
+    w /= segs;
+    short i = 1;
+    double p1 = rMinLon;
+    double maxLon, midLon;
+    double[] pt = new double[2];
+
+    do {
+      maxLon = (i == segs) ? rMaxLon : p1 + w;
+
+      final double d1, d2;
+      // short-circuit if we find a corner outside the circle
+      if ( (d1 = GeoDistanceUtils.haversin(centerLat, centerLon, rMinLat, p1)) > radiusMeters
+          || (d2 = GeoDistanceUtils.haversin(centerLat, centerLon, rMinLat, maxLon)) > radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxLat, p1) > radiusMeters
+          || GeoDistanceUtils.haversin(centerLat, centerLon, rMaxLat, maxLon) > radiusMeters) {
+        return true;
+      }
+
+      // else we treat as an oblate circle by slicing the longitude space and checking the azimuthal range
+      // OPTIMIZATION: this is only executed for latitude values "closeTo" the poles (e.g., 88.0 > lat < -88.0)
+      if ( (rMaxLat > 88.0 || rMinLat < -88.0)
+          && (pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(p1, rMinLat,
+          GeoProjectionUtils.bearingGreatCircle(p1, rMinLat, p1, rMaxLat), radiusMeters - d1, pt))[1] < rMinLat || pt[1] < rMaxLat
+          || (pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(maxLon, rMinLat,
+          GeoProjectionUtils.bearingGreatCircle(maxLon, rMinLat, maxLon, rMaxLat), radiusMeters - d2, pt))[1] < rMinLat || pt[1] < rMaxLat
+          || (pt = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(maxLon, rMinLat,
+          GeoProjectionUtils.bearingGreatCircle(maxLon, rMinLat, (midLon = p1 + 0.5*(maxLon - p1)), rMaxLat),
+          radiusMeters - GeoDistanceUtils.haversin(centerLat, centerLon, rMinLat, midLon), pt))[1] < rMinLat
+          || pt[1] < rMaxLat == false ) {
+        return true;
+      }
+      p1 += w;
+    } while (++i <= segs);
+    return false;
+  }
+
+  private static boolean rectAnyCornersOutsideCircleSloppy(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                                           final double centerLon, final double centerLat, final double radiusMeters) {
+    return SloppyMath.haversin(centerLat, centerLon, rMinY, rMinX)*1000.0 > radiusMeters
+        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMinX)*1000.0 > radiusMeters
+        || SloppyMath.haversin(centerLat, centerLon, rMaxY, rMaxX)*1000.0 > radiusMeters
+        || SloppyMath.haversin(centerLat, centerLon, rMinY, rMaxX)*1000.0 > radiusMeters;
+  }
+
+  /**
+   * Convenience method for computing whether a rectangle is within a circle using additional precision checks
+   */
+  public static boolean rectWithinCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                         final double centerLon, final double centerLat, final double radiusMeters) {
+    return rectWithinCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, false);
+  }
+
+  /**
+   * Computes whether a rectangle is within a circle. Note: approx == true will be faster but less precise and may
+   * fail on large rectangles
+   */
+  public static boolean rectWithinCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                         final double centerLon, final double centerLat, final double radiusMeters,
+                                         final boolean approx) {
+    return rectAnyCornersOutsideCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx) == false;
+  }
+
+  /**
+   * Determine if a bbox (defined by minLon, minLat, maxLon, maxLat) contains the provided point (defined by lon, lat)
+   * NOTE: this is basic method that does not handle dateline or pole crossing. Unwrapping must be done before
+   * calling this method.
+   */
+  public static boolean rectCrossesCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                          final double centerLon, final double centerLat, final double radiusMeters) {
+    return rectCrossesCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, false);
+  }
+
+  /**
+   * Computes whether a rectangle crosses a circle. Note: approx == true will be faster but less precise and may
+   * fail on large rectangles
+   */
+  public static boolean rectCrossesCircle(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                          final double centerLon, final double centerLat, final double radiusMeters,
+                                          final boolean approx) {
+    if (approx == true) {
+      return rectAnyCornersInCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx)
+          || isClosestPointOnRectWithinRange(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx);
+    }
+
+    return (rectAnyCornersInCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx) &&
+        rectAnyCornersOutsideCircle(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx))
+        || isClosestPointOnRectWithinRange(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, radiusMeters, approx);
+  }
+
+  private static boolean isClosestPointOnRectWithinRange(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                                         final double centerLon, final double centerLat, final double radiusMeters,
+                                                         final boolean approx) {
+    double[] closestPt = {0, 0};
+    GeoDistanceUtils.closestPointOnBBox(rMinX, rMinY, rMaxX, rMaxY, centerLon, centerLat, closestPt);
+    boolean haverShortCut = GeoDistanceUtils.haversin(centerLat, centerLon, closestPt[1], closestPt[0]) <= radiusMeters;
+    if (approx == true || haverShortCut == true) {
+      return haverShortCut;
+    }
+    double lon1 = rMinX;
+    double lon2 = rMaxX;
+    double lat1 = rMinY;
+    double lat2 = rMaxY;
+    if (closestPt[0] == rMinX || closestPt[0] == rMaxX) {
+      lon1 = closestPt[0];
+      lon2 = lon1;
+    } else if (closestPt[1] == rMinY || closestPt[1] == rMaxY) {
+      lat1 = closestPt[1];
+      lat2 = lat1;
+    }
+
+    return lineCrossesSphere(lon1, lat1, 0, lon2, lat2, 0, centerLon, centerLat, 0, radiusMeters);
+  }
+
+  /**
+   * Computes whether or a 3dimensional line segment intersects or crosses a sphere
+   *
+   * @param lon1 longitudinal location of the line segment start point (in degrees)
+   * @param lat1 latitudinal location of the line segment start point (in degrees)
+   * @param alt1 altitude of the line segment start point (in degrees)
+   * @param lon2 longitudinal location of the line segment end point (in degrees)
+   * @param lat2 latitudinal location of the line segment end point (in degrees)
+   * @param alt2 altitude of the line segment end point (in degrees)
+   * @param centerLon longitudinal location of center search point (in degrees)
+   * @param centerLat latitudinal location of center search point (in degrees)
+   * @param centerAlt altitude of the center point (in meters)
+   * @param radiusMeters search sphere radius (in meters)
+   * @return whether the provided line segment is a secant of the
+   */
+  private static boolean lineCrossesSphere(double lon1, double lat1, double alt1, double lon2,
+                                           double lat2, double alt2, double centerLon, double centerLat,
+                                           double centerAlt, double radiusMeters) {
+    // convert to cartesian 3d (in meters)
+    double[] ecf1 = GeoProjectionUtils.llaToECF(lon1, lat1, alt1, null);
+    double[] ecf2 = GeoProjectionUtils.llaToECF(lon2, lat2, alt2, null);
+    double[] cntr = GeoProjectionUtils.llaToECF(centerLon, centerLat, centerAlt, null);
+
+    // convert radius from arc radius to cartesian radius
+    double[] oneEighty = GeoProjectionUtils.pointFromLonLatBearingGreatCircle(centerLon, centerLat, 180.0d, radiusMeters, new double[3]);
+    GeoProjectionUtils.llaToECF(oneEighty[0], oneEighty[1], 0, oneEighty);
+
+    radiusMeters = GeoDistanceUtils.linearDistance(oneEighty, cntr);//   Math.sqrt(oneEighty[0]*cntr[0] + oneEighty[1]*cntr[1] + oneEighty[2]*cntr[2]);
+
+    final double dX = ecf2[0] - ecf1[0];
+    final double dY = ecf2[1] - ecf1[1];
+    final double dZ = ecf2[2] - ecf1[2];
+    final double fX = ecf1[0] - cntr[0];
+    final double fY = ecf1[1] - cntr[1];
+    final double fZ = ecf1[2] - cntr[2];
+
+    final double a = dX*dX + dY*dY + dZ*dZ;
+    final double b = 2 * (fX*dX + fY*dY + fZ*dZ);
+    final double c = (fX*fX + fY*fY + fZ*fZ) - (radiusMeters*radiusMeters);
+
+    double discrim = (b*b)-(4*a*c);
+    if (discrim < 0) {
+      return false;
+    }
+
+    discrim = StrictMath.sqrt(discrim);
+    final double a2 = 2*a;
+    final double t1 = (-b - discrim)/a2;
+    final double t2 = (-b + discrim)/a2;
+
+    if ( (t1 < 0 || t1 > 1) ) {
+      return !(t2 < 0 || t2 > 1);
+    }
+
+    return true;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoUtils.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoUtils.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoUtils.java
new file mode 100644
index 0000000..a6512cd
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoUtils.java
@@ -0,0 +1,247 @@
+/*
+ * 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.lucene.spatial.util;
+
+import java.util.ArrayList;
+
+import org.apache.lucene.util.BitUtil;
+
+import static java.lang.StrictMath.max;
+import static java.lang.StrictMath.min;
+import static java.lang.StrictMath.PI;
+
+import static org.apache.lucene.util.SloppyMath.asin;
+import static org.apache.lucene.util.SloppyMath.cos;
+import static org.apache.lucene.util.SloppyMath.sin;
+import static org.apache.lucene.util.SloppyMath.TO_DEGREES;
+import static org.apache.lucene.util.SloppyMath.TO_RADIANS;
+import static org.apache.lucene.spatial.util.GeoProjectionUtils.MAX_LAT_RADIANS;
+import static org.apache.lucene.spatial.util.GeoProjectionUtils.MAX_LON_RADIANS;
+import static org.apache.lucene.spatial.util.GeoProjectionUtils.MIN_LAT_RADIANS;
+import static org.apache.lucene.spatial.util.GeoProjectionUtils.MIN_LON_RADIANS;
+import static org.apache.lucene.spatial.util.GeoProjectionUtils.pointFromLonLatBearingGreatCircle;
+import static org.apache.lucene.spatial.util.GeoProjectionUtils.SEMIMAJOR_AXIS;
+
+/**
+ * Basic reusable geo-spatial utility methods
+ *
+ * @lucene.experimental
+ */
+public final class GeoUtils {
+  /** number of bits used for quantizing latitude and longitude values */
+  public static final short BITS = 31;
+  private static final double LON_SCALE = (0x1L<<BITS)/360.0D;
+  private static final double LAT_SCALE = (0x1L<<BITS)/180.0D;
+  /** rounding error for quantized latitude and longitude values */
+  public static final double TOLERANCE = 1E-6;
+
+  /** Minimum longitude value. */
+  public static final double MIN_LON_INCL = -180.0D;
+
+  /** Maximum longitude value. */
+  public static final double MAX_LON_INCL = 180.0D;
+
+  /** Minimum latitude value. */
+  public static final double MIN_LAT_INCL = -90.0D;
+
+  /** Maximum latitude value. */
+  public static final double MAX_LAT_INCL = 90.0D;
+
+  // No instance:
+  private GeoUtils() {
+  }
+
+  /**
+   * encode longitude, latitude geopoint values using morton encoding method
+   * https://en.wikipedia.org/wiki/Z-order_curve
+   */
+  public static final Long mortonHash(final double lon, final double lat) {
+    return BitUtil.interleave(scaleLon(lon), scaleLat(lat));
+  }
+
+  /** decode longitude value from morton encoded geo point */
+  public static final double mortonUnhashLon(final long hash) {
+    return unscaleLon(BitUtil.deinterleave(hash));
+  }
+
+  /** decode latitude value from morton encoded geo point */
+  public static final double mortonUnhashLat(final long hash) {
+    return unscaleLat(BitUtil.deinterleave(hash >>> 1));
+  }
+
+  private static final long scaleLon(final double val) {
+    return (long) ((val-MIN_LON_INCL) * LON_SCALE);
+  }
+
+  private static final long scaleLat(final double val) {
+    return (long) ((val-MIN_LAT_INCL) * LAT_SCALE);
+  }
+
+  private static final double unscaleLon(final long val) {
+    return (val / LON_SCALE) + MIN_LON_INCL;
+  }
+
+  private static final double unscaleLat(final long val) {
+    return (val / LAT_SCALE) + MIN_LAT_INCL;
+  }
+
+  /** Compare two position values within a {@link GeoUtils#TOLERANCE} factor */
+  public static double compare(final double v1, final double v2) {
+    final double delta = v1-v2;
+    return Math.abs(delta) <= TOLERANCE ? 0 : delta;
+  }
+
+  /** Puts longitude in range of -180 to +180. */
+  public static double normalizeLon(double lon_deg) {
+    if (lon_deg >= -180 && lon_deg <= 180) {
+      return lon_deg; //common case, and avoids slight double precision shifting
+    }
+    double off = (lon_deg + 180) % 360;
+    if (off < 0) {
+      return 180 + off;
+    } else if (off == 0 && lon_deg > 0) {
+      return 180;
+    } else {
+      return -180 + off;
+    }
+  }
+
+  /** Puts latitude in range of -90 to 90. */
+  public static double normalizeLat(double lat_deg) {
+    if (lat_deg >= -90 && lat_deg <= 90) {
+      return lat_deg; //common case, and avoids slight double precision shifting
+    }
+    double off = Math.abs((lat_deg + 90) % 360);
+    return (off <= 180 ? off : 360-off) - 90;
+  }
+
+  /** Converts long value to bit string (useful for debugging) */
+  public static String geoTermToString(long term) {
+    StringBuilder s = new StringBuilder(64);
+    final int numberOfLeadingZeros = Long.numberOfLeadingZeros(term);
+    for (int i = 0; i < numberOfLeadingZeros; i++) {
+      s.append('0');
+    }
+    if (term != 0) {
+      s.append(Long.toBinaryString(term));
+    }
+    return s.toString();
+  }
+
+  /**
+   * Converts a given circle (defined as a point/radius) to an approximated line-segment polygon
+   *
+   * @param lon longitudinal center of circle (in degrees)
+   * @param lat latitudinal center of circle (in degrees)
+   * @param radiusMeters distance radius of circle (in meters)
+   * @return a list of lon/lat points representing the circle
+   */
+  @SuppressWarnings({"unchecked","rawtypes"})
+  public static ArrayList<double[]> circleToPoly(final double lon, final double lat, final double radiusMeters) {
+    double angle;
+    // a little under-sampling (to limit the number of polygonal points): using archimedes estimation of pi
+    final int sides = 25;
+    ArrayList<double[]> geometry = new ArrayList();
+    double[] lons = new double[sides];
+    double[] lats = new double[sides];
+
+    double[] pt = new double[2];
+    final int sidesLen = sides-1;
+    for (int i=0; i<sidesLen; ++i) {
+      angle = (i*360/sides);
+      pt = pointFromLonLatBearingGreatCircle(lon, lat, angle, radiusMeters, pt);
+      lons[i] = pt[0];
+      lats[i] = pt[1];
+    }
+    // close the poly
+    lons[sidesLen] = lons[0];
+    lats[sidesLen] = lats[0];
+    geometry.add(lons);
+    geometry.add(lats);
+
+    return geometry;
+  }
+
+  /** Compute Bounding Box for a circle using WGS-84 parameters */
+  public static GeoBoundingBox circleToBBox(final double centerLon, final double centerLat, final double radiusMeters) {
+    final double radLat = TO_RADIANS * centerLat;
+    final double radLon = TO_RADIANS * centerLon;
+    double radDistance = radiusMeters / SEMIMAJOR_AXIS;
+    double minLat = radLat - radDistance;
+    double maxLat = radLat + radDistance;
+    double minLon;
+    double maxLon;
+
+    if (minLat > MIN_LAT_RADIANS && maxLat < MAX_LAT_RADIANS) {
+      double deltaLon = asin(sin(radDistance) / cos(radLat));
+      minLon = radLon - deltaLon;
+      if (minLon < MIN_LON_RADIANS) {
+        minLon += 2d * PI;
+      }
+      maxLon = radLon + deltaLon;
+      if (maxLon > MAX_LON_RADIANS) {
+        maxLon -= 2d * PI;
+      }
+    } else {
+      // a pole is within the distance
+      minLat = max(minLat, MIN_LAT_RADIANS);
+      maxLat = min(maxLat, MAX_LAT_RADIANS);
+      minLon = MIN_LON_RADIANS;
+      maxLon = MAX_LON_RADIANS;
+    }
+
+    return new GeoBoundingBox(TO_DEGREES * minLon, TO_DEGREES * maxLon, TO_DEGREES * minLat, TO_DEGREES * maxLat);
+  }
+
+  /** Compute Bounding Box for a polygon using WGS-84 parameters */
+  public static GeoBoundingBox polyToBBox(double[] polyLons, double[] polyLats) {
+    if (polyLons.length != polyLats.length) {
+      throw new IllegalArgumentException("polyLons and polyLats must be equal length");
+    }
+
+    double minLon = Double.POSITIVE_INFINITY;
+    double maxLon = Double.NEGATIVE_INFINITY;
+    double minLat = Double.POSITIVE_INFINITY;
+    double maxLat = Double.NEGATIVE_INFINITY;
+
+    for (int i=0;i<polyLats.length;i++) {
+      if (GeoUtils.isValidLon(polyLons[i]) == false) {
+        throw new IllegalArgumentException("invalid polyLons[" + i + "]=" + polyLons[i]);
+      }
+      if (GeoUtils.isValidLat(polyLats[i]) == false) {
+        throw new IllegalArgumentException("invalid polyLats[" + i + "]=" + polyLats[i]);
+      }
+      minLon = min(polyLons[i], minLon);
+      maxLon = max(polyLons[i], maxLon);
+      minLat = min(polyLats[i], minLat);
+      maxLat = max(polyLats[i], maxLat);
+    }
+    // expand bounding box by TOLERANCE factor to handle round-off error
+    return new GeoBoundingBox(max(minLon - TOLERANCE, MIN_LON_INCL), min(maxLon + TOLERANCE, MAX_LON_INCL),
+        max(minLat - TOLERANCE, MIN_LAT_INCL), min(maxLat + TOLERANCE, MAX_LAT_INCL));
+  }
+
+  /** validates latitude value is within standard +/-90 coordinate bounds */
+  public static boolean isValidLat(double lat) {
+    return Double.isNaN(lat) == false && lat >= MIN_LAT_INCL && lat <= MAX_LAT_INCL;
+  }
+
+  /** validates longitude value is within standard +/-180 coordinate bounds */
+  public static boolean isValidLon(double lon) {
+    return Double.isNaN(lon) == false && lon >= MIN_LON_INCL && lon <= MAX_LON_INCL;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
deleted file mode 100644
index dd391d1..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-
-/**
- * The area of a Shape retrieved from a ValueSource via
- * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)}.
- *
- * @see Shape#getArea(com.spatial4j.core.context.SpatialContext)
- *
- * @lucene.experimental
- */
-public class ShapeAreaValueSource extends ValueSource {
-  private final ValueSource shapeValueSource;
-  private final SpatialContext ctx;//not part of identity; should be associated with shapeValueSource indirectly
-  private final boolean geoArea;
-  private double multiplier;
-
-  public ShapeAreaValueSource(ValueSource shapeValueSource, SpatialContext ctx, boolean geoArea, double multiplier) {
-    this.shapeValueSource = shapeValueSource;
-    this.ctx = ctx;
-    this.geoArea = geoArea;
-    this.multiplier = multiplier;
-  }
-
-  @Override
-  public String description() {
-    return "area(" + shapeValueSource.description() + ",geo=" + geoArea + ")";
-  }
-
-  @Override
-  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
-    shapeValueSource.createWeight(context, searcher);
-  }
-
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-    final FunctionValues shapeValues = shapeValueSource.getValues(context, readerContext);
-
-    return new DoubleDocValues(this) {
-      @Override
-      public double doubleVal(int doc) {
-        Shape shape = (Shape) shapeValues.objectVal(doc);
-        if (shape == null || shape.isEmpty())
-          return 0;//or NaN?
-        //This part of Spatial4j API is kinda weird. Passing null means 2D area, otherwise geo
-        //   assuming ctx.isGeo()
-        return shape.getArea( geoArea ? ctx : null ) * multiplier;
-      }
-
-      @Override
-      public boolean exists(int doc) {
-        return shapeValues.exists(doc);
-      }
-
-      @Override
-      public Explanation explain(int doc) {
-        Explanation exp = super.explain(doc);
-        List<Explanation> details = new ArrayList<>(Arrays.asList(exp.getDetails()));
-        details.add(shapeValues.explain(doc));
-        return Explanation.match(exp.getValue(), exp.getDescription(), details);
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    ShapeAreaValueSource that = (ShapeAreaValueSource) o;
-
-    if (geoArea != that.geoArea) return false;
-    if (!shapeValueSource.equals(that.shapeValueSource)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = shapeValueSource.hashCode();
-    result = 31 * result + (geoArea ? 1 : 0);
-    return result;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
deleted file mode 100644
index 480369b..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import com.spatial4j.core.shape.Shape;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Bounded Cache of Shapes associated with docIds.  Note, multiple Shapes can be
- * associated with a given docId.
- * <p>
- * WARNING: This class holds the data in an extremely inefficient manner as all Points are in memory as objects and they
- * are stored in many ArrayLists (one per document).  So it works but doesn't scale.  It will be replaced in the future.
- *
- * @lucene.internal
- */
-public class ShapeFieldCache<T extends Shape> {
-  private final List<T>[] cache;
-  public final int defaultLength;
-
-  @SuppressWarnings({"unchecked", "rawtypes"})
-  public ShapeFieldCache( int length, int defaultLength ) {
-    cache = new List[length];
-    this.defaultLength= defaultLength;
-  }
-
-  public void add( int docid, T s ) {
-    List<T> list = cache[docid];
-    if( list == null ) {
-      list = cache[docid] = new ArrayList<>(defaultLength);
-    }
-    list.add( s );
-  }
-
-  public List<T> getShapes( int docid ) {
-    return cache[docid];
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
deleted file mode 100644
index e4cb146..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceCalculator;
-import com.spatial4j.core.shape.Point;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-/**
- * An implementation of the Lucene ValueSource that returns the spatial distance
- * between an input point and a document's points in
- * {@link ShapeFieldCacheProvider}. The shortest distance is returned if a
- * document has more than one point.
- *
- * @lucene.internal
- */
-public class ShapeFieldCacheDistanceValueSource extends ValueSource {
-
-  private final SpatialContext ctx;
-  private final Point from;
-  private final ShapeFieldCacheProvider<Point> provider;
-  private final double multiplier;
-
-  public ShapeFieldCacheDistanceValueSource(SpatialContext ctx,
-      ShapeFieldCacheProvider<Point> provider, Point from, double multiplier) {
-    this.ctx = ctx;
-    this.from = from;
-    this.provider = provider;
-    this.multiplier = multiplier;
-  }
-
-  @Override
-  public String description() {
-    return getClass().getSimpleName()+"("+provider+", "+from+")";
-  }
-
-  @Override
-  public FunctionValues getValues(Map context, final LeafReaderContext readerContext) throws IOException {
-    return new FunctionValues() {
-      private final ShapeFieldCache<Point> cache =
-          provider.getCache(readerContext.reader());
-      private final Point from = ShapeFieldCacheDistanceValueSource.this.from;
-      private final DistanceCalculator calculator = ctx.getDistCalc();
-      private final double nullValue = (ctx.isGeo() ? 180 * multiplier : Double.MAX_VALUE);
-
-      @Override
-      public float floatVal(int doc) {
-        return (float) doubleVal(doc);
-      }
-
-      @Override
-      public double doubleVal(int doc) {
-
-        List<Point> vals = cache.getShapes( doc );
-        if( vals != null ) {
-          double v = calculator.distance(from, vals.get(0));
-          for( int i=1; i<vals.size(); i++ ) {
-            v = Math.min(v, calculator.distance(from, vals.get(i)));
-          }
-          return v * multiplier;
-        }
-        return nullValue;
-      }
-
-      @Override
-      public String toString(int doc) {
-        return description() + "=" + floatVal(doc);
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    ShapeFieldCacheDistanceValueSource that = (ShapeFieldCacheDistanceValueSource) o;
-
-    if (!ctx.equals(that.ctx)) return false;
-    if (!from.equals(that.from)) return false;
-    if (!provider.equals(that.provider)) return false;
-    if (multiplier != that.multiplier) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return from.hashCode();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
deleted file mode 100644
index 04c52f7..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.index.*;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.util.BytesRef;
-
-import java.io.IOException;
-import java.util.WeakHashMap;
-import java.util.logging.Logger;
-
-/**
- * Provides access to a {@link ShapeFieldCache} for a given {@link org.apache.lucene.index.LeafReader}.
- *
- * If a Cache does not exist for the Reader, then it is built by iterating over
- * the all terms for a given field, reconstructing the Shape from them, and adding
- * them to the Cache.
- *
- * @lucene.internal
- */
-public abstract class ShapeFieldCacheProvider<T extends Shape> {
-  private Logger log = Logger.getLogger(getClass().getName());
-
-  // it may be a List<T> or T
-  WeakHashMap<IndexReader, ShapeFieldCache<T>> sidx = new WeakHashMap<>();
-
-  protected final int defaultSize;
-  protected final String shapeField;
-
-  public ShapeFieldCacheProvider(String shapeField, int defaultSize) {
-    this.shapeField = shapeField;
-    this.defaultSize = defaultSize;
-  }
-
-  protected abstract T readShape( BytesRef term );
-
-  public synchronized ShapeFieldCache<T> getCache(LeafReader reader) throws IOException {
-    ShapeFieldCache<T> idx = sidx.get(reader);
-    if (idx != null) {
-      return idx;
-    }
-    long startTime = System.currentTimeMillis();
-
-    log.fine("Building Cache [" + reader.maxDoc() + "]");
-    idx = new ShapeFieldCache<>(reader.maxDoc(),defaultSize);
-    int count = 0;
-    PostingsEnum docs = null;
-    Terms terms = reader.terms(shapeField);
-    if (terms != null) {
-      TermsEnum te = terms.iterator();
-      BytesRef term = te.next();
-      while (term != null) {
-        T shape = readShape(term);
-        if( shape != null ) {
-          docs = te.postings(docs, PostingsEnum.NONE);
-          Integer docid = docs.nextDoc();
-          while (docid != DocIdSetIterator.NO_MORE_DOCS) {
-            idx.add( docid, shape );
-            docid = docs.nextDoc();
-            count++;
-          }
-        }
-        term = te.next();
-      }
-    }
-    sidx.put(reader, idx);
-    long elapsed = System.currentTimeMillis() - startTime;
-    log.fine("Cached: [" + count + " in " + elapsed + "ms] " + idx);
-    return idx;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
deleted file mode 100644
index b1dfaaa..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import com.spatial4j.core.shape.Shape;
-
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.queries.function.docvalues.BoolDocValues;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A boolean ValueSource that compares a shape from a provided ValueSource with a given Shape and sees
- * if it matches a given {@link SpatialOperation} (the predicate).
- *
- * @lucene.experimental
- */
-public class ShapePredicateValueSource extends ValueSource {
-  private final ValueSource shapeValuesource;//the left hand side
-  private final SpatialOperation op;
-  private final Shape queryShape;//the right hand side (constant)
-
-  /**
-   *
-   * @param shapeValuesource Must yield {@link Shape} instances from its objectVal(doc). If null
-   *                         then the result is false. This is the left-hand (indexed) side.
-   * @param op the predicate
-   * @param queryShape The shape on the right-hand (query) side.
-   */
-  public ShapePredicateValueSource(ValueSource shapeValuesource, SpatialOperation op, Shape queryShape) {
-    this.shapeValuesource = shapeValuesource;
-    this.op = op;
-    this.queryShape = queryShape;
-  }
-
-  @Override
-  public String description() {
-    return shapeValuesource + " " + op + " " + queryShape;
-  }
-
-  @Override
-  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
-    shapeValuesource.createWeight(context, searcher);
-  }
-
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-    final FunctionValues shapeValues = shapeValuesource.getValues(context, readerContext);
-
-    return new BoolDocValues(this) {
-      @Override
-      public boolean boolVal(int doc) {
-        Shape indexedShape = (Shape) shapeValues.objectVal(doc);
-        if (indexedShape == null)
-          return false;
-        return op.evaluate(indexedShape, queryShape);
-      }
-
-      @Override
-      public Explanation explain(int doc) {
-        Explanation exp = super.explain(doc);
-        List<Explanation> details = new ArrayList<>(Arrays.asList(exp.getDetails()));
-        details.add(shapeValues.explain(doc));
-        return Explanation.match(exp.getValue(), exp.getDescription(), details);
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    ShapePredicateValueSource that = (ShapePredicateValueSource) o;
-
-    if (!shapeValuesource.equals(that.shapeValuesource)) return false;
-    if (!op.equals(that.op)) return false;
-    if (!queryShape.equals(that.queryShape)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = shapeValuesource.hashCode();
-    result = 31 * result + op.hashCode();
-    result = 31 * result + queryShape.hashCode();
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
index 39c3c40..5943573 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
@@ -14,7 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-/** 
- * Various spatial utilities.
+
+/**
+ * Geospatial Utility Classes For Core Lucene
  */
-package org.apache.lucene.spatial.util;
+package org.apache.lucene.spatial.util;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
deleted file mode 100644
index d31fd59..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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.lucene.spatial.vector;
-
-import com.spatial4j.core.distance.DistanceCalculator;
-import com.spatial4j.core.shape.Point;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.DocValues;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.util.Bits;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * An implementation of the Lucene ValueSource model that returns the distance
- * for a {@link PointVectorStrategy}.
- *
- * @lucene.internal
- */
-public class DistanceValueSource extends ValueSource {
-
-  private PointVectorStrategy strategy;
-  private final Point from;
-  private final double multiplier;
-
-  /**
-   * Constructor.
-   */
-  public DistanceValueSource(PointVectorStrategy strategy, Point from, double multiplier) {
-    this.strategy = strategy;
-    this.from = from;
-    this.multiplier = multiplier;
-  }
-
-  /**
-   * Returns the ValueSource description.
-   */
-  @Override
-  public String description() {
-    return "DistanceValueSource("+strategy+", "+from+")";
-  }
-
-  /**
-   * Returns the FunctionValues used by the function query.
-   */
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-    LeafReader reader = readerContext.reader();
-
-    final NumericDocValues ptX = DocValues.getNumeric(reader, strategy.getFieldNameX());
-    final NumericDocValues ptY = DocValues.getNumeric(reader, strategy.getFieldNameY());
-    final Bits validX =  DocValues.getDocsWithField(reader, strategy.getFieldNameX());
-    final Bits validY =  DocValues.getDocsWithField(reader, strategy.getFieldNameY());
-
-    return new FunctionValues() {
-
-      private final Point from = DistanceValueSource.this.from;
-      private final DistanceCalculator calculator = strategy.getSpatialContext().getDistCalc();
-      private final double nullValue =
-          (strategy.getSpatialContext().isGeo() ? 180 * multiplier : Double.MAX_VALUE);
-
-      @Override
-      public float floatVal(int doc) {
-        return (float) doubleVal(doc);
-      }
-
-      @Override
-      public double doubleVal(int doc) {
-        // make sure it has minX and area
-        if (validX.get(doc)) {
-          assert validY.get(doc);
-          return calculator.distance(from, Double.longBitsToDouble(ptX.get(doc)), Double.longBitsToDouble(ptY.get(doc))) * multiplier;
-        }
-        return nullValue;
-      }
-
-      @Override
-      public String toString(int doc) {
-        return description() + "=" + floatVal(doc);
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    DistanceValueSource that = (DistanceValueSource) o;
-
-    if (!from.equals(that.from)) return false;
-    if (!strategy.equals(that.strategy)) return false;
-    if (multiplier != that.multiplier) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return from.hashCode();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
deleted file mode 100644
index d046e24..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * 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.lucene.spatial.vector;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.LegacyDoubleField;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.queries.function.FunctionRangeQuery;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.LegacyNumericRangeQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.SpatialStrategy;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
-
-/**
- * Simple {@link SpatialStrategy} which represents Points in two numeric {@link
- * org.apache.lucene.document.LegacyDoubleField}s.  The Strategy's best feature is decent distance sort.
- *
- * <p>
- * <b>Characteristics:</b>
- * <br>
- * <ul>
- * <li>Only indexes points; just one per field value.</li>
- * <li>Can query by a rectangle or circle.</li>
- * <li>{@link
- * org.apache.lucene.spatial.query.SpatialOperation#Intersects} and {@link
- * SpatialOperation#IsWithin} is supported.</li>
- * <li>Uses the FieldCache for
- * {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point)} and for
- * searching with a Circle.</li>
- * </ul>
- *
- * <p>
- * <b>Implementation:</b>
- * <p>
- * This is a simple Strategy.  Search works with {@link org.apache.lucene.search.LegacyNumericRangeQuery}s on
- * an x and y pair of fields.  A Circle query does the same bbox query but adds a
- * ValueSource filter on
- * {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point)}.
- * <p>
- * One performance shortcoming with this strategy is that a scenario involving
- * both a search using a Circle and sort will result in calculations for the
- * spatial distance being done twice -- once for the filter and second for the
- * sort.
- *
- * @lucene.experimental
- */
-public class PointVectorStrategy extends SpatialStrategy {
-
-  public static final String SUFFIX_X = "__x";
-  public static final String SUFFIX_Y = "__y";
-
-  private final String fieldNameX;
-  private final String fieldNameY;
-
-  public int precisionStep = 8; // same as solr default
-
-  public PointVectorStrategy(SpatialContext ctx, String fieldNamePrefix) {
-    super(ctx, fieldNamePrefix);
-    this.fieldNameX = fieldNamePrefix+SUFFIX_X;
-    this.fieldNameY = fieldNamePrefix+SUFFIX_Y;
-  }
-
-  public void setPrecisionStep( int p ) {
-    precisionStep = p;
-    if (precisionStep<=0 || precisionStep>=64)
-      precisionStep=Integer.MAX_VALUE;
-  }
-
-  String getFieldNameX() {
-    return fieldNameX;
-  }
-
-  String getFieldNameY() {
-    return fieldNameY;
-  }
-
-  @Override
-  public Field[] createIndexableFields(Shape shape) {
-    if (shape instanceof Point)
-      return createIndexableFields((Point) shape);
-    throw new UnsupportedOperationException("Can only index Point, not " + shape);
-  }
-
-  /** @see #createIndexableFields(com.spatial4j.core.shape.Shape) */
-  public Field[] createIndexableFields(Point point) {
-    FieldType doubleFieldType = new FieldType(LegacyDoubleField.TYPE_NOT_STORED);
-    doubleFieldType.setNumericPrecisionStep(precisionStep);
-    Field[] f = new Field[2];
-    f[0] = new LegacyDoubleField(fieldNameX, point.getX(), doubleFieldType);
-    f[1] = new LegacyDoubleField(fieldNameY, point.getY(), doubleFieldType);
-    return f;
-  }
-
-  @Override
-  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
-    return new DistanceValueSource(this, queryPoint, multiplier);
-  }
-
-  @Override
-  public ConstantScoreQuery makeQuery(SpatialArgs args) {
-    if(! SpatialOperation.is( args.getOperation(),
-        SpatialOperation.Intersects,
-        SpatialOperation.IsWithin ))
-      throw new UnsupportedSpatialOperation(args.getOperation());
-    Shape shape = args.getShape();
-    if (shape instanceof Rectangle) {
-      Rectangle bbox = (Rectangle) shape;
-      return new ConstantScoreQuery(makeWithin(bbox));
-    } else if (shape instanceof Circle) {
-      Circle circle = (Circle)shape;
-      Rectangle bbox = circle.getBoundingBox();
-      Query approxQuery = makeWithin(bbox);
-      BooleanQuery.Builder bqBuilder = new BooleanQuery.Builder();
-      FunctionRangeQuery vsRangeQuery =
-          new FunctionRangeQuery(makeDistanceValueSource(circle.getCenter()), 0.0, circle.getRadius(), true, true);
-      bqBuilder.add(approxQuery, BooleanClause.Occur.FILTER);//should have lowest "cost" value; will drive iteration
-      bqBuilder.add(vsRangeQuery, BooleanClause.Occur.FILTER);
-      return new ConstantScoreQuery(bqBuilder.build());
-    } else {
-      throw new UnsupportedOperationException("Only Rectangles and Circles are currently supported, " +
-          "found [" + shape.getClass() + "]");//TODO
-    }
-  }
-
-  /**
-   * Constructs a query to retrieve documents that fully contain the input envelope.
-   */
-  private Query makeWithin(Rectangle bbox) {
-    BooleanQuery.Builder bq = new BooleanQuery.Builder();
-    BooleanClause.Occur MUST = BooleanClause.Occur.MUST;
-    if (bbox.getCrossesDateLine()) {
-      //use null as performance trick since no data will be beyond the world bounds
-      bq.add(rangeQuery(fieldNameX, null/*-180*/, bbox.getMaxX()), BooleanClause.Occur.SHOULD );
-      bq.add(rangeQuery(fieldNameX, bbox.getMinX(), null/*+180*/), BooleanClause.Occur.SHOULD );
-      bq.setMinimumNumberShouldMatch(1);//must match at least one of the SHOULD
-    } else {
-      bq.add(rangeQuery(fieldNameX, bbox.getMinX(), bbox.getMaxX()), MUST);
-    }
-    bq.add(rangeQuery(fieldNameY, bbox.getMinY(), bbox.getMaxY()), MUST);
-    return bq.build();
-  }
-
-  private LegacyNumericRangeQuery<Double> rangeQuery(String fieldName, Double min, Double max) {
-    return LegacyNumericRangeQuery.newDoubleRange(
-        fieldName,
-        precisionStep,
-        min,
-        max,
-        true,
-        true);//inclusive
-  }
-
-}
-
-
-
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
deleted file mode 100644
index 47c208c..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * 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.
- */
-/** 
- * Spatial strategy that uses two fields.
- */
-package org.apache.lucene.spatial.vector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/overview.html
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/overview.html b/lucene/spatial/src/java/overview.html
index fb6d4f6..3c1195f 100644
--- a/lucene/spatial/src/java/overview.html
+++ b/lucene/spatial/src/java/overview.html
@@ -15,53 +15,20 @@
  limitations under the License.
 -->
 <html>
-  <head>
-    <title>Apache Lucene Spatial Module</title>
-  </head>
-  <body>
+<head>
+  <title>Apache Lucene Spatial Module</title>
+</head>
+<body>
 
-  <h1>The Spatial Module for Apache Lucene</h1>
+<h1>The Spatial Module for Apache Lucene</h1>
 
-  <p>
-    The spatial module is new to Lucene 4, replacing the old "contrib" module
-    that came before it. The principle interface to the module is
-    a {@link org.apache.lucene.spatial.SpatialStrategy}
-    which encapsulates an approach to indexing and searching
-    based on shapes.  Different Strategies have different features and
-    performance profiles, which are documented at each Strategy implementation
-    class level.
-  </p>
-  <p>
-    For some sample code showing how to use the API, see
-      SpatialExample.java in the tests.
-  </p>
-  <p>
-    The spatial module uses
-    <a href="https://github.com/spatial4j/spatial4j">Spatial4j</a>
-    heavily.  Spatial4j is an ASL licensed library with these capabilities:
-    <ul>
-    <li>Provides shape implementations, namely point, rectangle,
-      and circle.  Both geospatial contexts and plain 2D Euclidean/Cartesian contexts
-      are supported.
-      With an additional dependency, it adds polygon and other geometry shape
-      support via integration with
-      <a href="http://sourceforge.net/projects/jts-topo-suite/">JTS Topology Suite</a>.
-      This includes dateline wrap support.</li>
-    <li>Shape parsing and serialization, including
-      <a href="http://en.wikipedia.org/wiki/Well-known_text">Well-Known Text (WKT)</a>
-      (via JTS).</li>
-    <li>Distance and other spatial related math calculations.</li>
-    </ul>
-  </p>
-  <p>
-    Historical note: The new spatial module was once known as
-    Lucene Spatial Playground (LSP) as an external project.  In ~March 2012, LSP
-    split into this new module as part of Lucene and Spatial4j externally. A
-    large chunk of the LSP implementation originated as SOLR-2155 which uses
-    trie/prefix-tree algorithms with a geohash encoding.  That approach is
-    implemented in {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy}
-    today.
-  </p>
-
-  </body>
-</html>
\ No newline at end of file
+<p>
+  APIs for geospatial indexing and querying. Dependencies for the spatial module are
+  restricted to inner lucene modules only. That is, no third-party dependencies
+  are allowed. The intent is to keep this module free of any integration or
+  licensing issues that might arise as a result of depending on an external library.
+  For adding or leveraging spatial features that require third-party libraries see
+  the <a href="../spatial-extras/overview-summary.html">spatial-extras</a> package.
+</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/cities-Intersects-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/cities-Intersects-BBox.txt b/lucene/spatial/src/test-files/cities-Intersects-BBox.txt
deleted file mode 100644
index e85748c..0000000
--- a/lucene/spatial/src/test-files/cities-Intersects-BBox.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-[San Francisco] G5391959 @ Intersects(ENVELOPE(-122.524918, -122.360123, 37.817108, 37.674973))
-[Wellington] G2179537 @ Intersects(ENVELOPE(174.711456, 174.854279, -41.213837, -41.360779))
-[Barcelona] G6544100 G3128760  @  Intersects(ENVELOPE(2.127228, 2.226105, 41.408844, 41.333313))
\ No newline at end of file


[44/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
index 9339aec..d5e8a49 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
index 8627c3b..9563d00 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
index 04bee53..dabb39c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
index 366d979..4bffffa 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
index fc25b69..f10eaf6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
index 3db4ce0..f75b5b0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
index 4e3ee21..d1f64b2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.eu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.eu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.eu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
index 3e085a4..67982a2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
index 0d10b93..53ad9c5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
index d8d504e..8f302e0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
index 4de95eb..0479c00 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
index 659bed0..e9880c0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
index 05bba6a..09c2b4e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
index e8edf72..852e35b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
index a441dd6..36fb0dc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
index cc3a5a1..8a526f5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
index 2cf5391..cb57376 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
index 24f8a82..d55fe51 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
index 708ec9b..d5790b6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
index c979722..54d7254 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ga;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ga;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ga;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
index 3f68e1d..3149660 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ga;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ga;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ga;
+
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
index 81ae22c..d5d96bf 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ga;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ga;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ga;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
index cbbe396..a215121 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
index 7b0503c..d1ffe89 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
index 1885421..4fb75bd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
index 5f8116b..8854d83 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
index 4cef1d4..ef3242e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
index f1d0638..63321d5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.util.Version;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,13 @@ import org.apache.lucene.util.Version;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.analysis.util.CharArraySet;
+import org.apache.lucene.util.Version;
+
 
 /**
  * Tests the HindiAnalyzer

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
index 0eb1e68..bdf4087 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
index d30dae7..0462911 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
index a10fa8f..147971a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
index b925f422..1ce8d38 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
index ac2c0b8..3b8951c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
index 0d9cf13..53a1832 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
index 7ea5a1d..771cf95 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
index 6fa6ecf..edaf536 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.BufferedWriter;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
index 4a66430..e482cf5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.InputStream;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
index efc5d66..ffcd827 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.InputStream;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAlternateCasing.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAlternateCasing.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAlternateCasing.java
index 2d6a6d7..31dc4d7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAlternateCasing.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAlternateCasing.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseInsensitive.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseInsensitive.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseInsensitive.java
index 4719f54..48a327e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseInsensitive.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseInsensitive.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseSensitive.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseSensitive.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseSensitive.java
index 58cf06f..d052c6f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseSensitive.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCaseSensitive.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCircumfix.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCircumfix.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCircumfix.java
index 8eab1cc..f7a9a5a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCircumfix.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCircumfix.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestComplexPrefix.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestComplexPrefix.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestComplexPrefix.java
index ed8ffde..93494c4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestComplexPrefix.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestComplexPrefix.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition.java
index ec2e27e..6d39f6c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition2.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition2.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition2.java
index 9e7234a..970df5a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition2.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestCondition2.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
-import org.junit.BeforeClass;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.junit.BeforeClass;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
+import org.junit.BeforeClass;
+
 
 public class TestCondition2 extends StemmerTestBase {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestConv.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestConv.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestConv.java
index c72fd3f..c62e991 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestConv.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestConv.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
-import org.junit.BeforeClass;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.junit.BeforeClass;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
+import org.junit.BeforeClass;
+
 
 public class TestConv extends StemmerTestBase {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDependencies.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDependencies.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDependencies.java
index 4f7cfbf..6fc3d0a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDependencies.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDependencies.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
index 39feb1d..ee36fee 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.ByteArrayInputStream;
 import java.io.FilterInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDoubleEscape.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDoubleEscape.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDoubleEscape.java
index 4267ae4..17556cc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDoubleEscape.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDoubleEscape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestEscaped.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestEscaped.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestEscaped.java
index d5b1489..2af136a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestEscaped.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestEscaped.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagLong.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagLong.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagLong.java
index 5165a24..b5090bc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagLong.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagLong.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagNum.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagNum.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagNum.java
index ffa38a6..ff9f1d4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagNum.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFlagNum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFullStrip.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFullStrip.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFullStrip.java
index 988aa9b..870b759 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFullStrip.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestFullStrip.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHomonyms.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHomonyms.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHomonyms.java
index 73c7389..a96612e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHomonyms.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHomonyms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
index 69acc93..d0cd11d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
index b671f6d..77a5d34 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestIgnore.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestIgnore.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestIgnore.java
index 723eca9..0cdd952 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestIgnore.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestIgnore.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestKeepCase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestKeepCase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestKeepCase.java
index 8a04ffa..23f9134 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestKeepCase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestKeepCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorph.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorph.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorph.java
index 1eb91bb..1f18451 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorph.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorph.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphAlias.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphAlias.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphAlias.java
index 9b401c1..1c4b272 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphAlias.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphAlias.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphData.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphData.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphData.java
index 373d691..b35f9dc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphData.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestMorphData.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestNeedAffix.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestNeedAffix.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestNeedAffix.java
index d11f016..5f78de3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestNeedAffix.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestNeedAffix.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOnlyInCompound.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOnlyInCompound.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOnlyInCompound.java
index 3f193ce..7b6f06d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOnlyInCompound.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOnlyInCompound.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOptionalCondition.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOptionalCondition.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOptionalCondition.java
index bddee50..5f0cf60 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOptionalCondition.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestOptionalCondition.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpaces.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpaces.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpaces.java
index f63ceb6..4a4f87a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpaces.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpaces.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStemmer.java
index f63e7be..8ce36a6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStrangeOvergeneration.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStrangeOvergeneration.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStrangeOvergeneration.java
index 1e85d66..0f739e5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStrangeOvergeneration.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestStrangeOvergeneration.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoFold.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoFold.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoFold.java
index 6b5ec68..96d559e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoFold.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoFold.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoSuffixes.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoSuffixes.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoSuffixes.java
index 9a347c9..04ca035 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoSuffixes.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTwoSuffixes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix.java
index a1d86ef..e057220 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix2.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix2.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix2.java
index 1fcc0c0..24c2c04 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix2.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestZeroAffix2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
index 73410ad..b9934c8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hy;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
index 42440f4..424f117 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
index aa34218..5b5c11c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
index c72db63..e42b19b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
index e4bdd67..f4f56de 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.in;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.in;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.in;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
index fc97a8e..bba4947 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
index f2d6275..f4eb511 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
index 5fb7eac..c809f61 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 import java.io.Reader;
 import java.io.StringReader;


[35/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
index d416d6a..7486b69 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/package-info.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/package-info.java
index 7ad0029..ab85ec6 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * General-purpose attributes for text analysis.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java b/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java
index 8ca6ad9..595bfbb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.codecs;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
 
 import org.apache.lucene.codecs.blocktree.BlockTreeTermsReader; // javadocs
 import org.apache.lucene.index.OrdTermState;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/Codec.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/Codec.java b/lucene/core/src/java/org/apache/lucene/codecs/Codec.java
index 0613441..a263acd 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/Codec.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/Codec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.util.Objects;
 import java.util.ServiceLoader; // javadocs

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java b/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
index 9ff3cdb..addad0f 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/CodecUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
index 042a9b1..954a78e 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/CompoundFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
index 7339c3f..90abf2a 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java
index 0bd1efb..511a2b9 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 import java.util.ServiceLoader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java
index 32cd9d5..b6e136b 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java
index 3e21275..d4b21d7 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
index 7832726..28bae1d 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java
index b955990..cd6386c 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java b/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
index f188d50..4fe236e 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 /**
  * A codec that forwards all its method calls to another codec.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java
index 95a209d..40e9865 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java b/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java
index bb59b93..72ffe9f 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java
index 5fbb820..207b324 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
index d88ae5f..b771aab 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/NormsConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java
index 0eb83b8..6b5afbd 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/NormsProducer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/NormsProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/NormsProducer.java
index fff5f15..39f9612 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/NormsProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/NormsProducer.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.codecs;
-
-import java.io.Closeable;
-import java.io.IOException;
-
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.util.Accountable;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,15 @@ import org.apache.lucene.util.Accountable;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
+import java.io.Closeable;
+import java.io.IOException;
+
+import org.apache.lucene.index.FieldInfo;
+import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.util.Accountable;
+
 
 /** Abstract API that produces field normalization values
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PointFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/PointFormat.java
index 953bc4d..1d48358 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PointFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PointReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PointReader.java b/lucene/core/src/java/org/apache/lucene/codecs/PointReader.java
index aa2553f..7087840 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PointReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PointReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PointWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PointWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/PointWriter.java
index e53a8b0..fb809d7 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PointWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PointWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java
index cad5b33..7994e05 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 import java.util.ServiceLoader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java b/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
index f054384..56cbab5 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java b/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
index 4df8f4e..b4f2d4e 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter;
 import org.apache.lucene.index.FieldInfo;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/PushPostingsWriterBase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/PushPostingsWriterBase.java b/lucene/core/src/java/org/apache/lucene/codecs/PushPostingsWriterBase.java
index 3308e48..1fb83b9 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/PushPostingsWriterBase.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/PushPostingsWriterBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java
index e1892c7..40daf57 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java
index ed1d606..549fe2f 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
index 43117d2..6258df5 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
@@ -1,20 +1,20 @@
-package org.apache.lucene.codecs;
-
 /*
- * Copyright 2004 The Apache Software Foundation
+ * 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
  *
- * Licensed 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
+ *     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.
+ * 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.lucene.codecs;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
index 109ae5c..b8cff11 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
@@ -1,20 +1,20 @@
-package org.apache.lucene.codecs;
-
 /*
- * Copyright 2004 The Apache Software Foundation
+ * 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
  *
- * Licensed 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
+ *     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.
+ * 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.lucene.codecs;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java b/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java
index dfda70a..c3c2a48 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import org.apache.lucene.index.TermsEnum; // javadocs
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java
index 9888dd3..a0a65a6 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
index 04bea0a..7104136 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
index 37f268b..1aff737 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/AutoPrefixTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/AutoPrefixTermsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/AutoPrefixTermsWriter.java
index 701b40d..501068d 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/AutoPrefixTermsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/AutoPrefixTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetPostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetPostingsEnum.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetPostingsEnum.java
index bbf2cb9..c14de96 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetPostingsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetPostingsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetTermsEnum.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetTermsEnum.java
index b94eb2f..ffc182f 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BitSetTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import org.apache.lucene.codecs.PostingsWriterBase;
 import org.apache.lucene.index.PostingsEnum;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java
index 6cdd2b7..03ec517 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsWriter.java
index eb242d8..340b0c9 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java
index a51a125..1e92a43 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnum.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnum.java
index 4764da7..4d5b4ce 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnumFrame.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnumFrame.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnumFrame.java
index 2122b38..3241075 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnumFrame.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnumFrame.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnum.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnum.java
index 9ccb69c..73c32bb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame.java
index 2bb9fd1..a2abbaf 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/Stats.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/Stats.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/Stats.java
index 48dc3d9..f7995a3 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/Stats.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/Stats.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktree;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/blocktree/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/package-info.java
index 9cdbb02..4678778 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * BlockTree terms dictionary.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java
index 5f38d2e..1b9f4b1 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java
index 16bdb42..0685d79 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import static org.apache.lucene.util.BitUtil.zigZagDecode;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
index 9f76607..b90abdf 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import static org.apache.lucene.util.BitUtil.zigZagEncode;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java
index e56cc09..f496928 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import static org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter.BYTE_ARR;
 import static org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter.CODEC_SFX_DAT;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
index 6f4ed16..79dfb27 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsFormat.java
index a8d50e0..143f2b2 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
index 0cdeae1..f0d1640 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
index 0e9ad08..07f2711 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 import java.util.ArrayDeque;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressionMode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressionMode.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressionMode.java
index ba041e9..326eba3 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressionMode.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressionMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 import java.util.zip.DataFormatException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/Compressor.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/Compressor.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/Compressor.java
index ef4fcc2..bd2fadb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/Compressor.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/Compressor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/Decompressor.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/Decompressor.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/Decompressor.java
index c7fffc7..b2f1833 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/Decompressor.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/Decompressor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java
index 4d26455..67cfab6 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/LZ4.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/LZ4.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/LZ4.java
index d1fc389..44bc82c 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/LZ4.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/LZ4.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/MatchingReaders.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/MatchingReaders.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/MatchingReaders.java
index b784694..286c587 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/MatchingReaders.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/MatchingReaders.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.MergeState;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/compressing/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/package-info.java
index 9d3ce93..189de33 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/package-info.java
@@ -13,8 +13,7 @@
  * 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.
- */
- 
+ */ 
 /**
  * StoredFieldsFormat that allows cross-document and cross-field compression of stored fields.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/ForUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/ForUtil.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/ForUtil.java
index 10cbadc..5e8189e 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/ForUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/ForUtil.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
index 921fdaa..2a40bde 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
index b1cfc5d..8cac810 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.CodecUtil;
 import org.apache.lucene.index.CorruptIndexException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
index 35edb06..35931de 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50LiveDocsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50LiveDocsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50LiveDocsFormat.java
index 4cfb719..aac7375 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50LiveDocsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50LiveDocsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
index a2bd71d..4c4331c 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsFormat.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsReader.java
index 3152268..0dde774 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsWriter.java
index c11f7d5..6d24a4c 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import static org.apache.lucene.codecs.lucene50.ForUtil.MAX_DATA_SIZE;
 import static org.apache.lucene.codecs.lucene50.ForUtil.MAX_ENCODED_SIZE;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
index 9fa3a09..68aacc6 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java
index 3efdc98..8c037c5 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java
index 4e65970..a4556c6 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50SkipWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50StoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50StoredFieldsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50StoredFieldsFormat.java
index c3bdb6b..10f8a69 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50StoredFieldsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50StoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50TermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50TermVectorsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50TermVectorsFormat.java
index 719da84..5ff4956 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50TermVectorsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50TermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.CodecUtil;
 import org.apache.lucene.codecs.TermVectorsFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene50/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/package-info.java
index f76ac06..3cf6d0d 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Components from the Lucene 5.0 index format
  * See {@link org.apache.lucene.codecs.lucene53} for an overview

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsConsumer.java
index 88c04e3..b5f04eb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene53;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene53;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene53;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsFormat.java
index 91faf5d..15cdecc 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene53;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene53;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene53;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsProducer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsProducer.java
index de79b07..c73e770 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/Lucene53NormsProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene53;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene53;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene53;
+
 
 import static org.apache.lucene.codecs.lucene53.Lucene53NormsFormat.VERSION_CURRENT;
 import static org.apache.lucene.codecs.lucene53.Lucene53NormsFormat.VERSION_START;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene53/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/package-info.java
index 6a03532..9f7b2c4 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene53/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene53/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Components from the Lucene 5.3 index format
  * See {@link org.apache.lucene.codecs.lucene54} for an overview

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesConsumer.java
index f53d037..858c54b 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene54;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene54;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene54;
+
 
 import java.io.Closeable; // javadocs
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesFormat.java
index c6e55cd..800649c 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene54;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene54;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene54;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesProducer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesProducer.java
index b7388cb..4e24c7a 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/Lucene54DocValuesProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene54;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene54;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene54;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene54/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/package-info.java
index ebae849..5874f57 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene54/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene54/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Lucene 5.4 file format.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
index 435c6ad..e9ef9a8 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60Codec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene60;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene60;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene60;
+
 
 import java.util.Objects;
 


[34/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60FieldInfosFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60FieldInfosFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60FieldInfosFormat.java
index a26883f..a35461e 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60FieldInfosFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60FieldInfosFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene60;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene60;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene60;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointFormat.java
index beec4bd..8ea932b 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene60;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene60;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene60;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointReader.java
index 2d18019..2e9206a 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene60;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene60;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene60;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointWriter.java
index 74acb4d..9709ffb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60PointWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene60;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene60;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene60;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/lucene60/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/package-info.java
index a52d6f6..6ec8f54 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Lucene 6.0 file format.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/package-info.java
index 28b260d..0d95050 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Codecs API: API for customization of the encoding and structure of the index.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java
index 5e33b04..25566e0 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.perfield;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.perfield;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.perfield;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
index 6b736f8..e49d2ff 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.perfield;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.perfield;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.perfield;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/codecs/perfield/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/perfield/package-info.java b/lucene/core/src/java/org/apache/lucene/codecs/perfield/package-info.java
index 4c0faa0..7a04bc7 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/perfield/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/perfield/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Postings format that can delegate to different formats per-field.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/BinaryDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/BinaryDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/BinaryDocValuesField.java
index c0c9c63..b6a16de 100644
--- a/lucene/core/src/java/org/apache/lucene/document/BinaryDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/BinaryDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.BinaryDocValues;
 import org.apache.lucene.index.DocValuesType;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/BinaryPoint.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/BinaryPoint.java b/lucene/core/src/java/org/apache/lucene/document/BinaryPoint.java
index a74b17c..920ac42 100644
--- a/lucene/core/src/java/org/apache/lucene/document/BinaryPoint.java
+++ b/lucene/core/src/java/org/apache/lucene/document/BinaryPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/CompressionTools.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/CompressionTools.java b/lucene/core/src/java/org/apache/lucene/document/CompressionTools.java
index b30a34c..7ea3583 100644
--- a/lucene/core/src/java/org/apache/lucene/document/CompressionTools.java
+++ b/lucene/core/src/java/org/apache/lucene/document/CompressionTools.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.util.zip.Deflater;
 import java.util.zip.Inflater;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/DateTools.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/DateTools.java b/lucene/core/src/java/org/apache/lucene/document/DateTools.java
index e378ece..e7ac4c5 100644
--- a/lucene/core/src/java/org/apache/lucene/document/DateTools.java
+++ b/lucene/core/src/java/org/apache/lucene/document/DateTools.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/Document.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/Document.java b/lucene/core/src/java/org/apache/lucene/document/Document.java
index ee46eca..cdba083 100644
--- a/lucene/core/src/java/org/apache/lucene/document/Document.java
+++ b/lucene/core/src/java/org/apache/lucene/document/Document.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java b/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java
index 972fc09..2762701 100644
--- a/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java
+++ b/lucene/core/src/java/org/apache/lucene/document/DocumentStoredFieldVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/DoubleDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/DoubleDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/DoubleDocValuesField.java
index f0e14d5..3c24ca4 100644
--- a/lucene/core/src/java/org/apache/lucene/document/DoubleDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/DoubleDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 /**
  * Syntactic sugar for encoding doubles as NumericDocValues

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/DoublePoint.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/DoublePoint.java b/lucene/core/src/java/org/apache/lucene/document/DoublePoint.java
index a12a0c9..b50260b 100644
--- a/lucene/core/src/java/org/apache/lucene/document/DoublePoint.java
+++ b/lucene/core/src/java/org/apache/lucene/document/DoublePoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.NumericUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/Field.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/Field.java b/lucene/core/src/java/org/apache/lucene/document/Field.java
index 68f1699..dff2e58 100644
--- a/lucene/core/src/java/org/apache/lucene/document/Field.java
+++ b/lucene/core/src/java/org/apache/lucene/document/Field.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/FieldType.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/FieldType.java b/lucene/core/src/java/org/apache/lucene/document/FieldType.java
index c6a137b..413751b 100644
--- a/lucene/core/src/java/org/apache/lucene/document/FieldType.java
+++ b/lucene/core/src/java/org/apache/lucene/document/FieldType.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.analysis.Analyzer; // javadocs
 import org.apache.lucene.index.DocValuesType;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/FloatDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/FloatDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/FloatDocValuesField.java
index db0524f..3a8bdea 100644
--- a/lucene/core/src/java/org/apache/lucene/document/FloatDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/FloatDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 /**
  * Syntactic sugar for encoding floats as NumericDocValues

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/FloatPoint.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/FloatPoint.java b/lucene/core/src/java/org/apache/lucene/document/FloatPoint.java
index 00766ef..8e0a257 100644
--- a/lucene/core/src/java/org/apache/lucene/document/FloatPoint.java
+++ b/lucene/core/src/java/org/apache/lucene/document/FloatPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.NumericUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/IntPoint.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/IntPoint.java b/lucene/core/src/java/org/apache/lucene/document/IntPoint.java
index ef48706..f582bf6 100644
--- a/lucene/core/src/java/org/apache/lucene/document/IntPoint.java
+++ b/lucene/core/src/java/org/apache/lucene/document/IntPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.NumericUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/LegacyDoubleField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/LegacyDoubleField.java b/lucene/core/src/java/org/apache/lucene/document/LegacyDoubleField.java
index eaebd61..55ba81c 100644
--- a/lucene/core/src/java/org/apache/lucene/document/LegacyDoubleField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/LegacyDoubleField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.IndexOptions;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/LegacyFloatField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/LegacyFloatField.java b/lucene/core/src/java/org/apache/lucene/document/LegacyFloatField.java
index e6ac0de..e24bf30 100644
--- a/lucene/core/src/java/org/apache/lucene/document/LegacyFloatField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/LegacyFloatField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.util.LegacyNumericUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/LegacyIntField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/LegacyIntField.java b/lucene/core/src/java/org/apache/lucene/document/LegacyIntField.java
index 3ad963b..6eb0376 100644
--- a/lucene/core/src/java/org/apache/lucene/document/LegacyIntField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/LegacyIntField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.util.LegacyNumericUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/LegacyLongField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/LegacyLongField.java b/lucene/core/src/java/org/apache/lucene/document/LegacyLongField.java
index ce5c994..fa1851f 100644
--- a/lucene/core/src/java/org/apache/lucene/document/LegacyLongField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/LegacyLongField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.IndexOptions;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/LongPoint.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/LongPoint.java b/lucene/core/src/java/org/apache/lucene/document/LongPoint.java
index 15810d1..e645260 100644
--- a/lucene/core/src/java/org/apache/lucene/document/LongPoint.java
+++ b/lucene/core/src/java/org/apache/lucene/document/LongPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.NumericUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/NumericDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/NumericDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/NumericDocValuesField.java
index 5d044b7..5b6dcc8 100644
--- a/lucene/core/src/java/org/apache/lucene/document/NumericDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/NumericDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.DocValuesType;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/SortedDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/SortedDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/SortedDocValuesField.java
index 46966fd..74afdea 100644
--- a/lucene/core/src/java/org/apache/lucene/document/SortedDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/SortedDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.DocValuesType;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/SortedNumericDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/SortedNumericDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/SortedNumericDocValuesField.java
index 4b66e6c..40ceb25 100644
--- a/lucene/core/src/java/org/apache/lucene/document/SortedNumericDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/SortedNumericDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.DocValuesType;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/SortedSetDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/SortedSetDocValuesField.java b/lucene/core/src/java/org/apache/lucene/document/SortedSetDocValuesField.java
index 23e635d..5f4952b 100644
--- a/lucene/core/src/java/org/apache/lucene/document/SortedSetDocValuesField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/SortedSetDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.DocValuesType;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/StoredField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/StoredField.java b/lucene/core/src/java/org/apache/lucene/document/StoredField.java
index 4400785..1faff36 100644
--- a/lucene/core/src/java/org/apache/lucene/document/StoredField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/StoredField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.IndexReader; // javadocs
 import org.apache.lucene.index.IndexableField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/StringField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/StringField.java b/lucene/core/src/java/org/apache/lucene/document/StringField.java
index e065cfd..b3c7fe0 100644
--- a/lucene/core/src/java/org/apache/lucene/document/StringField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/StringField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/TextField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/TextField.java b/lucene/core/src/java/org/apache/lucene/document/TextField.java
index b6a3053..ad0a5c3 100644
--- a/lucene/core/src/java/org/apache/lucene/document/TextField.java
+++ b/lucene/core/src/java/org/apache/lucene/document/TextField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/document/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/document/package-info.java b/lucene/core/src/java/org/apache/lucene/document/package-info.java
index f3e8e5b..d2a14e7 100644
--- a/lucene/core/src/java/org/apache/lucene/document/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/document/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * The logical representation of a {@link org.apache.lucene.document.Document} for indexing and searching.
  * <p>The document package provides the user level logical representation of content to be indexed and searched.  The

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/AbortingException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/AbortingException.java b/lucene/core/src/java/org/apache/lucene/index/AbortingException.java
index 1722980..c862e82 100644
--- a/lucene/core/src/java/org/apache/lucene/index/AbortingException.java
+++ b/lucene/core/src/java/org/apache/lucene/index/AbortingException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /** Thrown and caught internally in {@link IndexWriter} methods when an {@code IOException} would cause it to
  *  lose previously indexed documents.  When this happens, the {@link IndexWriter} is forcefully 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/AutomatonTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/AutomatonTermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/AutomatonTermsEnum.java
index fdd2b0e..c322bb8 100644
--- a/lucene/core/src/java/org/apache/lucene/index/AutomatonTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/AutomatonTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java b/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java
index a93a570..3256107 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BaseCompositeReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BinaryDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BinaryDocValues.java b/lucene/core/src/java/org/apache/lucene/index/BinaryDocValues.java
index 266c98e..d60a4e0 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BinaryDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BinaryDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesFieldUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesFieldUpdates.java b/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesFieldUpdates.java
index 684afef..f8cece9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesFieldUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesFieldUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.BinaryDocValuesField;
 import org.apache.lucene.search.DocIdSetIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesWriter.java
index af90adc..03d9ff3 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BinaryDocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java b/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java
index 58b3549..216d8f9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BitsSlice.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.util.Bits;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.Bits;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.util.Bits;
+
 
 /**
  * Exposes a slice of an existing Bits as a new Bits.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BufferedUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BufferedUpdates.java b/lucene/core/src/java/org/apache/lucene/index/BufferedUpdates.java
index 1eb7164..259547f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BufferedUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BufferedUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java b/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
index fb6b4ae..bbf83e4 100644
--- a/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
+++ b/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ByteSliceReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ByteSliceReader.java b/lucene/core/src/java/org/apache/lucene/index/ByteSliceReader.java
index d64b378..aabc3d4 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ByteSliceReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ByteSliceReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ByteSliceWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ByteSliceWriter.java b/lucene/core/src/java/org/apache/lucene/index/ByteSliceWriter.java
index c0a3c2c..b96f7fe 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ByteSliceWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ByteSliceWriter.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.store.DataOutput;
-import org.apache.lucene.util.ByteBlockPool;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,11 @@ import org.apache.lucene.util.ByteBlockPool;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.store.DataOutput;
+import org.apache.lucene.util.ByteBlockPool;
+
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java b/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
index c3aa49f..246784e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/CoalescedUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/CoalescedUpdates.java b/lucene/core/src/java/org/apache/lucene/index/CoalescedUpdates.java
index 2d886ae..e908a99 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CoalescedUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CoalescedUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/CodecReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/CodecReader.java b/lucene/core/src/java/org/apache/lucene/index/CodecReader.java
index a5642e4..8a492c2 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CodecReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CodecReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/CompositeReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/CompositeReader.java b/lucene/core/src/java/org/apache/lucene/index/CompositeReader.java
index def95de..0f6a44e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CompositeReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CompositeReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/CompositeReaderContext.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/CompositeReaderContext.java b/lucene/core/src/java/org/apache/lucene/index/CompositeReaderContext.java
index bc38eb3..f4e70d4 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CompositeReaderContext.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CompositeReaderContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java b/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
index eb8f3a4..dc9a5e9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/CorruptIndexException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/CorruptIndexException.java b/lucene/core/src/java/org/apache/lucene/index/CorruptIndexException.java
index 3fff88f..6fcbc77 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CorruptIndexException.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CorruptIndexException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java b/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java
index 500aff2..d1a68da 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java b/lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java
index 3df0b70..f8a6b87 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocConsumer.java b/lucene/core/src/java/org/apache/lucene/index/DocConsumer.java
index 5f23ce7..c0c7ce1 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocValues.java b/lucene/core/src/java/org/apache/lucene/index/DocValues.java
index 91fcef1..feceb3b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocValuesFieldUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocValuesFieldUpdates.java b/lucene/core/src/java/org/apache/lucene/index/DocValuesFieldUpdates.java
index 0729c88..6c8eaf0 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocValuesFieldUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocValuesFieldUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocValuesType.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocValuesType.java b/lucene/core/src/java/org/apache/lucene/index/DocValuesType.java
index 74ad33a..422bd07 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocValuesType.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocValuesType.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocValuesUpdate.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocValuesUpdate.java b/lucene/core/src/java/org/apache/lucene/index/DocValuesUpdate.java
index 4a259ae..e7b1781 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocValuesUpdate.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocValuesUpdate.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import static org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_ARRAY_HEADER;
 import static org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_CHAR;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/DocValuesWriter.java
index 838e292..526a779 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
index 3269ebc..d5c1597 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
index 9265cb3..04a0cfb 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
 
 import java.util.Arrays;
 import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java
index 6428b16..38547e6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushControl.java
@@ -1,14 +1,12 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.IdentityHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java
index 954a4bb..2c62487 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterFlushQueue.java
@@ -1,20 +1,21 @@
-package org.apache.lucene.index;
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
+
 import java.io.IOException;
 import java.util.LinkedList;
 import java.util.Queue;
@@ -23,7 +24,6 @@ import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.lucene.index.DocumentsWriterPerThread.FlushedSegment;
 
-
 /**
  * @lucene.internal 
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java
index e3bcce0..e5998de 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThread.java
@@ -1,14 +1,12 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.text.NumberFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
index 6d67fb0..63d2e96 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java
@@ -1,13 +1,12 @@
-package org.apache.lucene.index;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -15,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.util.ThreadInterruptedException;
 import org.apache.lucene.util.ThreadInterruptedException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterStallControl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterStallControl.java b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterStallControl.java
index 8ecd483..84fa9af 100644
--- a/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterStallControl.java
+++ b/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterStallControl.java
@@ -1,14 +1,12 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 import java.util.IdentityHashMap;
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java b/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java
index 96fbd2c..ee1c0ce 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.index.FilterLeafReader.FilterFields;
 import org.apache.lucene.index.FilterLeafReader.FilterTerms;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java b/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java
index 57dd2c5..2574bce 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Map;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java b/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
index 93f35e7..a49a993 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Collection;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FieldTermIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FieldTermIterator.java b/lucene/core/src/java/org/apache/lucene/index/FieldTermIterator.java
index a7c5498..271df02 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FieldTermIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FieldTermIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRefIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/Fields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/Fields.java b/lucene/core/src/java/org/apache/lucene/index/Fields.java
index d561916..c5794b6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/Fields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/Fields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
index 65275e2..8b2a55f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FilterDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterDirectoryReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterDirectoryReader.java
index 579cde9..7003df5 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilterDirectoryReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilterDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
index eadeffa..98365a6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FilteredTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilteredTermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/FilteredTermsEnum.java
index 3bb6f43..6498dc0 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilteredTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilteredTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java b/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
index 8da0b9e..a85c98b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
@@ -1,14 +1,12 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.index.DocumentsWriterPerThreadPool.ThreadState;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java b/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java
index bddf58d..e70959f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java
@@ -1,14 +1,12 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 import java.util.Iterator;
 
 import org.apache.lucene.index.DocumentsWriterPerThreadPool.ThreadState;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java b/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
index e078748..fb78a92 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java b/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
index e4a6446..efa1799 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java b/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java
index fae0d6f..0a7dcfd 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/FrozenBufferedUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FrozenBufferedUpdates.java b/lucene/core/src/java/org/apache/lucene/index/FrozenBufferedUpdates.java
index 70ef927..a3a57a3 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FrozenBufferedUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FrozenBufferedUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Iterator;


[13/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrTermsBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrTermsBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrTermsBuilder.java
index 785b644..d30653e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrTermsBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrTermsBuilder.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.queryparser.xml.builders;
 
 import org.apache.lucene.analysis.Analyzer;
@@ -17,23 +33,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-/*
- * 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.
- */
-
 /**
  * Builder that analyzes the text into a {@link SpanOrQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilder.java
index 1b694f3..74d03b3 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilder.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queryparser.xml.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queryparser.xml.builders;
 import org.apache.lucene.search.spans.SpanQuery;
 import org.apache.lucene.queryparser.xml.ParserException;
 import org.apache.lucene.queryparser.xml.QueryBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilderFactory.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilderFactory.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilderFactory.java
index 69fd7ba..6f41428 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilderFactory.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilderFactory.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
-
-import java.util.HashMap;
-import java.util.Map;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,7 +14,15 @@ import java.util.Map;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
+
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
 
+import java.util.HashMap;
+import java.util.Map;
 /**
  * Factory for {@link SpanQueryBuilder}s
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanTermBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanTermBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanTermBuilder.java
index 9148ef8..560a8ac 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanTermBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanTermBuilder.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.spans.SpanBoostQuery;
-import org.apache.lucene.search.spans.SpanQuery;
-import org.apache.lucene.search.spans.SpanTermQuery;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,7 +14,15 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.spans.SpanBoostQuery;
+import org.apache.lucene.search.spans.SpanQuery;
+import org.apache.lucene.search.spans.SpanTermQuery;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link SpanTermQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermQueryBuilder.java
index 8751eb3..221c596 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermQueryBuilder.java
@@ -1,13 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.BoostQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.w3c.dom.Element;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -24,7 +14,16 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.w3c.dom.Element;
 /**
  * Builder for {@link TermQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java
index 7008556..7fb84cd 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.queryparser.xml.builders;
 
 import org.apache.lucene.analysis.Analyzer;
@@ -17,23 +33,6 @@ import org.w3c.dom.Element;
 
 import java.io.IOException;
 
-/*
- * 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.
- */
-
 /**
  * Builds a BooleanQuery from all of the terms found in the XML element using the choice of analyzer
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/UserInputQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/UserInputQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/UserInputQueryBuilder.java
index 09a7afd..ea44642 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/UserInputQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/UserInputQueryBuilder.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.apache.lucene.queryparser.classic.QueryParser;
-import org.apache.lucene.search.BoostQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.ParserException;
-import org.apache.lucene.queryparser.xml.QueryBuilder;
-import org.w3c.dom.Element;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,6 +14,17 @@ import org.w3c.dom.Element;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.queryparser.xml.DOMUtils;
+import org.apache.lucene.queryparser.xml.ParserException;
+import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.w3c.dom.Element;
 
 /**
  * UserInputQueryBuilder uses 1 of 2 strategies for thread-safe parsing:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/package-info.java
index 0d570fb..f252786 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * XML Parser factories for different Lucene Query/Filters.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/package-info.java
index 2b1abee..107ac9a 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Parser that produces Lucene Query objects from XML streams.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java
index 722e748..2f72e07 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.analyzing;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
index 5d256e9..9fe2367 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.classic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.classic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.classic;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
index f968804..4e7cb54 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.classic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.classic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.classic;
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
index 73c6c34..709f3c3 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.classic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.classic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.classic;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.Tokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
index da1b574..5d3b7ec 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.classic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.classic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.classic;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
index 61ac037..45d13de 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.complexPhrase;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.complexPhrase;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.complexPhrase;
 
 import java.util.HashSet;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/ExtensionStub.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/ExtensionStub.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/ExtensionStub.java
index 1fe3eec..2897b0f 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/ExtensionStub.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/ExtensionStub.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import org.apache.lucene.search.TermQuery;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
+
+import org.apache.lucene.index.Term;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TermQuery;
 
 class ExtensionStub extends ParserExtension {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java
index ce573dc..ac46930 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.ext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtensions.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtensions.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtensions.java
index 81af93a..fde11bb 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtensions.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtensions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.ext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/builders/TestQueryTreeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/builders/TestQueryTreeBuilder.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/builders/TestQueryTreeBuilder.java
index e837a53..be1eb24 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/builders/TestQueryTreeBuilder.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/builders/TestQueryTreeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.builders;
 
 import junit.framework.Assert;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/nodes/TestQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/nodes/TestQueryNode.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/nodes/TestQueryNode.java
index 2b9ba79..b10d15f 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/nodes/TestQueryNode.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/core/nodes/TestQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.Arrays;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/MessagesTestBundle.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/MessagesTestBundle.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/MessagesTestBundle.java
index 8a6627a..0da60d4 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/MessagesTestBundle.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/MessagesTestBundle.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.queryparser.flexible.messages;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.queryparser.flexible.messages;
 
 public class MessagesTestBundle extends NLS {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java
index 3b3d2e0..611e917 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.messages;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.messages;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.messages;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
index 1075df4..4dbe3f9 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.precedence;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.precedence;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.precedence;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanOrQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanOrQueryNodeBuilder.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanOrQueryNodeBuilder.java
index 8eac6e4..aa21a27 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanOrQueryNodeBuilder.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanOrQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanTermQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanTermQueryNodeBuilder.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanTermQueryNodeBuilder.java
index e6aef51..d498308 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanTermQueryNodeBuilder.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpanTermQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryConfigHandler.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryConfigHandler.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryConfigHandler.java
index a04bb16..0d0a2ce 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryConfigHandler.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryConfigHandler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.queryparser.flexible.core.config.ConfigurationKey;
 import org.apache.lucene.queryparser.flexible.core.config.FieldConfig;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryTreeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryTreeBuilder.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryTreeBuilder.java
index 4093819..7ad2c0d 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryTreeBuilder.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansQueryTreeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansValidatorQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansValidatorQueryNodeProcessor.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansValidatorQueryNodeProcessor.java
index 66827e8..bc67dad 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansValidatorQueryNodeProcessor.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/SpansValidatorQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParser.java
index 7197e9d..192cd3b 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.nodes.OrQueryNode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParserSimpleSample.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParserSimpleSample.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParserSimpleSample.java
index 11a784a..65bb72b 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParserSimpleSample.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/TestSpanQueryParserSimpleSample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.queryparser.flexible.core.config.QueryConfigHandler;
 import org.apache.lucene.queryparser.flexible.core.nodes.OrQueryNode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttribute.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttribute.java
index c078c4d..79824b2 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttribute.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.queryparser.flexible.core.nodes.FieldableNode;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttributeImpl.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttributeImpl.java
index d2ab423..5530858 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttributeImpl.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import org.apache.lucene.queryparser.flexible.core.nodes.FieldableNode;
 import org.apache.lucene.util.AttributeImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldQueryNodeProcessor.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldQueryNodeProcessor.java
index 8595400..e8de240 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldQueryNodeProcessor.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/spans/UniqueFieldQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.spans;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
index 1902df2..0f941d0 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiAnalyzerQPHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
index e0d496d..0988e56 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
index c1351b4..c29573b 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import java.io.IOException;
 import java.text.DateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
index bb9e255..1c53726 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import java.io.IOException;
 import java.text.DateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
index 13e3f0a..1bbdb53 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
index b03fb4f..3fdde30 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.simple;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.simple;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.simple;
 
 import java.util.Collections;
 import java.util.LinkedHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/BooleanQueryTst.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/BooleanQueryTst.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/BooleanQueryTst.java
index baa5782..77ce5d5 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/BooleanQueryTst.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/BooleanQueryTst.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/ExceptionQueryTst.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/ExceptionQueryTst.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/ExceptionQueryTst.java
index 99e2e0c..b54f68d 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/ExceptionQueryTst.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/ExceptionQueryTst.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import org.apache.lucene.queryparser.surround.parser.ParseException;
 import org.apache.lucene.queryparser.surround.parser.QueryParser;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java
index 647f503..30a5f92 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SingleFieldTestDb.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SrndQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SrndQueryTest.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SrndQueryTest.java
index 910c7e0..b1b7ef9 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SrndQueryTest.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/SrndQueryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import org.apache.lucene.queryparser.surround.parser.QueryParser;
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test01Exceptions.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test01Exceptions.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test01Exceptions.java
index 3e79d22..f61ebd2 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test01Exceptions.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test01Exceptions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test02Boolean.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test02Boolean.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test02Boolean.java
index 563506a..298dbdc 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test02Boolean.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test02Boolean.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test03Distance.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test03Distance.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test03Distance.java
index b14e590..9dca811 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test03Distance.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/surround/query/Test03Distance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.surround.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.surround.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.surround.query;
 
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
index e134d84..70dc15a 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.util;
 
 import java.io.IOException;
 import java.text.DateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
index bd8bc83..e675723 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -7,15 +5,16 @@ package org.apache.lucene.queryparser.xml;
  * 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
- * 
+ *
+ *     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.lucene.queryparser.xml;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusExtensionsParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusExtensionsParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusExtensionsParser.java
index 4af97bd..23cfb50 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusExtensionsParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusExtensionsParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -7,15 +5,16 @@ package org.apache.lucene.queryparser.xml;
  * 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
- * 
+ *
+ *     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.lucene.queryparser.xml;
 
 import org.apache.lucene.search.Query;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusQueriesParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusQueriesParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusQueriesParser.java
index efb566f..d87d40b 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusQueriesParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCorePlusQueriesParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -7,15 +5,16 @@ package org.apache.lucene.queryparser.xml;
  * 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
- * 
+ *
+ *     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.lucene.queryparser.xml;
 
 import org.apache.lucene.search.Query;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
index 7d4caac..0b88b0d 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestQueryTemplateManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.xml;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.xml;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeQueryBuilder.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeQueryBuilder.java
index c3a2d1b..8fc0641 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeQueryBuilder.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeQueryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.xml.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.xml.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.xml.builders;
 
 import org.apache.lucene.search.LegacyNumericRangeQuery;
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyReplicationHandler.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyReplicationHandler.java b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyReplicationHandler.java
index a7868a9..ade091c 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyReplicationHandler.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyReplicationHandler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyRevision.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyRevision.java b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyRevision.java
index dcecf9f..39df369 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyRevision.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexAndTaxonomyRevision.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/IndexInputInputStream.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexInputInputStream.java b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexInputInputStream.java
index 3291194..6b6a8a9 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexInputInputStream.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexInputInputStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/IndexReplicationHandler.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexReplicationHandler.java b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexReplicationHandler.java
index e4fed8c..8f801a3 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexReplicationHandler.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexReplicationHandler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/IndexRevision.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexRevision.java b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexRevision.java
index c43d331..14f9b5d 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/IndexRevision.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/IndexRevision.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/LocalReplicator.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/LocalReplicator.java b/lucene/replicator/src/java/org/apache/lucene/replicator/LocalReplicator.java
index 632fd16..bab5083 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/LocalReplicator.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/LocalReplicator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/PerSessionDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/PerSessionDirectoryFactory.java b/lucene/replicator/src/java/org/apache/lucene/replicator/PerSessionDirectoryFactory.java
index 794ab04..2cdc1ea 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/PerSessionDirectoryFactory.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/PerSessionDirectoryFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/ReplicationClient.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/ReplicationClient.java b/lucene/replicator/src/java/org/apache/lucene/replicator/ReplicationClient.java
index b747853..02fb657 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/ReplicationClient.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/ReplicationClient.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/Replicator.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/Replicator.java b/lucene/replicator/src/java/org/apache/lucene/replicator/Replicator.java
index 3e4d4e5..971776d 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/Replicator.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/Replicator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/Revision.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/Revision.java b/lucene/replicator/src/java/org/apache/lucene/replicator/Revision.java
index 9df22fb..93fccd9 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/Revision.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/Revision.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/RevisionFile.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/RevisionFile.java b/lucene/replicator/src/java/org/apache/lucene/replicator/RevisionFile.java
index 3fc8cff..7d3d4b7 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/RevisionFile.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/RevisionFile.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 /**
  * Describes a file in a {@link Revision}. A file has a source, which allows a

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/SessionExpiredException.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/SessionExpiredException.java b/lucene/replicator/src/java/org/apache/lucene/replicator/SessionExpiredException.java
index 4b697c3..d7e2441 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/SessionExpiredException.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/SessionExpiredException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/SessionToken.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/SessionToken.java b/lucene/replicator/src/java/org/apache/lucene/replicator/SessionToken.java
index 955736e..28ab311 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/SessionToken.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/SessionToken.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.DataInput;
 import java.io.DataOutput;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpClientBase.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpClientBase.java b/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpClientBase.java
index bf4c00f..920f1de 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpClientBase.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpClientBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator.http;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator.http;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator.http;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpReplicator.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpReplicator.java b/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpReplicator.java
index 337cd37..95323a1 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpReplicator.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/http/HttpReplicator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator.http;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator.http;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator.http;
 
 import java.io.DataInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/http/ReplicationService.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/http/ReplicationService.java b/lucene/replicator/src/java/org/apache/lucene/replicator/http/ReplicationService.java
index 3815f8d..4cb4368 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/http/ReplicationService.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/http/ReplicationService.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator.http;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator.http;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator.http;
 
 import java.io.DataOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/http/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/http/package-info.java b/lucene/replicator/src/java/org/apache/lucene/replicator/http/package-info.java
index b4769c2..acad49b 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/http/package-info.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/http/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * HTTP replication implementation
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/java/org/apache/lucene/replicator/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/package-info.java b/lucene/replicator/src/java/org/apache/lucene/replicator/package-info.java
index 869447f..4ecc3e7 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/package-info.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * <h1>Files replication framework</h1>
  *


[60/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/simple-bbox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/simple-bbox.txt b/lucene/spatial/src/test-files/data/simple-bbox.txt
deleted file mode 100644
index 174aa1b..0000000
--- a/lucene/spatial/src/test-files/data/simple-bbox.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-#id	name	shape	
-C5	CenterAt5	ENVELOPE(-5, 5, 5, -5)
-C10	CenterAt10	ENVELOPE(-10, 10, 10, -10)
-NW15	NorthWest	ENVELOPE(15, 20, 20, 15)
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/states-bbox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/states-bbox.txt b/lucene/spatial/src/test-files/data/states-bbox.txt
deleted file mode 100644
index bfe041f..0000000
--- a/lucene/spatial/src/test-files/data/states-bbox.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-#id	name	shape	
-HI	Hawaii	ENVELOPE(-160.242406, -154.791096, 22.229120, 18.921786)
-WA	Washington	ENVELOPE(-124.732769, -116.919132, 48.999931, 45.543092)
-MT	Montana	ENVELOPE(-116.063531, -104.043072, 49.000026, 44.353639)
-ME	Maine	ENVELOPE(-71.087509, -66.969271, 47.453334, 43.091050)
-ND	North Dakota	ENVELOPE(-104.062991, -96.551931, 49.000026, 45.930822)
-SD	South Dakota	ENVELOPE(-104.061036, -96.439394, 45.943547, 42.488459)
-WY	Wyoming	ENVELOPE(-111.053428, -104.051705, 45.002793, 40.994289)
-WI	Wisconsin	ENVELOPE(-92.885397, -86.967712, 46.952479, 42.489152)
-ID	Idaho	ENVELOPE(-117.236921, -111.046771, 48.999950, 41.994599)
-VT	Vermont	ENVELOPE(-73.436000, -71.505372, 45.013351, 42.725852)
-MN	Minnesota	ENVELOPE(-97.229436, -89.530673, 49.371730, 43.498102)
-OR	Oregon	ENVELOPE(-124.559617, -116.470418, 46.236091, 41.987672)
-NH	New Hampshire	ENVELOPE(-72.553428, -70.734139, 45.301469, 42.698603)
-IA	Iowa	ENVELOPE(-96.640709, -90.142796, 43.501457, 40.371946)
-MA	Massachusetts	ENVELOPE(-73.498840, -69.917780, 42.886877, 41.238279)
-NE	Nebraska	ENVELOPE(-104.056219, -95.308697, 43.003062, 39.992595)
-NY	New York	ENVELOPE(-79.763235, -71.869986, 45.006138, 40.506003)
-PA	Pennsylvania	ENVELOPE(-80.526045, -74.700062, 42.267327, 39.719313)
-CT	Connecticut	ENVELOPE(-73.725237, -71.788249, 42.047428, 40.998392)
-RI	Rhode Island	ENVELOPE(-71.866678, -71.117132, 42.013713, 41.322769)
-NJ	New Jersey	ENVELOPE(-75.570234, -73.896148, 41.350573, 38.956682)
-IN	Indiana	ENVELOPE(-88.101490, -84.787446, 41.765540, 37.776224)
-NV	Nevada	ENVELOPE(-119.996324, -114.037392, 41.996637, 34.998914)
-UT	Utah	ENVELOPE(-114.047273, -109.043206, 42.002300, 36.991746)
-CA	California	ENVELOPE(-124.392638, -114.125230, 42.002191, 32.535781)
-OH	Ohio	ENVELOPE(-84.812070, -80.519996, 41.986872, 38.400511)
-IL	Illinois	ENVELOPE(-91.516284, -87.507909, 42.509363, 36.986822)
-DC	District of Columbia	ENVELOPE(-77.122328, -76.910904, 38.993541, 38.788234)
-DE	Delaware	ENVELOPE(-75.791094, -75.045623, 39.840119, 38.449602)
-WV	West Virginia	ENVELOPE(-82.647158, -77.727467, 40.637203, 37.204910)
-MD	Maryland	ENVELOPE(-79.489865, -75.045623, 39.725461, 37.970255)
-CO	Colorado	ENVELOPE(-109.055861, -102.037207, 41.003375, 36.988994)
-KY	Kentucky	ENVELOPE(-89.568231, -81.959575, 39.142063, 36.496570)
-KS	Kansas	ENVELOPE(-102.051535, -94.601224, 40.002987, 36.988875)
-VA	Virginia	ENVELOPE(-83.675177, -75.242219, 39.456998, 36.541623)
-MO	Missouri	ENVELOPE(-95.767479, -89.105034, 40.609784, 35.989656)
-AZ	Arizona	ENVELOPE(-114.821761, -109.045615, 37.003926, 31.335634)
-OK	Oklahoma	ENVELOPE(-102.997709, -94.428552, 37.001478, 33.621136)
-NC	North Carolina	ENVELOPE(-84.323773, -75.456580, 36.589767, 33.882164)
-TN	Tennessee	ENVELOPE(-90.305448, -81.652272, 36.679683, 34.988759)
-TX	Texas	ENVELOPE(-106.650062, -93.507389, 36.493912, 25.845557)
-NM	New Mexico	ENVELOPE(-109.051346, -102.997401, 36.999760, 31.343453)
-AL	Alabama	ENVELOPE(-88.472952, -84.894016, 35.016033, 30.233604)
-MS	Mississippi	ENVELOPE(-91.643682, -88.090468, 35.005041, 30.194935)
-GA	Georgia	ENVELOPE(-85.608960, -80.894753, 35.000366, 30.361291)
-SC	South Carolina	ENVELOPE(-83.350685, -78.579453, 35.208356, 32.068173)
-AR	Arkansas	ENVELOPE(-94.617257, -89.645479, 36.492811, 33.010151)
-LA	Louisiana	ENVELOPE(-94.041785, -89.021803, 33.023422, 28.939655)
-FL	Florida	ENVELOPE(-87.625711, -80.050911, 31.003157, 24.956376)
-MI	Michigan	ENVELOPE(-90.408200, -82.419836, 48.173795, 41.697494)
-AK	Alaska	ENVELOPE(-178.217598, -129.992235, 71.406235, 51.583032)


[19/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java
index 82d92d7..7e7630d 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.search.highlight;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,15 +14,14 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 /**
  * Simple {@link Encoder} implementation to escape text for HTML output
  *
  */
-public class SimpleHTMLEncoder implements Encoder
-{
-  public SimpleHTMLEncoder()
-  {
+public class SimpleHTMLEncoder implements Encoder {
+  public SimpleHTMLEncoder() {
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLFormatter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLFormatter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLFormatter.java
index 3210826..fec3971 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLFormatter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLFormatter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 /**
  * Simple {@link Formatter} implementation to highlight terms with a pre and

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleSpanFragmenter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleSpanFragmenter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleSpanFragmenter.java
index 0b46a8a..7b708d8 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleSpanFragmenter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleSpanFragmenter.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.search.highlight;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
+
+
 import java.util.List;
 
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SpanGradientFormatter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SpanGradientFormatter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SpanGradientFormatter.java
index 5e6df1e..e108814 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SpanGradientFormatter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SpanGradientFormatter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 /**
  * Formats text with different color intensity depending on the score of the
  * term using the span tag.  GradientFormatter uses a bgcolor argument to the font tag which

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TermVectorLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TermVectorLeafReader.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TermVectorLeafReader.java
index 3a63702..4d76fa9 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TermVectorLeafReader.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TermVectorLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java
index 1005afa..d71954f 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.lucene.search.highlight;
 /**
  * Low-level class used to record information about a section of a document 
  * with a score.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenGroup.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenGroup.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenGroup.java
index cc0d517..6af89f8 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenGroup.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenGroup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java
index 4fac515..2730f40 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java
@@ -1,8 +1,6 @@
 /*
  * Created on 28-Oct-2004
  */
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +17,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermVector.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermVector.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermVector.java
index c932922..346ecba 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermVector.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermVector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java
index 6a06683..ee9cf3a 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTerm.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.search.highlight;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
+
+
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
index 19050c0..a73ebf8 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedTerm.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedTerm.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedTerm.java
index 68a7a2b..7fba55e 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedTerm.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedTerm.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 /** Lightweight class to hold term and a weight value used for scoring this term
  */
 public class WeightedTerm

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/package-info.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/package-info.java
index a435ff5..5648759 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/package-info.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Highlighting search terms.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/CustomSeparatorBreakIterator.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/CustomSeparatorBreakIterator.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/CustomSeparatorBreakIterator.java
index 59a284d..6519017 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/CustomSeparatorBreakIterator.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/CustomSeparatorBreakIterator.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
-import java.text.BreakIterator;
-import java.text.CharacterIterator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import java.text.CharacterIterator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
 
 /**
  * A {@link BreakIterator} that breaks the text whenever a certain separator, provided as a constructor argument, is found.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/DefaultPassageFormatter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/DefaultPassageFormatter.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/DefaultPassageFormatter.java
index a1f33df..73822c8 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/DefaultPassageFormatter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/DefaultPassageFormatter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 /**
  * Creates a formatted snippet from the top passages.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/MultiTermHighlighting.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/MultiTermHighlighting.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/MultiTermHighlighting.java
index 21e9250..56345c2 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/MultiTermHighlighting.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/MultiTermHighlighting.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/Passage.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/Passage.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/Passage.java
index 1c206cd..50aebea 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/Passage.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/Passage.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageFormatter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageFormatter.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageFormatter.java
index e1e7bfb..f1596c1 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageFormatter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageFormatter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 /**
  * Creates a formatted snippet from the top passages.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageScorer.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageScorer.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageScorer.java
index 1e732f9..1f74f7a 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageScorer.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PassageScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 /** 
  * Ranks passages found by {@link PostingsHighlighter}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
index 7a98e80..3c0a428 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/WholeBreakIterator.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/WholeBreakIterator.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/WholeBreakIterator.java
index b519c6c..851dcf3 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/WholeBreakIterator.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/WholeBreakIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import java.text.BreakIterator;
 import java.text.CharacterIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/package-info.java b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/package-info.java
index 10013c2..33e7520 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/package-info.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Highlighter implementation that uses offsets from postings lists.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java
index 058b578..888eecc 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragListBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java
index 19de0a2..15bcfcd 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BaseFragmentsBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BoundaryScanner.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BoundaryScanner.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BoundaryScanner.java
index 4c53361..1754661 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BoundaryScanner.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BoundaryScanner.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 /**
  * Finds fragment boundaries: pluggable into {@link BaseFragmentsBuilder}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScanner.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScanner.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScanner.java
index d728a42..1c4042c 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScanner.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScanner.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.text.BreakIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java
index 7924037..4845de6 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java
index 119ff43..c490350 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldFragList.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import org.apache.lucene.search.vectorhighlight.FieldPhraseList.WeightedPhraseInfo;
 import org.apache.lucene.search.vectorhighlight.FieldPhraseList.WeightedPhraseInfo.Toffs;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldPhraseList.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldPhraseList.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldPhraseList.java
index c8e196e..2d9fb2f 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldPhraseList.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldPhraseList.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
index dc7c1a3..ac6cd94 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldTermStack.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldTermStack.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldTermStack.java
index b7cabf6..f67ba80 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldTermStack.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldTermStack.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragListBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragListBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragListBuilder.java
index 8440cc9..ddcdf9d 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragListBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragListBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 /**
  * FragListBuilder is an interface for FieldFragList builder classes.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragmentsBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragmentsBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragmentsBuilder.java
index a0c84e8..854b7c6 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragmentsBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FragmentsBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilder.java
index 4ace26d..8adc114 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.Collections;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScanner.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScanner.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScanner.java
index 6adfefd..af9dfb6 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScanner.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScanner.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.Arrays;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFieldFragList.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFieldFragList.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFieldFragList.java
index 09d29e6..8786138 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFieldFragList.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFieldFragList.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilder.java
index 32f0f99..4681d42 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 
 /**
  * A simple implementation of {@link FragListBuilder}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilder.java
index 026c97c9..5901fc5 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SingleFragListBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SingleFragListBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SingleFragListBuilder.java
index ebe6fad..e86b3f7 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SingleFragListBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/SingleFragListBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFieldFragList.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFieldFragList.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFieldFragList.java
index 154259d..aa8e9dd 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFieldFragList.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFieldFragList.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.util.ArrayList;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilder.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilder.java
index 6212875..b109efd 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 /**
  * A weighted implementation of {@link FragListBuilder}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/package-info.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/package-info.java
index 39d0f5d..2784714 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/package-info.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Another highlighter implementation based on term vectors.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
index afb5c7b..5baf59c 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
index bbc5c22..26ad755 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/highlight/MissesTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/MissesTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/MissesTest.java
index 6f7f04b..6289faf 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/MissesTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/MissesTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
index b45cb279..16cee83 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/OffsetLimitTokenFilterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java
index 85a1f03..581ff2f 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/TokenSourcesTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
index a494e9e..36c6d2a 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight.custom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.highlight.custom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight.custom;
+
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenFilter;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestCustomSeparatorBreakIterator.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestCustomSeparatorBreakIterator.java b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestCustomSeparatorBreakIterator.java
index 4b440f5..29e7e97 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestCustomSeparatorBreakIterator.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestCustomSeparatorBreakIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestMultiTermHighlighting.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestMultiTermHighlighting.java b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestMultiTermHighlighting.java
index 99ef237..0620bd6 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestMultiTermHighlighting.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestMultiTermHighlighting.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import java.util.Collections;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighter.java b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighter.java
index 6fda490..6574b62 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighter.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighterRanking.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighterRanking.java b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighterRanking.java
index 692e78b..7a693d9 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighterRanking.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestPostingsHighlighterRanking.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestWholeBreakIterator.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestWholeBreakIterator.java b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestWholeBreakIterator.java
index 8021a28..43249ea 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestWholeBreakIterator.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/postingshighlight/TestWholeBreakIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.postingshighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.postingshighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.postingshighlight;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
index 0cc975e..be75e64 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScannerTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScannerTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScannerTest.java
index cf4574e..330701d 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScannerTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/BreakIteratorBoundaryScannerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.text.BreakIterator;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
index 1c20f0b..5a2d5a0 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldPhraseListTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldPhraseListTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldPhraseListTest.java
index d86cd18..ed120f6 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldPhraseListTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldPhraseListTest.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 import java.util.LinkedList;
 
 import org.apache.lucene.search.BooleanQuery;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
index de7a9d5..70ed833 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldTermStackTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldTermStackTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldTermStackTest.java
index 630b24f..3e04713 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldTermStackTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldTermStackTest.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.vectorhighlight;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.BooleanClause.Occur;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
index 123366a..d48ae94 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/IndexTimeSynonymTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilderTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilderTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilderTest.java
index 344fdac..6926d9e 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilderTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/ScoreOrderFragmentsBuilderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BooleanClause;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScannerTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScannerTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScannerTest.java
index 343af84..5751731 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScannerTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleBoundaryScannerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilderTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilderTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilderTest.java
index e18b4c0..f21e0dd 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilderTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragListBuilderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilderTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilderTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilderTest.java
index ff0f005..df9a104 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilderTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SimpleFragmentsBuilderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SingleFragListBuilderTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SingleFragListBuilderTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SingleFragListBuilderTest.java
index 740b63e..9c880fe 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SingleFragListBuilderTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/SingleFragListBuilderTest.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import org.apache.lucene.search.TermQuery;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
+
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TermQuery;
 
 public class SingleFragListBuilderTest extends AbstractTestCase {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilderTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilderTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilderTest.java
index 9b6432a..7fe410b 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilderTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/WeightedFragListBuilderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.vectorhighlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.vectorhighlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.vectorhighlight;
 
 import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.BooleanQuery;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/BaseGlobalOrdinalScorer.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/BaseGlobalOrdinalScorer.java b/lucene/join/src/java/org/apache/lucene/search/join/BaseGlobalOrdinalScorer.java
index 7176706..507d6a6 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/BaseGlobalOrdinalScorer.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/BaseGlobalOrdinalScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.SortedDocValues;
 import org.apache.lucene.search.DocIdSetIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/BitSetProducer.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/BitSetProducer.java b/lucene/join/src/java/org/apache/lucene/search/join/BitSetProducer.java
index dfbc4f7..94fda84 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/BitSetProducer.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/BitSetProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java b/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
index d23f6d4..509c1e9 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/BlockJoinSelector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.NumericDocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java b/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java
index be5e384..025aeef 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/DocValuesTermsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/DocValuesTermsCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/DocValuesTermsCollector.java
index 2f1f1c6..a9b11ed 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/DocValuesTermsCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/DocValuesTermsCollector.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.search.join;
 
 import java.io.IOException;
@@ -17,23 +33,6 @@ import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
 import org.apache.lucene.util.LegacyNumericUtils;
 
-/*
- * 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.
- */
-
 abstract class DocValuesTermsCollector<DV> extends SimpleCollector {
   
   @FunctionalInterface

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/FakeScorer.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/FakeScorer.java b/lucene/join/src/java/org/apache/lucene/search/join/FakeScorer.java
index f0bb798..a88b12f 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/FakeScorer.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/FakeScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/GenericTermsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/GenericTermsCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/GenericTermsCollector.java
index 2ae2f29..ef8b3c1 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/GenericTermsCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/GenericTermsCollector.java
@@ -1,19 +1,3 @@
-package org.apache.lucene.search.join;
-
-import java.io.IOException;
-import java.io.PrintStream;
-
-import org.apache.lucene.index.BinaryDocValues;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.SortedSetDocValues;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.LeafCollector;
-import org.apache.lucene.search.join.DocValuesTermsCollector.Function;
-import org.apache.lucene.search.join.TermsWithScoreCollector.MV;
-import org.apache.lucene.search.join.TermsWithScoreCollector.SV;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefHash;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -30,6 +14,21 @@ import org.apache.lucene.util.BytesRefHash;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
+
+import java.io.IOException;
+import java.io.PrintStream;
+
+import org.apache.lucene.index.BinaryDocValues;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.SortedSetDocValues;
+import org.apache.lucene.search.Collector;
+import org.apache.lucene.search.LeafCollector;
+import org.apache.lucene.search.join.DocValuesTermsCollector.Function;
+import org.apache.lucene.search.join.TermsWithScoreCollector.MV;
+import org.apache.lucene.search.join.TermsWithScoreCollector.SV;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefHash;
 
 interface GenericTermsCollector extends Collector {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsCollector.java
index 8a87462..d80851a 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.LeafReaderContext;


[32/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/StoredFieldVisitor.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/StoredFieldVisitor.java b/lucene/core/src/java/org/apache/lucene/index/StoredFieldVisitor.java
index 3fea7ed..43782fe 100644
--- a/lucene/core/src/java/org/apache/lucene/index/StoredFieldVisitor.java
+++ b/lucene/core/src/java/org/apache/lucene/index/StoredFieldVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/Term.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/Term.java b/lucene/core/src/java/org/apache/lucene/index/Term.java
index 8e4ca42..feb31e0 100644
--- a/lucene/core/src/java/org/apache/lucene/index/Term.java
+++ b/lucene/core/src/java/org/apache/lucene/index/Term.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermContext.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermContext.java b/lucene/core/src/java/org/apache/lucene/index/TermContext.java
index 67db962..ee5163e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermContext.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermState.java b/lucene/core/src/java/org/apache/lucene/index/TermState.java
index aa2f0ba..d8e9be4 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * Encapsulates all required internal state to position the associated

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumer.java b/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumer.java
index 0ac2c88..da49a8b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java b/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
index f211720..f252147 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermVectorsConsumerPerField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/Terms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/Terms.java b/lucene/core/src/java/org/apache/lucene/index/Terms.java
index 5e17294..dd48ce9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/Terms.java
+++ b/lucene/core/src/java/org/apache/lucene/index/Terms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/TermsEnum.java
index 8397c43..c4b1017 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermsHash.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermsHash.java b/lucene/core/src/java/org/apache/lucene/index/TermsHash.java
index 53f291c..fb5c78c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermsHash.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermsHash.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java b/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
index 3ae00e6..3275a4e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TermsHashPerField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
index d857c5e..668f1ec 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TrackingIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TrackingIndexWriter.java b/lucene/core/src/java/org/apache/lucene/index/TrackingIndexWriter.java
index 7216e70..67da49d 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TrackingIndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TrackingIndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicLong;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommit.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommit.java b/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommit.java
index ff103b2..b574dbd 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommit.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommit.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.IOException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import java.io.IOException;
+
 
 /**
  * An interface for implementations that support 2-phase commit. You can use

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommitTool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommitTool.java b/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommitTool.java
index ee8f8b2..89b6865 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommitTool.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TwoPhaseCommitTool.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.IOException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import java.io.IOException;
+
 
 /**
  * A utility for executing 2-phase commit on several objects.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java
index ee11f51..74cbc90 100644
--- a/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.Version;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/package-info.java b/lucene/core/src/java/org/apache/lucene/index/package-info.java
index f5a86d1..787560c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/index/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Code to maintain and access indices.
  * <!-- TODO: add IndexWriter, IndexWriterConfig, DocValues, etc etc -->

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/package-info.java b/lucene/core/src/java/org/apache/lucene/package-info.java
index 0e6eedd..70709d8 100644
--- a/lucene/core/src/java/org/apache/lucene/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/package-info.java
@@ -13,8 +13,7 @@
  * 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.
- */
- 
+ */ 
 /** 
  * Top-level package.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java b/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java
index 35aecc0..3b113a2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java b/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
index 5b6f520..c0ac6bb 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BooleanClause.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanClause.java b/lucene/core/src/java/org/apache/lucene/search/BooleanClause.java
index 12a5852..f3931b1 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BooleanClause.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BooleanClause.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java b/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
index 8edc253..4699df4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java
index 8156107..4534bd4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BooleanTopLevelScorers.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanTopLevelScorers.java b/lucene/core/src/java/org/apache/lucene/search/BooleanTopLevelScorers.java
index 80866e9..d34e708 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BooleanTopLevelScorers.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BooleanTopLevelScorers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java b/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java
index 98abe92..24cbac8 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BoostAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BoostAttribute.java b/lucene/core/src/java/org/apache/lucene/search/BoostAttribute.java
index 2a6cece..2a99a08 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BoostAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BoostAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.AttributeSource; // javadocs only

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java
index 08a2e24..9eced23 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BoostAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java b/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java
index 1eadb70..c7d0aea 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/BulkScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/BulkScorer.java b/lucene/core/src/java/org/apache/lucene/search/BulkScorer.java
index 2dba301..661c129 100644
--- a/lucene/core/src/java/org/apache/lucene/search/BulkScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/BulkScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java b/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
index e411f66..55fb305 100644
--- a/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/CollectionStatistics.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/CollectionStatistics.java b/lucene/core/src/java/org/apache/lucene/search/CollectionStatistics.java
index 0b2a328..e0aafa8 100644
--- a/lucene/core/src/java/org/apache/lucene/search/CollectionStatistics.java
+++ b/lucene/core/src/java/org/apache/lucene/search/CollectionStatistics.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.search;
-
-import org.apache.lucene.index.IndexReader; // javadocs
-import org.apache.lucene.index.Terms;       // javadocs
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,11 @@ import org.apache.lucene.index.Terms;       // javadocs
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
+import org.apache.lucene.index.IndexReader; // javadocs
+import org.apache.lucene.index.Terms;       // javadocs
+
 
 /**
  * Contains statistics for a collection (field)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/CollectionTerminatedException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/CollectionTerminatedException.java b/lucene/core/src/java/org/apache/lucene/search/CollectionTerminatedException.java
index a4c426a..e0a874e 100644
--- a/lucene/core/src/java/org/apache/lucene/search/CollectionTerminatedException.java
+++ b/lucene/core/src/java/org/apache/lucene/search/CollectionTerminatedException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 /** Throw this exception in {@link LeafCollector#collect(int)} to prematurely
  *  terminate collection of the current leaf.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Collector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Collector.java b/lucene/core/src/java/org/apache/lucene/search/Collector.java
index 6640353..0e66166 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Collector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Collector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/CollectorManager.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/CollectorManager.java b/lucene/core/src/java/org/apache/lucene/search/CollectorManager.java
index b0a90ad..6a2e9a6 100644
--- a/lucene/core/src/java/org/apache/lucene/search/CollectorManager.java
+++ b/lucene/core/src/java/org/apache/lucene/search/CollectorManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java b/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
index 02936a8..53e3753 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java b/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
index 0419bb0..066f07c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
index 3f6d51b..4ca80e2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ConstantScoreScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreScorer.java b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreScorer.java
index 1b06fcc..be048e5 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java
index 94f1c9d..034a3a7 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java b/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
index 7f944da..a2541cb 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisiPriorityQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisiPriorityQueue.java b/lucene/core/src/java/org/apache/lucene/search/DisiPriorityQueue.java
index 57ff4c7..0692a7b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisiPriorityQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisiPriorityQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Arrays;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisiWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisiWrapper.java b/lucene/core/src/java/org/apache/lucene/search/DisiWrapper.java
index b16a74e..f254340 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisiWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisiWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.search.spans.Spans;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisjunctionDISIApproximation.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionDISIApproximation.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionDISIApproximation.java
index 179eaf4..395c152 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionDISIApproximation.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionDISIApproximation.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
index 1b1d0b0..9bcd05f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.search;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
index 58a9dc9..3d6fbda 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.search;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
index bb0241a..c53942a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
index 133810e..5bf33a2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DocIdSet.java b/lucene/core/src/java/org/apache/lucene/search/DocIdSet.java
index 716cc7a..05870d9 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DocIdSet.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DocIdSetIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DocIdSetIterator.java b/lucene/core/src/java/org/apache/lucene/search/DocIdSetIterator.java
index 697860a..70d320a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DocIdSetIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DocIdSetIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DocValuesDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DocValuesDocIdSet.java b/lucene/core/src/java/org/apache/lucene/search/DocValuesDocIdSet.java
index 815cba3..22c090c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DocValuesDocIdSet.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DocValuesDocIdSet.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java b/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java
index 62f016b..0c544e3 100644
--- a/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java
+++ b/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java b/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
index 9be6043..c3c8b71 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ExactPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ExactPointQuery.java b/lucene/core/src/java/org/apache/lucene/search/ExactPointQuery.java
index 21d7357..5bcf113 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ExactPointQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ExactPointQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Explanation.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Explanation.java b/lucene/core/src/java/org/apache/lucene/search/Explanation.java
index 9f767ca..70bf8bc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Explanation.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Explanation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FakeScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FakeScorer.java b/lucene/core/src/java/org/apache/lucene/search/FakeScorer.java
index ade942c..32fb405 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FakeScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FakeScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Collection;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java b/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java
index 8d23b02..735dfbe 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FieldComparatorSource.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldComparatorSource.java b/lucene/core/src/java/org/apache/lucene/search/FieldComparatorSource.java
index b612ab5..295ec9c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldComparatorSource.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldComparatorSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FieldDoc.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldDoc.java b/lucene/core/src/java/org/apache/lucene/search/FieldDoc.java
index 64c8af9..31f7175 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldDoc.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldDoc.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FieldValueHitQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldValueHitQueue.java b/lucene/core/src/java/org/apache/lucene/search/FieldValueHitQueue.java
index c464f23..c53774c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldValueHitQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldValueHitQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java b/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
index aa21a8f..e73b897 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java b/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
index aa9655a..d290330 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.search;
-
-import java.io.IOException;
-
-import org.apache.lucene.index.LeafReaderContext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,12 @@ import org.apache.lucene.index.LeafReaderContext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
+import java.io.IOException;
+
+import org.apache.lucene.index.LeafReaderContext;
+
 
 /**
  * {@link Collector} delegator.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java b/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
index 5d79663..ab15bab 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FilterScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FilterScorer.java b/lucene/core/src/java/org/apache/lucene/search/FilterScorer.java
index 7e3aed9..421100c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FilterScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FilterScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java b/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java
index 016788f..bd88a08 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java b/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java
index 57bb464..8e0cfff 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java b/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
index 5e453fc..f934d80 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/HitQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/HitQueue.java b/lucene/core/src/java/org/apache/lucene/search/HitQueue.java
index bec8e0f..8868c2b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/HitQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/search/HitQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java b/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
index 57bb22a..3ac64c8 100644
--- a/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
+++ b/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java b/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
index 2633852..6c065ae 100644
--- a/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
+++ b/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/LeafCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/LeafCollector.java b/lucene/core/src/java/org/apache/lucene/search/LeafCollector.java
index 75cc4cd..9704026 100644
--- a/lucene/core/src/java/org/apache/lucene/search/LeafCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/LeafCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/LeafFieldComparator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/LeafFieldComparator.java b/lucene/core/src/java/org/apache/lucene/search/LeafFieldComparator.java
index 3d1e43e..bbf1de8 100644
--- a/lucene/core/src/java/org/apache/lucene/search/LeafFieldComparator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/LeafFieldComparator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/LegacyNumericRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/LegacyNumericRangeQuery.java b/lucene/core/src/java/org/apache/lucene/search/LegacyNumericRangeQuery.java
index cebfd14..9b47845 100644
--- a/lucene/core/src/java/org/apache/lucene/search/LegacyNumericRangeQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/LegacyNumericRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.LinkedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/LiveFieldValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/LiveFieldValues.java b/lucene/core/src/java/org/apache/lucene/search/LiveFieldValues.java
index 16cfb66..58939c1 100644
--- a/lucene/core/src/java/org/apache/lucene/search/LiveFieldValues.java
+++ b/lucene/core/src/java/org/apache/lucene/search/LiveFieldValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java b/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
index e2bbfe7..4f62f74 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java b/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java
index 000552a..d0bc18c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttribute.java b/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttribute.java
index 34e431e..59670b4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.AttributeSource; // javadocs only

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java
index efd85db..8a28641 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MaxNonCompetitiveBoostAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MinShouldMatchSumScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MinShouldMatchSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/MinShouldMatchSumScorer.java
index 930c924..9653d95 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MinShouldMatchSumScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MinShouldMatchSumScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java b/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
index 36202e5..71a2be2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java b/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
index 7595710..b665388 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java b/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java
index 79204b7..6b5c65f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java b/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
index 5e0f371..410386b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Multiset.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Multiset.java b/lucene/core/src/java/org/apache/lucene/search/Multiset.java
index 5fbb3b3..0755edd 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Multiset.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Multiset.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.AbstractCollection;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java b/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
index 7af2d53..1b49e8f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/PhrasePositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PhrasePositions.java b/lucene/core/src/java/org/apache/lucene/search/PhrasePositions.java
index 198583c..640cd5f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PhrasePositions.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PhrasePositions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import org.apache.lucene.index.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java b/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
index 7ebb609..143ed17 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/PhraseQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PhraseQueue.java b/lucene/core/src/java/org/apache/lucene/search/PhraseQueue.java
index 1707f15..636b4cc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PhraseQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PhraseQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java b/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java
index 714ba0d..58f6d07 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/PositiveScoresOnlyCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PositiveScoresOnlyCollector.java b/lucene/core/src/java/org/apache/lucene/search/PositiveScoresOnlyCollector.java
index 75840d4..e5294db 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PositiveScoresOnlyCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PositiveScoresOnlyCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java b/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java
index f618e29..207a143 100644
--- a/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.util.BytesRef;


[30/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java b/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java
index a3544d7..6a0ecc4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * This package contains the various ranking models that can be used in Lucene. The
  * abstract class {@link org.apache.lucene.search.similarities.Similarity} serves

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/ConjunctionSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/ConjunctionSpans.java b/lucene/core/src/java/org/apache/lucene/search/spans/ConjunctionSpans.java
index 409634f..e275dec 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/ConjunctionSpans.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/ConjunctionSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/ContainSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/ContainSpans.java b/lucene/core/src/java/org/apache/lucene/search/spans/ContainSpans.java
index 5d90d76..4e021c7 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/ContainSpans.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/ContainSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
index f91ae0e..8a2dae3 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.IndexSearcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/FilterSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/FilterSpans.java b/lucene/core/src/java/org/apache/lucene/search/spans/FilterSpans.java
index 0d599a2..79d5136 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/FilterSpans.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/FilterSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java b/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
index de5e17e..f405473 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java b/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
index 07a3cae..c3402bc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java b/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java
index d188aa5..d38ae83 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/ScoringWrapperSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java
index 6cea2ed..911fdc0 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanCollector.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanCollector.java
index 52cb441..adaf6f0 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.index.PostingsEnum;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
index 14c1f10..06f9467 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainingQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainingQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainingQuery.java
index 5d0da27..bfa3f85 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainingQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainingQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
index c162c37..5672d77 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.search.spans.FilterSpans.AcceptStatus;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
index 3ecc84d..95b7e93 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
index 5d967b5..167a7d1 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
index 39aeb0a..5b2aeac 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
index c148979..c07ec38 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
index 79b8ba9..b2166e4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.spans;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
index cf83d13..2d2bd16 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionRangeQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionRangeQuery.java
index c64253f..eafc04d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionRangeQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionRangeQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.spans;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 
 import org.apache.lucene.search.spans.FilterSpans.AcceptStatus;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanQuery.java
index 62af21a..12a1129 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java
index 5a43140..4841ddc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
index c6c6064..bf6c6d0 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java
index a38213f..8209bd0 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/SpanWithinQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanWithinQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanWithinQuery.java
index 21115ff..6fbfb67 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanWithinQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanWithinQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/Spans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/Spans.java b/lucene/core/src/java/org/apache/lucene/search/spans/Spans.java
index 9462344..7857708 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/Spans.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/Spans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/TermSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/TermSpans.java b/lucene/core/src/java/org/apache/lucene/search/spans/TermSpans.java
index 84da212..f1e1aed 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/TermSpans.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/TermSpans.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.search.spans;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,7 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.spans;
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/spans/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/package-info.java b/lucene/core/src/java/org/apache/lucene/search/spans/package-info.java
index 4fc88d3..971db76 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * The calculus of spans.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/AlreadyClosedException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/AlreadyClosedException.java b/lucene/core/src/java/org/apache/lucene/store/AlreadyClosedException.java
index 83eb7a5..2dbbc93 100644
--- a/lucene/core/src/java/org/apache/lucene/store/AlreadyClosedException.java
+++ b/lucene/core/src/java/org/apache/lucene/store/AlreadyClosedException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 /**
  * This exception is thrown when there is an attempt to

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/BaseDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/BaseDirectory.java b/lucene/core/src/java/org/apache/lucene/store/BaseDirectory.java
index 42b4253..a5fff24 100644
--- a/lucene/core/src/java/org/apache/lucene/store/BaseDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/BaseDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/BufferedChecksum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/BufferedChecksum.java b/lucene/core/src/java/org/apache/lucene/store/BufferedChecksum.java
index 8b34d70..4378c9a 100644
--- a/lucene/core/src/java/org/apache/lucene/store/BufferedChecksum.java
+++ b/lucene/core/src/java/org/apache/lucene/store/BufferedChecksum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.util.zip.Checksum;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/BufferedChecksumIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/BufferedChecksumIndexInput.java b/lucene/core/src/java/org/apache/lucene/store/BufferedChecksumIndexInput.java
index 6a8d5c0..1d71962 100644
--- a/lucene/core/src/java/org/apache/lucene/store/BufferedChecksumIndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/BufferedChecksumIndexInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.zip.CRC32;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java b/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java
index 8fbc6a1..3f15eea 100644
--- a/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java b/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java
index 1565a6e..c2bfbde 100644
--- a/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataOutput.java b/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataOutput.java
index 4a6599f..1a31b9a 100644
--- a/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java b/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java
index b29b06a..8e8ef90 100644
--- a/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/ByteBufferIndexInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/ChecksumIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/ChecksumIndexInput.java b/lucene/core/src/java/org/apache/lucene/store/ChecksumIndexInput.java
index e19c3a4..6a78c88 100644
--- a/lucene/core/src/java/org/apache/lucene/store/ChecksumIndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/ChecksumIndexInput.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.store;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.IOException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
+import java.io.IOException;
+
 
 /** 
  * Extension of IndexInput, computing checksum as it goes. 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/DataInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/DataInput.java b/lucene/core/src/java/org/apache/lucene/store/DataInput.java
index ebdaa8e..037211f 100644
--- a/lucene/core/src/java/org/apache/lucene/store/DataInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/DataInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/DataOutput.java b/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
index efdba77..1f6dd74 100644
--- a/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/Directory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/Directory.java b/lucene/core/src/java/org/apache/lucene/store/Directory.java
index 8aa5fa1..4ed7f4c 100644
--- a/lucene/core/src/java/org/apache/lucene/store/Directory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/Directory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.Closeable;
 import java.io.FileNotFoundException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java b/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
index 400ad5d..584168a 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.FilterOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/FSLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FSLockFactory.java b/lucene/core/src/java/org/apache/lucene/store/FSLockFactory.java
index d666075..ebe667f 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FSLockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FSLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/FileSwitchDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FileSwitchDirectory.java b/lucene/core/src/java/org/apache/lucene/store/FileSwitchDirectory.java
index 0b986f4..a9eba06 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FileSwitchDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FileSwitchDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.AtomicMoveNotSupportedException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java b/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
index 7c550c1..5df5713 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/FlushInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FlushInfo.java b/lucene/core/src/java/org/apache/lucene/store/FlushInfo.java
index 100c610..5d52a51 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FlushInfo.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FlushInfo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 /**
  * <p>A FlushInfo provides information required for a FLUSH context.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/IOContext.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/IOContext.java b/lucene/core/src/java/org/apache/lucene/store/IOContext.java
index b9c9992..2ceac81 100644
--- a/lucene/core/src/java/org/apache/lucene/store/IOContext.java
+++ b/lucene/core/src/java/org/apache/lucene/store/IOContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 /**
  * IOContext holds additional details on the merge/search context. A IOContext

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/IndexInput.java b/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
index 02a1734..8c9186c 100644
--- a/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java b/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java
index 16163ea..e4881e0 100644
--- a/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/IndexOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/InputStreamDataInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/InputStreamDataInput.java b/lucene/core/src/java/org/apache/lucene/store/InputStreamDataInput.java
index 79003df..62e4b5d 100644
--- a/lucene/core/src/java/org/apache/lucene/store/InputStreamDataInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/InputStreamDataInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/Lock.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/Lock.java b/lucene/core/src/java/org/apache/lucene/store/Lock.java
index 70b855b..e44c443 100644
--- a/lucene/core/src/java/org/apache/lucene/store/Lock.java
+++ b/lucene/core/src/java/org/apache/lucene/store/Lock.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/LockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/LockFactory.java b/lucene/core/src/java/org/apache/lucene/store/LockFactory.java
index ca92590..48c0372 100644
--- a/lucene/core/src/java/org/apache/lucene/store/LockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/LockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/LockObtainFailedException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/LockObtainFailedException.java b/lucene/core/src/java/org/apache/lucene/store/LockObtainFailedException.java
index dedfea1..574ff26 100644
--- a/lucene/core/src/java/org/apache/lucene/store/LockObtainFailedException.java
+++ b/lucene/core/src/java/org/apache/lucene/store/LockObtainFailedException.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.store;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/LockReleaseFailedException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/LockReleaseFailedException.java b/lucene/core/src/java/org/apache/lucene/store/LockReleaseFailedException.java
index 68d296a..60f2a17 100644
--- a/lucene/core/src/java/org/apache/lucene/store/LockReleaseFailedException.java
+++ b/lucene/core/src/java/org/apache/lucene/store/LockReleaseFailedException.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.store;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/LockStressTest.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/LockStressTest.java b/lucene/core/src/java/org/apache/lucene/store/LockStressTest.java
index 8c2d8a8..2008f91 100644
--- a/lucene/core/src/java/org/apache/lucene/store/LockStressTest.java
+++ b/lucene/core/src/java/org/apache/lucene/store/LockStressTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/LockValidatingDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/LockValidatingDirectoryWrapper.java b/lucene/core/src/java/org/apache/lucene/store/LockValidatingDirectoryWrapper.java
index 389c56d..f6c8867 100644
--- a/lucene/core/src/java/org/apache/lucene/store/LockValidatingDirectoryWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/store/LockValidatingDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/LockVerifyServer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/LockVerifyServer.java b/lucene/core/src/java/org/apache/lucene/store/LockVerifyServer.java
index 89da64c..3ce0c06 100644
--- a/lucene/core/src/java/org/apache/lucene/store/LockVerifyServer.java
+++ b/lucene/core/src/java/org/apache/lucene/store/LockVerifyServer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java b/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
index 0808eb6..6098c7f 100644
--- a/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
  
 import java.io.IOException;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/MergeInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/MergeInfo.java b/lucene/core/src/java/org/apache/lucene/store/MergeInfo.java
index 6098a07..ee2e43a 100644
--- a/lucene/core/src/java/org/apache/lucene/store/MergeInfo.java
+++ b/lucene/core/src/java/org/apache/lucene/store/MergeInfo.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.store;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 /**
  * <p>A MergeInfo provides information required for a MERGE context.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java b/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java
index b739290..d8ca115 100644
--- a/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.store;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.store;
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java b/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java
index fd5e3d7..b96c521 100644
--- a/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/NativeFSLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/NativeFSLockFactory.java b/lucene/core/src/java/org/apache/lucene/store/NativeFSLockFactory.java
index 7ab06ae..7027014 100644
--- a/lucene/core/src/java/org/apache/lucene/store/NativeFSLockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/NativeFSLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.nio.channels.FileChannel;
 import java.nio.channels.FileLock;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/NoLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/NoLockFactory.java b/lucene/core/src/java/org/apache/lucene/store/NoLockFactory.java
index 7a209c5..9ebeccd 100644
--- a/lucene/core/src/java/org/apache/lucene/store/NoLockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/NoLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/OutputStreamDataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/OutputStreamDataOutput.java b/lucene/core/src/java/org/apache/lucene/store/OutputStreamDataOutput.java
index a8d6c53..23c7720 100644
--- a/lucene/core/src/java/org/apache/lucene/store/OutputStreamDataOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/OutputStreamDataOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/OutputStreamIndexOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/OutputStreamIndexOutput.java b/lucene/core/src/java/org/apache/lucene/store/OutputStreamIndexOutput.java
index 41c5ce6..c26f750 100644
--- a/lucene/core/src/java/org/apache/lucene/store/OutputStreamIndexOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/OutputStreamIndexOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.BufferedOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java b/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java
index d1dc0d0..2165b3b 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RAMFile.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RAMFile.java b/lucene/core/src/java/org/apache/lucene/store/RAMFile.java
index 461acec..d8ae693 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RAMFile.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RAMFile.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RAMInputStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RAMInputStream.java b/lucene/core/src/java/org/apache/lucene/store/RAMInputStream.java
index 193a088..7c8c7a3 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RAMInputStream.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RAMInputStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java b/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java
index aefe16d..3477fe4 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java b/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java
index 3fbcdd5..1a54dc7 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RandomAccessInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RateLimitedIndexOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RateLimitedIndexOutput.java b/lucene/core/src/java/org/apache/lucene/store/RateLimitedIndexOutput.java
index c2f474f..9c5d26c 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RateLimitedIndexOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RateLimitedIndexOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/RateLimiter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/RateLimiter.java b/lucene/core/src/java/org/apache/lucene/store/RateLimiter.java
index 99ed3c7..f99cddd 100644
--- a/lucene/core/src/java/org/apache/lucene/store/RateLimiter.java
+++ b/lucene/core/src/java/org/apache/lucene/store/RateLimiter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/SimpleFSDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/SimpleFSDirectory.java b/lucene/core/src/java/org/apache/lucene/store/SimpleFSDirectory.java
index 2daf98f..a4d5271 100644
--- a/lucene/core/src/java/org/apache/lucene/store/SimpleFSDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/SimpleFSDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/SimpleFSLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/SimpleFSLockFactory.java b/lucene/core/src/java/org/apache/lucene/store/SimpleFSLockFactory.java
index 0985ef6..f0b9683 100644
--- a/lucene/core/src/java/org/apache/lucene/store/SimpleFSLockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/SimpleFSLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.AccessDeniedException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/SingleInstanceLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/SingleInstanceLockFactory.java b/lucene/core/src/java/org/apache/lucene/store/SingleInstanceLockFactory.java
index 68d3f34..6bfcb0a 100644
--- a/lucene/core/src/java/org/apache/lucene/store/SingleInstanceLockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/SingleInstanceLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/SleepingLockWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/SleepingLockWrapper.java b/lucene/core/src/java/org/apache/lucene/store/SleepingLockWrapper.java
index 7f808d1..f63f979 100644
--- a/lucene/core/src/java/org/apache/lucene/store/SleepingLockWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/store/SleepingLockWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java b/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
index aa7214c..d78a5b6 100644
--- a/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/VerifyingLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/VerifyingLockFactory.java b/lucene/core/src/java/org/apache/lucene/store/VerifyingLockFactory.java
index 3790673..6a7214b 100644
--- a/lucene/core/src/java/org/apache/lucene/store/VerifyingLockFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/VerifyingLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/store/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/package-info.java b/lucene/core/src/java/org/apache/lucene/store/package-info.java
index 048a0a8..f4b66bf 100644
--- a/lucene/core/src/java/org/apache/lucene/store/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/store/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Binary i/o API, used for all index data.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Accountable.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Accountable.java b/lucene/core/src/java/org/apache/lucene/util/Accountable.java
index 5bae03a..901d805 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Accountable.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Accountable.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Collection;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Accountables.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Accountables.java b/lucene/core/src/java/org/apache/lucene/util/Accountables.java
index ae7a09b..cdf50fd 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Accountables.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Accountables.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ArrayInPlaceMergeSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ArrayInPlaceMergeSorter.java b/lucene/core/src/java/org/apache/lucene/util/ArrayInPlaceMergeSorter.java
index cacacee..40c3863 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ArrayInPlaceMergeSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ArrayInPlaceMergeSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Comparator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ArrayIntroSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ArrayIntroSorter.java b/lucene/core/src/java/org/apache/lucene/util/ArrayIntroSorter.java
index 072abf5..957afdb 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ArrayIntroSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ArrayIntroSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Comparator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ArrayTimSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ArrayTimSorter.java b/lucene/core/src/java/org/apache/lucene/util/ArrayTimSorter.java
index a9befe1..3532bb0 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ArrayTimSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ArrayTimSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Comparator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ArrayUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ArrayUtil.java b/lucene/core/src/java/org/apache/lucene/util/ArrayUtil.java
index c88022a..a826d35 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ArrayUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ArrayUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Attribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Attribute.java b/lucene/core/src/java/org/apache/lucene/util/Attribute.java
index e78d6f2..0829271 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Attribute.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Attribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * Base interface for attributes.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/AttributeFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/AttributeFactory.java b/lucene/core/src/java/org/apache/lucene/util/AttributeFactory.java
index b864720..6c3d6db 100644
--- a/lucene/core/src/java/org/apache/lucene/util/AttributeFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/util/AttributeFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.invoke.MethodHandle;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/AttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/AttributeImpl.java b/lucene/core/src/java/org/apache/lucene/util/AttributeImpl.java
index 8e581fc..b722661 100644
--- a/lucene/core/src/java/org/apache/lucene/util/AttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/util/AttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * Base class for Attributes that can be added to a 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/AttributeReflector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/AttributeReflector.java b/lucene/core/src/java/org/apache/lucene/util/AttributeReflector.java
index 22b2bb0..338a346 100644
--- a/lucene/core/src/java/org/apache/lucene/util/AttributeReflector.java
+++ b/lucene/core/src/java/org/apache/lucene/util/AttributeReflector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * This interface is used to reflect contents of {@link AttributeSource} or {@link AttributeImpl}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/AttributeSource.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/AttributeSource.java b/lucene/core/src/java/org/apache/lucene/util/AttributeSource.java
index 06bc2762..6c39025 100644
--- a/lucene/core/src/java/org/apache/lucene/util/AttributeSource.java
+++ b/lucene/core/src/java/org/apache/lucene/util/AttributeSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Collections;
 import java.util.Iterator;


[06/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
index 53a4253..f62d67b 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.store;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import java.util.Set;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Used by MockDirectoryWrapper to create an input stream that

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexOutputWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexOutputWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexOutputWrapper.java
index d4e902a..510e930 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexOutputWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexOutputWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/RawDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/RawDirectoryWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/RawDirectoryWrapper.java
index 67dbde7..6ceae35 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/RawDirectoryWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/RawDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/SlowClosingMockIndexInputWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/SlowClosingMockIndexInputWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/SlowClosingMockIndexInputWrapper.java
index bc2e1da..2be2e27 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/SlowClosingMockIndexInputWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/SlowClosingMockIndexInputWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/SlowOpeningMockIndexInputWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/SlowOpeningMockIndexInputWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/SlowOpeningMockIndexInputWrapper.java
index fd828e8..4cc2b19 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/SlowOpeningMockIndexInputWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/SlowOpeningMockIndexInputWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/AbstractBeforeAfterRule.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/AbstractBeforeAfterRule.java b/lucene/test-framework/src/java/org/apache/lucene/util/AbstractBeforeAfterRule.java
index fc82bac..1bd4bed 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/AbstractBeforeAfterRule.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/AbstractBeforeAfterRule.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.ArrayList;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.rules.RuleChain;
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.MultipleFailureException;
-import org.junit.runners.model.Statement;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,6 +14,17 @@ import org.junit.runners.model.Statement;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.ArrayList;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.rules.RuleChain;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.MultipleFailureException;
+import org.junit.runners.model.Statement;
 
 /**
  * A {@link TestRule} that guarantees the execution of {@link #after} even

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java
index f59c63a..5f8cc00 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/BaseDocIdSetTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/BaseDocIdSetTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/util/BaseDocIdSetTestCase.java
index 95e1ef9..fc24285 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/BaseDocIdSetTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/BaseDocIdSetTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import static org.apache.lucene.util.BaseBitSetTestCase.randomSet;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java b/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
index 57a2132..6be51f7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/CloseableDirectory.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.util;
-
-import java.io.Closeable;
-
-import org.apache.lucene.store.BaseDirectoryWrapper;
-import org.apache.lucene.store.MockDirectoryWrapper;
-import org.junit.Assert;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.junit.Assert;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.io.Closeable;
+
+import org.apache.lucene.store.BaseDirectoryWrapper;
+import org.apache.lucene.store.MockDirectoryWrapper;
+import org.junit.Assert;
 
 /**
  * Attempts to close a {@link BaseDirectoryWrapper}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/English.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/English.java b/lucene/test-framework/src/java/org/apache/lucene/util/English.java
index 5ff95a4..98e4e89 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/English.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/English.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -7,15 +5,16 @@ package org.apache.lucene.util;
  * 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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ *     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.lucene.util;
 
 /**
  * Converts numbers to english strings for testing.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/FailOnNonBulkMergesInfoStream.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/FailOnNonBulkMergesInfoStream.java b/lucene/test-framework/src/java/org/apache/lucene/util/FailOnNonBulkMergesInfoStream.java
index a9b8c35..fb5fcf9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/FailOnNonBulkMergesInfoStream.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/FailOnNonBulkMergesInfoStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/FailureMarker.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/FailureMarker.java b/lucene/test-framework/src/java/org/apache/lucene/util/FailureMarker.java
index 7487f87..3945362 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/FailureMarker.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/FailureMarker.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.junit.runner.notification.Failure;
-import org.junit.runner.notification.RunListener;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import org.junit.runner.notification.RunListener;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.runner.notification.Failure;
+import org.junit.runner.notification.RunListener;
 
 /**
  * A {@link RunListener} that detects suite/ test failures. We need it because failures

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java b/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
index a198130..26d7cc3 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.BufferedReader;
 import java.io.Closeable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/LuceneJUnit3MethodProvider.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/LuceneJUnit3MethodProvider.java b/lucene/test-framework/src/java/org/apache/lucene/util/LuceneJUnit3MethodProvider.java
index 47ba67f..23b177f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/LuceneJUnit3MethodProvider.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/LuceneJUnit3MethodProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
index c7c45c4..caf36ce 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.Closeable;
 import java.io.FileNotFoundException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/NullInfoStream.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/NullInfoStream.java b/lucene/test-framework/src/java/org/apache/lucene/util/NullInfoStream.java
index 717d7de..0a121c9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/NullInfoStream.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/NullInfoStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/QuickPatchThreadsFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/QuickPatchThreadsFilter.java b/lucene/test-framework/src/java/org/apache/lucene/util/QuickPatchThreadsFilter.java
index 8b78ff0..8447e90 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/QuickPatchThreadsFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/QuickPatchThreadsFilter.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import com.carrotsearch.randomizedtesting.ThreadFilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import com.carrotsearch.randomizedtesting.ThreadFilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import com.carrotsearch.randomizedtesting.ThreadFilter;
 
 /**
  * Last minute patches.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/RamUsageTester.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/RamUsageTester.java b/lucene/test-framework/src/java/org/apache/lucene/util/RamUsageTester.java
index 5da98d1..9850526 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/RamUsageTester.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/RamUsageTester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.lang.reflect.Array;
 import java.lang.reflect.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/RemoveUponClose.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/RemoveUponClose.java b/lucene/test-framework/src/java/org/apache/lucene/util/RemoveUponClose.java
index 90a97ae..af4ec85 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/RemoveUponClose.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/RemoveUponClose.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.util;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -12,15 +5,21 @@ import java.nio.file.Path;
  * 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
- * 
+ *
+ *     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.lucene.util;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 
 /**
  * A {@link Closeable} that attempts to remove a given file/folder.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/Rethrow.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/Rethrow.java b/lucene/test-framework/src/java/org/apache/lucene/util/Rethrow.java
index 9946dad..9e52a19 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/Rethrow.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/Rethrow.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 /**
  * Sneaky: rethrowing checked exceptions as unchecked

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/RunListenerPrintReproduceInfo.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/RunListenerPrintReproduceInfo.java b/lucene/test-framework/src/java/org/apache/lucene/util/RunListenerPrintReproduceInfo.java
index 8762e63..3d4f4fd 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/RunListenerPrintReproduceInfo.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/RunListenerPrintReproduceInfo.java
@@ -1,20 +1,3 @@
-package org.apache.lucene.util;
-
-import static org.apache.lucene.util.LuceneTestCase.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import org.junit.runner.Description;
-import org.junit.runner.Result;
-import org.junit.runner.notification.Failure;
-import org.junit.runner.notification.RunListener;
-
-import com.carrotsearch.randomizedtesting.LifecycleScope;
-import com.carrotsearch.randomizedtesting.RandomizedContext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -31,6 +14,22 @@ import com.carrotsearch.randomizedtesting.RandomizedContext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import static org.apache.lucene.util.LuceneTestCase.*;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Pattern;
+
+import org.junit.runner.Description;
+import org.junit.runner.Result;
+import org.junit.runner.notification.Failure;
+import org.junit.runner.notification.RunListener;
+
+import com.carrotsearch.randomizedtesting.LifecycleScope;
+import com.carrotsearch.randomizedtesting.RandomizedContext;
 
 /**
  * A suite listener printing a "reproduce string". This ensures test result

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleAssertionsRequired.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleAssertionsRequired.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleAssertionsRequired.java
index 8ce1bf7..baf8e32 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleAssertionsRequired.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleAssertionsRequired.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleDelegate.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleDelegate.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleDelegate.java
index 53d1d43..515afd6 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleDelegate.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleDelegate.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.junit.runners.model.Statement;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
 
 /**
  * A {@link TestRule} that delegates to another {@link TestRule} via a delegate

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreAfterMaxFailures.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreAfterMaxFailures.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreAfterMaxFailures.java
index f3296f3..3435761 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreAfterMaxFailures.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreAfterMaxFailures.java
@@ -1,14 +1,3 @@
-package org.apache.lucene.util;
-
-import org.junit.Assert;
-import org.junit.internal.AssumptionViolatedException;
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-import com.carrotsearch.randomizedtesting.RandomizedTest;
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import com.carrotsearch.randomizedtesting.annotations.Repeat;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.junit.Assert;
+import org.junit.internal.AssumptionViolatedException;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+import com.carrotsearch.randomizedtesting.RandomizedTest;
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
 
 /**
  * This rule keeps a count of failed tests (suites) and will result in an

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreTestSuites.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreTestSuites.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreTestSuites.java
index 6943678..bf4805e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreTestSuites.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleIgnoreTestSuites.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.util;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import org.junit.runners.model.Statement;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
 
 /**
  * This rule will cause the suite to be assumption-ignored if 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleLimitSysouts.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleLimitSysouts.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleLimitSysouts.java
index b3e783e..fe1a172 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleLimitSysouts.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleLimitSysouts.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.util;
 
 import java.io.FilterOutputStream;
@@ -23,23 +39,6 @@ import com.carrotsearch.randomizedtesting.RandomizedTest;
 import com.carrotsearch.randomizedtesting.rules.TestRuleAdapter;
 
 
-/*
- * 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.
- */
-
 /**
  * Fails the suite if it prints over the given limit of bytes to either
  * {@link System#out} or {@link System#err},

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleMarkFailure.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleMarkFailure.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleMarkFailure.java
index be9c625..11558db 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleMarkFailure.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleMarkFailure.java
@@ -1,13 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.internal.AssumptionViolatedException;
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -24,6 +14,15 @@ import org.junit.runners.model.Statement;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.internal.AssumptionViolatedException;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
 
 /**
  * A rule for marking failed tests and suites.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleRestoreSystemProperties.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleRestoreSystemProperties.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleRestoreSystemProperties.java
index 395af0e..c554fef 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleRestoreSystemProperties.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleRestoreSystemProperties.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
-import com.carrotsearch.randomizedtesting.rules.TestRuleAdapter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,14 @@ import com.carrotsearch.randomizedtesting.rules.TestRuleAdapter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
+import com.carrotsearch.randomizedtesting.rules.TestRuleAdapter;
 
 /**
  * Restore a given set of system properties to a snapshot taken at the beginning

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
index 085111a..7ac4037 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.PrintStream;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreInstanceEnv.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreInstanceEnv.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreInstanceEnv.java
index 8442027..62f5712 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreInstanceEnv.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreInstanceEnv.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import org.apache.lucene.search.BooleanQuery;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.search.BooleanQuery;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.apache.lucene.search.BooleanQuery;
 
 /**
  * Prepares and restores {@link LuceneTestCase} at instance level 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupTeardownChained.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupTeardownChained.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupTeardownChained.java
index 3073694..a169269 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupTeardownChained.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupTeardownChained.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.util;
-
-import org.junit.Assert;
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import org.junit.runners.model.Statement;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.junit.Assert;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
 
 /**
  * Make sure {@link LuceneTestCase#setUp()} and {@link LuceneTestCase#tearDown()} were invoked even if they

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleStoreClassName.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleStoreClassName.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleStoreClassName.java
index 1f17fbb..8e3332f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleStoreClassName.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleStoreClassName.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
index 86f685a..d6e69f0 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 import java.net.URI;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleThreadAndTestName.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleThreadAndTestName.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleThreadAndTestName.java
index 1803ebb..059fcea 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleThreadAndTestName.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleThreadAndTestName.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.util;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import org.junit.runners.model.Statement;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
 
 /** 
  * Saves the executing thread and method name of the test case.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestSecurityManager.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestSecurityManager.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestSecurityManager.java
index 63cc97e..99c6270 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestSecurityManager.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestSecurityManager.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.util;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import java.security.PrivilegedAction;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 /**
  * A {@link SecurityManager} that prevents tests calling {@link System#exit(int)}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
index 99d4be3..794b7cb 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/ThrottledIndexOutput.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/ThrottledIndexOutput.java b/lucene/test-framework/src/java/org/apache/lucene/util/ThrottledIndexOutput.java
index 8d55acc..d6366f9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/ThrottledIndexOutput.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/ThrottledIndexOutput.java
@@ -1,14 +1,12 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License.  You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/TimeUnits.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TimeUnits.java b/lucene/test-framework/src/java/org/apache/lucene/util/TimeUnits.java
index be7eeaa..431364c 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TimeUnits.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TimeUnits.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 /** time unit constants for use in annotations. */
 public final class TimeUnits {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/automaton/AutomatonTestUtil.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/automaton/AutomatonTestUtil.java b/lucene/test-framework/src/java/org/apache/lucene/util/automaton/AutomatonTestUtil.java
index e27dba3..52a63a4 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/automaton/AutomatonTestUtil.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/automaton/AutomatonTestUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java b/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java
index a2ace61..11b1325 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -7,15 +5,16 @@ package org.apache.lucene.util.fst;
  * 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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ *     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.lucene.util.fst;
 
 import java.io.IOException;
 import java.io.OutputStreamWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java
index 838243c..78fb127 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.io.PrintWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
index 50539e5..3168ba4 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestLookaheadTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java
index 40b69df..22cd467 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockCharFilter.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockCharFilter.java
index 617e6dc..d8072b3 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockCharFilter.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestMockCharFilter.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.analysis;
-
-import java.io.IOException;
-import java.io.Reader;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import java.io.Reader;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
+import java.io.IOException;
+import java.io.Reader;
 
 public class TestMockCharFilter extends BaseTokenStreamTestCase {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/analysis/TestPosition.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestPosition.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestPosition.java
index 389768b..24087fc 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TestPosition.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TestPosition.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.analysis;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import org.junit.Ignore;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/analysis/TrivialLookaheadFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/analysis/TrivialLookaheadFilter.java b/lucene/test-framework/src/test/org/apache/lucene/analysis/TrivialLookaheadFilter.java
index cf50927..c370d89 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/analysis/TrivialLookaheadFilter.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/analysis/TrivialLookaheadFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingDocValuesFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingDocValuesFormat.java
index 5705a2e..62d468f 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingDocValuesFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseDocValuesFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingNormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingNormsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingNormsFormat.java
index d5adad0..1eda21b 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingNormsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingNormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseNormsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPointFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPointFormat.java
index 514f673..9f79b70 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPointFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePointFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java
index 7c78596..6fdb675 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingStoredFieldsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingStoredFieldsFormat.java
index 73fcf93..8f333fe 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingStoredFieldsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseTermVectorsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingTermVectorsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingTermVectorsFormat.java
index 09fbb48..c333db8 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingTermVectorsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/asserting/TestAssertingTermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseTermVectorsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
index d416f8a..a054870 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
index cde93db..4fa0278 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.codecs.compressing;
 
 import java.io.IOException;
@@ -24,23 +40,6 @@ import org.apache.lucene.index.TermsEnum.SeekStatus;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.BytesRef;
 
-/*
- * 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.
- */
-
 public class TestCompressingTermVectorsFormat extends BaseTermVectorsFormatTestCase {
 
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java b/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
index 96c040d..b572289 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/index/TestAssertingLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/index/TestForceMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/index/TestForceMergePolicy.java b/lucene/test-framework/src/test/org/apache/lucene/index/TestForceMergePolicy.java
index f4f0b06..ffb8998 100755
--- a/lucene/test-framework/src/test/org/apache/lucene/index/TestForceMergePolicy.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/index/TestForceMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestDisableFsyncFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestDisableFsyncFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestDisableFsyncFS.java
index 75e7b0f..13adeba 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestDisableFsyncFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestDisableFsyncFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.net.URI;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestExtrasFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestExtrasFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestExtrasFS.java
index b140013..12cb09e 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestExtrasFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestExtrasFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.net.URI;
 import java.nio.file.DirectoryStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleLimitFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleLimitFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleLimitFS.java
index 514ec1b..58fe991 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleLimitFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleLimitFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
index ecaf712..5681311 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestHandleTrackingFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestLeakFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestLeakFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestLeakFS.java
index 7f3d65f..a74d4a6 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestLeakFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestLeakFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestShuffleFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestShuffleFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestShuffleFS.java
index b1ba0d8..5327d57 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestShuffleFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestShuffleFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.net.URI;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVerboseFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVerboseFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVerboseFS.java
index 8b97055..bc0e75c 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVerboseFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVerboseFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.io.OutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
index 333ff00..72cbd04 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestWindowsFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java b/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
index fd30582..8a5573f 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/store/TestMockDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/SorePoint.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/SorePoint.java b/lucene/test-framework/src/test/org/apache/lucene/util/SorePoint.java
index 0b533c1..41f9715 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/SorePoint.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/SorePoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 /**
  * A pointcut-like definition where we should trigger

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/SoreType.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/SoreType.java b/lucene/test-framework/src/test/org/apache/lucene/util/SoreType.java
index ef888f0..4bb6fb8 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/SoreType.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/SoreType.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 public enum SoreType {
   ASSUMPTION,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestBeforeAfterOverrides.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestBeforeAfterOverrides.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestBeforeAfterOverrides.java
index 165057f..c1b892d 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestBeforeAfterOverrides.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestBeforeAfterOverrides.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.util;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.JUnitCore;
-import org.junit.runner.Result;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,14 @@ import org.junit.runner.Result;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
 
 public class TestBeforeAfterOverrides extends WithNestedTests {
   public TestBeforeAfterOverrides() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestCodecReported.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestCodecReported.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestCodecReported.java
index 869d657..a1f8f42 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestCodecReported.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestCodecReported.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.util;
-
-import org.apache.lucene.codecs.Codec;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.JUnitCore;
-import org.junit.runner.Result;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.junit.runner.Result;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.apache.lucene.codecs.Codec;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
 
 public class TestCodecReported extends WithNestedTests {
   public TestCodecReported() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestExceptionInBeforeClassHooks.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestExceptionInBeforeClassHooks.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestExceptionInBeforeClassHooks.java
index cb454be..bd99b4b 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestExceptionInBeforeClassHooks.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestExceptionInBeforeClassHooks.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.*;
 import java.util.regex.Matcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfDirectoryNotClosed.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfDirectoryNotClosed.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfDirectoryNotClosed.java
index 5014f36..a367d4e 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfDirectoryNotClosed.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfDirectoryNotClosed.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.apache.lucene.store.Directory;
 import org.junit.Assert;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfUnreferencedFiles.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfUnreferencedFiles.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfUnreferencedFiles.java
index 03b6f40..891dcb0 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfUnreferencedFiles.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestFailIfUnreferencedFiles.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.Collections;
 


[59/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/states-poly.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/states-poly.txt b/lucene/spatial/src/test-files/data/states-poly.txt
deleted file mode 100644
index 6164ae0..0000000
--- a/lucene/spatial/src/test-files/data/states-poly.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-#id	name	shape	
-HI	Hawaii	MULTIPOLYGON (((-160.07380334546815 22.00417734795773, -160.0497093454457 21.988164347942817, -160.0898583454831 21.915870347875487, -160.17013734555786 21.867596347830528, -160.20225934558778 21.795308347763203, -160.24240634562517 21.803280347770627, -160.2263363456102 21.891592347852875, -160.121962345513 21.96397834792029, -160.07380334546815 22.00417734795773)), ((-159.33517434478023 21.94834334790573, -159.43954534487744 21.86807134783097, -159.57602134500453 21.88413634784593, -159.64024734506435 21.94836534790575, -159.7365923451541 21.9644203479207, -159.8008143452139 22.036666347987985, -159.71250634513166 22.14905934809266, -159.57601234500453 22.213179348152376, -159.39136734483256 22.229120348167225, -159.34319534478772 22.197016348137325, -159.29502534474284 22.12481234807008, -159.32713034477274 22.044639347995414, -159.33517434478023 21.94834334790573)), ((-157.67333034323252 21.298027347300074, -157.68137134324002 21.273942347277643, -157.7215013432774 21.
 281971347285122, -157.8258713433746 21.249863347255218, -157.89813434344188 21.330144347329988, -157.94630634348675 21.30606134730756, -158.0988333436288 21.290008347292606, -158.13095134365872 21.354232347352422, -158.23531834375592 21.47465234746457, -158.24334234376337 21.538879347524386, -158.26743134378583 21.58704234756924, -158.11489434364375 21.579016347561765, -158.04262634357644 21.675350347651484, -157.98642834352412 21.699433347673914, -157.91417934345682 21.6352083476141, -157.84995934339702 21.506758347494472, -157.80981534335962 21.43450534742718, -157.76164334331477 21.45858734744961, -157.7134723432699 21.386335347382317, -157.67333034323252 21.298027347300074)), ((-156.71787234234267 21.137419347150498, -156.76604834238753 21.065176347083217, -156.88648434249973 21.049134347068275, -157.0711323426717 21.105331347120615, -157.28789734287355 21.081250347098187, -157.3039483428885 21.137448347150524, -157.24774734283616 21.161530347172953, -157.2316943428212 21.233776
 347240237, -157.16747134276142 21.19364034720286, -157.00690334261185 21.18561034719538, -156.9925463425985 21.195420347204514, -156.958733342567 21.209693347217808, -156.94334634255267 21.172778347183428, -156.91424234252557 21.167372347178393, -156.9102143425218 21.158045347169708, -156.71787234234267 21.137419347150498)), ((-157.03905034264181 20.92870734695612, -156.91058634252215 20.92871834695613, -156.80620534242496 20.840418346873893, -156.81422534243242 20.792252346829034, -156.88648734249972 20.736049346776692, -156.9667653425745 20.728020346769213, -156.99086334259692 20.792237346829022, -156.98282634258945 20.832377346866405, -157.05509834265675 20.88053834691126, -157.03905034264181 20.92870734695612)), ((-156.1960453418567 20.631649346679463, -156.27631734193145 20.583484346634606, -156.3967353420436 20.567427346619652, -156.436879342081 20.623621346671985, -156.46097234210342 20.727981346769177, -156.49307434213333 20.792204346828992, -156.52519334216322 20.7761493468
 14037, -156.63758634226792 20.808261346843945, -156.69378234232025 20.91262434694114, -156.65363634228285 21.016985347038336, -156.59743934223053 21.04106434706076, -156.52519134216323 20.984870347008425, -156.47702234211837 20.896565346926185, -156.35660334200622 20.944726346971038, -156.2602633419165 20.928671346956087, -156.0113923416847 20.800225346836463, -155.9873173416623 20.752061346791606, -156.04351134171463 20.655732346701893, -156.13180934179687 20.623623346671987, -156.1960453418567 20.631649346679463)), ((-155.66619234136323 18.92178634508703, -155.7785853414679 19.01009234516927, -155.85886134154265 19.01010134516928, -155.90703134158753 19.130513345281422, -155.87492734155762 19.371358345505726, -155.94717834162492 19.4837503456104, -155.97125834164734 19.628252345744976, -156.04352434171466 19.78078334588703, -155.97930134165483 19.820922345924416, -155.88295834156511 19.933312346029084, -155.82676134151276 20.005563346096373, -155.83478634152024 20.06175734614871, 
 -155.89097834157258 20.174149346253383, -155.85885834154266 20.270479346343098, -155.73844234143053 20.206256346283283, -155.56182634126603 20.134007346216, -155.20055034092957 19.99752834608889, -155.09618534083236 19.877114345976747, -155.07210634080994 19.724585345834694, -154.97576334072022 19.740643345849648, -154.97576234072022 19.652335345767405, -154.79109634054822 19.53996034566275, -154.81518734057067 19.459676345587976, -154.92758134067535 19.41951834555058, -155.01588134075757 19.331211345468336, -155.1523723408847 19.266992345408525, -155.30489934102675 19.23487834537862, -155.52167834122864 19.122484345273943, -155.5377293412436 19.04221034519918, -155.66619234136323 18.92178634508703)))	
-WA	Washington	MULTIPOLYGON (((-122.40201531038355 48.22521637237797, -122.4628553104402 48.22836337238091, -122.45441931043234 48.128492372287894, -122.36133331034566 48.06009737222419, -122.51451131048832 48.133973372293, -122.54207431051398 48.21046037236424, -122.5091303104833 48.25379337240459, -122.40440431038577 48.24659437239789, -122.37832031036149 48.28972137243805, -122.56436631053475 48.414246372554025, -122.66703231063036 48.41289537255277, -122.69941331066052 48.4943283726286, -122.60817831057555 48.51882437265142, -122.52322831049644 48.45840337259515, -122.47383331045043 48.46219537259868, -122.50529931047973 48.55944437268925, -122.4295453104092 48.59939737272646, -122.48779831046343 48.63857037276294, -122.52655831049954 48.71172437283107, -122.51685331049049 48.757921372874094, -122.69740431065864 48.80301537291609, -122.75424231071159 48.90998837301572, -122.82242131077507 48.95072537305366, -122.74394031070199 48.95580837305839, -122.76511931072172 48.99974637309
 931, -120.85705930894468 48.99983037309939, -118.84360330706951 48.999898373099455, -118.20035430647044 48.999908373099466, -117.43858030576098 48.999918373099476, -117.03204930538237 48.999931373099486, -117.02911130537964 48.838075372948744, -117.03886830538872 48.04618637221124, -117.03747230538742 47.9710923721413, -117.04179430539145 47.36144137157352, -117.04239230539201 47.25850137147765, -117.04096830539069 47.11931937134803, -117.04192630539157 46.53660137080533, -117.03855830538843 46.42798037070417, -117.04447030539394 46.38857437066747, -117.06418430541231 46.34869837063033, -117.02797330537858 46.33542737061797, -117.00164230535405 46.30244837058726, -116.97272530532712 46.24930937053777, -116.96749030532226 46.19755437048957, -116.9294263052868 46.1654833704597, -116.9616373053168 46.09727437039618, -116.98721130534062 46.0785093703787, -116.95772330531315 46.06568737036676, -116.91913230527722 45.995175370301084, -117.4816633058011 45.99983437030543, -117.602826305913
 95 46.00026837030583, -117.98267730626772 45.99988037030547, -117.99252730627688 46.0016393703071, -118.98213330719852 45.99905837030471, -119.03222130724518 45.96627437027417, -119.14025030734578 45.92570837023639, -119.17874230738164 45.922351370233265, -119.30276330749714 45.932662370242866, -119.37944130756856 45.91761037022885, -119.4388613076239 45.91426837022574, -119.51222030769222 45.8992003702117, -119.58929430776399 45.91331537022485, -119.62211630779456 45.899410370211896, -119.67844530784703 45.852539370168245, -119.83355630799147 45.84160937015807, -119.86973530802518 45.83169837014884, -119.9943203081412 45.81114037012969, -120.06864830821043 45.78020237010088, -120.1559083082917 45.76126137008324, -120.20744530833969 45.71978437004461, -120.28363530841065 45.71658337004163, -120.44338330855942 45.6892793700162, -120.49915630861136 45.695630370022116, -120.57008230867743 45.74091837006429, -120.62375730872742 45.743610370066804, -120.65840330875969 45.73261237005656, 
 -120.69699430879562 45.71050937003597, -120.86141930894875 45.66518636999376, -120.90793730899208 45.6354773699661, -120.94857330902992 45.65031636997991, -120.96847830904846 45.6451543699751, -121.033482309109 45.65284436998227, -121.07353030914629 45.64661036997646, -121.12520430919443 45.60705936993963, -121.17431630924017 45.60051636993353, -121.19205430925669 45.61324236994538, -121.20330830926716 45.657287369986406, -121.21427130927736 45.66564536999419, -121.27639130933522 45.67834037000601, -121.31997730937582 45.696642370023056, -121.36781430942037 45.699686370025894, -121.42202930947087 45.690603370017435, -121.44255230948997 45.6949673700215, -121.52905430957054 45.71956737004441, -121.70641730973571 45.688793370015745, -121.7586943097844 45.68971637001661, -121.81104130983316 45.70068337002682, -121.88828330990509 45.67685637000463, -121.92682030994098 45.642028369972195, -121.97265930998367 45.63577636996637, -122.00001131000914 45.61782436994965, -122.08203731008555 45
 .590504369924204, -122.24492231023724 45.54811236988473, -122.30315031029147 45.54309236988006, -122.35645731034111 45.56617136990155, -122.43715431041628 45.56477936990025, -122.56542931053573 45.59481836992823, -122.65120931061563 45.606830369939416, -122.69632331065765 45.63104536996197, -122.76054131071746 45.649397369979056, -122.77255131072863 45.72768537005197, -122.76428831072094 45.760568370082595, -122.78800931074304 45.800343370119634, -122.78451631073978 45.8504493701663, -122.78407331073936 45.867886370182546, -122.80622331076 45.90407237021624, -122.8077413107614 45.94389037025333, -122.87541731082445 46.0271833703309, -122.89975731084711 46.07932937037946, -122.97416931091641 46.110483370408474, -123.05059631098759 46.155736370450626, -123.11855431105087 46.17931037047258, -123.17619631110456 46.18358637047656, -123.2124373111383 46.17000637046391, -123.24879931117218 46.14402037043971, -123.30471731122425 46.14473737044038, -123.4707733113789 46.27502337056171, -123.
 62007631151795 46.25866537054648, -123.7254593116161 46.28542337057141, -123.88577131176541 46.2404383705295, -123.99332931186558 46.31027437059455, -124.07910731194546 46.267259370554484, -124.0655103119328 46.639745370901394, -124.02304331189325 46.58354137084905, -124.0130023118839 46.383680370662915, -123.84145131172413 46.404343370682156, -123.94069331181655 46.481115370753656, -123.89356731177267 46.51107937078156, -123.95771231183241 46.61722537088042, -123.92647031180331 46.67306037093242, -123.84096631172368 46.71828837097454, -123.8955423117745 46.7449863709994, -124.04315831191198 46.71585537097228, -124.09104931195658 46.72902237098454, -124.10206731196683 46.78946937104083, -124.13882731200107 46.89998537114376, -124.10576031197029 46.908148371151356, -124.10473831196933 46.874145371119695, -124.02880831189862 46.823767371072776, -124.04692931191549 46.887253371131905, -123.81265531169731 46.963965371203344, -123.99586431186793 46.97638537121491, -124.03439431190381 47.
 031033371265806, -124.11236131197643 47.042675371276644, -124.16203631202269 46.92961237117135, -124.19273331205127 47.16698237139242, -124.23142531208731 47.275070371493086, -124.31942731216927 47.34923837156216, -124.34908031219689 47.526910371727624, -124.37360531221972 47.6387633718318, -124.48403531232259 47.80825537198965, -124.60668531243681 47.87373537205063, -124.73276931255424 48.149989372307914, -124.70520931252857 48.23199637238429, -124.71717531253971 48.37755737251986, -124.56354731239662 48.35727837250097, -123.99121531186361 48.15916137231646, -123.39685731131007 48.11103037227163, -123.12322231105523 48.14873337230675, -122.92159431086745 48.09417937225594, -122.92484431087047 48.066796372230435, -122.84111131079248 48.13313637229222, -122.76888231072522 48.14399437230233, -122.80293131075693 48.08532137224769, -122.66156031062528 47.91715737209107, -122.65358531061784 47.86443137204197, -122.7458703107038 47.80898837199034, -122.7898013107447 47.80254837198434, -12
 2.80951731076306 47.85707537203512, -122.85880431080896 47.827328372007415, -122.89936331084674 47.672517371863236, -122.9827443109244 47.605474371800796, -123.11391531104655 47.45627337166184, -123.15406031108395 47.348547371561516, -123.01047131095021 47.35302737156569, -122.83324731078517 47.43846437164525, -123.03620631097418 47.3560513715685, -123.11268531104541 47.37156937158295, -123.026336310965 47.51593637171741, -122.91696931086314 47.6146063718093, -122.75294231071038 47.66068837185222, -122.72306231068254 47.75689937194182, -122.61116231057832 47.85000837202854, -122.61321731058024 47.9361893721088, -122.5318883105045 47.90946137208391, -122.4735883104502 47.754980371940036, -122.62150931058797 47.69696837188601, -122.58646031055532 47.57119137176887, -122.55526231052627 47.58350537178033, -122.54270231051457 47.52273437172374, -122.50446131047896 47.50721637170929, -122.55844631052923 47.398363371607914, -122.5441253105159 47.373927371585154, -122.588254310557 47.333929
 371547896, -122.55315631052432 47.28333237150078, -122.5805303105498 47.251387371471026, -122.61154631057869 47.29339837151015, -122.60691431057438 47.2705713714889, -122.69974431066083 47.29208537150893, -122.62875431059472 47.39855337160809, -122.6374363106028 47.39858037160811, -122.74154931069975 47.341450371554906, -122.76970831072599 47.26615637148478, -122.71980131067951 47.22313137144471, -122.7612383107181 47.162496371388244, -122.82510831077758 47.234826371455604, -122.77333531072937 47.3373603715511, -122.80218431075623 47.360740371572874, -122.88037331082904 47.299233371515584, -123.11543631104797 47.207981371430606, -123.08120031101609 47.09005837132078, -123.03134831096966 47.10077437133076, -122.92315031086889 47.04796337128157, -122.79004831074494 47.125859371354125, -122.72818631068732 47.082441371313685, -122.70007931066114 47.09832537132848, -122.5918063105603 47.18006037140459, -122.53076331050346 47.28745637150462, -122.54658831051819 47.31627637153146, -122.424
 09431040412 47.25947237147855, -122.39284331037501 47.27772237149556, -122.44160431042042 47.301125371517344, -122.42083731040108 47.31884437153385, -122.32537631031218 47.34432337155758, -122.31973831030692 47.39011537160023, -122.3926333103748 47.5102423717121, -122.38222031036511 47.59540937179142, -122.41481531039547 47.664180371855466, -122.39449231037653 47.77417637195791, -122.30292231029125 47.95021437212186, -122.23012131022347 47.96911337213946, -122.21699231021123 48.007439372175156, -122.36833331035217 48.12814137228757, -122.40201531038355 48.22521637237797)), ((-122.96797831091064 48.44379437258154, -123.09523331102915 48.47942237261472, -123.15972031108922 48.521842372654234, -123.1698993110987 48.56256437269215, -123.14105331107183 48.62364737274905, -123.10372131103706 48.60837737273482, -123.01209531095174 48.557477372687416, -123.00869831094857 48.53371937266529, -122.96798031091063 48.526933372658974, -123.0222713109612 48.513359372646335, -123.01888331095805 48.
 48960537262421, -122.96797831091064 48.44379437258154)), ((-122.73318731069197 48.27664737242587, -122.66561231062904 48.396777372537755, -122.60438431057202 48.40478937254522, -122.52575031049878 48.32104337246722, -122.52864831050148 48.28351037243227, -122.62350931058984 48.29635037244422, -122.73203431069089 48.22541437237816, -122.61092531057811 48.20632137236038, -122.54620231051783 48.07685837223981, -122.49621231047126 48.09407137225584, -122.37999431036303 48.03214637219817, -122.35540031034013 47.963886372134596, -122.38696131036953 47.90454937207933, -122.44278831042152 47.91805637209191, -122.47161631044837 47.987509372156595, -122.54496131051667 47.967531372137984, -122.60862831057597 48.0314303721975, -122.69555431065692 48.18118537233697, -122.76877831072511 48.21881837237201, -122.73318731069197 48.27664737242587)))	
-MT	Montana	MULTIPOLYGON (((-111.47542530020736 44.702162369096875, -111.48080430021237 44.691416369086866, -111.46069230019364 44.67002336906694, -111.45826530019139 44.652555369050674, -111.47016830020247 44.640710369039645, -111.50769030023741 44.63768836903683, -111.50174730023188 44.615971369016606, -111.51452630024379 44.59319736899539, -111.49290430022364 44.55118936895627, -111.46282730019563 44.549942368955115, -111.45932530019238 44.53792136894391, -111.48257330021403 44.53614336894226, -111.49024130022117 44.528697368935326, -111.56723130029286 44.55286636895784, -111.60524830032827 44.54298936894864, -111.68486230040241 44.55075236895587, -111.71699730043235 44.53376036894004, -111.76691830047884 44.51882536892613, -111.79260830050276 44.518462368925796, -111.80783730051695 44.503982368912304, -111.87250230057717 44.556265368961, -111.9403863006404 44.54972636895491, -111.97781830067525 44.52967636893624, -112.02361330071791 44.53504336894123, -112.02707730072113 44.52284
 336892987, -112.0593673007512 44.528611368935245, -112.09989730078895 44.518231368925576, -112.12419030081158 44.52825336893491, -112.19965830088186 44.531449368937885, -112.21776330089872 44.53849536894445, -112.2303983009105 44.559491368964004, -112.25667530093496 44.55997236896445, -112.28234130095886 44.54170236894744, -112.3425073010149 44.52510036893197, -112.3405773010131 44.49718036890597, -112.36758330103825 44.44927036886135, -112.42075330108777 44.44928436886136, -112.45851930112295 44.46883436887957, -112.50183930116329 44.462997368874134, -112.53932430119819 44.47749736888764, -112.65318930130424 44.48080236889072, -112.71432630136118 44.49693536890574, -112.73371230137924 44.48432036889399, -112.77986330142222 44.47392236888431, -112.79622830143747 44.45801136886949, -112.82669130146583 44.4210843688351, -112.8187103014584 44.394819368810644, -112.81739630145718 44.36420236878213, -112.84427530148221 44.35363936877229, -112.8707813015069 44.36997836878751, -112.8873073
 0152228 44.3928523688088, -112.93828130156976 44.407192368822166, -112.98524930161349 44.435540368848564, -113.01201430163843 44.43771536885059, -113.00665830163344 44.45261536886447, -113.02030930164615 44.48177636889163, -113.00771330163442 44.51061236891848, -113.03782130166246 44.532959368939295, -113.03966030166417 44.55629436896103, -113.08303730170456 44.582681368985604, -113.0542893016778 44.62428936902435, -113.07314430169536 44.67552536907207, -113.0989563017194 44.69591636909106, -113.10170330172195 44.715173369108996, -113.12743130174591 44.73737936912967, -113.13827430175601 44.761439369152086, -113.24033830185107 44.81184136919902, -113.25715430186673 44.81048636919776, -113.31868030192403 44.78022836916958, -113.34063130194447 44.779000369168436, -113.35002430195323 44.80756836919504, -113.42137930201967 44.833699369219374, -113.4455733020422 44.851239369235714, -113.49619130208936 44.930670369309695, -113.48734830208112 44.93957436931798, -113.46341330205883 44.94077
 53693191, -113.44876530204519 44.94952236932725, -113.44102930203798 44.99819436937258, -113.45885330205458 45.02744936939982, -113.4554353020514 45.04334936941463, -113.48630530208014 45.058321369428576, -113.49015930208374 45.071219369440584, -113.52060930211209 45.08206336945069, -113.51022530210243 45.107835369474685, -113.55227230214157 45.10754936947443, -113.57437630216216 45.117711369483885, -113.57158430215956 45.13454536949956, -113.59409930218054 45.14974236951372, -113.6009283021869 45.18099236954282, -113.6455923022285 45.206790369566846, -113.69012030226996 45.26228136961853, -113.68870930226865 45.27778836963297, -113.73908030231556 45.32153036967371, -113.74131030231763 45.38238636973038, -113.77502630234903 45.41017236975626, -113.78566230235894 45.44563336978929, -113.76916830234359 45.47770736981916, -113.7723043023465 45.507054369846486, -113.78093330235454 45.51686536985562, -113.83371530240369 45.514908369853806, -113.8037543023758 45.583729369917904, -113.8224
 8530239323 45.600636369933646, -113.85202730242075 45.609562369941955, -113.90330530246851 45.61349136994562, -113.90219930246748 45.63725336996775, -113.92353230248735 45.65512436998439, -113.9266983024903 45.67121136999937, -113.96414430252517 45.67937837000698, -113.97114930253169 45.69737637002374, -114.00947230256737 45.68633237001346, -114.01987830257707 45.67237837000046, -114.0109903025688 45.65251136998196, -114.01803230257535 45.64077336997103, -114.05651530261119 45.62514436995647, -114.08296730263582 45.58637836992037, -114.11813930266858 45.571127369906165, -114.13204830268154 45.55038236988685, -114.17266730271938 45.54392436988083, -114.19480830273999 45.52791736986592, -114.24199830278394 45.53529036987278, -114.24788030278941 45.502945369842664, -114.26223930280278 45.485859369826755, -114.32643430286257 45.457424369800265, -114.35024630288476 45.46338336980582, -114.3714573029045 45.485740369826644, -114.41905130294883 45.499008369839, -114.43355530296233 45.527633
 369865654, -114.46270830298948 45.54784736988448, -114.49659130302105 45.54664936988337, -114.52739230304974 45.55819336989411, -114.56092430308095 45.54874036988531, -114.54095830306237 45.5963973699297, -114.56467830308446 45.62427136995566, -114.50174130302585 45.65239336998185, -114.5107063030342 45.674057370002025, -114.49756130302194 45.69440137002097, -114.5349763030568 45.7229963700476, -114.5419583030633 45.74599937006903, -114.56354230308341 45.7623983700843, -114.51737530304041 45.81006737012869, -114.49916430302343 45.842683370159065, -114.47380330299983 45.83946837015607, -114.44323130297136 45.85262137016832, -114.4075253029381 45.84645337016258, -114.39283830292442 45.87088637018533, -114.41353030294368 45.91065137022237, -114.42946030295852 45.92147737023245, -114.40529030293601 45.95397937026272, -114.41244730294268 45.97197337027948, -114.48445530300975 45.98980637029609, -114.47452930300051 46.009765370314675, -114.49432130301894 46.02341037032738, -114.4657563029
 9233 46.05081537035291, -114.45602930298327 46.082229370382166, -114.47737030300314 46.107357370405566, -114.50656830303033 46.11614237041375, -114.51894430304186 46.136063370432296, -114.50961330303318 46.15741737045219, -114.4670183029935 46.15526237045018, -114.44087930296917 46.168969370462946, -114.43955330296792 46.22025437051071, -114.47283330299892 46.243783370532626, -114.47379530299982 46.25296137054117, -114.4317953029607 46.28471137057074, -114.40979630294021 46.39291137067151, -114.3970173029283 46.399545370677686, -114.38402530291621 46.428179370704356, -114.41071530294107 46.48737137075948, -114.36046830289428 46.50612537077694, -114.35011530288463 46.51738937078744, -114.3433193028783 46.58788137085309, -114.32471230286097 46.62283937088564, -114.33468530287027 46.65422737091488, -114.3840173029162 46.66159637092174, -114.44153630296978 46.645715370906956, -114.48471830301 46.62357437088633, -114.54039130306184 46.637891370899666, -114.61082630312744 46.6290483708914
 25, -114.64474030315901 46.66082437092102, -114.6450383031593 46.67092137093043, -114.6259263031415 46.6871073709455, -114.67388730318616 46.734721370989845, -114.69843130320902 46.733760370988946, -114.74810530325529 46.695132370952976, -114.78291930328771 46.70304037096034, -114.77783230328296 46.755717371009396, -114.79403030329806 46.76653137101947, -114.8407923033416 46.77553837102786, -114.86660330336565 46.797045371047886, -114.90232530339892 46.799433371050114, -114.94840930344184 46.85244637109949, -114.94056630343454 46.89088837113529, -114.92412530341922 46.90716537115044, -114.96473030345703 46.92521337116725, -115.00157430349134 46.95880937119854, -115.03733430352466 46.963001371202445, -115.0556383035417 46.97335837121209, -115.08133630356564 47.02652437126161, -115.13550730361608 47.06355037129609, -115.14868430362836 47.09174237132235, -115.17249630365053 47.09757037132778, -115.1930733036697 47.124026371352414, -115.29623430376577 47.17955037140412, -115.32522830379
 278 47.245150371465215, -115.34366130380994 47.25502237147441, -115.40820730387006 47.26359337148239, -115.42664130388722 47.274374371492435, -115.50193030395735 47.281644371499205, -115.52306430397702 47.29198237150884, -115.55552030400725 47.33461337154854, -115.59953630404824 47.3700033715815, -115.6387823040848 47.38004437159085, -115.66647730411059 47.399167371608655, -115.75032630418868 47.42247537163037, -115.75010530418848 47.43396637164106, -115.73248130417207 47.445303371651626, -115.65608730410091 47.44918037165523, -115.64318530408889 47.45779337166326, -115.64014230408605 47.4752353716795, -115.69277030413508 47.489540371692826, -115.70152230414323 47.520893371722025, -115.7428293041817 47.533691371733944, -115.69208830413444 47.590721371787055, -115.6982843041402 47.616080371810675, -115.73406730417354 47.63987937183283, -115.73366530417316 47.69555437188469, -115.77572730421232 47.70973237189789, -115.79053730422612 47.744838371930584, -115.83674230426917 47.756281371
 94124, -115.84932430428088 47.80518237198679, -115.86980930429996 47.82745237200753, -115.90392130433173 47.841074372020216, -115.93784230436331 47.86712437204447, -115.99893230442021 47.92514037209851, -116.02531630444479 47.964939372135575, -116.05349230447102 47.976191372146054, -116.0554973044729 48.208483372362394, -116.05669230447401 48.498665372632644, -116.06353130448036 48.9999503730995, -114.7293253032378 48.99997037309952, -114.06346330261766 48.999977373099526, -112.18838730087137 48.999992373099545, -111.28267930002785 49.00001137309956, -110.75079729953251 49.000005373099555, -109.50073729836829 49.000005373099555, -108.25067529720408 49.00000937309956, -107.1881212962145 49.00001737309957, -106.12557929522494 49.00002137309957, -105.06303429423536 49.00002137309957, -104.062991293304 49.00002637309957, -104.05231729329405 48.645824372769695, -104.05211129329386 48.39101937253239, -104.04842529329044 48.0000813721683, -104.04730729328939 47.40001737160945, -104.0459262
 932881 47.333832371547814, -104.04743729328952 46.64294737090437, -104.04670529328884 46.54253937081086, -104.04783629328989 46.28088137056717, -104.04890629329088 45.942993370252495, -104.04951729329144 45.883052370196665, -104.04385129328617 45.212875369572515, -104.04307229328545 44.997805369372216, -104.05984229330106 44.99733636937178, -105.04179629421559 45.00107636937526, -105.08500329425583 44.999817369374085, -106.02115029512768 44.997213369371664, -106.25923129534941 44.99616236937068, -107.89437429687226 44.99977336937405, -108.25923829721206 45.00011536937437, -108.62525629755294 44.99759336937201, -109.79938529864643 44.999522369373814, -109.99552929882911 45.00279336937686, -110.39276029919905 44.998625369372974, -110.42964929923342 44.992285369367075, -111.05342829981436 44.99569536937025, -111.05161629981266 44.664490369061795, -111.0515602998126 44.473323368883754, -111.09463029985272 44.48612436889567, -111.12891829988466 44.500757368909305, -111.13435929988972 44.
 52790236893458, -111.17024229992315 44.54518636895068, -111.17876429993107 44.564851368968995, -111.21950729996902 44.57317036897675, -111.23423329998273 44.60256236900412, -111.2197972999693 44.61798136901848, -111.22397129997319 44.62690836902679, -111.27066530001667 44.64221236904105, -111.27020830001624 44.673802369070465, -111.29566830003995 44.68293836907897, -111.3154753000584 44.7051933690997, -111.31922130006188 44.72786436912081, -111.34997730009053 44.72617736911924, -111.37230930011133 44.745087369136854, -111.38495930012311 44.73769436912997, -111.39508430013254 44.70886936910313, -111.44363230017775 44.71317936910714, -111.47542530020736 44.702162369096875)))	
-ME	Maine	MULTIPOLYGON (((-69.77727626137293 44.07414836851199, -69.85992826144991 44.00000136844294, -69.7915282613862 43.75608536821577, -69.8303922614224 43.727986368189605, -69.85178526144233 43.74432836820482, -69.84615526143709 43.84234436829611, -69.88679126147493 43.87671336832811, -69.90313226149014 43.790732368248044, -69.97290326155513 43.768847368227654, -69.9995002615799 43.78620736824382, -69.9873702615686 43.845738368299266, -70.02640326160495 43.84560136829914, -70.15662826172624 43.78981036824718, -70.23579826179997 43.68579636815031, -70.22223926178734 43.57724036804921, -70.34161026189851 43.53490836800978, -70.36592526192116 43.430303367912366, -70.45697726200596 43.349470367837085, -70.53894126208229 43.33571836782427, -70.66567226220032 43.09105036759641, -70.81866826234281 43.12187136762512, -70.83054826235387 43.15917436765986, -70.81320726233773 43.235222367730685, -70.90108626241957 43.28102036777334, -70.90580126242396 43.30206936779294, -70.96969926248347 
 43.36638036785283, -70.97909926249223 43.39618436788059, -70.96148326247581 43.43812636791965, -70.97079126248448 43.47021136794953, -70.95927826247376 43.51638836799253, -70.96426826247841 43.53198936800707, -70.94961926246476 43.548953368022865, -70.95652426247119 43.56414336803701, -70.97387426248736 43.571830368044175, -70.9844422624972 43.79116336824844, -71.00859626251969 44.28214636870571, -71.02872626253844 44.66853836906556, -71.08750926259319 45.301469369655024, -70.95938226247385 45.338865369689856, -70.87644426239662 45.22544536958422, -70.84287526236535 45.2781373696333, -70.81266626233722 45.35467836970458, -70.82913226235256 45.39072636973815, -70.7969672623226 45.42517236977023, -70.63492926217168 45.391967369739305, -70.71991026225083 45.51295436985198, -70.55227026209471 45.66066436998955, -70.39638326194952 45.72204637004671, -70.416214261968 45.79030937011029, -70.25396426181689 45.89900437021152, -70.24746426181083 45.944619370254, -70.31029526186934 45.96878237
 027651, -70.28002226184115 46.05315437035509, -70.30484926186428 46.06665837036766, -70.22932526179395 46.13743437043358, -70.28349626184439 46.19024937048276, -70.1910582617583 46.33483937061742, -70.04660726162378 46.42611537070243, -70.01414426159354 46.57059837083699, -69.98497726156637 46.69136537094947, -69.23029626086353 47.4533343716591, -69.04697626069279 47.42203037162995, -69.03671426068324 47.25736137147659, -68.89487226055114 47.182256371406645, -68.51467326019704 47.296964371513475, -68.3912572600821 47.28509737150242, -68.33481426002953 47.35737437156973, -68.23080725993267 47.352148371564866, -67.79101125952309 47.06100337129372, -67.7802892595131 45.947062370256276, -67.75561525949011 45.91658037022789, -67.79457125952639 45.878475370192405, -67.75936725949362 45.8277983701452, -67.8030532595343 45.7945083701142, -67.80343325953466 45.6781133700058, -67.75295525948763 45.65928936998827, -67.71803425945512 45.68129937000877, -67.6151402593593 45.60519936993789, -67.4
 3930125919553 45.59256136992612, -67.4160842591739 45.50355436984323, -67.50410625925588 45.48581636982671, -67.4185552591762 45.3758523697243, -67.47795025923152 45.28028036963529, -67.43943525919565 45.18958436955082, -67.34560525910827 45.122252369488116, -67.27409525904167 45.18278336954449, -67.16590525894091 45.15626436951979, -67.1506612589267 45.121990369487875, -67.06535825884727 44.959295369336346, -67.14670625892303 44.904581369285395, -66.96927125875777 44.82865536921469, -67.00771925879359 44.780625369169954, -67.200364258973 44.65378136905181, -67.30846825907368 44.653521369051575, -67.38851025914822 44.69140036908685, -67.57099325931817 44.59833336900017, -67.61883825936273 44.540239368946075, -67.8112192595419 44.5540093689589, -67.858560259586 44.5360773689422, -67.90004225962463 44.45239936886426, -67.96834225968823 44.4712283688818, -67.96343625968366 44.505327368913555, -67.98652325970517 44.48481236889445, -68.01639325973298 44.384956368801454, -68.074379259787 
 44.38137436879812, -68.13626425984462 44.47523736888554, -68.24561425994646 44.49064836889988, -68.3637652600565 44.4313863688447, -68.42857126011685 44.465306368876284, -68.55218626023198 44.39904936881458, -68.53007526021139 44.28983636871287, -68.55942726023872 44.25988736868497, -68.74031026040718 44.34633036876548, -68.81285126047474 44.32743236874788, -68.8137682604756 44.41399036882849, -68.74134826040816 44.50728536891538, -68.74527926041182 44.552320368957325, -68.82355226048472 44.60890636901003, -68.82381326048495 44.664089369061415, -68.86060926051923 44.61097036901195, -68.80790326047014 44.56965436897347, -68.81167826047366 44.494593368903566, -68.95917926061102 44.43033136884371, -68.9850282606351 44.27111236869543, -69.02148226066905 44.24409336867026, -69.07445826071839 44.06906636850726, -69.21914026085314 43.94678736839337, -69.29365026092252 43.94219036838909, -69.3464542609717 44.01596936845781, -69.39448826101643 44.02512836846634, -69.48323326109909 43.8871603
 68337845, -69.5893262611979 43.84486236829845, -69.66445326126787 43.85222436830531, -69.65524526125928 43.98025036842454, -69.61293226121988 44.03361236847424, -69.72063526132018 43.93797936838517, -69.74852826134617 43.893375368343634, -69.72467126132395 43.784477368242214, -69.75035926134787 43.761704368221004, -69.77767326137331 43.79127036824854, -69.80001326139411 44.02686636846796, -69.76675526136314 44.04773236848739, -69.77727626137293 44.07414836851199)), ((-68.387921260079 44.377253368794285, -68.35025426004391 44.398951368814494, -68.35544926004876 44.428857368842344, -68.23870925994004 44.43756336885045, -68.16476925987118 44.33449536875446, -68.3047052600015 44.290031368713045, -68.32071126001641 44.22507936865256, -68.40289026009295 44.27080136869514, -68.387921260079 44.377253368794285)))	
-ND	North Dakota	MULTIPOLYGON (((-98.73043728833767 45.93827137024809, -99.00683328859509 45.93955537024929, -99.7173452892568 45.94276137025227, -99.87578328940435 45.94354737025301, -100.51440628999912 45.94038837025006, -102.00277529138528 45.942505370252036, -102.9463972922641 45.94166537025126, -102.99482329230919 45.94111537025074, -104.04890629329088 45.942993370252495, -104.04783629328989 46.28088137056717, -104.04670529328884 46.54253937081086, -104.04743729328952 46.64294737090437, -104.0459262932881 47.333832371547814, -104.04730729328939 47.40001737160945, -104.04842529329044 48.0000813721683, -104.05211129329386 48.39101937253239, -104.05231729329405 48.645824372769695, -104.062991293304 49.00002637309957, -102.93795929225622 49.00002637309957, -102.02226429140342 49.000015373099565, -101.50043729091743 49.000020373099574, -100.18790828969505 49.00000237309955, -99.53356628908564 49.00000837309956, -99.0004032885891 49.00000637309955, -97.93786728759953 48.99999237309954
 5, -97.22943628693976 48.999987373099536, -97.21636928692759 48.931830373036064, -97.17572728688974 48.87375737298198, -97.17120428688553 48.83598037294679, -97.1804222868941 48.81553737292775, -97.16471228687948 48.81036837292294, -97.17394428688807 48.801514372914696, -97.14751628686346 48.781170372895744, -97.13924628685575 48.76354237287933, -97.14789828686382 48.75565337287198, -97.13250228684947 48.747218372864126, -97.13480628685163 48.72623837284459, -97.11010128682861 48.708583372828144, -97.1167392868348 48.695243372815725, -97.09716928681657 48.67452937279643, -97.1076302868263 48.629946372754915, -97.12744428684476 48.62979437275477, -97.12295828684059 48.62076837274636, -97.14471828686085 48.61402437274008, -97.14081228685721 48.586905372714824, -97.1581922868734 48.583640372711784, -97.15212728686775 48.572856372701736, -97.16794328688249 48.56226337269187, -97.14661828686262 48.54953737268002, -97.1604352868755 48.545078372675874, -97.15553728687092 48.53839837266965,
  -97.13938528685588 48.534648372666155, -97.14832728686422 48.51795137265061, -97.13459428685142 48.51731437265001, -97.14361328685983 48.43810937257625, -97.1196332868375 48.43710237257531, -97.12260128684025 48.416110372555764, -97.1516472868673 48.41961237255902, -97.14982328686561 48.40999137255006, -97.12912428684633 48.4078853725481, -97.15881928687399 48.38820637252977, -97.135205286852 48.38441037252623, -97.13378628685068 48.3724543725151, -97.15039628686614 48.3632153725065, -97.1311232868482 48.361491372504894, -97.13713628685379 48.32599137247183, -97.11259128683093 48.319926372466185, -97.1326342868496 48.31096937245784, -97.11475128683294 48.303618372451, -97.11372128683199 48.294882372442856, -97.13051328684763 48.29304037244114, -97.11268328683101 48.286147372434726, -97.11171428683012 48.277876372427016, -97.13665528685334 48.264483372414546, -97.12378428684136 48.259173372409606, -97.12755428684487 48.23352337238571, -97.10923528682781 48.22804937238061, -97.139754
 28685623 48.22175537237475, -97.11089928682935 48.20760537236157, -97.13082828684792 48.20374237235798, -97.13727528685392 48.19506337234989, -97.13629128685301 48.17522737233142, -97.13744328685408 48.16776937232447, -97.11606528683417 48.15922337231652, -97.13651328685322 48.14839837230643, -97.12091828683869 48.1427743723012, -97.12187328683957 48.11636937227661, -97.0990302868183 48.10097237226226, -97.09272128681243 48.07034437223374, -97.06707128678855 48.04816437221308, -97.04805328677082 47.95492437212624, -97.01533128674035 47.917890372091755, -97.02056628674522 47.87556937205234, -97.0003402867264 47.87019737204734, -96.97723128670486 47.82802937200807, -96.98389328671108 47.809661371990956, -96.9578302866868 47.79444037197678, -96.93201228666275 47.763506371947976, -96.92365928665498 47.71409437190196, -96.8894252866231 47.67392537186454, -96.87333528660811 47.61525537180991, -96.85221728658844 47.601151371796774, -96.85866428659445 47.56297837176122, -96.84918828658562 4
 7.54456837174408, -96.86068728659633 47.521356371722455, -96.85161528658789 47.50061937170314, -96.86668428660191 47.46153737166674, -96.8558272865918 47.43675337164366, -96.86724828660245 47.41308737162162, -96.85000528658638 47.408936371617756, -96.8398272865769 47.38411737159464, -96.85063128658696 47.36095437157307, -96.83846128657564 47.34224337155564, -96.84674728658335 47.3146023715299, -96.83771428657494 47.2938843715106, -96.84962328658602 47.25684337147611, -96.83706528657433 47.240458371460846, -96.82649128656448 47.17006337139529, -96.83916428657629 47.15188637137836, -96.81915128655764 47.09260437132315, -96.82696428656492 47.07883237131033, -96.82260828656086 47.033932371268506, -96.83529628657269 47.010231371246434, -96.82453128656266 47.003436371240106, -96.81677228655543 46.96977937120876, -96.79342528653369 46.96964137120863, -96.80188728654157 46.95584337119578, -96.78971028653022 46.948202371188664, -96.78792528652856 46.93218437117375, -96.76306828650542 46.9362
 61371177544, -96.75691128649969 46.92278037116499, -96.77806128651937 46.86734937111336, -96.76825028651024 46.84486137109242, -96.7971972865372 46.812033371061844, -96.78038228652154 46.76231237101554, -96.78155628652263 46.70704437096407, -96.79369528653393 46.67880437093777, -96.79024628653073 46.6297733708921, -96.78431728652521 46.624112370886834, -96.77104128651284 46.59998337086436, -96.75122728649438 46.58861937085378, -96.74031628648423 46.4894323707614, -96.71489428646055 46.46871837074211, -96.70968228645569 46.42716837070341, -96.68822828643572 46.41221837068949, -96.65210128640207 46.35943337064033, -96.61486128636739 46.3508123706323, -96.60207428635547 46.33632437061881, -96.59818328635185 46.23868237052787, -96.58645628634093 46.2154133705062, -96.58789028634227 46.191918370484316, -96.57116628632669 46.17717437047059, -96.55193128630877 46.09552937039455, -96.57621528633139 46.0212793703254, -96.56180228631797 45.947683370256854, -96.56692128632274 45.93411037024421
 , -97.23331028694336 45.936502370246444, -97.97872228763758 45.93082237024116, -98.0147092876711 45.93149837024178, -98.73043728833767 45.93827137024809)))	
-SD	South Dakota	MULTIPOLYGON (((-102.78838429211693 42.99530336750724, -103.00587529231949 42.99935436751102, -103.50146429278104 42.99861836751033, -104.05619929329767 43.00306236751447, -104.05915729330043 43.47913436795784, -104.05791429329928 43.50371236798073, -104.05947929330073 43.852906368305945, -104.05973129330096 44.14582536857875, -104.06103629330218 44.18182536861227, -104.05946529330072 44.57435236897784, -104.05984229330106 44.99733636937178, -104.04307229328545 44.997805369372216, -104.04385129328617 45.212875369572515, -104.04951729329144 45.883052370196665, -104.04890629329088 45.942993370252495, -102.99482329230919 45.94111537025074, -102.9463972922641 45.94166537025126, -102.00277529138528 45.942505370252036, -100.51440628999912 45.94038837025006, -99.87578328940435 45.94354737025301, -99.7173452892568 45.94276137025227, -99.00683328859509 45.93955537024929, -98.73043728833767 45.93827137024809, -98.0147092876711 45.93149837024178, -97.97872228763758 45.930822370
 24116, -97.23331028694336 45.936502370246444, -96.56692128632274 45.93411037024421, -96.58795528634232 45.81785437013595, -96.60461028635784 45.80826437012701, -96.65739128640699 45.738970370062475, -96.83279628657036 45.65068736998026, -96.85499028659102 45.609122369941545, -96.84308728657994 45.584090369918236, -96.76924628651116 45.5174783698562, -96.7380322864821 45.45819536980099, -96.69316928644032 45.4106383697567, -96.60508428635828 45.39652436974355, -96.53254928629073 45.37513236972363, -96.47759228623954 45.328509369680205, -96.45760228622093 45.298850369652584, -96.45449628621803 45.27519536963055, -96.4560802862195 44.97199436934818, -96.45521728621871 44.801347369189244, -96.45671828622011 44.62880836902856, -96.45510628621861 44.53834336894431, -96.45739728622074 44.19906136862833, -96.45660228621999 43.848741368302065, -96.46045428622358 43.49971836797701, -96.59831528635198 43.499849367977134, -96.58379628633845 43.48192036796044, -96.5891132863434 43.43553936791724
 4, -96.55770828631415 43.40072736788482, -96.52505328628375 43.38422536786945, -96.52289428628174 43.356966367844066, -96.5405632862982 43.307659367798145, -96.5791312863341 43.29007436778177, -96.57072228632627 43.26361236775712, -96.5595672863159 43.25326336774748, -96.5669912863228 43.23963336773479, -96.558605286315 43.22548936772162, -96.48724528624854 43.217909367714554, -96.47311428623537 43.20908236770634, -96.45150528621525 43.12630836762925, -96.46080528622392 43.08787236759345, -96.46209428622511 43.075582367582, -96.47957328624139 43.06188436756925, -96.52001028627905 43.051508367559585, -96.4990202862595 43.01205036752283, -96.51714828627638 42.986458367499, -96.51493528627432 42.952382367467266, -96.54426328630164 42.913866367431396, -96.53751128629536 42.896906367415596, -96.55621128631276 42.846660367368806, -96.57312628632852 42.83434736735734, -96.58764528634204 42.8353813673583, -96.60087528635437 42.799558367324934, -96.63298028638427 42.776835367303775, -96.6407
 0928639146 42.74860336727748, -96.62654028637826 42.70835436724, -96.56303928631912 42.66851336720289, -96.54116528629875 42.66240536719721, -96.51284428627237 42.629755367166794, -96.48849828624971 42.580480367120906, -96.50094228626129 42.57388536711476, -96.48933728625049 42.56402836710558, -96.48024328624201 42.51713036706191, -96.43939428620396 42.48924036703593, -96.49470128625548 42.488459367035205, -96.5472152863044 42.52049936706504, -96.58475328633935 42.51828736706298, -96.60546728635863 42.50723636705269, -96.62929428638083 42.52269336706709, -96.6366722863877 42.5507313670932, -96.71405928645977 42.61230236715054, -96.7152732864609 42.62190736715949, -96.69459628644165 42.64116336717742, -96.6990602864458 42.657715367192836, -96.72265828646778 42.66859236720296, -96.7993442865392 42.67001936720429, -96.81043728654953 42.68134136721484, -96.81014028654926 42.70408436723602, -96.9082342866406 42.73169936726174, -96.97077328669886 42.721147367251916, -96.97786928670547 42.
 72730836725765, -96.97000328669814 42.75206536728071, -96.97959328670707 42.758313367286526, -97.01513928674018 42.759542367287665, -97.13046928684759 42.773923367301066, -97.16142228687642 42.798619367324065, -97.21183128692336 42.81257336733706, -97.2244432869351 42.84120236736372, -97.24318928695256 42.85182636737362, -97.27145728697889 42.85001436737193, -97.3114142870161 42.86177136738288, -97.38930628708864 42.86743336738815, -97.45726328715193 42.85044336737233, -97.48315928717605 42.857157367378576, -97.50613228719745 42.86013636738136, -97.57065428725754 42.847990367370045, -97.63497028731744 42.86128536738242, -97.68575228736474 42.83683736735966, -97.72525028740152 42.85800836737937, -97.77218628744522 42.846164367368345, -97.79702828746836 42.849597367371544, -97.8186432874885 42.86658736738737, -97.88865928755371 42.855807367377324, -97.88994128755489 42.831271367354475, -97.92947728759172 42.7923243673182, -97.96355828762346 42.773690367300844, -97.99514428765288 42.76
 681236729444, -98.03314028768825 42.769192367296654, -98.12182028777084 42.80836036733314, -98.12311728777206 42.820223367344184, -98.14486928779232 42.83579436735869, -98.1678262878137 42.839571367362204, -98.31033928794642 42.881794367401525, -98.39120428802174 42.92013536743723, -98.45744428808342 42.93716036745309, -98.49765128812088 42.991778367503954, -99.25397128882526 42.99238936750453, -99.53279028908491 42.992335367504474, -100.19814228970458 42.99109536750332, -101.23173729066718 42.98684336749936, -102.08670129146344 42.98988736750219, -102.78838429211693 42.99530336750724)))	
-WY	Wyoming	MULTIPOLYGON (((-104.05361529329527 41.69821836629923, -104.05550029329702 41.56422236617444, -104.05401229329564 41.3880853660104, -104.0517052932935 41.003211365651964, -104.93449329411565 40.99428936564365, -105.2787972944363 40.99634936564557, -106.20347129529748 41.00008536564905, -106.3291252954145 41.001289365650166, -106.86543829591398 40.99845736564753, -107.30405129632247 41.00013336564909, -107.91867129689489 41.00337536565211, -109.04831429794694 40.998433365647514, -110.00216529883528 40.997599365646735, -110.06318529889211 40.997892365647004, -111.0510222998121 40.99658336564579, -111.05165129981269 41.25842536588965, -111.05106829981216 41.57859236618782, -111.04869729980994 41.99620336657675, -111.04678029980816 42.50325236704899, -111.04921529981043 43.01988336753013, -111.04749829980882 43.28473436777679, -111.04677129980816 43.515528367991735, -111.05040529981153 43.98255336842669, -111.0515602998126 44.473323368883754, -111.05161629981266 44.6644903690
 61795, -111.05342829981436 44.99569536937025, -110.42964929923342 44.992285369367075, -110.39276029919905 44.998625369372974, -109.99552929882911 45.00279336937686, -109.79938529864643 44.999522369373814, -108.62525629755294 44.99759336937201, -108.25923829721206 45.00011536937437, -107.89437429687226 44.99977336937405, -106.25923129534941 44.99616236937068, -106.02115029512768 44.997213369371664, -105.08500329425583 44.999817369374085, -105.04179629421559 45.00107636937526, -104.05984229330106 44.99733636937178, -104.05946529330072 44.57435236897784, -104.06103629330218 44.18182536861227, -104.05973129330096 44.14582536857875, -104.05947929330073 43.852906368305945, -104.05791429329928 43.50371236798073, -104.05915729330043 43.47913436795784, -104.05619929329767 43.00306236751447, -104.05621929329769 42.61466936715274, -104.05351329329517 41.99981536658012, -104.05361529329527 41.69821836629923)))	
-WI	Wisconsin	MULTIPOLYGON (((-87.74855527810999 44.961616369338515, -87.83999227819515 44.92732336930658, -87.8310202781868 44.8733463692563, -87.98579127833094 44.72047436911393, -87.98318227832851 44.67726536907369, -88.01328827835654 44.63911836903816, -87.97575827832159 44.595814368997836, -88.0130212783563 44.622234369022436, -88.04041727838181 44.57144936897514, -87.96622827831271 44.53549636894166, -87.92640827827563 44.539139368945044, -87.86878227822197 44.61690636901747, -87.7642262781246 44.64404836904275, -87.72382127808696 44.68928736908488, -87.6144642779851 44.833047369218775, -87.55278727792768 44.851335369235805, -87.55167227792663 44.82302336920944, -87.4337472778168 44.89109636927283, -87.36745927775507 44.81156736919877, -87.31446527770572 44.79471836918307, -87.37307027776029 44.67691836907336, -87.47352827785386 44.533946368940214, -87.53748927791342 44.32785136874827, -87.51732227789465 44.17575436860662, -87.64437027801297 44.09783036853405, -87.7261222780891
 1 43.893904368344124, -87.70273027806732 43.673176368138556, -87.78604527814491 43.54629736802039, -87.80295927816066 43.458714367938825, -87.87533227822807 43.358592367845574, -87.88983427824157 43.19721636769529, -87.86006927821386 43.07587536758228, -87.89198327824357 43.02577436753562, -87.83643827819185 42.96459236747864, -87.81984927817639 42.84156336736406, -87.75680327811767 42.77754636730444, -87.79150927815 42.66664236720115, -87.79738227815547 42.48915236703585, -88.19479027852559 42.489631367036296, -88.2979892786217 42.49198836703849, -88.70662327900227 42.48967136703634, -88.76505827905669 42.4909223670375, -88.93918727921886 42.49087936703746, -89.35955927961037 42.49791736704401, -89.4006132796486 42.49750236704362, -89.8347392800529 42.50346836704918, -89.92369128013574 42.504115367049785, -90.42010328059807 42.50836536705374, -90.63845628080142 42.509363367054675, -90.62570728078956 42.52856236707255, -90.63921928080214 42.55571436709784, -90.66438028082557 42.5713
 9136711244, -90.69479128085389 42.63792836717441, -90.74561028090122 42.65700136719217, -90.89254528103807 42.678240367211956, -90.91940928106308 42.68067736721422, -90.99918228113738 42.70705836723879, -91.06616828119977 42.744913367274044, -91.08203028121454 42.783365367309855, -91.09342828122514 42.871440367391884, -91.1391212812677 42.9258933674426, -91.1522142812799 43.00131636751284, -91.15975228128691 43.08118236758722, -91.16857128129513 43.08288836758881, -91.16135428128841 43.14757636764905, -91.06905228120245 43.2578983677518, -91.0664282812 43.28068336777302, -91.07849828121125 43.31329736780339, -91.17704828130303 43.35394636784125, -91.19824328132277 43.37051336785668, -91.21091628133458 43.42405136790654, -91.23590328135784 43.464684367944386, -91.22356628134635 43.500808367978024, -91.24055828136218 43.54871236802264, -91.23299028135513 43.59889036806938, -91.25838928137878 43.67732236814242, -91.25891628137927 43.722395368184394, -91.251105281372 43.788075368245565,
  -91.29194828141004 43.847190368300616, -91.37335728148585 43.94719136839375, -91.42590228153479 43.98561936842954, -91.52842028163028 44.034215368474804, -91.56916228166821 44.034955368475494, -91.6017862816986 44.04082236848096, -91.65223328174558 44.066895368505236, -91.75321928183963 44.137227368570734, -91.84874428192859 44.191187368620994, -91.8886942819658 44.25749536868275, -91.92234928199714 44.28834136871147, -91.92275428199753 44.31752036873865, -91.93886828201254 44.33911136875876, -91.97238628204374 44.36448736878239, -92.09133328215452 44.415589368829984, -92.20613728226144 44.43839436885122, -92.24910028230146 44.45621636886782, -92.29668728234577 44.49218236890132, -92.32047828236793 44.540491368946306, -92.34087228238693 44.5528353689578, -92.5092152825437 44.575159368978596, -92.60897328263661 44.61029236901132, -92.63036728265654 44.64265236904146, -92.73714528275598 44.713594369107525, -92.80558428281972 44.746160369137854, -92.76102828277823 44.83537136922094, -
 92.76426328278124 44.862234369245954, -92.77187128278833 44.899496369280655, -92.75392628277162 44.915002369295095, -92.74976828276773 44.93565536931433, -92.7671262827839 45.00100536937519, -92.76299128278005 45.02211936939486, -92.7967622828115 45.06561036943536, -92.74542228276368 45.1130043694795, -92.74493528276324 45.15642236951994, -92.76258328277967 45.18661236954806, -92.755419282773 45.21237636957205, -92.74659328276478 45.297603369651426, -92.70738428272827 45.318201369670604, -92.6848692827073 45.3630763697124, -92.64875128267366 45.395466369742564, -92.64497528267015 45.43945236978353, -92.6548172826793 45.45522136979822, -92.68542128270781 45.470053369812035, -92.72815428274761 45.54724236988392, -92.7621752827793 45.56426336989977, -92.83503728284715 45.56340236989897, -92.87683128288607 45.57883636991335, -92.88539728289405 45.64495536997492, -92.86001928287041 45.71056237003602, -92.83363628284584 45.73089037005495, -92.77910728279507 45.763340370085174, -92.7487622
 827668 45.837302370154056, -92.73409728275314 45.84498037016121, -92.7062402827272 45.89095837020403, -92.66620828268992 45.91570337022708, -92.55267228258418 45.9512693702602, -92.52397728255745 45.98258337028936, -92.46234528250005 45.98119737028807, -92.42499928246528 46.02550437032933, -92.36496328240936 46.01624837032071, -92.34622528239191 46.022596370326625, -92.32737228237436 46.056878370358554, -92.28937028233896 46.07323137037378, -92.28894428233856 46.15660037045143, -92.28868528233832 46.415984370692996, -92.287271282337 46.658786370919124, -92.20915428226425 46.64687237090803, -92.09597028215885 46.74262737099721, -92.00415728207334 46.68380037094242, -91.92146128199632 46.680134370939, -91.55577328165575 46.75686037101046, -90.86173028100937 46.95247937119265, -90.77448628092812 46.92023537116262, -90.77744528093086 46.88312237112805, -90.92624428106944 46.58550337085087, -90.73071428088734 46.64569637090693, -90.54087728071055 46.58752637085276, -90.40820028058698 46.
 568610370835145, -90.38552528056586 46.53965737080817, -90.31370828049899 46.55156337081927, -90.30239328048845 46.544296370812496, -90.30018128048638 46.52505137079457, -90.26978528045808 46.52248037079218, -90.25840128044747 46.508789370779425, -90.21152628040382 46.50629537077711, -90.16139128035712 46.44238037071758, -90.14179728033888 46.39389937067243, -90.11517728031409 46.36515537064566, -90.1116592803108 46.34042937062263, -89.9251362801371 46.30402537058873, -89.09980627936845 46.14564237044122, -88.9853012792618 46.10039137039908, -88.92519527920582 46.07360137037413, -88.80439727909332 46.026804370330545, -88.79381527908347 46.036360370339445, -88.77748027906826 46.032614370335956, -88.7730172790641 46.02114737032528, -88.72640927902069 46.02958137033313, -88.70360527899946 46.01892337032321, -88.67738427897504 46.020144370324346, -88.64366927894363 45.99338837029943, -88.6155022789174 45.99412037030011, -88.59753627890068 46.01551637032003, -88.57535727888002 46.0089593
 70313924, -88.54835827885486 46.019300370323556, -88.51561327882438 46.01860937032291, -88.49408327880433 46.01296037031766, -88.48381427879475 45.99915137030479, -88.45431927876729 46.00076037030629, -88.40352227871998 45.98342237029014, -88.3699382786887 45.994587370300536, -88.32132327864343 45.96671237027458, -88.29915227862278 45.96194437027014, -88.25716827858368 45.9670553702749, -88.2149922785444 45.94790137025706, -88.18019427851199 45.95351637026229, -88.15043827848427 45.93629337024625, -88.11139027844791 45.926287370236935, -88.09385027843157 45.920615370231644, -88.09576427843336 45.89180337020481, -88.0654212784051 45.8736423701879, -88.12178627845759 45.8348783701518, -88.12994927846519 45.81940237013738, -88.08873427842681 45.791532370111426, -88.05163927839226 45.78611237010638, -87.99007027833493 45.795046370114704, -87.96917927831547 45.76644837008807, -87.87362927822647 45.750699370073406, -87.84236227819736 45.722418370047066, -87.80155327815935 45.7113913700367
 9, -87.80115627815898 45.70132437002742, -87.77747327813692 45.684101370011376, -87.78094527814017 45.67591537000375, -87.81705427817379 45.66539036999395, -87.81993827817648 45.65445036998376, -87.7760452781356 45.613200369945346, -87.7750752781347 45.600387369933415, -87.78631227814516 45.56851936990373, -87.82860227818455 45.5685913699038, -87.8051412781627 45.544525369881384, -87.78938527814802 45.499067369839054, -87.81361427817059 45.466460369808686, -87.86026727821404 45.44509836978879, -87.84953127820404 45.40611736975249, -87.88361027823578 45.36585436971499, -87.8739742782268 45.36208536971148, -87.86853527822174 45.37207236972078, -87.86209627821574 45.370165369719004, -87.84128227819636 45.34614936969663, -87.82800827818399 45.35832136970797, -87.76003827812069 45.352897369702916, -87.68959827805509 45.39126936973865, -87.64368427801233 45.36185636971126, -87.64536227801389 45.34816936969852, -87.70447127806894 45.27220536962777, -87.70514227806956 45.247086369604375, -8
 7.71966827808309 45.23677136959477, -87.72162827808492 45.211672369571396, -87.7362002780985 45.19907236955966, -87.7296692780924 45.17660436953874, -87.67281427803945 45.14067236950527, -87.66488627803207 45.10905436947583, -87.5812762779542 45.0946403694624, -87.61852127798889 45.05680736942716, -87.62033527799058 44.99199736936681, -87.74855527810999 44.961616369338515)), ((-87.034524277445 45.290405369644716, -86.98625327740005 45.2986573696524, -86.96771227738277 45.24027736959803, -86.99573427740887 45.218411369577666, -87.04511227745486 45.249019369606174, -87.02544827743655 45.149974369513934, -87.07987627748724 45.14730736951145, -87.04490127745467 45.09551336946321, -87.0876782774945 45.09217836946011, -87.08390027749098 45.05328536942389, -87.11255727751768 45.06476336943457, -87.17869227757927 44.982806369358244, -87.16878827757004 44.93332336931216, -87.20565027760438 44.873239369256204, -87.3111232777026 44.79877336918685, -87.37873727776558 44.83774236922314, -87.4054
 1927779043 44.91120036929156, -87.3421612777315 45.01521336938843, -87.28348427767686 45.05261936942327, -87.2309152776279 45.1750633695373, -87.17791327757854 45.154973369518586, -87.06606427747438 45.29646236965036, -87.034524277445 45.290405369644716)))	
-ID	Idaho	MULTIPOLYGON (((-117.02629530537702 43.67903136814401, -117.02379430537468 43.753701368213555, -117.0371173053871 43.8001423682568, -117.02762630537825 43.83156736828607, -117.0105053053623 43.83976936829371, -117.01622030536763 43.852972368306006, -116.98577030533927 43.85935136831195, -116.97814830533218 43.8734693683251, -116.97814130533217 43.90444136835394, -116.95971630531501 43.92857736837642, -116.96795730532268 43.96319536840866, -116.93359330529069 44.01420236845617, -116.97681730533094 44.07389436851176, -116.96344330531849 44.09029836852703, -116.94688630530305 44.093025368529574, -116.9022543052615 44.1463133685792, -116.91305130527155 44.17730436860806, -116.98187130533564 44.19784236862719, -116.9761273053303 44.22518236865265, -116.99270730534573 44.24706336867303, -117.0303523053808 44.249336368675145, -117.05202730540098 44.23155636865859, -117.08138730542832 44.243846368670035, -117.10056030544618 44.26707836869167, -117.11269230545747 44.26980536869421, 
 -117.14327930548598 44.25063236867636, -117.17072330551153 44.25333236867887, -117.21357230555142 44.2847193687081, -117.21745530555505 44.30066536872295, -117.20160230554029 44.33943836875906, -117.23692130557318 44.38998236880613, -117.21722130555483 44.427855368841406, -117.22441030556152 44.47298736888344, -117.20396230554249 44.485785368895364, -117.18739130552706 44.511805368919596, -117.14516030548772 44.534655368940875, -117.14394030548658 44.55928736896381, -117.13050430547406 44.572523368976135, -117.07935430542643 44.68933636908493, -117.06651330541447 44.697557369092586, -117.03957230538938 44.749115369140604, -116.95149430530736 44.776035369165676, -116.90962030526836 44.82894036921495, -116.89736730525695 44.84855536923321, -116.86707630522874 44.86860836925189, -116.83539630519923 44.92014436929989, -116.84755630521056 44.954850369332206, -116.83139630519551 44.97263336934877, -116.84815930521111 44.97174136934794, -116.85588730521832 44.9799653693556, -116.8480973052
 1106 45.0000423693743, -116.85451330521704 45.016945369390044, -116.80730730517307 45.049755369420595, -116.78721030515436 45.075752369444814, -116.77809230514586 45.0994803694669, -116.76126830513019 45.10630036947326, -116.73658530510721 45.13730736950214, -116.68881330506271 45.26235036961859, -116.6722653050473 45.335410369686635, -116.56577230494813 45.45986336980254, -116.55450330493763 45.49364736983401, -116.4785513048669 45.56605836990144, -116.47041830485932 45.60625736993888, -116.51491530490075 45.664491369993115, -116.5282753049132 45.71072837003618, -116.56063230494334 45.74742437007035, -116.65439830503067 45.78063037010128, -116.7031803050761 45.819169370137175, -116.77370730514178 45.81976337013772, -116.79126230515813 45.84586737016203, -116.85647230521886 45.9035973702158, -116.89819730525772 45.98051637028743, -116.91913230527722 45.995175370301084, -116.95772330531315 46.06568737036676, -116.98721130534062 46.0785093703787, -116.9616373053168 46.09727437039618, 
 -116.9294263052868 46.1654833704597, -116.96749030532226 46.19755437048957, -116.97272530532712 46.24930937053777, -117.00164230535405 46.30244837058726, -117.02797330537858 46.33542737061797, -117.06418430541231 46.34869837063033, -117.04447030539394 46.38857437066747, -117.03855830538843 46.42798037070417, -117.04192630539157 46.53660137080533, -117.04096830539069 47.11931937134803, -117.04239230539201 47.25850137147765, -117.04179430539145 47.36144137157352, -117.03747230538742 47.9710923721413, -117.03886830538872 48.04618637221124, -117.02911130537964 48.838075372948744, -117.03204930538237 48.999931373099486, -116.06353130448036 48.9999503730995, -116.05669230447401 48.498665372632644, -116.0554973044729 48.208483372362394, -116.05349230447102 47.976191372146054, -116.02531630444479 47.964939372135575, -115.99893230442021 47.92514037209851, -115.93784230436331 47.86712437204447, -115.90392130433173 47.841074372020216, -115.86980930429996 47.82745237200753, -115.84932430428088 
 47.80518237198679, -115.83674230426917 47.75628137194124, -115.79053730422612 47.744838371930584, -115.77572730421232 47.70973237189789, -115.73366530417316 47.69555437188469, -115.73406730417354 47.63987937183283, -115.6982843041402 47.616080371810675, -115.69208830413444 47.590721371787055, -115.7428293041817 47.533691371733944, -115.70152230414323 47.520893371722025, -115.69277030413508 47.489540371692826, -115.64014230408605 47.4752353716795, -115.64318530408889 47.45779337166326, -115.65608730410091 47.44918037165523, -115.73248130417207 47.445303371651626, -115.75010530418848 47.43396637164106, -115.75032630418868 47.42247537163037, -115.66647730411059 47.399167371608655, -115.6387823040848 47.38004437159085, -115.59953630404824 47.3700033715815, -115.55552030400725 47.33461337154854, -115.52306430397702 47.29198237150884, -115.50193030395735 47.281644371499205, -115.42664130388722 47.274374371492435, -115.40820730387006 47.26359337148239, -115.34366130380994 47.25502237147441
 , -115.32522830379278 47.245150371465215, -115.29623430376577 47.17955037140412, -115.1930733036697 47.124026371352414, -115.17249630365053 47.09757037132778, -115.14868430362836 47.09174237132235, -115.13550730361608 47.06355037129609, -115.08133630356564 47.02652437126161, -115.0556383035417 46.97335837121209, -115.03733430352466 46.963001371202445, -115.00157430349134 46.95880937119854, -114.96473030345703 46.92521337116725, -114.92412530341922 46.90716537115044, -114.94056630343454 46.89088837113529, -114.94840930344184 46.85244637109949, -114.90232530339892 46.799433371050114, -114.86660330336565 46.797045371047886, -114.8407923033416 46.77553837102786, -114.79403030329806 46.76653137101947, -114.77783230328296 46.755717371009396, -114.78291930328771 46.70304037096034, -114.74810530325529 46.695132370952976, -114.69843130320902 46.733760370988946, -114.67388730318616 46.734721370989845, -114.6259263031415 46.6871073709455, -114.6450383031593 46.67092137093043, -114.644740303159
 01 46.66082437092102, -114.61082630312744 46.629048370891425, -114.54039130306184 46.637891370899666, -114.48471830301 46.62357437088633, -114.44153630296978 46.645715370906956, -114.3840173029162 46.66159637092174, -114.33468530287027 46.65422737091488, -114.32471230286097 46.62283937088564, -114.3433193028783 46.58788137085309, -114.35011530288463 46.51738937078744, -114.36046830289428 46.50612537077694, -114.41071530294107 46.48737137075948, -114.38402530291621 46.428179370704356, -114.3970173029283 46.399545370677686, -114.40979630294021 46.39291137067151, -114.4317953029607 46.28471137057074, -114.47379530299982 46.25296137054117, -114.47283330299892 46.243783370532626, -114.43955330296792 46.22025437051071, -114.44087930296917 46.168969370462946, -114.4670183029935 46.15526237045018, -114.50961330303318 46.15741737045219, -114.51894430304186 46.136063370432296, -114.50656830303033 46.11614237041375, -114.47737030300314 46.107357370405566, -114.45602930298327 46.082229370382166
 , -114.46575630299233 46.05081537035291, -114.49432130301894 46.02341037032738, -114.47452930300051 46.009765370314675, -114.48445530300975 45.98980637029609, -114.41244730294268 45.97197337027948, -114.40529030293601 45.95397937026272, -114.42946030295852 45.92147737023245, -114.41353030294368 45.91065137022237, -114.39283830292442 45.87088637018533, -114.4075253029381 45.84645337016258, -114.44323130297136 45.85262137016832, -114.47380330299983 45.83946837015607, -114.49916430302343 45.842683370159065, -114.51737530304041 45.81006737012869, -114.56354230308341 45.7623983700843, -114.5419583030633 45.74599937006903, -114.5349763030568 45.7229963700476, -114.49756130302194 45.69440137002097, -114.5107063030342 45.674057370002025, -114.50174130302585 45.65239336998185, -114.56467830308446 45.62427136995566, -114.54095830306237 45.5963973699297, -114.56092430308095 45.54874036988531, -114.52739230304974 45.55819336989411, -114.49659130302105 45.54664936988337, -114.46270830298948 45.5
 4784736988448, -114.43355530296233 45.527633369865654, -114.41905130294883 45.499008369839, -114.3714573029045 45.485740369826644, -114.35024630288476 45.46338336980582, -114.32643430286257 45.457424369800265, -114.26223930280278 45.485859369826755, -114.24788030278941 45.502945369842664, -114.24199830278394 45.53529036987278, -114.19480830273999 45.52791736986592, -114.17266730271938 45.54392436988083, -114.13204830268154 45.55038236988685, -114.11813930266858 45.571127369906165, -114.08296730263582 45.58637836992037, -114.05651530261119 45.62514436995647, -114.01803230257535 45.64077336997103, -114.0109903025688 45.65251136998196, -114.01987830257707 45.67237837000046, -114.00947230256737 45.68633237001346, -113.97114930253169 45.69737637002374, -113.96414430252517 45.67937837000698, -113.9266983024903 45.67121136999937, -113.92353230248735 45.65512436998439, -113.90219930246748 45.63725336996775, -113.90330530246851 45.61349136994562, -113.85202730242075 45.609562369941955, -113.
 82248530239323 45.600636369933646, -113.8037543023758 45.583729369917904, -113.83371530240369 45.514908369853806, -113.78093330235454 45.51686536985562, -113.7723043023465 45.507054369846486, -113.76916830234359 45.47770736981916, -113.78566230235894 45.44563336978929, -113.77502630234903 45.41017236975626, -113.74131030231763 45.38238636973038, -113.73908030231556 45.32153036967371, -113.68870930226865 45.27778836963297, -113.69012030226996 45.26228136961853, -113.6455923022285 45.206790369566846, -113.6009283021869 45.18099236954282, -113.59409930218054 45.14974236951372, -113.57158430215956 45.13454536949956, -113.57437630216216 45.117711369483885, -113.55227230214157 45.10754936947443, -113.51022530210243 45.107835369474685, -113.52060930211209 45.08206336945069, -113.49015930208374 45.071219369440584, -113.48630530208014 45.058321369428576, -113.4554353020514 45.04334936941463, -113.45885330205458 45.02744936939982, -113.44102930203798 44.99819436937258, -113.44876530204519 44.
 94952236932725, -113.46341330205883 44.9407753693191, -113.48734830208112 44.93957436931798, -113.49619130208936 44.930670369309695, -113.4455733020422 44.851239369235714, -113.42137930201967 44.833699369219374, -113.35002430195323 44.80756836919504, -113.34063130194447 44.779000369168436, -113.31868030192403 44.78022836916958, -113.25715430186673 44.81048636919776, -113.24033830185107 44.81184136919902, -113.13827430175601 44.761439369152086, -113.12743130174591 44.73737936912967, -113.10170330172195 44.715173369108996, -113.0989563017194 44.69591636909106, -113.07314430169536 44.67552536907207, -113.0542893016778 44.62428936902435, -113.08303730170456 44.582681368985604, -113.03966030166417 44.55629436896103, -113.03782130166246 44.532959368939295, -113.00771330163442 44.51061236891848, -113.02030930164615 44.48177636889163, -113.00665830163344 44.45261536886447, -113.01201430163843 44.43771536885059, -112.98524930161349 44.435540368848564, -112.93828130156976 44.407192368822166, 
 -112.88730730152228 44.3928523688088, -112.8707813015069 44.36997836878751, -112.84427530148221 44.35363936877229, -112.81739630145718 44.36420236878213, -112.8187103014584 44.394819368810644, -112.82669130146583 44.4210843688351, -112.79622830143747 44.45801136886949, -112.77986330142222 44.47392236888431, -112.73371230137924 44.48432036889399, -112.71432630136118 44.49693536890574, -112.65318930130424 44.48080236889072, -112.53932430119819 44.47749736888764, -112.50183930116329 44.462997368874134, -112.45851930112295 44.46883436887957, -112.42075330108777 44.44928436886136, -112.36758330103825 44.44927036886135, -112.3405773010131 44.49718036890597, -112.3425073010149 44.52510036893197, -112.28234130095886 44.54170236894744, -112.25667530093496 44.55997236896445, -112.2303983009105 44.559491368964004, -112.21776330089872 44.53849536894445, -112.19965830088186 44.531449368937885, -112.12419030081158 44.52825336893491, -112.09989730078895 44.518231368925576, -112.0593673007512 44.52
 8611368935245, -112.02707730072113 44.52284336892987, -112.02361330071791 44.53504336894123, -111.97781830067525 44.52967636893624, -111.9403863006404 44.54972636895491, -111.87250230057717 44.556265368961, -111.80783730051695 44.503982368912304, -111.79260830050276 44.518462368925796, -111.76691830047884 44.51882536892613, -111.71699730043235 44.53376036894004, -111.68486230040241 44.55075236895587, -111.60524830032827 44.54298936894864, -111.56723130029286 44.55286636895784, -111.49024130022117 44.528697368935326, -111.48257330021403 44.53614336894226, -111.45932530019238 44.53792136894391, -111.46282730019563 44.549942368955115, -111.49290430022364 44.55118936895627, -111.51452630024379 44.59319736899539, -111.50174730023188 44.615971369016606, -111.50769030023741 44.63768836903683, -111.47016830020247 44.640710369039645, -111.45826530019139 44.652555369050674, -111.46069230019364 44.67002336906694, -111.48080430021237 44.691416369086866, -111.47542530020736 44.702162369096875, -
 111.44363230017775 44.71317936910714, -111.39508430013254 44.70886936910313, -111.38495930012311 44.73769436912997, -111.37230930011133 44.745087369136854, -111.34997730009053 44.72617736911924, -111.31922130006188 44.72786436912081, -111.3154753000584 44.7051933690997, -111.29566830003995 44.68293836907897, -111.27020830001624 44.673802369070465, -111.27066530001667 44.64221236904105, -111.22397129997319 44.62690836902679, -111.2197972999693 44.61798136901848, -111.23423329998273 44.60256236900412, -111.21950729996902 44.57317036897675, -111.17876429993107 44.564851368968995, -111.17024229992315 44.54518636895068, -111.13435929988972 44.52790236893458, -111.12891829988466 44.500757368909305, -111.09463029985272 44.48612436889567, -111.0515602998126 44.473323368883754, -111.05040529981153 43.98255336842669, -111.04677129980816 43.515528367991735, -111.04749829980882 43.28473436777679, -111.04921529981043 43.01988336753013, -111.04678029980816 42.50325236704899, -111.04869729980994 4
 1.99620336657675, -111.49458630022521 42.000171366580446, -112.10051430078953 42.00230036658243, -112.14711630083293 41.999054366579415, -112.98957530161753 42.00114636658136, -114.03907230259495 41.995391366576, -114.26947130280954 41.995924366576496, -115.02486330351303 41.99650636657704, -115.94754430437234 41.99459936657526, -116.99231330534536 41.99479436657545, -117.0188643053701 41.99479436657545, -117.02629530537702 43.67903136814401)))	
-VT	Vermont	MULTIPOLYGON (((-73.25806026461467 42.74605836727511, -73.26927526462511 42.747481367276436, -73.29616926465016 42.80354936732866, -73.27958326463471 42.8371033673599, -73.27600526463138 42.940294367456005, -73.25007126460723 43.31085436780112, -73.23839126459634 43.512832367989226, -73.25998426461646 43.55938236803258, -73.29140226464573 43.57503336804716, -73.28173626463672 43.593187368064065, -73.29410426464824 43.619653368088706, -73.30353426465702 43.62471436809342, -73.36368526471304 43.61499836808437, -73.38811426473579 43.569143368041665, -73.41832026476392 43.582479368054095, -73.42296026476825 43.63211436810032, -73.37098926471984 43.71428136817684, -73.35666926470651 43.75655836821622, -73.35899726470868 43.77842736823658, -73.38474026473266 43.80450836826087, -73.37512126472369 43.88597736833674, -73.40533426475183 43.9148073683636, -73.41740626476307 43.98819736843194, -73.40825126475454 44.0182223684599, -73.43600026478039 44.04567936848548, -73.435215264779
 66 44.063897368502445, -73.40875726475501 44.10661036854222, -73.4078652647542 44.136227368569806, -73.38206226473015 44.17210736860322, -73.37733226472575 44.20124736863036, -73.30532526465869 44.26014236868521, -73.32978826468147 44.367390368785095, -73.29999526465373 44.40553336882061, -73.29331926464751 44.43285336884606, -73.33445226468581 44.54432836894988, -73.34781226469826 44.55397136895886, -73.37129626472013 44.579167368982326, -73.38182526472994 44.61980736902018, -73.37013626471905 44.63434936903372, -73.3730972647218 44.6612763690588, -73.35815126470789 44.680368369076575, -73.37315826472187 44.724236369117435, -73.32678626467867 44.79929336918734, -73.36905426471805 44.819118369205796, -73.38230626473039 44.847933369232635, -73.33641426468765 44.93260436931149, -73.350758264701 44.98197336935747, -73.34472326469538 45.006138369379975, -73.18854626454993 45.00848636938216, -72.54723126395265 45.005370369379264, -71.90186826335162 45.0073403693811, -71.50537226298235 45
 .0133513693867, -71.54092726301546 44.976563369352434, -71.51697726299317 44.94369636932182, -71.50636526298328 44.899671369280824, -71.57510126304729 44.81601936920291, -71.58350126305511 44.77919736916862, -71.63113326309947 44.741710369133706, -71.60767826307763 44.67786236907425, -71.58874926306 44.650599369048855, -71.5680272630407 44.6374463690366, -71.55410226302773 44.59658936899855, -71.53679126301161 44.57893136898211, -71.5922882630633 44.55120336895628, -71.5914412630625 44.5388743689448, -71.57524326304743 44.52580536893263, -71.58661926305801 44.49453736890351, -71.61422326308373 44.47450736888486, -71.63655426310453 44.47673136888693, -71.64770926311492 44.46917436887989, -71.656399263123 44.440137368852845, -71.67688426314209 44.42134236883534, -71.76657026322562 44.39824836881384, -71.79772926325462 44.384172368800726, -71.82119726327649 44.35036036876923, -71.83481626328917 44.3441993687635, -71.92836126337629 44.33611236875596, -71.9389052633861 44.32578636874635,
  -71.99443326343783 44.32754836874799, -72.03549526347607 44.299434368721805, -72.05956626349848 44.26149436868647, -72.04439026348435 44.23437936866122, -72.05928226349822 44.1821763686126, -72.04472426348467 44.15643536858863, -72.03492026347553 44.12074636855539, -72.04951526348913 44.100452368536494, -72.03244726347323 44.096099368532435, -72.03472826347536 44.08337436852058, -72.07691926351464 44.03204036847278, -72.08520426352236 44.00892436845125, -72.10990926354538 43.9892293684329, -72.11280826354808 43.97651536842106, -72.09171126352842 43.95799136840381, -72.11320426354844 43.93916636838628, -72.12164926355631 43.909217368358384, -72.17008926360141 43.878917368330164, -72.18483626361515 43.80169036825825, -72.20609226363494 43.764635368223736, -72.21912326364708 43.75069236821075, -72.2600552636852 43.73530036819642, -72.30404026372616 43.69853036816217, -72.33308526375322 43.59736436806796, -72.37349826379085 43.57237436804468, -72.39499826381088 43.517554367993625, -72.
 38251526379925 43.48462936796296, -72.39624826381204 43.410156367893606, -72.41213926382684 43.37712536786284, -72.39762826381333 43.351006367838515, -72.41023126382507 43.323404367812806, -72.40241926381779 43.307382367797885, -72.43559826384869 43.23225336772792, -72.45239826386434 43.15602236765692, -72.43760526385056 43.1162703676199, -72.44346426385601 43.079039367585224, -72.46175226387305 43.046504367554924, -72.45715926386877 42.99960336751124, -72.47334126388384 42.9761433674894, -72.50426326391263 42.965584367479565, -72.5202172639275 42.9516723674666, -72.52481026393178 42.91261436743023, -72.55342826395842 42.860643367381826, -72.53891726394491 42.80773336733255, -72.51306826392084 42.789259367315346, -72.50726926391545 42.768732367296224, -72.47932226388942 42.761588367289576, -72.46217126387344 42.74684036727584, -72.45577026386748 42.725852367256294, -72.92299726430262 42.73736436726702, -73.01969526439268 42.74039636726984, -73.25806026461467 42.74605836727511)))	
-MN	Minnesota	MULTIPOLYGON (((-91.73036628181835 43.49957136797688, -92.07753228214168 43.49915336797649, -92.45316928249152 43.499462367976776, -92.55800828258914 43.50025936797752, -93.02721128302613 43.501278367978465, -93.05438028305143 43.50145736797863, -93.50083028346722 43.50048836797773, -93.65369928360958 43.500762367977984, -93.97395028390784 43.50029836797755, -94.24678728416194 43.4989483679763, -94.45523828435608 43.498102367975505, -94.8598392847329 43.5000303679773, -94.92046428478936 43.49937136797669, -95.39655828523276 43.50033436797759, -95.46477528529628 43.499541367976846, -95.86691228567081 43.49894436797629, -96.0610392858516 43.49853336797591, -96.46045428622358 43.49971836797701, -96.45660228621999 43.848741368302065, -96.45739728622074 44.19906136862833, -96.45510628621861 44.53834336894431, -96.45671828622011 44.62880836902856, -96.45521728621871 44.801347369189244, -96.4560802862195 44.97199436934818, -96.45449628621803 45.27519536963055, -96.457602286220
 93 45.298850369652584, -96.47759228623954 45.328509369680205, -96.53254928629073 45.37513236972363, -96.60508428635828 45.39652436974355, -96.69316928644032 45.4106383697567, -96.7380322864821 45.45819536980099, -96.76924628651116 45.5174783698562, -96.84308728657994 45.584090369918236, -96.85499028659102 45.609122369941545, -96.83279628657036 45.65068736998026, -96.65739128640699 45.738970370062475, -96.60461028635784 45.80826437012701, -96.58795528634232 45.81785437013595, -96.56692128632274 45.93411037024421, -96.56180228631797 45.947683370256854, -96.57621528633139 46.0212793703254, -96.55193128630877 46.09552937039455, -96.57116628632669 46.17717437047059, -96.58789028634227 46.191918370484316, -96.58645628634093 46.2154133705062, -96.59818328635185 46.23868237052787, -96.60207428635547 46.33632437061881, -96.61486128636739 46.3508123706323, -96.65210128640207 46.35943337064033, -96.68822828643572 46.41221837068949, -96.70968228645569 46.42716837070341, -96.71489428646055 46.46
 871837074211, -96.74031628648423 46.4894323707614, -96.75122728649438 46.58861937085378, -96.77104128651284 46.59998337086436, -96.78431728652521 46.624112370886834, -96.79024628653073 46.6297733708921, -96.79369528653393 46.67880437093777, -96.78155628652263 46.70704437096407, -96.78038228652154 46.76231237101554, -96.7971972865372 46.812033371061844, -96.76825028651024 46.84486137109242, -96.77806128651937 46.86734937111336, -96.75691128649969 46.92278037116499, -96.76306828650542 46.936261371177544, -96.78792528652856 46.93218437117375, -96.78971028653022 46.948202371188664, -96.80188728654157 46.95584337119578, -96.79342528653369 46.96964137120863, -96.81677228655543 46.96977937120876, -96.82453128656266 47.003436371240106, -96.83529628657269 47.010231371246434, -96.82260828656086 47.033932371268506, -96.82696428656492 47.07883237131033, -96.81915128655764 47.09260437132315, -96.83916428657629 47.15188637137836, -96.82649128656448 47.17006337139529, -96.83706528657433 47.2404583
 71460846, -96.84962328658602 47.25684337147611, -96.83771428657494 47.2938843715106, -96.84674728658335 47.3146023715299, -96.83846128657564 47.34224337155564, -96.85063128658696 47.36095437157307, -96.8398272865769 47.38411737159464, -96.85000528658638 47.408936371617756, -96.86724828660245 47.41308737162162, -96.8558272865918 47.43675337164366, -96.86668428660191 47.46153737166674, -96.85161528658789 47.50061937170314, -96.86068728659633 47.521356371722455, -96.84918828658562 47.54456837174408, -96.85866428659445 47.56297837176122, -96.85221728658844 47.601151371796774, -96.87333528660811 47.61525537180991, -96.8894252866231 47.67392537186454, -96.92365928665498 47.71409437190196, -96.93201228666275 47.763506371947976, -96.9578302866868 47.79444037197678, -96.98389328671108 47.809661371990956, -96.97723128670486 47.82802937200807, -97.0003402867264 47.87019737204734, -97.02056628674522 47.87556937205234, -97.01533128674035 47.917890372091755, -97.04805328677082 47.95492437212624, 
 -97.06707128678855 48.04816437221308, -97.09272128681243 48.07034437223374, -97.0990302868183 48.10097237226226, -97.12187328683957 48.11636937227661, -97.12091828683869 48.1427743723012, -97.13651328685322 48.14839837230643, -97.11606528683417 48.15922337231652, -97.13744328685408 48.16776937232447, -97.13629128685301 48.17522737233142, -97.13727528685392 48.19506337234989, -97.13082828684792 48.20374237235798, -97.11089928682935 48.20760537236157, -97.13975428685623 48.22175537237475, -97.10923528682781 48.22804937238061, -97.12755428684487 48.23352337238571, -97.12378428684136 48.259173372409606, -97.13665528685334 48.264483372414546, -97.11171428683012 48.277876372427016, -97.11268328683101 48.286147372434726, -97.13051328684763 48.29304037244114, -97.11372128683199 48.294882372442856, -97.11475128683294 48.303618372451, -97.1326342868496 48.31096937245784, -97.11259128683093 48.319926372466185, -97.13713628685379 48.32599137247183, -97.1311232868482 48.361491372504894, -97.1503
 9628686614 48.3632153725065, -97.13378628685068 48.3724543725151, -97.135205286852 48.38441037252623, -97.15881928687399 48.38820637252977, -97.12912428684633 48.4078853725481, -97.14982328686561 48.40999137255006, -97.1516472868673 48.41961237255902, -97.12260128684025 48.416110372555764, -97.1196332868375 48.43710237257531, -97.14361328685983 48.43810937257625, -97.13459428685142 48.51731437265001, -97.14832728686422 48.51795137265061, -97.13938528685588 48.534648372666155, -97.15553728687092 48.53839837266965, -97.1604352868755 48.545078372675874, -97.14661828686262 48.54953737268002, -97.16794328688249 48.56226337269187, -97.15212728686775 48.572856372701736, -97.1581922868734 48.583640372711784, -97.14081228685721 48.586905372714824, -97.14471828686085 48.61402437274008, -97.12295828684059 48.62076837274636, -97.12744428684476 48.62979437275477, -97.1076302868263 48.629946372754915, -97.09716928681657 48.67452937279643, -97.1167392868348 48.695243372815725, -97.11010128682861 4
 8.708583372828144, -97.13480628685163 48.72623837284459, -97.13250228684947 48.747218372864126, -97.14789828686382 48.75565337287198, -97.13924628685575 48.76354237287933, -97.14751628686346 48.781170372895744, -97.17394428688807 48.801514372914696, -97.16471228687948 48.81036837292294, -97.1804222868941 48.81553737292775, -97.17120428688553 48.83598037294679, -97.17572728688974 48.87375737298198, -97.21636928692759 48.931830373036064, -97.22943628693976 48.999987373099536, -96.40691528617373 48.999982373099535, -95.27665728512109 48.99999137309954, -95.15775028501035 48.99999637309955, -95.15186728500487 49.37173037344575, -94.83203928470701 49.33080637340764, -94.68125028456657 48.87716137298514, -94.69443228457885 48.77761537289244, -94.57031228446326 48.71367637283289, -94.43063428433317 48.7107853728302, -94.29233728420436 48.70771137282733, -94.23082728414708 48.65198737277544, -93.84390428378673 48.62473737275006, -93.81268528375766 48.52540837265755, -93.78110628372825 48.51
 159037264468, -93.51413928347961 48.534271372665806, -93.46533928343416 48.54952037268001, -93.45776928342711 48.592710372720234, -93.30423628328413 48.637163372761634, -93.09144228308595 48.62658437275178, -92.94692628295135 48.62835537275343, -92.7290002827484 48.54021137267134, -92.6418202826672 48.54034937267147, -92.62638028265282 48.50282437263652, -92.69882128272029 48.49472137262897, -92.70664328272757 48.460370372596984, -92.49752928253282 48.44007237257807, -92.45634528249447 48.40216937254277, -92.47332228251028 48.357499372501174, -92.37011628241416 48.22077937237384, -92.27691828232736 48.24434037239578, -92.30027228234911 48.29831137244605, -92.27613128232663 48.35231937249635, -92.12596228218678 48.3667563725098, -92.03518328210222 48.355508372499315, -91.9795342820504 48.25039837240143, -91.78881528187279 48.20614537236021, -91.71193828180118 48.19677537235149, -91.70373128179354 48.11483537227518, -91.56877528166785 48.104457372265514, -91.57156228167045 48.04357137
 22088, -91.23944628136114 48.08129837224394, -91.02714828116342 48.19533937235015, -90.86449528101194 48.25419837240497, -90.74336528089913 48.088443372250595, -90.5674552807353 48.12169937228157, -90.55683528072541 48.092750372254606, -90.1452702803421 48.11277037227325, -90.02670028023168 48.08607937224839, -89.98702028019473 48.023556372190164, -89.90038928011404 47.99250537216125, -89.74931027997334 48.0264843721929, -89.53067327976972 48.00165637216977, -89.62564527985818 47.9925613721613, -89.63637327986817 47.95939037213041, -89.99967728020651 47.82456437200484, -90.50963328068146 47.70993837189809, -91.02147528115815 47.4610583716663, -91.46865728157461 47.12493537135326, -91.8009692818841 46.927086371169, -92.08849228215188 46.79189737104309, -92.21462428226934 46.668204370927896, -92.30314828235178 46.66657537092638, -92.287271282337 46.658786370919124, -92.28868528233832 46.415984370692996, -92.28894428233856 46.15660037045143, -92.28937028233896 46.07323137037378, -92.32
 737228237436 46.056878370358554, -92.34622528239191 46.022596370326625, -92.36496328240936 46.01624837032071, -92.42499928246528 46.02550437032933, -92.46234528250005 45.98119737028807, -92.52397728255745 45.98258337028936, -92.55267228258418 45.9512693702602, -92.66620828268992 45.91570337022708, -92.7062402827272 45.89095837020403, -92.73409728275314 45.84498037016121, -92.7487622827668 45.837302370154056, -92.77910728279507 45.763340370085174, -92.83363628284584 45.73089037005495, -92.86001928287041 45.71056237003602, -92.88539728289405 45.64495536997492, -92.87683128288607 45.57883636991335, -92.83503728284715 45.56340236989897, -92.7621752827793 45.56426336989977, -92.72815428274761 45.54724236988392, -92.68542128270781 45.470053369812035, -92.6548172826793 45.45522136979822, -92.64497528267015 45.43945236978353, -92.64875128267366 45.395466369742564, -92.6848692827073 45.3630763697124, -92.70738428272827 45.318201369670604, -92.74659328276478 45.297603369651426, -92.7554192827
 73 45.21237636957205, -92.76258328277967 45.18661236954806, -92.74493528276324 45.15642236951994, -92.74542228276368 45.1130043694795, -92.7967622828115 45.06561036943536, -92.76299128278005 45.02211936939486, -92.7671262827839 45.00100536937519, -92.74976828276773 44.93565536931433, -92.75392628277162 44.915002369295095, -92.77187128278833 44.899496369280655, -92.76426328278124 44.862234369245954, -92.76102828277823 44.83537136922094, -92.80558428281972 44.746160369137854, -92.73714528275598 44.713594369107525, -92.63036728265654 44.64265236904146, -92.60897328263661 44.61029236901132, -92.5092152825437 44.575159368978596, -92.34087228238693 44.5528353689578, -92.32047828236793 44.540491368946306, -92.29668728234577 44.49218236890132, -92.24910028230146 44.45621636886782, -92.20613728226144 44.43839436885122, -92.09133328215452 44.415589368829984, -91.97238628204374 44.36448736878239, -91.93886828201254 44.33911136875876, -91.92275428199753 44.31752036873865, -91.92234928199714 44.
 28834136871147, -91.8886942819658 44.25749536868275, -91.84874428192859 44.191187368620994, -91.75321928183963 44.137227368570734, -91.65223328174558 44.066895368505236, -91.6017862816986 44.04082236848096, -91.56916228166821 44.034955368475494, -91.52842028163028 44.034215368474804, -91.42590228153479 43.98561936842954, -91.37335728148585 43.94719136839375, -91.29194828141004 43.847190368300616, -91.251105281372 43.788075368245565, -91.25891628137927 43.722395368184394, -91.25838928137878 43.67732236814242, -91.23299028135513 43.59889036806938, -91.24055828136218 43.54871236802264, -91.22356628134635 43.500808367978024, -91.61109928170727 43.50062636797786, -91.73036628181835 43.49957136797688)))	
-OR	Oregon	MULTIPOLYGON (((-121.441509309489 41.99433436657502, -122.28470531027429 42.000764366581, -123.22210231114731 42.00219136658233, -123.51320431141842 41.99783336657828, -123.81914631170335 41.99294836657373, -124.20644431206405 41.997648366578105, -124.35224631219984 42.09867736667219, -124.41506231225834 42.245894366809296, -124.43781831227955 42.429608366980396, -124.39176331223663 42.55302736709534, -124.40107831224532 42.62269936716022, -124.55961731239297 42.83245736735557, -124.4853463123238 42.955454367470125, -124.386772312232 43.261589367755235, -124.40607631224998 43.3001973677912, -124.27399431212697 43.45910536793919, -124.22600431208227 43.60500436807507, -124.15832531201923 43.85711836830987, -124.11831931198198 44.269515368693945, -124.05440531192245 44.6621393690596, -124.07556831194216 44.81473836920172, -124.00757231187885 45.03610336940788, -123.95660731183138 45.292965369647106, -123.98056031185368 45.485084369826026, -123.93667431181281 45.5079663698473
 4, -123.8921083117713 45.47405036981576, -123.85950731174094 45.499082369839066, -123.9534153118284 45.568528369903746, -123.936076

<TRUNCATED>

[48/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilterFactory.java
index 9b48ad2..f0b917e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
index 547cc9f..eec1168 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/package-info.java
index 58d503d..4e7076b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Galician.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
index 2e268a0..22e930b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilter.java
index 2ffc298..441da12 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilterFactory.java
index f30af4f..329702a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
index 8d9de3b..a663b87 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilter.java
index a8ac018..29fa2ac 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilterFactory.java
index c4773ce..3fc458f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
index 65d2ce9..9c2dbe0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hi;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/package-info.java
index e0e4e0c..d45e28a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Hindi.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianAnalyzer.java
index 8784e3b..31fe9e2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilter.java
index 24fe47f..72e7858 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilterFactory.java
index 62628fc..5f62f4b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
index 4746a60..931e774 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hu;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/package-info.java
index 49f7c85..3ac2e93 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Hungarian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
index d5db839..8f0ce7f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilter.java
index cc02589..ea1dc3a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilterFactory.java
index 222dac0..1c77c12 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/HunspellStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ISO8859_14Decoder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ISO8859_14Decoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ISO8859_14Decoder.java
index e1f6e00..7e7a588 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ISO8859_14Decoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ISO8859_14Decoder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Stemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Stemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Stemmer.java
index 9fa8434..748b3f1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Stemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Stemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hunspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hunspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hunspell;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/package-info.java
index 56a7908..b735ba0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Stemming TokenFilter using a Java implementation of the 
  * <a href="http://www.ldc.upenn.edu/Catalog/docs/LDC2008T01/acta04.pdf">Hunspell stemming algorithm.</a>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/ArmenianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/ArmenianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/ArmenianAnalyzer.java
index ae22c47..857117a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/ArmenianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/ArmenianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.hy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.hy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.hy;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/package-info.java
index 07747b6..e03f10f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hy/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Armenian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianAnalyzer.java
index d54b360..f7be17f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilter.java
index 50a4f04..1228445 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilterFactory.java
index 0ee825c..ce7465e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
index 7dca443..9b70964 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.id;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.id;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.id;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/package-info.java
index e94d99f..9cd5fdb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Indonesian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilter.java
index be4bec5..41421c2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.in;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.in;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.in;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilterFactory.java
index 7f04344..6229f86 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.in;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.in;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.in;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
index 81bf4ed..43ef477 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.in;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.in;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.in;
+
 
 import java.util.BitSet;
 import java.util.IdentityHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/package-info.java
index eada97d..063ab2f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Indian languages.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianAnalyzer.java
index afae44d..27027fa 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilter.java
index cc6d0c9..d320990 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilterFactory.java
index 3444ddd..e007eed 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
index f7b5fb9..514ed99 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.it;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.it;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.it;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/package-info.java
index ff7dc7b..acf3e2a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Italian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/LithuanianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/LithuanianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/LithuanianAnalyzer.java
index 32efb88..f0424c9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/LithuanianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/LithuanianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lt;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/package-info.java
index c01c039..3dc8f10 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Lithuanian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianAnalyzer.java
index 0d85842..b22339d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilter.java
index 38292a1..1d42ad7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilterFactory.java
index 8318c03..90077f7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
index 42ad3a1..65230a2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
-import static org.apache.lucene.analysis.util.StemmerUtil.*;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
+import static org.apache.lucene.analysis.util.StemmerUtil.*;
+
 
 /**
  * Light stemmer for Latvian.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/package-info.java
index ffeb9be..ca26686 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Latvian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java
index e289a5b..bd8d571 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilterFactory.java
index 464fe61..60dddff 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilter.java
index 76ce695..d14ad44 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilterFactory.java
index f65c66d..0301fa5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CapitalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.CharArraySet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilter.java
index 8e1726f..40cd210 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.FilteringTokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilterFactory.java
index d42d7f6..c5e0391 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/CodepointCountFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilter.java
index 52763f4..df82ff1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.text.DateFormat;
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactory.java
index 7f02b87..eec191d 100755
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/EmptyTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/EmptyTokenStream.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/EmptyTokenStream.java
index 6b2b2db..b2f3b64 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/EmptyTokenStream.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/EmptyTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilter.java
index fa451d4..4c8a5c7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilterFactory.java
index b433777..4c32ea9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/FingerprintFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilter.java
index 8f04ec0..6c53aa3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilterFactory.java
index fb905fd..4df514e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/HyphenatedWordsFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java
index 093d22b..cb3e331 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilterFactory.java
index 7d4c24e..7ff7834 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeepWordFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.CharArraySet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.java
index 924c44a..377d9c3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilterFactory.java
index d395c7b..69c1aad 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.java
index d62998f..5de2b67 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilterFactory.java
index ff46ca2..2414135 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilter.java
index bd7e223..0594c63 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.FilteringTokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilterFactory.java
index 476f375..4e1ec6b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LengthFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountAnalyzer.java
index 570c9a2..ca90dfc 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.AnalyzerWrapper;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.java
index aa301dc..80c1e34 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilterFactory.java
index aa157f0..e354df5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilter.java
index a93e569..b2c4723 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilterFactory.java
index 778805c..96e2a43 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenOffsetFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilter.java
index d1596a5..7547e47 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilterFactory.java
index 8cb657f..2ebb34c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/LimitTokenPositionFilterFactory.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternKeywordMarkerFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternKeywordMarkerFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternKeywordMarkerFilter.java
index 2e055bb..5660e37 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternKeywordMarkerFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PatternKeywordMarkerFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PerFieldAnalyzerWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PerFieldAnalyzerWrapper.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PerFieldAnalyzerWrapper.java
index 5c03cdc..2d9b1da 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PerFieldAnalyzerWrapper.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PerFieldAnalyzerWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.DelegatingAnalyzerWrapper;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAndSuffixAwareTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAndSuffixAwareTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAndSuffixAwareTokenFilter.java
index 84fda6d..ee669e0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAndSuffixAwareTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAndSuffixAwareTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAwareTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAwareTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAwareTokenFilter.java
index 99fa87e..cb866bd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAwareTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/PrefixAwareTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.java
index a1785ab..a7ef58e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilterFactory.java
index 47c1ba0..ee0a0c9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.java
index 9d4cfaf..7d3d604 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilterFactory.java
index ffde246..6f2ae12 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;


[67/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
deleted file mode 100644
index 40e80bc..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
+++ /dev/null
@@ -1,989 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.text.ParseException;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.SpatialContextFactory;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import com.spatial4j.core.shape.impl.RectangleImpl;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.StringHelper;
-
-/**
- * A SpatialPrefixTree for single-dimensional numbers and number ranges of fixed precision values (not floating point).
- * Despite its name, the indexed values (and queries) need not actually be ranges, they can be unit instance/values.
- * <p>
- * Why might you use this instead of Lucene's built-in integer/long support?  Here are some reasons with features based
- * on code in this class, <em>or are possible based on this class but require a subclass to fully realize it</em>.
- * <ul>
- *   <li>Index ranges, not just unit instances. This is especially useful when the requirement calls for a
- *   multi-valued range.</li>
- *   <li>Instead of a fixed "precisionStep", this prefixTree can have a customizable number of child values for any
- *   prefix (up to 32768). This allows exact alignment of the prefix-tree with typical/expected values, which
- *   results in better performance.  For example in a Date implementation, every month can get its own dedicated prefix,
- *   every day, etc., even though months vary in duration.</li>
- *   <li>Arbitrary precision, like {@link java.math.BigDecimal}.</li>
- *   <li>Standard Lucene integer/long indexing always indexes the full precision of those data types but this one
- *   is customizable.</li>
- * </ul>
- *
- * Unlike "normal" spatial components in this module, this special-purpose one only works with {@link Shape}s
- * created by the methods on this class, not from any {@link com.spatial4j.core.context.SpatialContext}.
- *
- * @see org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy
- * @see <a href="https://issues.apache.org/jira/browse/LUCENE-5648">LUCENE-5648</a>
- * @lucene.experimental
- */
-public abstract class NumberRangePrefixTree extends SpatialPrefixTree {
-
-  //
-  //    Dummy SpatialContext
-  //
-
-  private static final SpatialContext DUMMY_CTX;
-  static {
-    SpatialContextFactory factory = new SpatialContextFactory();
-    factory.geo = false;
-    factory.worldBounds = new RectangleImpl(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY, 0L, 0L, null);
-    DUMMY_CTX = factory.newSpatialContext();
-  }
-
-  /** Base interface for {@link Shape}s this prefix tree supports. It extends {@link Shape} (Spatial4j) for compatibility
-   * with the spatial API even though it doesn't intermix with conventional 2D shapes.
-   * @lucene.experimental
-   */
-  public static interface NRShape extends Shape, Cloneable {
-    /** The result should be parseable by {@link #parseShape(String)}. */
-    abstract String toString();
-
-    /** Returns this shape rounded to the target level. If we are already more course than the level then the shape is
-     * simply returned.  The result may refer to internal state of the argument so you may want to clone it.
-     */
-    public NRShape roundToLevel(int targetLevel);
-  }
-
-  //
-  //  Factory / Conversions / parsing relating to NRShapes
-  //
-
-  /** Converts the value to a unit shape. Doesn't parse strings; see {@link #parseShape(String)} for
-   * that. This is the reverse of {@link #toObject(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
-  public abstract UnitNRShape toUnitShape(Object value);
-
-  /** Returns a shape that represents the continuous range between {@code start} and {@code end}. It will
-   * be normalized, and so sometimes a {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape}
-   * will be returned, other times a
-   * {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.SpanUnitsNRShape} will be.
-   *
-   * @throws IllegalArgumentException if the arguments are in the wrong order, or if either contains the other (yet they
-   * aren't equal).
-   */
-  public NRShape toRangeShape(UnitNRShape startUnit, UnitNRShape endUnit) {
-    //note: this normalization/optimization process is actually REQUIRED based on assumptions elsewhere.
-    //Normalize start & end
-    startUnit = startUnit.getShapeAtLevel(truncateStartVals(startUnit, 0)); // chops off trailing min-vals (zeroes)
-    endUnit = endUnit.getShapeAtLevel(truncateEndVals(endUnit, 0)); // chops off trailing max-vals
-    //Optimize to just start or end if it's equivalent, e.g. April to April 1st is April 1st.
-    int cmp = comparePrefix(startUnit, endUnit);
-    if (cmp > 0) {
-      throw new IllegalArgumentException("Wrong order: "+ startUnit +" TO "+ endUnit);
-    }
-    if (cmp == 0) {//one is a prefix of the other
-      if (startUnit.getLevel() == endUnit.getLevel()) {
-        //same
-        return startUnit;
-      } else if (endUnit.getLevel() > startUnit.getLevel()) {
-        // e.g. April to April 1st
-        if (truncateStartVals(endUnit, startUnit.getLevel()) == startUnit.getLevel()) {
-          return endUnit;
-        }
-      } else {//minLV level > maxLV level
-        // e.g. April 30 to April
-        if (truncateEndVals(startUnit, endUnit.getLevel()) == endUnit.getLevel()) {
-          return startUnit;
-        }
-      }
-    }
-    return new SpanUnitsNRShape(startUnit, endUnit);
-  }
-
-  /** From lv.getLevel on up, it returns the first Level seen with val != 0. It doesn't check past endLevel. */
-  private int truncateStartVals(UnitNRShape lv, int endLevel) {
-    for (int level = lv.getLevel(); level > endLevel; level--) {
-      if (lv.getValAtLevel(level) != 0)
-        return level;
-    }
-    return endLevel;
-  }
-
-  private int truncateEndVals(UnitNRShape lv, int endLevel) {
-    for (int level = lv.getLevel(); level > endLevel; level--) {
-      int max = getNumSubCells(lv.getShapeAtLevel(level - 1)) - 1;
-      if (lv.getValAtLevel(level) != max)
-        return level;
-    }
-    return endLevel;
-  }
-
-  /** Converts a UnitNRShape shape to the corresponding type supported by this class, such as a Calendar/BigDecimal.
-   * This is the reverse of {@link #toUnitShape(Object)}.
-   */
-  public abstract Object toObject(UnitNRShape shape);
-
-  /** A string representation of the UnitNRShape that is parse-able by {@link #parseUnitShape(String)}. */
-  protected abstract String toString(UnitNRShape lv);
-
-  protected static String toStringUnitRaw(UnitNRShape lv) {
-    StringBuilder buf = new StringBuilder(100);
-    buf.append('[');
-    for (int level = 1; level <= lv.getLevel(); level++) {
-      buf.append(lv.getValAtLevel(level)).append(',');
-    }
-    buf.setLength(buf.length()-1);//chop off ','
-    buf.append(']');
-    return buf.toString();
-  }
-
-  /** Detects a range pattern and parses it, otherwise it's parsed as one shape via
-   * {@link #parseUnitShape(String)}.  The range pattern looks like this BNF:
-   * <pre>
-   *   '[' + parseShapeLV + ' TO ' + parseShapeLV + ']'
-   * </pre>
-   * It's the same thing as the toString() of the range shape, notwithstanding range optimization.
-   *
-   * @param str not null or empty
-   * @return not null
-   * @throws java.text.ParseException If there is a problem
-   */
-  public NRShape parseShape(String str) throws ParseException {
-    if (str == null || str.isEmpty())
-      throw new IllegalArgumentException("str is null or blank");
-    if (str.charAt(0) == '[') {
-      if (str.charAt(str.length()-1) != ']')
-        throw new ParseException("If starts with [ must end with ]; got "+str, str.length()-1);
-      int middle = str.indexOf(" TO ");
-      if (middle < 0)
-        throw new ParseException("If starts with [ must contain ' TO '; got "+str, -1);
-      String leftStr = str.substring(1, middle);
-      String rightStr = str.substring(middle + " TO ".length(), str.length()-1);
-      return toRangeShape(parseUnitShape(leftStr), parseUnitShape(rightStr));
-    } else if (str.charAt(0) == '{') {
-      throw new ParseException("Exclusive ranges not supported; got "+str, 0);
-    } else {
-      return parseUnitShape(str);
-    }
-  }
-
-  /** Parse a String to a UnitNRShape. "*" should be the full-range (level 0 shape). */
-  protected abstract UnitNRShape parseUnitShape(String str) throws ParseException;
-
-
-  //
-  //    UnitNRShape
-  //
-
-  /**
-   * A unit value Shape implemented as a stack of numbers, one for each level in the prefix tree. It directly
-   * corresponds to a {@link Cell}.  Spatially speaking, it's analogous to a Point but 1D and has some precision width.
-   * @lucene.experimental
-   */
-  public static interface UnitNRShape extends NRShape, Comparable<UnitNRShape> {
-    //note: formerly known as LevelledValue; thus some variables still use 'lv'
-
-    /** Get the prefix tree level, the higher the more precise. 0 means the world (universe). */
-    int getLevel();
-    /** Gets the value at the specified level of this unit. level must be &gt;= 0 and &lt;= getLevel(). */
-    int getValAtLevel(int level);
-    /** Gets an ancestor at the specified level. It shares state, so you may want to clone() it. */
-    UnitNRShape getShapeAtLevel(int level);
-    @Override
-    UnitNRShape roundToLevel(int targetLevel);
-
-    /** Deep clone */
-    UnitNRShape clone();
-  }
-
-  /** Compares a to b, returning less than 0, 0, or greater than 0, if a is less than, equal to, or
-   * greater than b, respectively, up to their common prefix (i.e. only min(a.levels,b.levels) are compared).
-   * @lucene.internal */
-  protected static int comparePrefix(UnitNRShape a, UnitNRShape b) {
-    int minLevel = Math.min(a.getLevel(), b.getLevel());
-    for (int level = 1; level <= minLevel; level++) {
-      int diff = a.getValAtLevel(level) - b.getValAtLevel(level);
-      if (diff != 0)
-        return diff;
-    }
-    return 0;
-  }
-
-
-  //
-  //    SpanUnitsNRShape
-  //
-
-  /** A range Shape; based on a pair of {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape}.
-   * Spatially speaking, it's analogous to a Rectangle but 1D. It might have been named with Range in the name but it
-   * may be confusing since even the {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape}
-   * is in some sense a range.
-   * @lucene.experimental */
-  public class SpanUnitsNRShape implements NRShape {
-
-    private final UnitNRShape minLV, maxLV;
-    private final int lastLevelInCommon;//computed; not part of identity
-
-    /** Don't call directly; see
-     * {@link #toRangeShape(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape, org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
-    private SpanUnitsNRShape(UnitNRShape minLV, UnitNRShape maxLV) {
-      this.minLV = minLV;
-      this.maxLV = maxLV;
-
-      //calc lastLevelInCommon
-      int level = 1;
-      for (; level <= minLV.getLevel() && level <= maxLV.getLevel(); level++) {
-        if (minLV.getValAtLevel(level) != maxLV.getValAtLevel(level))
-          break;
-      }
-      lastLevelInCommon = level - 1;
-    }
-
-    @Override
-    public SpatialContext getContext() {
-      return DUMMY_CTX;
-    }
-
-    public UnitNRShape getMinUnit() { return minLV; }
-
-    public UnitNRShape getMaxUnit() { return maxLV; }
-
-    /** How many levels are in common between minUnit and maxUnit, not including level 0. */
-    private int getLevelsInCommon() { return lastLevelInCommon; }
-
-    @Override
-    public NRShape roundToLevel(int targetLevel) {
-      return toRangeShape(minLV.roundToLevel(targetLevel), maxLV.roundToLevel(targetLevel));
-    }
-
-    @Override
-    public SpatialRelation relate(Shape shape) {
-//      if (shape instanceof UnitNRShape)
-//        return relate((UnitNRShape)shape);
-      if (shape instanceof SpanUnitsNRShape)
-        return relate((SpanUnitsNRShape) shape);
-      return shape.relate(this).transpose();//probably a UnitNRShape
-    }
-
-    public SpatialRelation relate(SpanUnitsNRShape ext) {
-      //This logic somewhat mirrors RectangleImpl.relate_range()
-      int extMin_intMax = comparePrefix(ext.getMinUnit(), getMaxUnit());
-      if (extMin_intMax > 0)
-        return SpatialRelation.DISJOINT;
-      int extMax_intMin = comparePrefix(ext.getMaxUnit(), getMinUnit());
-      if (extMax_intMin < 0)
-        return SpatialRelation.DISJOINT;
-      int extMin_intMin = comparePrefix(ext.getMinUnit(), getMinUnit());
-      int extMax_intMax = comparePrefix(ext.getMaxUnit(), getMaxUnit());
-      if ((extMin_intMin > 0 || extMin_intMin == 0 && ext.getMinUnit().getLevel() >= getMinUnit().getLevel())
-          && (extMax_intMax < 0 || extMax_intMax == 0 && ext.getMaxUnit().getLevel() >= getMaxUnit().getLevel()))
-        return SpatialRelation.CONTAINS;
-      if ((extMin_intMin < 0 || extMin_intMin == 0 && ext.getMinUnit().getLevel() <= getMinUnit().getLevel())
-          && (extMax_intMax > 0 || extMax_intMax == 0 && ext.getMaxUnit().getLevel() <= getMaxUnit().getLevel()))
-        return SpatialRelation.WITHIN;
-      return SpatialRelation.INTERSECTS;
-    }
-
-    @Override
-    public Rectangle getBoundingBox() { throw new UnsupportedOperationException(); }
-
-    @Override
-    public boolean hasArea() { return true; }
-
-    @Override
-    public double getArea(SpatialContext spatialContext) { throw new UnsupportedOperationException(); }
-
-    @Override
-    public Point getCenter() { throw new UnsupportedOperationException(); }
-
-    @Override
-    public Shape getBuffered(double v, SpatialContext spatialContext) { throw new UnsupportedOperationException(); }
-
-    @Override
-    public boolean isEmpty() { return false; }
-
-    /** A deep clone. */
-    @Override
-    public SpanUnitsNRShape clone() {
-      return new SpanUnitsNRShape(minLV.clone(), maxLV.clone());
-    }
-
-    @Override
-    public String toString() {
-      return "[" + NumberRangePrefixTree.this.toString(minLV) + " TO "
-          + NumberRangePrefixTree.this.toString(maxLV) + "]";
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if (this == o) return true;
-      if (o == null || getClass() != o.getClass()) return false;
-
-      SpanUnitsNRShape spanShape = (SpanUnitsNRShape) o;
-
-      if (!maxLV.equals(spanShape.maxLV)) return false;
-      if (!minLV.equals(spanShape.minLV)) return false;
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int result = minLV.hashCode();
-      result = 31 * result + maxLV.hashCode();
-      return result;
-    }
-  }// class SpanUnitsNRShape
-
-  //
-  //    NumberRangePrefixTree
-  //
-
-  protected final int[] maxSubCellsByLevel;
-  protected final int[] termLenByLevel;
-  protected final int[] levelByTermLen;
-  protected final int maxTermLen; // how long could cell.getToken... (that is a leaf) possibly be?
-
-  protected NumberRangePrefixTree(int[] maxSubCellsByLevel) {
-    super(DUMMY_CTX, maxSubCellsByLevel.length);
-    this.maxSubCellsByLevel = maxSubCellsByLevel;
-
-    // Fill termLenByLevel
-    this.termLenByLevel = new int[maxLevels + 1];
-    termLenByLevel[0] = 0;
-    final int MAX_STATES = 1 << 15;//1 bit less than 2 bytes
-    for (int level = 1; level <= maxLevels; level++) {
-      final int states = maxSubCellsByLevel[level - 1];
-      if (states >= MAX_STATES || states <= 1) {
-        throw new IllegalArgumentException("Max states is "+MAX_STATES+", given "+states+" at level "+level);
-      }
-      boolean twoBytes = states >= 256;
-      termLenByLevel[level] = termLenByLevel[level-1] + (twoBytes ? 2 : 1);
-    }
-    maxTermLen = termLenByLevel[maxLevels] + 1;// + 1 for leaf byte
-
-    // Fill levelByTermLen
-    levelByTermLen = new int[maxTermLen];
-    levelByTermLen[0] = 0;
-    for (int level = 1; level < termLenByLevel.length; level++) {
-      int termLen = termLenByLevel[level];
-      int prevTermLen = termLenByLevel[level-1];
-      if (termLen - prevTermLen == 2) {//2 byte delta
-        //if the term doesn't completely cover this cell then it must be a leaf of the prior.
-        levelByTermLen[termLen-1] = -1;//won't be used; otherwise erroneous
-        levelByTermLen[termLen] = level;
-      } else {//1 byte delta
-        assert termLen - prevTermLen == 1;
-        levelByTermLen[termLen] = level;
-      }
-    }
-
-  }
-
-  @Override
-  public String toString() {
-    return getClass().getSimpleName();
-  }
-
-  @Override
-  public int getLevelForDistance(double dist) {
-    //note: it might be useful to compute which level has a raw width (counted in
-    // bottom units, e.g. milliseconds), that covers the provided dist in those units?
-    return maxLevels; // thus always use full precision. We don't do approximations in this tree/strategy.
-    //throw new UnsupportedOperationException("Not applicable.");
-  }
-
-  @Override
-  public double getDistanceForLevel(int level) {
-    //note: we could compute this... should we?
-    throw new UnsupportedOperationException("Not applicable.");
-  }
-
-  protected UnitNRShape toShape(int[] valStack, int len) {
-    final NRCell[] cellStack = newCellStack(len);
-    for (int i = 0; i < len; i++) {
-      cellStack[i+1].resetCellWithCellNum(valStack[i]);
-    }
-    return cellStack[len];
-  }
-
-  @Override
-  public Cell getWorldCell() {
-    return newCellStack(maxLevels)[0];
-  }
-
-  protected NRCell[] newCellStack(int levels) {
-    final NRCell[] cellsByLevel = new NRCell[levels + 1];
-    final BytesRef term = new BytesRef(maxTermLen);
-    for (int level = 0; level <= levels; level++) {
-      cellsByLevel[level] = new NRCell(cellsByLevel,term,level);
-    }
-    return cellsByLevel;
-  }
-
-  @Override
-  public Cell readCell(BytesRef term, Cell scratch) {
-    if (scratch == null)
-      scratch = getWorldCell();
-
-    //We decode level #, leaf boolean, and populate bytes by reference. We don't decode the stack.
-
-    //reverse lookup term length to the level and hence the cell
-    NRCell[] cellsByLevel = ((NRCell) scratch).cellsByLevel;
-    boolean isLeaf = term.bytes[term.offset + term.length - 1] == 0;
-    int lenNoLeaf = isLeaf ? term.length - 1 : term.length;
-
-    NRCell result = cellsByLevel[levelByTermLen[lenNoLeaf]];
-    if (cellsByLevel[0].termBuf == null)
-      cellsByLevel[0].termBuf = result.term.bytes;//a kluge; see cell.ensureOwnTermBytes()
-    result.term.bytes = term.bytes;
-    result.term.offset = term.offset;
-    result.term.length = lenNoLeaf;//technically this isn't used but may help debugging
-    result.reset();
-    if (isLeaf)
-      result.setLeaf();
-
-    result.cellNumber = -1;//lazy decode flag
-
-    return result;
-  }
-
-  /** Returns the number of sub-cells beneath the given UnitNRShape. */
-  public int getNumSubCells(UnitNRShape lv) {
-    return maxSubCellsByLevel[lv.getLevel()];
-  }
-
-  //
-  //    NRCell
-  //
-
-  /** Most of the PrefixTree implementation is in this one class, which is both
-   * the Cell, the CellIterator, and the Shape to reduce object allocation. It's implemented as a re-used array/stack
-   * of Cells at adjacent levels, that all have a reference back to the cell array to traverse. They also share a common
-   * BytesRef for the term.
-   * @lucene.internal */
-  protected class NRCell extends CellIterator implements Cell, UnitNRShape {
-
-    //Shared: (TODO put this in a new class)
-    final NRCell[] cellsByLevel;
-    final BytesRef term;//AKA the token
-    byte[] termBuf;// see ensureOwnTermBytes(), only for cell0
-
-    //Cell state...
-    final int cellLevel; // assert levelStack[cellLevel] == this
-    int cellNumber; //relative to parent cell. It's unused for level 0. Starts at 0.
-
-    SpatialRelation cellShapeRel;
-    boolean cellIsLeaf;
-
-    //CellIterator state is defined further below
-
-    NRCell(NRCell[] cellsByLevel, BytesRef term, int cellLevel) {
-      this.cellsByLevel = cellsByLevel;
-      this.term = term;
-      this.cellLevel = cellLevel;
-      this.cellNumber = cellLevel == 0 ? 0 : -1;
-      this.cellIsLeaf = false;
-      assert cellsByLevel[cellLevel] == null;
-    }
-
-    /** Ensure we own term.bytes so that it's safe to modify. We detect via a kluge in which cellsByLevel[0].termBuf
-     * is non-null, which is a pre-allocated for use to replace term.bytes. */
-    void ensureOwnTermBytes() {
-      NRCell cell0 = cellsByLevel[0];
-      if (cell0.termBuf == null)
-        return;//we already own the bytes
-      System.arraycopy(term.bytes, term.offset, cell0.termBuf, 0, term.length);
-      term.bytes = cell0.termBuf;
-      term.offset = 0;
-      cell0.termBuf = null;
-    }
-
-    private void reset() {
-      this.cellIsLeaf = false;
-      this.cellShapeRel = null;
-    }
-
-    private void resetCellWithCellNum(int cellNumber) {
-      reset();
-
-      //update bytes
-      //  note: see lazyInitCellNumsFromBytes() for the reverse
-      if (cellNumber >= 0) {//valid
-        ensureOwnTermBytes();
-        int termLen = termLenByLevel[getLevel()];
-        boolean twoBytes = (termLen - termLenByLevel[getLevel()-1]) > 1;
-        if (twoBytes) {
-          //right 7 bits, plus 1 (may overflow to 8th bit which is okay)
-          term.bytes[termLen-2] = (byte) (cellNumber >> 7);
-          term.bytes[termLen-1] = (byte) ((cellNumber & 0x7F) + 1);
-        } else {
-          term.bytes[termLen-1] = (byte) (cellNumber+1);
-        }
-        assert term.bytes[termLen-1] != 0;
-        term.length = termLen;
-      }
-      this.cellNumber = cellNumber;
-    }
-
-    private void ensureDecoded() {
-      if (cellNumber >= 0)
-        return;
-      //Decode cell numbers from bytes. This is the inverse of resetCellWithCellNum().
-      for (int level = 1; level <= getLevel(); level++) {
-        NRCell cell = cellsByLevel[level];
-        int termLen = termLenByLevel[level];
-        boolean twoBytes = (termLen - termLenByLevel[level-1]) > 1;
-        if (twoBytes) {
-          int byteH = (term.bytes[term.offset + termLen - 2] & 0xFF);
-          int byteL = (term.bytes[term.offset + termLen - 1] & 0xFF);
-          assert byteL - 1 < (1<<7);
-          cell.cellNumber = (byteH << 7) + (byteL-1);
-          assert cell.cellNumber < 1<<15;
-        } else {
-          cell.cellNumber = (term.bytes[term.offset + termLen - 1] & 0xFF) - 1;
-          assert cell.cellNumber < 255;
-        }
-        cell.assertDecoded();
-      }
-    }
-
-    private void assertDecoded() {
-      assert cellNumber >= 0 : "Illegal state; ensureDecoded() wasn't called";
-    }
-
-    @Override // for Cell & for UnitNRShape
-    public int getLevel() {
-      return cellLevel;
-    }
-
-    @Override
-    public SpatialRelation getShapeRel() {
-      return cellShapeRel;
-    }
-
-    @Override
-    public void setShapeRel(SpatialRelation rel) {
-      cellShapeRel = rel;
-    }
-
-    @Override
-    public boolean isLeaf() {
-      return cellIsLeaf;
-    }
-
-    @Override
-    public void setLeaf() {
-      cellIsLeaf = true;
-    }
-
-    @Override
-    public UnitNRShape getShape() {
-      ensureDecoded();
-      return this;
-    }
-
-    @Override
-    public BytesRef getTokenBytesNoLeaf(BytesRef result) {
-      if (result == null)
-        result = new BytesRef();
-      result.bytes = term.bytes;
-      result.offset = term.offset;
-      result.length = termLenByLevel[cellLevel];
-      assert result.length <= term.length;
-      return result;
-    }
-
-    @Override
-    public BytesRef getTokenBytesWithLeaf(BytesRef result) {
-      ensureOwnTermBytes();//normally shouldn't do anything
-      result = getTokenBytesNoLeaf(result);
-      if (isLeaf()) {
-        result.bytes[result.length++] = 0;
-      }
-      return result;
-    }
-
-    @Override
-    public boolean isPrefixOf(Cell c) {
-      NRCell otherCell = (NRCell) c;
-      assert term != otherCell.term;
-      //trick to re-use bytesref; provided that we re-instate it
-      int myLastLen = term.length;
-      term.length = termLenByLevel[getLevel()];
-      int otherLastLen = otherCell.term.length;
-      otherCell.term.length = termLenByLevel[otherCell.getLevel()];
-      boolean answer = StringHelper.startsWith(otherCell.term, term);
-      term.length = myLastLen;
-      otherCell.term.length = otherLastLen;
-      return answer;
-    }
-
-    @Override
-    public int compareToNoLeaf(Cell fromCell) {
-      final NRCell nrCell = (NRCell) fromCell;
-      assert term != nrCell.term;
-      //trick to re-use bytesref; provided that we re-instate it
-      int myLastLen = term.length;
-      int otherLastLen = nrCell.term.length;
-      term.length = termLenByLevel[getLevel()];
-      nrCell.term.length = termLenByLevel[nrCell.getLevel()];
-      int answer = term.compareTo(nrCell.term);
-      term.length = myLastLen;
-      nrCell.term.length = otherLastLen;
-      return answer;
-    }
-
-    @Override
-    public CellIterator getNextLevelCells(Shape shapeFilter) {
-      ensureDecoded();
-      NRCell subCell = cellsByLevel[cellLevel + 1];
-      subCell.initIter(shapeFilter);
-      return subCell;
-    }
-
-    //----------- CellIterator
-
-    Shape iterFilter;//UnitNRShape or NRShape
-    boolean iterFirstIsIntersects;
-    boolean iterLastIsIntersects;
-    int iterFirstCellNumber;
-    int iterLastCellNumber;
-
-    private void initIter(Shape filter) {
-      cellNumber = -1;
-      if (filter instanceof UnitNRShape && ((UnitNRShape) filter).getLevel() == 0)
-        filter = null;//world means everything -- no filter
-      iterFilter = filter;
-
-      NRCell parent = getShapeAtLevel(getLevel() - 1);
-
-      // Initialize iter* members.
-
-      //no filter means all subcells
-      if (filter == null) {
-        iterFirstCellNumber = 0;
-        iterFirstIsIntersects = false;
-        iterLastCellNumber = getNumSubCells(parent) - 1;
-        iterLastIsIntersects = false;
-        return;
-      }
-
-      final UnitNRShape minLV;
-      final UnitNRShape maxLV;
-      final int lastLevelInCommon;//between minLV & maxLV
-      if (filter instanceof SpanUnitsNRShape) {
-        SpanUnitsNRShape spanShape = (SpanUnitsNRShape) iterFilter;
-        minLV = spanShape.getMinUnit();
-        maxLV = spanShape.getMaxUnit();
-        lastLevelInCommon = spanShape.getLevelsInCommon();
-      } else {
-        minLV = (UnitNRShape) iterFilter;
-        maxLV = minLV;
-        lastLevelInCommon = minLV.getLevel();
-      }
-
-      //fast path optimization that is usually true, but never first level
-      if (iterFilter == parent.iterFilter &&
-          (getLevel() <= lastLevelInCommon || parent.iterFirstCellNumber != parent.iterLastCellNumber)) {
-        //TODO benchmark if this optimization pays off. We avoid two comparePrefixLV calls.
-        if (parent.iterFirstIsIntersects && parent.cellNumber == parent.iterFirstCellNumber
-            && minLV.getLevel() >= getLevel()) {
-          iterFirstCellNumber = minLV.getValAtLevel(getLevel());
-          iterFirstIsIntersects = (minLV.getLevel() > getLevel());
-        } else {
-          iterFirstCellNumber = 0;
-          iterFirstIsIntersects = false;
-        }
-        if (parent.iterLastIsIntersects && parent.cellNumber == parent.iterLastCellNumber
-            && maxLV.getLevel() >= getLevel()) {
-          iterLastCellNumber = maxLV.getValAtLevel(getLevel());
-          iterLastIsIntersects = (maxLV.getLevel() > getLevel());
-        } else {
-          iterLastCellNumber = getNumSubCells(parent) - 1;
-          iterLastIsIntersects = false;
-        }
-        if (iterFirstCellNumber == iterLastCellNumber) {
-          if (iterLastIsIntersects)
-            iterFirstIsIntersects = true;
-          else if (iterFirstIsIntersects)
-            iterLastIsIntersects = true;
-        }
-        return;
-      }
-
-      //not common to get here, except for level 1 which always happens
-
-      int startCmp = comparePrefix(minLV, parent);
-      if (startCmp > 0) {//start comes after this cell
-        iterFirstCellNumber = 0;
-        iterFirstIsIntersects = false;
-        iterLastCellNumber = -1;//so ends early (no cells)
-        iterLastIsIntersects = false;
-        return;
-      }
-      int endCmp = comparePrefix(maxLV, parent);//compare to end cell
-      if (endCmp < 0) {//end comes before this cell
-        iterFirstCellNumber = 0;
-        iterFirstIsIntersects = false;
-        iterLastCellNumber = -1;//so ends early (no cells)
-        iterLastIsIntersects = false;
-        return;
-      }
-      if (startCmp < 0 || minLV.getLevel() < getLevel()) {
-        //start comes before...
-        iterFirstCellNumber = 0;
-        iterFirstIsIntersects = false;
-      } else {
-        iterFirstCellNumber = minLV.getValAtLevel(getLevel());
-        iterFirstIsIntersects = (minLV.getLevel() > getLevel());
-      }
-      if (endCmp > 0 || maxLV.getLevel() < getLevel()) {
-        //end comes after...
-        iterLastCellNumber = getNumSubCells(parent) - 1;
-        iterLastIsIntersects = false;
-      } else {
-        iterLastCellNumber = maxLV.getValAtLevel(getLevel());
-        iterLastIsIntersects = (maxLV.getLevel() > getLevel());
-      }
-      if (iterFirstCellNumber == iterLastCellNumber) {
-        if (iterLastIsIntersects)
-          iterFirstIsIntersects = true;
-        else if (iterFirstIsIntersects)
-          iterLastIsIntersects = true;
-      }
-    }
-
-    @Override
-    public boolean hasNext() {
-      thisCell = null;
-      if (nextCell != null)//calling hasNext twice in a row
-        return true;
-
-      if (cellNumber >= iterLastCellNumber)
-        return false;
-
-      resetCellWithCellNum(cellNumber < iterFirstCellNumber ? iterFirstCellNumber : cellNumber + 1);
-
-      boolean hasChildren =
-          (cellNumber == iterFirstCellNumber && iterFirstIsIntersects)
-              || (cellNumber == iterLastCellNumber && iterLastIsIntersects);
-
-      if (!hasChildren) {
-        setLeaf();
-        setShapeRel(SpatialRelation.WITHIN);
-      } else if (iterFirstCellNumber == iterLastCellNumber) {
-        setShapeRel(SpatialRelation.CONTAINS);
-      } else {
-        setShapeRel(SpatialRelation.INTERSECTS);
-      }
-
-      nextCell = this;
-      return true;
-    }
-
-    //TODO override nextFrom to be more efficient
-
-    //----------- UnitNRShape
-
-    @Override
-    public int getValAtLevel(int level) {
-      final int result = cellsByLevel[level].cellNumber;
-      assert result >= 0;//initialized (decoded)
-      return result;
-    }
-
-    @Override
-    public NRCell getShapeAtLevel(int level) {
-      assert level <= cellLevel;
-      return cellsByLevel[level];
-    }
-
-    @Override
-    public UnitNRShape roundToLevel(int targetLevel) {
-      if (getLevel() <= targetLevel) {
-        return this;
-      } else {
-        return getShapeAtLevel(targetLevel);
-      }
-    }
-
-    @Override
-    public SpatialRelation relate(Shape shape) {
-      assertDecoded();
-      if (shape == iterFilter && cellShapeRel != null)
-        return cellShapeRel;
-      if (shape instanceof UnitNRShape)
-        return relate((UnitNRShape)shape);
-      if (shape instanceof SpanUnitsNRShape)
-        return relate((SpanUnitsNRShape)shape);
-      return shape.relate(this).transpose();
-    }
-
-    public SpatialRelation relate(UnitNRShape lv) {
-      assertDecoded();
-      int cmp = comparePrefix(this, lv);
-      if (cmp != 0)
-        return SpatialRelation.DISJOINT;
-      if (getLevel() > lv.getLevel())
-        return SpatialRelation.WITHIN;
-      return SpatialRelation.CONTAINS;//or equals
-      //no INTERSECTS; that won't happen.
-    }
-
-    public SpatialRelation relate(SpanUnitsNRShape spanShape) {
-      assertDecoded();
-      int startCmp = comparePrefix(spanShape.getMinUnit(), this);
-      if (startCmp > 0) {//start comes after this cell
-        return SpatialRelation.DISJOINT;
-      }
-      int endCmp = comparePrefix(spanShape.getMaxUnit(), this);
-      if (endCmp < 0) {//end comes before this cell
-        return SpatialRelation.DISJOINT;
-      }
-      int nrMinLevel = spanShape.getMinUnit().getLevel();
-      int nrMaxLevel = spanShape.getMaxUnit().getLevel();
-      if ((startCmp < 0 || startCmp == 0 && nrMinLevel <= getLevel())
-          && (endCmp > 0 || endCmp == 0 && nrMaxLevel <= getLevel()))
-        return SpatialRelation.WITHIN;//or equals
-      //At this point it's Contains or Within.
-      if (startCmp != 0 || endCmp != 0)
-        return SpatialRelation.INTERSECTS;
-      //if min or max Level is less, it might be on the equivalent edge.
-      for (;nrMinLevel < getLevel(); nrMinLevel++) {
-        if (getValAtLevel(nrMinLevel + 1) != 0)
-          return SpatialRelation.INTERSECTS;
-      }
-      for (;nrMaxLevel < getLevel(); nrMaxLevel++) {
-        if (getValAtLevel(nrMaxLevel + 1) != getNumSubCells(getShapeAtLevel(nrMaxLevel)) - 1)
-          return SpatialRelation.INTERSECTS;
-      }
-      return SpatialRelation.CONTAINS;
-    }
-
-    @Override
-    public UnitNRShape clone() {
-      //no leaf distinction; this is purely based on UnitNRShape
-      NRCell cell = (NRCell) readCell(getTokenBytesNoLeaf(null), null);
-      cell.ensureOwnTermBytes();
-      return cell.getShape();
-    }
-
-    @Override
-    public int compareTo(UnitNRShape o) {
-      assertDecoded();
-      //no leaf distinction; this is purely based on UnitNRShape
-      int cmp = comparePrefix(this, o);
-      if (cmp != 0) {
-        return cmp;
-      } else {
-        return getLevel() - o.getLevel();
-      }
-    }
-
-    @Override
-    public Rectangle getBoundingBox() {
-      throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean hasArea() {
-      return true;
-    }
-
-    @Override
-    public double getArea(SpatialContext ctx) {
-      throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Point getCenter() {
-      throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Shape getBuffered(double distance, SpatialContext ctx) { throw new UnsupportedOperationException(); }
-
-    @Override
-    public boolean isEmpty() {
-      return false;
-    }
-
-    //------- Object
-
-    @Override
-    public boolean equals(Object obj) {
-      if (!(obj instanceof NRCell)) {
-        return false;
-      }
-      if (this == obj)
-        return true;
-      NRCell nrCell = (NRCell) obj;
-      assert term != nrCell.term;
-      if (getLevel() != nrCell.getLevel())
-        return false;
-      //trick to re-use bytesref; provided that we re-instate it
-      int myLastLen = term.length;
-      int otherLastLen = nrCell.term.length;
-      boolean answer = getTokenBytesNoLeaf(term).equals(nrCell.getTokenBytesNoLeaf(nrCell.term));
-      term.length = myLastLen;
-      nrCell.term.length = otherLastLen;
-      return answer;
-    }
-
-    @Override
-    public SpatialContext getContext() {
-      return DUMMY_CTX;
-    }
-
-    @Override
-    public int hashCode() {
-      //trick to re-use bytesref; provided that we re-instate it
-      int myLastLen = term.length;
-      int result = getTokenBytesNoLeaf(term).hashCode();
-      term.length = myLastLen;
-      return result;
-    }
-
-    @Override
-    public String toString() {
-      return NumberRangePrefixTree.this.toString(getShape());
-    }
-
-    /** Configure your IDE to use this. */
-    public String toStringDebug() {
-      String pretty = toString();
-      if (getLevel() == 0)
-        return pretty;
-      return toStringUnitRaw(this) + (isLeaf() ? "•" : "") + " " + pretty;
-    }
-
-  } // END OF NRCell
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
deleted file mode 100644
index 6fe2bff..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.NoSuchElementException;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import com.spatial4j.core.shape.impl.RectangleImpl;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * Uses a compact binary representation of 8 bytes to encode a spatial quad trie.
- *
- * The binary representation is as follows:
- * <pre>
- * CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDL
- *
- * Where C = Cell bits (2 per quad)
- *       D = Depth bits (5 with max of 29 levels)
- *       L = isLeaf bit
- * </pre>
- *
- * It includes a built-in "pruneLeafyBranches" setting (true by default) similar to
- * {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy#setPruneLeafyBranches(boolean)} although
- * this one only prunes at the target detail level (where it has the most effect).  Usually you should disable RPT's
- * prune, since it is very memory in-efficient.
- *
- * @lucene.experimental
- */
-public class PackedQuadPrefixTree extends QuadPrefixTree {
-  public static final int MAX_LEVELS_POSSIBLE = 29;
-  protected static final byte[] QUAD = new byte[] {0x00, 0x01, 0x02, 0x03};
-
-  protected boolean leafyPrune = true;
-
-  /**
-   * Factory for creating {@link PackedQuadPrefixTree} instances with useful defaults.
-   */
-  public static class Factory extends QuadPrefixTree.Factory {
-    @Override
-    protected SpatialPrefixTree newSPT() {
-      return new PackedQuadPrefixTree(ctx, maxLevels != null ? maxLevels : MAX_LEVELS_POSSIBLE);
-    }
-  }
-
-  public PackedQuadPrefixTree(SpatialContext ctx, int maxLevels) {
-    super(ctx, maxLevels);
-    if (maxLevels > MAX_LEVELS_POSSIBLE) {
-      throw new IllegalArgumentException("maxLevels of " + maxLevels + " exceeds limit of " + MAX_LEVELS_POSSIBLE);
-    }
-  }
-
-  @Override
-  public String toString() {
-    return getClass().getSimpleName() + "(maxLevels:" + maxLevels + ",ctx:" + ctx + ",prune:" + leafyPrune + ")";
-  }
-
-  @Override
-  public Cell getWorldCell() {
-    return new PackedQuadCell(0x0L);
-  }
-
-  @Override
-  public Cell getCell(Point p, int level) {
-    List<Cell> cells = new ArrayList<>(1);
-    build(xmid, ymid, 0, cells, 0x0L, ctx.makePoint(p.getX(), p.getY()), level);
-    return cells.get(0);//note cells could be longer if p on edge
-  }
-
-  protected void build(double x, double y, int level, List<Cell> matches, long term, Shape shape, int maxLevel) {
-    double w = levelW[level] / 2;
-    double h = levelH[level] / 2;
-
-    // Z-Order
-    // http://en.wikipedia.org/wiki/Z-order_%28curve%29
-    checkBattenberg(QUAD[0], x - w, y + h, level, matches, term, shape, maxLevel);
-    checkBattenberg(QUAD[1], x + w, y + h, level, matches, term, shape, maxLevel);
-    checkBattenberg(QUAD[2], x - w, y - h, level, matches, term, shape, maxLevel);
-    checkBattenberg(QUAD[3], x + w, y - h, level, matches, term, shape, maxLevel);
-  }
-
-  protected void checkBattenberg(byte quad, double cx, double cy, int level, List<Cell> matches,
-                               long term, Shape shape, int maxLevel) {
-    // short-circuit if we find a match for the point (no need to continue recursion)
-    if (shape instanceof Point && !matches.isEmpty())
-      return;
-    double w = levelW[level] / 2;
-    double h = levelH[level] / 2;
-
-    SpatialRelation v = shape.relate(ctx.makeRectangle(cx - w, cx + w, cy - h, cy + h));
-
-    if (SpatialRelation.DISJOINT == v) {
-      return;
-    }
-
-    // set bits for next level
-    term |= (((long)(quad))<<(64-(++level<<1)));
-    // increment level
-    term = ((term>>>1)+1)<<1;
-
-    if (SpatialRelation.CONTAINS == v || (level >= maxLevel)) {
-      matches.add(new PackedQuadCell(term, v.transpose()));
-    } else {// SpatialRelation.WITHIN, SpatialRelation.INTERSECTS
-      build(cx, cy, level, matches, term, shape, maxLevel);
-    }
-  }
-
-  @Override
-  public Cell readCell(BytesRef term, Cell scratch) {
-    PackedQuadCell cell = (PackedQuadCell) scratch;
-    if (cell == null)
-      cell = (PackedQuadCell) getWorldCell();
-    cell.readCell(term);
-    return cell;
-  }
-
-  @Override
-  public CellIterator getTreeCellIterator(Shape shape, int detailLevel) {
-    if (detailLevel > maxLevels) {
-      throw new IllegalArgumentException("detailLevel:" + detailLevel +" exceed max: " + maxLevels);
-    }
-    return new PrefixTreeIterator(shape, (short) detailLevel);
-  }
-
-  public boolean isPruneLeafyBranches() {
-    return leafyPrune;
-  }
-
-  /** Like {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy#setPruneLeafyBranches(boolean)}
-   * but more memory efficient and only applies to the detailLevel, where it has the most effect. */
-  public void setPruneLeafyBranches( boolean pruneLeafyBranches ) {
-    this.leafyPrune = pruneLeafyBranches;
-  }
-
-  /** See binary representation in the javadocs of {@link PackedQuadPrefixTree}. */
-  protected class PackedQuadCell extends QuadCell {
-    private long term;
-
-    PackedQuadCell(long term) {
-      super(null, 0, 0);
-      this.term = term;
-      this.b_off = 0;
-      this.bytes = longToByteArray(this.term);
-      this.b_len = 8;
-      readLeafAdjust();
-    }
-
-    PackedQuadCell(long term, SpatialRelation shapeRel) {
-      this(term);
-      this.shapeRel = shapeRel;
-    }
-
-    @Override
-    protected void readCell(BytesRef bytes) {
-      shapeRel = null;
-      shape = null;
-      this.bytes = bytes.bytes;
-      this.b_off = bytes.offset;
-      this.b_len = (short) bytes.length;
-      this.term = longFromByteArray(this.bytes, bytes.offset);
-      readLeafAdjust();
-    }
-
-    private final int getShiftForLevel(final int level) {
-      return 64 - (level<<1);
-    }
-
-    public boolean isEnd(final int level, final int shift) {
-      return (term != 0x0L && ((((0x1L<<(level<<1))-1)-(term>>>shift)) == 0x0L));
-    }
-
-    /**
-     * Get the next cell in the tree without using recursion. descend parameter requests traversal to the child nodes,
-     * setting this to false will step to the next sibling.
-     * Note: This complies with lexicographical ordering, once you've moved to the next sibling there is no backtracking.
-     */
-    public PackedQuadCell nextCell(boolean descend) {
-      final int level = getLevel();
-      final int shift = getShiftForLevel(level);
-      // base case: can't go further
-      if ( (!descend && isEnd(level, shift)) || isEnd(maxLevels, getShiftForLevel(maxLevels))) {
-        return null;
-      }
-      long newTerm;
-      final boolean isLeaf = (term&0x1L)==0x1L;
-      // if descend requested && we're not at the maxLevel
-      if ((descend && !isLeaf && (level != maxLevels)) || level == 0) {
-        // simple case: increment level bits (next level)
-        newTerm = ((term>>>1)+0x1L)<<1;
-      } else {  // we're not descending or we can't descend
-        newTerm = term + (0x1L<<shift);
-        // we're at the last sibling...force descend
-        if (((term>>>shift)&0x3L) == 0x3L) {
-          // adjust level for number popping up
-          newTerm = ((newTerm>>>1) - (Long.numberOfTrailingZeros(newTerm>>>shift)>>>1))<<1;
-        }
-      }
-      return new PackedQuadCell(newTerm);
-    }
-
-    @Override
-    protected void readLeafAdjust() {
-      isLeaf = ((0x1L)&term) == 0x1L;
-      if (getLevel() == getMaxLevels()) {
-        isLeaf = true;
-      }
-    }
-
-    @Override
-    public BytesRef getTokenBytesWithLeaf(BytesRef result) {
-      if (isLeaf) {
-        term |= 0x1L;
-      }
-      return getTokenBytesNoLeaf(result);
-    }
-
-    @Override
-    public BytesRef getTokenBytesNoLeaf(BytesRef result) {
-      if (result == null)
-        return new BytesRef(bytes, b_off, b_len);
-      result.bytes = longToByteArray(this.term);
-      result.offset = 0;
-      result.length = result.bytes.length;
-      return result;
-    }
-
-    @Override
-    public int compareToNoLeaf(Cell fromCell) {
-      PackedQuadCell b = (PackedQuadCell) fromCell;
-      final long thisTerm = (((0x1L)&term) == 0x1L) ? term-1 : term;
-      final long fromTerm = (((0x1L)&b.term) == 0x1L) ? b.term-1 : b.term;
-      final int result = Long.compareUnsigned(thisTerm, fromTerm);
-      assert Math.signum(result)
-          == Math.signum(compare(longToByteArray(thisTerm), 0, 8, longToByteArray(fromTerm), 0, 8)); // TODO remove
-      return result;
-    }
-
-    @Override
-    public int getLevel() {
-      int l = (int)((term >>> 1)&0x1FL);
-      return l;
-    }
-
-    @Override
-    protected Collection<Cell> getSubCells() {
-      List<Cell> cells = new ArrayList<>(4);
-      PackedQuadCell pqc = (new PackedQuadCell(((term&0x1)==0x1) ? this.term-1 : this.term))
-          .nextCell(true);
-      cells.add(pqc);
-      cells.add((pqc = pqc.nextCell(false)));
-      cells.add((pqc = pqc.nextCell(false)));
-      cells.add(pqc.nextCell(false));
-      return cells;
-    }
-
-    @Override
-    protected QuadCell getSubCell(Point p) {
-      return (PackedQuadCell) PackedQuadPrefixTree.this.getCell(p, getLevel() + 1);//not performant!
-    }
-
-    @Override
-    public boolean isPrefixOf(Cell c) {
-      PackedQuadCell cell = (PackedQuadCell)c;
-      return (this.term == 0x0L) || isInternalPrefix(cell);
-    }
-
-    protected boolean isInternalPrefix(PackedQuadCell c) {
-      final int shift = 64 - (getLevel()<<1);
-      return ((term>>>shift)-(c.term>>>shift)) == 0x0L;
-    }
-
-    protected long concat(byte postfix) {
-      // extra leaf bit
-      return this.term | (((long)(postfix))<<((getMaxLevels()-getLevel()<<1)+6));
-    }
-
-    /**
-     * Constructs a bounding box shape out of the encoded cell
-     */
-    @Override
-    protected Rectangle makeShape() {
-      double xmin = PackedQuadPrefixTree.this.xmin;
-      double ymin = PackedQuadPrefixTree.this.ymin;
-      int level = getLevel();
-
-      byte b;
-      for (short l=0, i=1; l<level; ++l, ++i) {
-        b = (byte) ((term>>>(64-(i<<1))) & 0x3L);
-
-        switch (b) {
-          case 0x00:
-            ymin += levelH[l];
-            break;
-          case 0x01:
-            xmin += levelW[l];
-            ymin += levelH[l];
-            break;
-          case 0x02:
-            break;//nothing really
-          case 0x03:
-            xmin += levelW[l];
-            break;
-          default:
-            throw new RuntimeException("unexpected quadrant");
-        }
-      }
-
-      double width, height;
-      if (level > 0) {
-        width = levelW[level - 1];
-        height = levelH[level - 1];
-      } else {
-        width = gridW;
-        height = gridH;
-      }
-      return new RectangleImpl(xmin, xmin + width, ymin, ymin + height, ctx);
-    }
-
-    private long fromBytes(byte b1, byte b2, byte b3, byte b4, byte b5, byte b6, byte b7, byte b8) {
-      return ((long)b1 & 255L) << 56 | ((long)b2 & 255L) << 48 | ((long)b3 & 255L) << 40
-          | ((long)b4 & 255L) << 32 | ((long)b5 & 255L) << 24 | ((long)b6 & 255L) << 16
-          | ((long)b7 & 255L) << 8 | (long)b8 & 255L;
-    }
-
-    private byte[] longToByteArray(long value) {
-      byte[] result = new byte[8];
-      for(int i = 7; i >= 0; --i) {
-        result[i] = (byte)((int)(value & 255L));
-        value >>= 8;
-      }
-      return result;
-    }
-
-    private long longFromByteArray(byte[] bytes, int ofs) {
-      assert bytes.length >= 8;
-      return fromBytes(bytes[0+ofs], bytes[1+ofs], bytes[2+ofs], bytes[3+ofs],
-          bytes[4+ofs], bytes[5+ofs], bytes[6+ofs], bytes[7+ofs]);
-    }
-
-    /**
-     * Used for debugging, this will print the bits of the cell
-     */
-    @Override
-    public String toString() {
-      StringBuilder s = new StringBuilder(64);
-      final int numberOfLeadingZeros = Long.numberOfLeadingZeros(term);
-      for (int i = 0; i < numberOfLeadingZeros; i++) {
-        s.append('0');
-      }
-      if (term != 0)
-        s.append(Long.toBinaryString(term));
-      return s.toString();
-    }
-  } // PackedQuadCell
-
-  /** This is a streamlined version of TreeCellIterator, with built-in support to prune at detailLevel
-   * (but not recursively upwards). */
-  protected class PrefixTreeIterator extends CellIterator {
-    private Shape shape;
-    private PackedQuadCell thisCell;
-    private PackedQuadCell nextCell;
-
-    private short level;
-    private final short detailLevel;
-    private CellIterator pruneIter;
-
-    PrefixTreeIterator(Shape shape, short detailLevel) {
-      this.shape = shape;
-      this.thisCell = ((PackedQuadCell)(getWorldCell())).nextCell(true);
-      this.detailLevel = detailLevel;
-      this.nextCell = null;
-    }
-
-    @Override
-    public boolean hasNext() {
-      if (nextCell != null) {
-        return true;
-      }
-      SpatialRelation rel;
-      // loop until we're at the end of the quad tree or we hit a relation
-      while (thisCell != null) {
-        rel = thisCell.getShape().relate(shape);
-        if (rel == SpatialRelation.DISJOINT) {
-          thisCell = thisCell.nextCell(false);
-        } else { // within || intersects || contains
-          thisCell.setShapeRel(rel);
-          nextCell = thisCell;
-          if (rel == SpatialRelation.WITHIN) {
-            thisCell.setLeaf();
-            thisCell = thisCell.nextCell(false);
-          } else {  // intersects || contains
-            level = (short) (thisCell.getLevel());
-            if (level == detailLevel || pruned(rel)) {
-              thisCell.setLeaf();
-              if (shape instanceof Point) {
-                thisCell.setShapeRel(SpatialRelation.WITHIN);
-                thisCell = null;
-              } else {
-                thisCell = thisCell.nextCell(false);
-              }
-              break;
-            }
-            thisCell = thisCell.nextCell(true);
-          }
-          break;
-        }
-      }
-      return nextCell != null;
-    }
-
-    private boolean pruned(SpatialRelation rel) {
-      int leaves;
-      if (rel == SpatialRelation.INTERSECTS && leafyPrune && level == detailLevel - 1) {
-        for (leaves=0, pruneIter=thisCell.getNextLevelCells(shape); pruneIter.hasNext(); pruneIter.next(), ++leaves);
-        return leaves == 4;
-      }
-      return false;
-    }
-
-    @Override
-    public Cell next() {
-      if (nextCell == null) {
-        if (!hasNext()) {
-          throw new NoSuchElementException();
-        }
-      }
-      // overriding since this implementation sets thisCell in hasNext
-      Cell temp = nextCell;
-      nextCell = null;
-      return temp;
-    }
-
-    @Override
-    public void remove() {
-      //no-op
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
deleted file mode 100644
index 48dac87..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.io.PrintStream;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Locale;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * A {@link SpatialPrefixTree} which uses a
- * <a href="http://en.wikipedia.org/wiki/Quadtree">quad tree</a> in which an
- * indexed term will be generated for each cell, 'A', 'B', 'C', 'D'.
- *
- * @lucene.experimental
- */
-public class QuadPrefixTree extends LegacyPrefixTree {
-
-  /**
-   * Factory for creating {@link QuadPrefixTree} instances with useful defaults
-   */
-  public static class Factory extends SpatialPrefixTreeFactory {
-
-    @Override
-    protected int getLevelForDistance(double degrees) {
-      QuadPrefixTree grid = new QuadPrefixTree(ctx, MAX_LEVELS_POSSIBLE);
-      return grid.getLevelForDistance(degrees);
-    }
-
-    @Override
-    protected SpatialPrefixTree newSPT() {
-      return new QuadPrefixTree(ctx,
-          maxLevels != null ? maxLevels : MAX_LEVELS_POSSIBLE);
-    }
-  }
-
-  public static final int MAX_LEVELS_POSSIBLE = 50;//not really sure how big this should be
-
-  public static final int DEFAULT_MAX_LEVELS = 12;
-  protected final double xmin;
-  protected final double xmax;
-  protected final double ymin;
-  protected final double ymax;
-  protected final double xmid;
-  protected final double ymid;
-
-  protected final double gridW;
-  public final double gridH;
-
-  final double[] levelW;
-  final double[] levelH;
-  final int[]    levelS; // side
-  final int[]    levelN; // number
-
-  public QuadPrefixTree(
-      SpatialContext ctx, Rectangle bounds, int maxLevels) {
-    super(ctx, maxLevels);
-    this.xmin = bounds.getMinX();
-    this.xmax = bounds.getMaxX();
-    this.ymin = bounds.getMinY();
-    this.ymax = bounds.getMaxY();
-
-    levelW = new double[maxLevels];
-    levelH = new double[maxLevels];
-    levelS = new int[maxLevels];
-    levelN = new int[maxLevels];
-
-    gridW = xmax - xmin;
-    gridH = ymax - ymin;
-    this.xmid = xmin + gridW/2.0;
-    this.ymid = ymin + gridH/2.0;
-    levelW[0] = gridW/2.0;
-    levelH[0] = gridH/2.0;
-    levelS[0] = 2;
-    levelN[0] = 4;
-
-    for (int i = 1; i < levelW.length; i++) {
-      levelW[i] = levelW[i - 1] / 2.0;
-      levelH[i] = levelH[i - 1] / 2.0;
-      levelS[i] = levelS[i - 1] * 2;
-      levelN[i] = levelN[i - 1] * 4;
-    }
-  }
-
-  public QuadPrefixTree(SpatialContext ctx) {
-    this(ctx, DEFAULT_MAX_LEVELS);
-  }
-
-  public QuadPrefixTree(
-      SpatialContext ctx, int maxLevels) {
-    this(ctx, ctx.getWorldBounds(), maxLevels);
-  }
-
-  @Override
-  public Cell getWorldCell() {
-    return new QuadCell(BytesRef.EMPTY_BYTES, 0, 0);
-  }
-
-  public void printInfo(PrintStream out) {
-    NumberFormat nf = NumberFormat.getNumberInstance(Locale.ROOT);
-    nf.setMaximumFractionDigits(5);
-    nf.setMinimumFractionDigits(5);
-    nf.setMinimumIntegerDigits(3);
-
-    for (int i = 0; i < maxLevels; i++) {
-      out.println(i + "]\t" + nf.format(levelW[i]) + "\t" + nf.format(levelH[i]) + "\t" +
-          levelS[i] + "\t" + (levelS[i] * levelS[i]));
-    }
-  }
-
-  @Override
-  public int getLevelForDistance(double dist) {
-    if (dist == 0)//short circuit
-      return maxLevels;
-    for (int i = 0; i < maxLevels-1; i++) {
-      //note: level[i] is actually a lookup for level i+1
-      if(dist > levelW[i] && dist > levelH[i]) {
-        return i+1;
-      }
-    }
-    return maxLevels;
-  }
-
-  @Override
-  public Cell getCell(Point p, int level) {
-    List<Cell> cells = new ArrayList<>(1);
-    build(xmid, ymid, 0, cells, new BytesRef(maxLevels+1), ctx.makePoint(p.getX(),p.getY()), level);
-    return cells.get(0);//note cells could be longer if p on edge
-  }
-
-  private void build(
-      double x,
-      double y,
-      int level,
-      List<Cell> matches,
-      BytesRef str,
-      Shape shape,
-      int maxLevel) {
-    assert str.length == level;
-    double w = levelW[level] / 2;
-    double h = levelH[level] / 2;
-
-    // Z-Order
-    // http://en.wikipedia.org/wiki/Z-order_%28curve%29
-    checkBattenberg('A', x - w, y + h, level, matches, str, shape, maxLevel);
-    checkBattenberg('B', x + w, y + h, level, matches, str, shape, maxLevel);
-    checkBattenberg('C', x - w, y - h, level, matches, str, shape, maxLevel);
-    checkBattenberg('D', x + w, y - h, level, matches, str, shape, maxLevel);
-
-    // possibly consider hilbert curve
-    // http://en.wikipedia.org/wiki/Hilbert_curve
-    // http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves
-    // if we actually use the range property in the query, this could be useful
-  }
-
-  protected void checkBattenberg(
-      char c,
-      double cx,
-      double cy,
-      int level,
-      List<Cell> matches,
-      BytesRef str,
-      Shape shape,
-      int maxLevel) {
-    assert str.length == level;
-    assert str.offset == 0;
-    double w = levelW[level] / 2;
-    double h = levelH[level] / 2;
-
-    int strlen = str.length;
-    Rectangle rectangle = ctx.makeRectangle(cx - w, cx + w, cy - h, cy + h);
-    SpatialRelation v = shape.relate(rectangle);
-    if (SpatialRelation.CONTAINS == v) {
-      str.bytes[str.length++] = (byte)c;//append
-      //str.append(SpatialPrefixGrid.COVER);
-      matches.add(new QuadCell(BytesRef.deepCopyOf(str), v.transpose()));
-    } else if (SpatialRelation.DISJOINT == v) {
-      // nothing
-    } else { // SpatialRelation.WITHIN, SpatialRelation.INTERSECTS
-      str.bytes[str.length++] = (byte)c;//append
-
-      int nextLevel = level+1;
-      if (nextLevel >= maxLevel) {
-        //str.append(SpatialPrefixGrid.INTERSECTS);
-        matches.add(new QuadCell(BytesRef.deepCopyOf(str), v.transpose()));
-      } else {
-        build(cx, cy, nextLevel, matches, str, shape, maxLevel);
-      }
-    }
-    str.length = strlen;
-  }
-
-  protected class QuadCell extends LegacyCell {
-
-    QuadCell(byte[] bytes, int off, int len) {
-      super(bytes, off, len);
-    }
-
-    QuadCell(BytesRef str, SpatialRelation shapeRel) {
-      this(str.bytes, str.offset, str.length);
-      this.shapeRel = shapeRel;
-    }
-
-    @Override
-    protected QuadPrefixTree getGrid() { return QuadPrefixTree.this; }
-
-    @Override
-    protected int getMaxLevels() { return maxLevels; }
-
-    @Override
-    protected Collection<Cell> getSubCells() {
-      BytesRef source = getTokenBytesNoLeaf(null);
-
-      List<Cell> cells = new ArrayList<>(4);
-      cells.add(new QuadCell(concat(source, (byte)'A'), null));
-      cells.add(new QuadCell(concat(source, (byte)'B'), null));
-      cells.add(new QuadCell(concat(source, (byte)'C'), null));
-      cells.add(new QuadCell(concat(source, (byte)'D'), null));
-      return cells;
-    }
-
-    protected BytesRef concat(BytesRef source, byte b) {
-      //+2 for new char + potential leaf
-      final byte[] buffer = Arrays.copyOfRange(source.bytes, source.offset, source.offset + source.length + 2);
-      BytesRef target = new BytesRef(buffer);
-      target.length = source.length;
-      target.bytes[target.length++] = b;
-      return target;
-    }
-
-    @Override
-    public int getSubCellsSize() {
-      return 4;
-    }
-
-    @Override
-    protected QuadCell getSubCell(Point p) {
-      return (QuadCell) QuadPrefixTree.this.getCell(p, getLevel() + 1);//not performant!
-    }
-
-    @Override
-    public Shape getShape() {
-      if (shape == null)
-        shape = makeShape();
-      return shape;
-    }
-
-    protected Rectangle makeShape() {
-      BytesRef token = getTokenBytesNoLeaf(null);
-      double xmin = QuadPrefixTree.this.xmin;
-      double ymin = QuadPrefixTree.this.ymin;
-
-      for (int i = 0; i < token.length; i++) {
-        byte c = token.bytes[token.offset + i];
-        switch (c) {
-          case 'A':
-            ymin += levelH[i];
-            break;
-          case 'B':
-            xmin += levelW[i];
-            ymin += levelH[i];
-            break;
-          case 'C':
-            break;//nothing really
-          case 'D':
-            xmin += levelW[i];
-            break;
-          default:
-            throw new RuntimeException("unexpected char: " + c);
-        }
-      }
-      int len = token.length;
-      double width, height;
-      if (len > 0) {
-        width = levelW[len-1];
-        height = levelH[len-1];
-      } else {
-        width = gridW;
-        height = gridH;
-      }
-      return ctx.makeRectangle(xmin, xmin + width, ymin, ymin + height);
-    }
-  }//QuadCell
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
deleted file mode 100644
index 177b431..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-/**
- * A singleton (one Cell) instance of CellIterator.
- *
- * @lucene.internal
- */
-class SingletonCellIterator extends CellIterator {
-
-  SingletonCellIterator(Cell cell) {
-    this.nextCell = cell;//preload nextCell
-  }
-
-  @Override
-  public boolean hasNext() {
-    thisCell = null;
-    return nextCell != null;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
deleted file mode 100644
index 8ead954..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * A spatial Prefix Tree, or Trie, which decomposes shapes into prefixed strings
- * at variable lengths corresponding to variable precision.  Each string
- * corresponds to a rectangular spatial region.  This approach is
- * also referred to "Grids", "Tiles", and "Spatial Tiers".
- * <p>
- * Implementations of this class should be thread-safe and immutable once
- * initialized.
- *
- * @lucene.experimental
- */
-public abstract class SpatialPrefixTree {
-
-  protected final int maxLevels;
-
-  protected final SpatialContext ctx;
-
-  public SpatialPrefixTree(SpatialContext ctx, int maxLevels) {
-    assert maxLevels > 0;
-    this.ctx = ctx;
-    this.maxLevels = maxLevels;
-  }
-
-  public SpatialContext getSpatialContext() {
-    return ctx;
-  }
-
-  public int getMaxLevels() {
-    return maxLevels;
-  }
-
-  @Override
-  public String toString() {
-    return getClass().getSimpleName() + "(maxLevels:" + maxLevels + ",ctx:" + ctx + ")";
-  }
-
-  /**
-   * Returns the level of the largest grid in which its longest side is less
-   * than or equal to the provided distance (in degrees). Consequently {@code
-   * dist} acts as an error epsilon declaring the amount of detail needed in the
-   * grid, such that you can get a grid with just the right amount of
-   * precision.
-   *
-   * @param dist {@code >= 0}
-   * @return level [1 to maxLevels]
-   */
-  public abstract int getLevelForDistance(double dist);
-
-  /**
-   * Given a cell having the specified level, returns the distance from opposite
-   * corners. Since this might vary depending on where the cell is, this method
-   * may over-estimate.
-   *
-   * @param level [1 to maxLevels]
-   * @return {@code > 0}
-   */
-  public abstract double getDistanceForLevel(int level);
-
-  /**
-   * Returns the level 0 cell which encompasses all spatial data. Equivalent to {@link #readCell(BytesRef,Cell)}
-   * with no bytes.
-   */
-  public abstract Cell getWorldCell(); //another possible name: getTopCell
-
-  /**
-   * This creates a new Cell (or re-using {@code scratch} if provided), initialized to the state as read
-   * by the bytes.
-   * Warning: An implementation may refer to the same byte array (no copy). If {@link Cell#setLeaf()} is
-   * subsequently called, it would then modify these bytes.
-   */
-  public abstract Cell readCell(BytesRef term, Cell scratch);
-
-  /**
-   * Gets the intersecting cells for the specified shape, without exceeding
-   * detail level. If a cell is within the query shape then it's marked as a
-   * leaf and none of its children are added. For cells at detailLevel, they are marked as
-   * leaves too, unless it's a point.
-   * <p>
-   * IMPORTANT: Cells returned from the iterator can be re-used for cells at the same level. So you can't simply
-   * iterate to subsequent cells and still refer to the former cell nor the bytes returned from the former cell, unless
-   * you know the former cell is a parent.
-   *
-   * @param shape       the shape; possibly null but the caller should liberally call
-   *  {@code remove()} if so.
-   * @param detailLevel the maximum detail level to get cells for
-   * @return the matching cells
-   */
-  public CellIterator getTreeCellIterator(Shape shape, int detailLevel) {
-    if (detailLevel > maxLevels) {
-      throw new IllegalArgumentException("detailLevel > maxLevels");
-    }
-    return new TreeCellIterator(shape, detailLevel, getWorldCell());
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
deleted file mode 100644
index b74dc93..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.util.Map;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-
-/**
- * Abstract Factory for creating {@link SpatialPrefixTree} instances with useful
- * defaults and passed on configurations defined in a Map.
- *
- * @lucene.experimental
- */
-public abstract class SpatialPrefixTreeFactory {
-
-  private static final double DEFAULT_GEO_MAX_DETAIL_KM = 0.001;//1m
-  public static final String PREFIX_TREE = "prefixTree";
-  public static final String MAX_LEVELS = "maxLevels";
-  public static final String MAX_DIST_ERR = "maxDistErr";
-
-  protected Map<String, String> args;
-  protected SpatialContext ctx;
-  protected Integer maxLevels;
-
-  /**
-   * The factory  is looked up via "prefixTree" in args, expecting "geohash" or "quad".
-   * If it's neither of these, then "geohash" is chosen for a geo context, otherwise "quad" is chosen.
-   */
-  public static SpatialPrefixTree makeSPT(Map<String,String> args, ClassLoader classLoader, SpatialContext ctx) {
-    SpatialPrefixTreeFactory instance;
-    String cname = args.get(PREFIX_TREE);
-    if (cname == null)
-      cname = ctx.isGeo() ? "geohash" : "quad";
-    if ("geohash".equalsIgnoreCase(cname))
-      instance = new GeohashPrefixTree.Factory();
-    else if ("quad".equalsIgnoreCase(cname))
-      instance = new QuadPrefixTree.Factory();
-    else if ("packedQuad".equalsIgnoreCase(cname))
-      instance = new PackedQuadPrefixTree.Factory();
-    else {
-      try {
-        Class<?> c = classLoader.loadClass(cname);
-        instance = (SpatialPrefixTreeFactory) c.newInstance();
-      } catch (Exception e) {
-        throw new RuntimeException(e);
-      }
-    }
-    instance.init(args,ctx);
-    return instance.newSPT();
-  }
-
-  protected void init(Map<String, String> args, SpatialContext ctx) {
-    this.args = args;
-    this.ctx = ctx;
-    initMaxLevels();
-  }
-
-  protected void initMaxLevels() {
-    String mlStr = args.get(MAX_LEVELS);
-    if (mlStr != null) {
-      maxLevels = Integer.valueOf(mlStr);
-      return;
-    }
-
-    double degrees;
-    String maxDetailDistStr = args.get(MAX_DIST_ERR);
-    if (maxDetailDistStr == null) {
-      if (!ctx.isGeo()) {
-        return;//let default to max
-      }
-      degrees = DistanceUtils.dist2Degrees(DEFAULT_GEO_MAX_DETAIL_KM, DistanceUtils.EARTH_MEAN_RADIUS_KM);
-    } else {
-      degrees = Double.parseDouble(maxDetailDistStr);
-    }
-    maxLevels = getLevelForDistance(degrees);
-  }
-
-  /** Calls {@link SpatialPrefixTree#getLevelForDistance(double)}. */
-  protected abstract int getLevelForDistance(double degrees);
-
-  protected abstract SpatialPrefixTree newSPT();
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
deleted file mode 100644
index 3ec56ac..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-
-/**
- * Navigates a {@link org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree} from a given cell (typically the world
- * cell) down to a maximum number of configured levels, filtered by a given shape. Intermediate non-leaf cells are
- * returned. It supports {@link #remove()} for skipping traversal of subcells of the current cell.
- *
- * @lucene.internal
- */
-class TreeCellIterator extends CellIterator {
-  //This class uses a stack approach, which is more efficient than creating linked nodes. And it might more easily
-  // pave the way for re-using Cell & CellIterator at a given level in the future.
-
-  private final Shape shapeFilter;//possibly null
-  private final CellIterator[] iterStack;//starts at level 1
-  private int stackIdx;//-1 when done
-  private boolean descend;
-
-  public TreeCellIterator(Shape shapeFilter, int detailLevel, Cell parentCell) {
-    this.shapeFilter = shapeFilter;
-    assert parentCell.getLevel() == 0;
-    iterStack = new CellIterator[detailLevel];
-    iterStack[0] = parentCell.getNextLevelCells(shapeFilter);
-    stackIdx = 0;//always points to an iter (non-null)
-    //note: not obvious but needed to visit the first cell before trying to descend
-    descend = false;
-  }
-
-  @Override
-  public boolean hasNext() {
-    if (nextCell != null)
-      return true;
-    while (true) {
-      if (stackIdx == -1)//the only condition in which we return false
-        return false;
-      //If we can descend...
-      if (descend && !(stackIdx == iterStack.length - 1 || iterStack[stackIdx].thisCell().isLeaf())) {
-        CellIterator nextIter = iterStack[stackIdx].thisCell().getNextLevelCells(shapeFilter);
-        //push stack
-        iterStack[++stackIdx] = nextIter;
-      }
-      //Get sibling...
-      if (iterStack[stackIdx].hasNext()) {
-        nextCell = iterStack[stackIdx].next();
-        //at detailLevel
-        if (stackIdx == iterStack.length - 1 && !(shapeFilter instanceof Point)) //point check is a kludge
-          nextCell.setLeaf();//because at bottom
-        break;
-      }
-      //Couldn't get next; go up...
-      //pop stack
-      iterStack[stackIdx--] = null;
-      descend = false;//so that we don't re-descend where we just were
-    }
-    assert nextCell != null;
-    descend = true;//reset
-    return true;
-  }
-
-  @Override
-  public void remove() {
-    assert thisCell() != null && nextCell == null;
-    descend = false;
-  }
-
-  //TODO implement a smart nextFrom() that looks at the parent's bytes first
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
deleted file mode 100644
index c1419ad..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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.
- */
-/** 
- * This package is about SpatialPrefixTree and any supporting classes.
- * A SpatialPrefixTree supports spatial indexing by index-time tokens
- * where adding characters to a string gives greater resolution.
- * <p>
- * Potential Implementations include:
- * <ul>
- * <li>http://en.wikipedia.org/wiki/Quadtree
- * <li>http://en.wikipedia.org/wiki/Geohash
- * <li>http://healpix.jpl.nasa.gov/
- * </ul>
- */
-package org.apache.lucene.spatial.prefix.tree;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
deleted file mode 100644
index 0503072..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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.lucene.spatial.query;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-
-/**
- * Principally holds the query {@link Shape} and the {@link SpatialOperation}.
- * It's used as an argument to some methods on {@link org.apache.lucene.spatial.SpatialStrategy}.
- *
- * @lucene.experimental
- */
-public class SpatialArgs {
-
-  public static final double DEFAULT_DISTERRPCT = 0.025d;
-
-  private SpatialOperation operation;
-  private Shape shape;
-  private Double distErrPct;
-  private Double distErr;
-
-  public SpatialArgs(SpatialOperation operation, Shape shape) {
-    if (operation == null || shape == null)
-      throw new NullPointerException("operation and shape are required");
-    this.operation = operation;
-    this.shape = shape;
-  }
-
-  /**
-   * Computes the distance given a shape and the {@code distErrPct}.  The
-   * algorithm is the fraction of the distance from the center of the query
-   * shape to its closest bounding box corner.
-   *
-   * @param shape Mandatory.
-   * @param distErrPct 0 to 0.5
-   * @param ctx Mandatory
-   * @return A distance (in degrees).
-   */
-  public static double calcDistanceFromErrPct(Shape shape, double distErrPct, SpatialContext ctx) {
-    if (distErrPct < 0 || distErrPct > 0.5) {
-      throw new IllegalArgumentException("distErrPct " + distErrPct + " must be between [0 to 0.5]");
-    }
-    if (distErrPct == 0 || shape instanceof Point) {
-      return 0;
-    }
-    Rectangle bbox = shape.getBoundingBox();
-    //Compute the distance from the center to a corner.  Because the distance
-    // to a bottom corner vs a top corner can vary in a geospatial scenario,
-    // take the closest one (greater precision).
-    Point ctr = bbox.getCenter();
-    double y = (ctr.getY() >= 0 ? bbox.getMaxY() : bbox.getMinY());
-    double diagonalDist = ctx.getDistCalc().distance(ctr, bbox.getMaxX(), y);
-    return diagonalDist * distErrPct;
-  }
-
-  /**
-   * Gets the error distance that specifies how precise the query shape is. This
-   * looks at {@link #getDistErr()}, {@link #getDistErrPct()}, and {@code
-   * defaultDistErrPct}.
-   * @param defaultDistErrPct 0 to 0.5
-   * @return {@code >= 0}
-   */
-  public double resolveDistErr(SpatialContext ctx, double defaultDistErrPct) {
-    if (distErr != null)
-      return distErr;
-    double distErrPct = (this.distErrPct != null ? this.distErrPct : defaultDistErrPct);
-    return calcDistanceFromErrPct(shape, distErrPct, ctx);
-  }
-
-  /** Check if the arguments make sense -- throw an exception if not */
-  public void validate() throws IllegalArgumentException {
-    if (distErr != null && distErrPct != null)
-      throw new IllegalArgumentException("Only distErr or distErrPct can be specified.");
-  }
-
-  @Override
-  public String toString() {
-    return SpatialArgsParser.writeSpatialArgs(this);
-  }
-
-  //------------------------------------------------
-  // Getters & Setters
-  //------------------------------------------------
-
-  public SpatialOperation getOperation() {
-    return operation;
-  }
-
-  public void setOperation(SpatialOperation operation) {
-    this.operation = operation;
-  }
-
-  public Shape getShape() {
-    return shape;
-  }
-
-  public void setShape(Shape shape) {
-    this.shape = shape;
-  }
-
-  /**
-   * A measure of acceptable error of the shape as a fraction.  This effectively
-   * inflates the size of the shape but should not shrink it.
-   *
-   * @return 0 to 0.5
-   * @see #calcDistanceFromErrPct(com.spatial4j.core.shape.Shape, double,
-   *      com.spatial4j.core.context.SpatialContext)
-   */
-  public Double getDistErrPct() {
-    return distErrPct;
-  }
-
-  public void setDistErrPct(Double distErrPct) {
-    if (distErrPct != null)
-      this.distErrPct = distErrPct;
-  }
-
-  /**
-   * The acceptable error of the shape.  This effectively inflates the
-   * size of the shape but should not shrink it.
-   *
-   * @return {@code >= 0}
-   */
-  public Double getDistErr() {
-    return distErr;
-  }
-
-  public void setDistErr(Double distErr) {
-    this.distErr = distErr;
-  }
-}


[58/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/world-cities-points.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/world-cities-points.txt b/lucene/spatial/src/test-files/data/world-cities-points.txt
deleted file mode 100644
index 59a7cd5..0000000
--- a/lucene/spatial/src/test-files/data/world-cities-points.txt
+++ /dev/null
@@ -1,2680 +0,0 @@
-#id	name	shape	
-G292223	Dubai	POINT(55.280000 25.252220)	
-G292672	Sharjah	POINT(55.391110 25.362220)	
-G292913	Al ‘Ayn	POINT(55.760560 24.191670)	
-G292932	`Ajmān	POINT(55.435040 25.411110)	
-G292968	Abu Dhabi	POINT(54.366670 24.466670)	
-G1133616	Mazār-e Sharīf	POINT(67.110870 36.709040)	
-G1135689	Kunduz	POINT(68.857000 36.728960)	
-G1138336	Kandahār	POINT(65.710130 31.613320)	
-G1138958	Kabul	POINT(69.172330 34.528130)	
-G1139715	Jalālābād	POINT(70.451530 34.426470)	
-G1140026	Herāt	POINT(62.199670 34.348170)	
-G3183875	Tirana	POINT(19.818890 41.327500)	
-G616052	Yerevan	POINT(44.513610 40.181110)	
-G2240449	Luanda	POINT(13.234440 -8.838330)	
-G3347939	Lobito	POINT(13.545560 -12.348060)	
-G3348313	Huambo	POINT(15.739170 -12.776110)	
-G3351663	Benguela	POINT(13.407220 -12.578330)	
-G3429577	Resistencia	POINT(-58.983330 -27.450000)	
-G3429652	Quilmes	POINT(-58.269440 -34.720280)	
-G3429886	Posadas	POINT(-55.883330 -27.383330)	
-G3430863	Mar del Plata	POINT(-57.550000 -38.000000)	
-G3432043	La Plata	POINT(-57.948890 -34.931390)	
-G3433899	Formosa	POINT(-58.183330 -26.183330)	
-G3435217	Corrientes	POINT(-58.833330 -27.466670)	
-G3435910	Buenos Aires	POINT(-58.377230 -34.613150)	
-G3835869	Santiago del Estero	POINT(-64.266670 -27.783330)	
-G3836277	Santa Fe de la Vera Cruz	POINT(-60.700000 -31.633330)	
-G3836564	San Salvador de Jujuy	POINT(-65.300000 -24.183330)	
-G3836873	San Miguel de Tucumán	POINT(-65.216670 -26.816670)	
-G3837056	San Luis	POINT(-66.350000 -33.300000)	
-G3837213	San Juan	POINT(-68.536390 -31.537500)	
-G3837702	San Fernando del Valle de Catamarca	POINT(-65.783330 -28.466670)	
-G3838233	Salta	POINT(-65.416670 -24.783330)	
-G3838583	Rosario	POINT(-60.666390 -32.951110)	
-G3838874	Río Cuarto	POINT(-64.350000 -33.133330)	
-G3841956	Paraná	POINT(-60.533330 -31.733330)	
-G3843123	Neuquén	POINT(-68.066670 -38.950000)	
-G3844421	Mendoza	POINT(-68.816670 -32.883330)	
-G3848950	La Rioja	POINT(-66.850000 -29.433330)	
-G3860259	Córdoba	POINT(-64.183330 -31.400000)	
-G3865086	Bahía Blanca	POINT(-62.283330 -38.716670)	
-G2761369	Vienna	POINT(16.372080 48.208490)	
-G2766824	Salzburg	POINT(13.043990 47.799410)	
-G2772400	Linz	POINT(14.286110 48.306390)	
-G2778067	Graz	POINT(15.450000 47.066670)	
-G7279909	Linz-Wels-Steyr	POINT(14.183690 48.154580)	
-G2063523	Perth	POINT(115.833330 -31.933330)	
-G2078025	Adelaide	POINT(138.600000 -34.933330)	
-G2147714	Sydney	POINT(151.207320 -33.867850)	
-G2155472	Newcastle	POINT(151.776470 -32.927150)	
-G2158177	Melbourne	POINT(144.963320 -37.814000)	
-G2165087	Gold Coast	POINT(153.433330 -28.000000)	
-G2165796	Geelong West	POINT(144.350000 -38.133330)	
-G2165798	Geelong	POINT(144.360690 -38.147110)	
-G2171507	Wollongong	POINT(150.883330 -34.433330)	
-G2172517	Canberra	POINT(149.128070 -35.283460)	
-G2172797	Cairns	POINT(145.766670 -16.916670)	
-G2174003	Brisbane	POINT(153.028090 -27.467940)	
-G7280463	North Shore	POINT(152.901850 -31.402370)	
-G7281838	Logan City	POINT(153.109440 -27.639170)	
-G584923	Sumqayıt	POINT(49.668610 40.589720)	
-G586523	Kirowabad	POINT(46.360560 40.682780)	
-G587084	Baku	POINT(49.892010 40.377670)	
-G3186573	Zenica	POINT(17.906390 44.201390)	
-G3191281	Sarajevo	POINT(18.356440 43.848640)	
-G3204541	Banja Luka	POINT(17.185560 44.775830)	
-G1185098	Tungi	POINT(90.405830 23.890000)	
-G1185099	Sylhet	POINT(91.871670 24.896670)	
-G1185106	Jamālpur	POINT(89.933330 24.916670)	
-G1185117	Narsingdi	POINT(90.718060 23.920830)	
-G1185128	Rājshāhi	POINT(88.600000 24.366670)	
-G1185155	Nārāyanganj	POINT(90.501110 23.623330)	
-G1185162	Mymensingh	POINT(90.400000 24.750000)	
-G1185186	Comilla	POINT(91.204440 23.457780)	
-G1185188	Rangpur	POINT(89.250000 25.750000)	
-G1185241	Dhaka	POINT(90.407440 23.710400)	
-G1192366	Pār Naogaon	POINT(88.950840 24.802870)	
-G1203891	Dinājpur	POINT(88.638640 25.627150)	
-G1205733	Chittagong	POINT(91.836390 22.333060)	
-G1336134	Cox’s Bāzār	POINT(91.979770 21.453240)	
-G1336135	Khulna	POINT(89.567230 22.813480)	
-G1336137	Barisāl	POINT(90.371110 22.701940)	
-G1336140	Jessore	POINT(89.213150 23.168690)	
-G1336144	Tāngāil	POINT(89.916670 24.250000)	
-G1337233	Bogra	POINT(89.366670 24.850000)	
-G6545349	Saidpur	POINT(88.891690 25.777690)	
-G2792413	Liège	POINT(5.567490 50.633730)	
-G2797656	Gent	POINT(3.716670 51.050000)	
-G2800481	Charleroi	POINT(4.452480 50.409470)	
-G2800866	Brussels	POINT(4.348780 50.850450)	
-G2803138	Antwerpen	POINT(4.403460 51.219890)	
-G2357048	Ouagadougou	POINT(-1.538340 12.364230)	
-G2362344	Bobo-Dioulasso	POINT(-4.297900 11.177150)	
-G726050	Varna	POINT(27.916670 43.216670)	
-G727011	Sofia	POINT(23.324150 42.697510)	
-G727523	Ruse	POINT(25.970830 43.856390)	
-G728193	Plovdiv	POINT(24.750000 42.150000)	
-G732770	Burgas	POINT(27.467810 42.506060)	
-G425378	Bujumbura	POINT(29.364400 -3.382200)	
-G2392087	Porto-Novo	POINT(2.603590 6.496460)	
-G2392204	Parakou	POINT(2.616670 9.350000)	
-G2394560	Djougou	POINT(1.666940 9.705000)	
-G2394819	Cotonou	POINT(2.433330 6.350000)	
-G2395914	Abomey-Calavi	POINT(2.350000 6.450000)	
-G3903320	Tarija	POINT(-64.729560 -21.535490)	
-G3903987	Sucre	POINT(-65.262740 -19.033320)	
-G3904906	Santa Cruz de la Sierra	POINT(-63.166670 -17.800000)	
-G3909234	Oruro	POINT(-67.150000 -17.983330)	
-G3911925	La Paz	POINT(-68.150000 -16.500000)	
-G3919968	Cochabamba	POINT(-66.156800 -17.389500)	
-G3386496	Teresina	POINT(-42.801940 -5.089170)	
-G3387296	Sobral	POINT(-40.349720 -3.686110)	
-G3388368	São Luís	POINT(-44.302780 -2.529720)	
-G3389353	Santarém	POINT(-54.708330 -2.443060)	
-G3390760	Recife	POINT(-34.881110 -8.053890)	
-G3392242	Petrolina	POINT(-40.500830 -9.398610)	
-G3392740	Paulista	POINT(-34.873060 -7.940830)	
-G3392998	Parnamirim	POINT(-35.262780 -5.915560)	
-G3393536	Olinda	POINT(-34.855280 -8.008890)	
-G3394023	Natal	POINT(-35.209440 -5.795000)	
-G3394682	Mossoró	POINT(-37.344170 -5.187500)	
-G3395473	Maracanaú	POINT(-38.625560 -3.876670)	
-G3395981	Maceió	POINT(-35.735280 -9.665830)	
-G3396016	Macapá	POINT(-51.066390 0.038890)	
-G3397147	Juazeiro do Norte	POINT(-39.315280 -7.213060)	
-G3397277	João Pessoa	POINT(-34.863060 -7.115000)	
-G3397838	Jaboatão	POINT(-35.001390 -8.180280)	
-G3398269	Imperatriz	POINT(-47.491670 -5.526390)	
-G3399415	Fortaleza	POINT(-38.543060 -3.717220)	
-G3402429	Caucaia	POINT(-38.653060 -3.736110)	
-G3402655	Caruaru	POINT(-35.976110 -8.283330)	
-G3403642	Campina Grande	POINT(-35.881110 -7.230560)	
-G3405870	Belém	POINT(-48.504440 -1.455830)	
-G3407327	Arapiraca	POINT(-36.661110 -9.752500)	
-G3407669	Ananindeua	POINT(-48.372220 -1.365560)	
-G3444876	Volta Redonda	POINT(-44.104170 -22.523060)	
-G3444914	Vitória da Conquista	POINT(-40.839440 -14.866110)	
-G3444924	Vitória	POINT(-40.337780 -20.319440)	
-G3445026	Vila Velha	POINT(-40.292500 -20.329720)	
-G3445156	Viamão	POINT(-51.023330 -30.081110)	
-G3445451	Várzea Grande	POINT(-56.132500 -15.646670)	
-G3445831	Uberlândia	POINT(-48.277220 -18.918610)	
-G3445839	Uberaba	POINT(-47.931940 -19.748330)	
-G3446682	Taubaté	POINT(-45.555280 -23.026390)	
-G3447186	Taboão da Serra	POINT(-46.791670 -23.626110)	
-G3447212	Suzano	POINT(-46.310830 -23.542500)	
-G3447259	Sumaré	POINT(-47.266940 -22.821940)	
-G3447399	Sorocaba	POINT(-47.458060 -23.501670)	
-G3447624	Sete Lagoas	POINT(-44.246670 -19.465830)	
-G3447779	Serra	POINT(-40.307780 -20.128610)	
-G3448136	São Vicente	POINT(-46.391940 -23.963060)	
-G3448439	São Paulo	POINT(-46.636110 -23.547500)	
-G3448622	São Leopoldo	POINT(-51.147220 -29.760280)	
-G3448636	São José dos Campos	POINT(-45.886940 -23.179440)	
-G3448639	São José do Rio Preto	POINT(-49.379440 -20.819720)	
-G3448742	São José	POINT(-49.166670 -28.233330)	
-G3448877	São João de Meriti	POINT(-43.372220 -22.803890)	
-G3449319	São Carlos	POINT(-47.890830 -22.017500)	
-G3449344	São Bernardo do Campo	POINT(-46.565000 -23.693890)	
-G3449433	Santos	POINT(-46.333610 -23.960830)	
-G3449701	Santo André	POINT(-46.538330 -23.663890)	
-G3450083	Santa Maria	POINT(-53.806940 -29.684170)	
-G3450144	Santa Luzia	POINT(-43.851390 -19.769720)	
-G3450404	Santa Bárbara d'Oeste	POINT(-47.413610 -22.753610)	
-G3450554	Salvador	POINT(-38.510830 -12.971110)	
-G3450909	Rondonópolis	POINT(-54.635560 -16.470830)	
-G3451138	Rio Grande	POINT(-52.098610 -32.035000)	
-G3451190	Rio de Janeiro	POINT(-43.207500 -22.902780)	
-G3451234	Rio Claro	POINT(-47.561390 -22.411390)	
-G3451328	Ribeirão Preto	POINT(-47.810280 -21.177500)	
-G3451353	Ribeirão das Neves	POINT(-44.086670 -19.766940)	
-G3452324	Presidente Prudente	POINT(-51.388890 -22.125560)	
-G3452465	Praia Grande	POINT(-46.402780 -24.005830)	
-G3452925	Porto Alegre	POINT(-51.230000 -30.033060)	
-G3453186	Ponta Grossa	POINT(-50.161940 -25.095000)	
-G3453643	Piracicaba	POINT(-47.649170 -22.725280)	
-G3454031	Petrópolis	POINT(-43.178610 -22.505000)	
-G3454244	Pelotas	POINT(-52.342500 -31.771940)	
-G3454857	Passo Fundo	POINT(-52.406670 -28.262780)	
-G3455775	Osasco	POINT(-46.791670 -23.532500)	
-G3456068	Novo Hamburgo	POINT(-51.130560 -29.678330)	
-G3456160	Nova Iguaçu	POINT(-43.451110 -22.759170)	
-G3456166	Nova Friburgo	POINT(-42.531110 -22.281940)	
-G3456223	Nossa Senhora do Socorro	POINT(-37.126110 -10.855000)	
-G3456283	Niterói	POINT(-43.103610 -22.883330)	
-G3456814	Montes Claros	POINT(-43.861670 -16.735000)	
-G3457001	Mogi das Cruzes	POINT(-46.188330 -23.522780)	
-G3457381	Mauá	POINT(-46.461390 -23.667780)	
-G3457671	Maringá	POINT(-51.938610 -23.425280)	
-G3457692	Marília	POINT(-49.945830 -22.213890)	
-G3458449	Londrina	POINT(-51.162780 -23.310280)	
-G3458575	Limeira	POINT(-47.401670 -22.564720)	
-G3458930	Lages	POINT(-50.326110 -27.816110)	
-G3459462	Jundiaí	POINT(-46.884170 -23.186390)	
-G3459505	Juiz de Fora	POINT(-43.350280 -21.764170)	
-G3459712	Joinville	POINT(-48.845560 -26.304440)	
-G3460370	Jacareí	POINT(-45.965830 -23.305280)	
-G3460644	Itaquaquecetuba	POINT(-46.348330 -23.486110)	
-G3460718	Itapevi	POINT(-46.934170 -23.548890)	
-G3460748	Itapecerica da Serra	POINT(-46.849170 -23.716940)	
-G3460845	Itajaí	POINT(-48.661940 -26.907780)	
-G3460949	Itabuna	POINT(-39.280280 -14.785560)	
-G3460950	Itaboraí	POINT(-42.859440 -22.744440)	
-G3461144	Ipatinga	POINT(-42.536670 -19.468330)	
-G3461311	Indaiatuba	POINT(-47.218060 -23.090280)	
-G3461408	Ilhéus	POINT(-39.049440 -14.788890)	
-G3461655	Hortolândia	POINT(-47.220000 -22.858330)	
-G3461786	Guarulhos	POINT(-46.533330 -23.462780)	
-G3461789	Guarujá	POINT(-46.256390 -23.993060)	
-G3461879	Guarapuava	POINT(-51.458060 -25.395280)	
-G3462089	Gravataí	POINT(-50.991940 -29.944440)	
-G3462315	Governador Valadares	POINT(-41.949440 -18.851110)	
-G3462377	Goiânia	POINT(-49.253890 -16.678610)	
-G3462980	Francisco Morato	POINT(-46.745280 -23.281670)	
-G3463011	Franca	POINT(-47.400830 -20.538610)	
-G3463030	Foz do Iguaçu	POINT(-54.588060 -25.547780)	
-G3463237	Florianópolis	POINT(-48.549170 -27.596670)	
-G3463422	Ferraz de Vasconcelos	POINT(-46.368610 -23.540830)	
-G3463478	Feira de Santana	POINT(-38.966670 -12.266670)	
-G3464305	Embu	POINT(-46.852220 -23.648890)	
-G3464374	Duque de Caxias	POINT(-43.311670 -22.785560)	
-G3464460	Dourados	POINT(-54.805560 -22.221110)	
-G3464688	Divinópolis	POINT(-44.883890 -20.138890)	
-G3464739	Diadema	POINT(-46.622780 -23.686110)	
-G3464975	Curitiba	POINT(-49.273060 -25.427780)	
-G3465038	Cuiabá	POINT(-56.096670 -15.596110)	
-G3465196	Criciúma	POINT(-49.369720 -28.677500)	
-G3465284	Cotia	POINT(-46.919170 -23.603890)	
-G3465624	Contagem	POINT(-44.053610 -19.931670)	
-G3465927	Colombo	POINT(-49.224170 -25.291670)	
-G3466296	Chapecó	POINT(-52.618330 -27.096390)	
-G3466537	Caxias do Sul	POINT(-51.179440 -29.168060)	
-G3466779	Cascavel	POINT(-53.455280 -24.955830)	
-G3466998	Carapicuíba	POINT(-46.835560 -23.522500)	
-G3467467	Canoas	POINT(-51.183610 -29.917780)	
-G3467693	Campos	POINT(-41.300000 -21.750000)	
-G3467747	Campo Grande	POINT(-54.646390 -20.442780)	
-G3467865	Campinas	POINT(-47.060830 -22.905560)	
-G3468031	Camaçari	POINT(-38.324170 -12.697500)	
-G3468376	Cachoeiro de Itapemirim	POINT(-41.112780 -20.848890)	
-G3469058	Brasília	POINT(-47.929720 -15.779720)	
-G3469968	Blumenau	POINT(-49.066110 -26.919440)	
-G3470044	Betim	POINT(-44.198330 -19.967780)	
-G3470127	Belo Horizonte	POINT(-43.937780 -19.920830)	
-G3470142	Belford Roxo	POINT(-43.399440 -22.764170)	
-G3470279	Bauru	POINT(-49.060560 -22.314720)	
-G3470353	Barueri	POINT(-46.876110 -23.510560)	
-G3470583	Barreiras	POINT(-44.990000 -12.152780)	
-G3470636	Barra Mansa	POINT(-44.171390 -22.544170)	
-G3471766	Araraquara	POINT(-48.175560 -21.794440)	
-G3471859	Araçatuba	POINT(-50.432780 -21.208890)	
-G3471872	Aracaju	POINT(-37.071670 -10.911110)	
-G3472177	Angra dos Reis	POINT(-44.318060 -23.006670)	
-G3472287	Anápolis	POINT(-48.952780 -16.326670)	
-G3472343	Americana	POINT(-47.331390 -22.739170)	
-G3474574	Palmas	POINT(-48.360280 -10.212780)	
-G3662574	Rio Branco	POINT(-67.810000 -9.974720)	
-G3662762	Porto Velho	POINT(-63.903890 -8.761940)	
-G3663517	Manaus	POINT(-60.025000 -3.101940)	
-G3664980	Boa Vista	POINT(-60.673330 2.819720)	
-G6316406	Aparecida de Goiânia	POINT(-49.243890 -16.823330)	
-G6317344	Jaboatão dos Guararapes	POINT(-35.014720 -8.112780)	
-G3571824	Nassau	POINT(-77.343060 25.058230)	
-G933773	Gaborone	POINT(25.908590 -24.654510)	
-G620127	Vitsyebsk	POINT(30.194440 55.192500)	
-G625144	Minsk	POINT(27.566670 53.900000)	
-G625665	Mahilyow	POINT(30.336390 53.913890)	
-G627904	Hrodna	POINT(23.814720 53.681390)	
-G627907	Homyel’	POINT(30.983330 52.441670)	
-G629634	Brest	POINT(23.700000 52.100000)	
-G630429	Baranavichy	POINT(26.033330 53.133330)	
-G630468	Babruysk	POINT(29.233330 53.150000)	
-G5881791	Abbotsford	POINT(-122.252570 49.057980)	
-G5894171	Barrie	POINT(-79.666340 44.400110)	
-G5907364	Brampton	POINT(-79.766330 43.683410)	
-G5911592	Burlington	POINT(-79.837130 43.386210)	
-G5911606	Burnaby	POINT(-122.952630 49.266360)	
-G5913490	Calgary	POINT(-114.085290 51.050110)	
-G5946768	Edmonton	POINT(-113.468710 53.550140)	
-G5959974	Gatineau	POINT(-75.701640 45.477230)	
-G5964700	Greater Sudbury	POINT(-80.990010 46.490000)	
-G5969785	Hamilton	POINT(-79.949640 43.233410)	
-G5992996	Kitchener	POINT(-80.482990 43.450100)	
-G6050610	Laval	POINT(-73.692000 45.569950)	
-G6058560	London	POINT(-81.233040 42.983390)	
-G6059891	Longueuil	POINT(-73.518060 45.531210)	
-G6075357	Mississauga	POINT(-79.658300 43.578900)	
-G6077243	Montréal	POINT(-73.587810 45.508840)	
-G6091104	North York	POINT(-79.416300 43.766810)	
-G6094578	Oshawa	POINT(-78.849570 43.900120)	
-G6094817	Ottawa	POINT(-75.698120 45.411170)	
-G6119109	Regina	POINT(-104.617800 50.450080)	
-G6122085	Richmond	POINT(-123.136830 49.170030)	
-G6141256	Saskatoon	POINT(-106.634520 52.116790)	
-G6159905	Surrey	POINT(-122.825090 49.106350)	
-G6167865	Toronto	POINT(-79.416300 43.700110)	
-G6173331	Vancouver	POINT(-123.119340 49.249660)	
-G6173577	Vaughan	POINT(-79.532910 43.833410)	
-G6174041	Victoria	POINT(-123.369300 48.432940)	
-G6182962	Windsor	POINT(-83.016540 42.300080)	
-G6183235	Winnipeg	POINT(-97.147040 49.884400)	
-G6324729	Halifax	POINT(-63.572390 44.645330)	
-G6325494	Québec	POINT(-71.214540 46.812280)	
-G7602078	Ladner	POINT(-123.082410 49.089380)	
-G204405	Uvira	POINT(29.145830 -3.406670)	
-G204953	Tshikapa	POINT(20.800000 -6.416670)	
-G207570	Mwene-Ditu	POINT(23.450000 -7.000000)	
-G209228	Mbuji-Mayi	POINT(23.600000 -6.150000)	
-G212730	Kisangani	POINT(25.200000 0.516670)	
-G214481	Kananga	POINT(22.417780 -5.895830)	
-G216449	Gandajika	POINT(23.950000 -6.750000)	
-G217562	Butembo	POINT(29.283330 0.150000)	
-G217831	Bukavu	POINT(28.860830 -2.508330)	
-G922704	Lubumbashi	POINT(27.466670 -11.666670)	
-G922741	Likasi	POINT(26.733330 -10.981390)	
-G922773	Kolwezi	POINT(25.472500 -10.716670)	
-G2312895	Mbandaka	POINT(18.266670 0.066670)	
-G2313002	Matadi	POINT(13.450000 -5.816670)	
-G2314302	Kinshasa	POINT(15.321460 -4.324590)	
-G2314705	Kikwit	POINT(18.818060 -5.038610)	
-G2593460	Masina	POINT(15.391390 -4.383610)	
-G2389853	Bangui	POINT(18.554960 4.361220)	
-G2255414	Pointe-Noire	POINT(11.846110 -4.794720)	
-G2260535	Brazzaville	POINT(15.283270 -4.266900)	
-G2657896	Zürich	POINT(8.550000 47.366670)	
-G2660646	Genève	POINT(6.145690 46.202220)	
-G2661604	Basel	POINT(7.600000 47.566670)	
-G2279755	Yamoussoukro	POINT(-5.283330 6.816670)	
-G2282006	San-Pédro	POINT(-6.616670 4.733330)	
-G2286304	Korhogo	POINT(-5.633330 9.450000)	
-G2290486	Daloa	POINT(-6.451940 6.874720)	
-G2290956	Bouaké	POINT(-5.033060 7.683330)	
-G2293521	Abobo	POINT(-4.020560 5.418890)	
-G2293538	Abidjan	POINT(-4.028060 5.341110)	
-G3868121	Viña del Mar	POINT(-71.551830 -33.024570)	
-G3868626	Valparaíso	POINT(-71.627250 -33.039320)	
-G3870011	Temuco	POINT(-72.600000 -38.733330)	
-G3870282	Talcahuano	POINT(-73.116670 -36.716670)	
-G3870294	Talca	POINT(-71.666670 -35.433330)	
-G3871336	Santiago	POINT(-70.566560 -33.426280)	
-G3872348	San Bernardo	POINT(-70.716670 -33.600000)	
-G3873775	Rancagua	POINT(-70.744440 -34.170830)	
-G3874960	Puerto Montt	POINT(-72.936940 -41.471670)	
-G3875024	Puente Alto	POINT(-70.583330 -33.616670)	
-G3884373	La Serena	POINT(-71.254170 -29.907780)	
-G3887127	Iquique	POINT(-70.143060 -20.220830)	
-G3893629	Coquimbo	POINT(-71.343610 -29.953330)	
-G3893894	Concepción	POINT(-73.049770 -36.826990)	
-G3895088	Chillán	POINT(-72.103440 -36.606640)	
-G3899361	Arica	POINT(-70.304170 -18.475000)	
-G3899539	Antofagasta	POINT(-70.400000 -23.650000)	
-G7281017	La Pintana	POINT(-70.634190 -33.583310)	
-G2220957	Yaoundé	POINT(11.516670 3.866670)	
-G2224827	Ngaoundéré	POINT(13.583330 7.316670)	
-G2226275	Mokolo	POINT(13.801880 10.739780)	
-G2228373	Maroua	POINT(14.315920 10.590950)	
-G2229152	Loum	POINT(9.735100 4.718200)	
-G2229798	Kousséri	POINT(15.030630 12.076890)	
-G2231320	Garoua	POINT(13.400000 9.300000)	
-G2232239	Edéa	POINT(10.133330 3.800000)	
-G2232593	Douala	POINT(9.708400 4.046900)	
-G2234359	Bertoua	POINT(13.683330 4.583330)	
-G2234974	Bamenda	POINT(10.158240 5.952660)	
-G2235189	Bafoussam	POINT(10.417860 5.473660)	
-G1280849	Kashi	POINT(75.979720 39.454720)	
-G1529102	Urunchi	POINT(87.583330 43.800000)	
-G1529114	Turpan	POINT(89.166670 42.933330)	
-G1529195	Shihezi	POINT(86.033330 44.300000)	
-G1529376	Korla	POINT(86.146940 41.759720)	
-G1529569	Changji	POINT(87.316670 44.016670)	
-G1529641	Aral	POINT(81.263610 40.515560)	
-G1529660	Aksu	POINT(80.264440 41.123060)	
-G1783621	Zunyi	POINT(106.907220 27.686670)	
-G1783633	Zoucheng	POINT(116.965560 35.400560)	
-G1783745	Zigong	POINT(104.776890 29.341620)	
-G1783763	Zhuzhou	POINT(113.150000 27.833330)	
-G1783873	Zhumadian	POINT(114.029440 32.979440)	
-G1783934	Shangqiu	POINT(115.650000 34.450000)	
-G1784130	Zhoukou	POINT(114.633330 33.633330)	
-G1784554	Zhicheng	POINT(111.504720 30.295560)	
-G1784580	Yizheng	POINT(119.178890 32.269170)	
-G1784642	Zhenjiang	POINT(119.434170 32.209170)	
-G1784658	Zhengzhou	POINT(113.648610 34.757780)	
-G1784853	Zhaoqing	POINT(112.459720 23.051160)	
-G1784990	Zhanjiang	POINT(110.342710 21.281450)	
-G1785018	Zhangzhou	POINT(117.655560 24.513330)	
-G1785286	Zibo	POINT(118.063330 36.790560)	
-G1785294	Anyang	POINT(114.328890 36.099440)	
-G1785453	Zaozhuang	POINT(117.554170 34.864720)	
-G1785462	Zaoyang	POINT(112.754170 32.127220)	
-G1785725	Yunfu	POINT(112.037300 22.930560)	
-G1785738	Yuncheng	POINT(110.992780 35.023060)	
-G1785974	Yuci	POINT(112.731940 37.680280)	
-G1786067	Yuanlin	POINT(112.885950 30.415130)	
-G1786640	Yingcheng	POINT(113.550000 30.950000)	
-G1786657	Yinchuan	POINT(106.273060 38.468060)	
-G1786746	Yichun	POINT(114.400000 27.833330)	
-G1786764	Yichang	POINT(111.284720 30.714440)	
-G1786770	Yibin	POINT(104.623830 28.766670)	
-G1787093	Yantai	POINT(121.400000 37.533330)	
-G1787227	Yangzhou	POINT(119.435830 32.397220)	
-G1787323	Yangshuo	POINT(110.489670 24.780810)	
-G1787351	Yangquan	POINT(113.563330 37.857500)	
-G1787746	Yancheng	POINT(120.125280 33.385560)	
-G1787824	Tongshan	POINT(117.157070 34.180450)	
-G1787858	Xuri	POINT(117.966670 28.466670)	
-G1788046	Xuchang	POINT(113.816670 34.016670)	
-G1788450	Xinzhou	POINT(112.733330 38.409170)	
-G1788534	Xinyang	POINT(114.065560 32.122780)	
-G1788572	Xinxiang	POINT(113.867220 35.308890)	
-G1788618	Xintai	POINT(117.751940 35.900560)	
-G1788694	Xinpu	POINT(119.159440 34.599720)	
-G1788852	Xining	POINT(101.766670 36.616670)	
-G1788927	Xingtai	POINT(114.494170 37.063060)	
-G1789137	Xindi	POINT(113.466670 29.816670)	
-G1789273	Sanshui	POINT(112.891610 23.154860)	
-G1790254	Xiaogan	POINT(113.900000 30.916670)	
-G1790353	Xianyang	POINT(108.702610 34.337780)	
-G1790371	Xiantao	POINT(113.400000 30.383330)	
-G1790396	Xianning	POINT(114.216670 29.883330)	
-G1790437	Zhuhai	POINT(113.567780 22.276940)	
-G1790492	Xiangtan	POINT(112.900000 27.850000)	
-G1790587	Xiangfan	POINT(112.145000 32.041670)	
-G1790630	Xi’an	POINT(108.928610 34.258330)	
-G1790645	Xiamen	POINT(118.081870 24.479790)	
-G1790840	Wuzhou	POINT(111.316670 23.483330)	
-G1790894	Wuxue	POINT(115.552500 29.850580)	
-G1790923	Wuxi	POINT(120.288570 31.568870)	
-G1791121	Changde	POINT(111.678060 29.032220)	
-G1791236	Wuhu	POINT(118.375480 31.336570)	
-G1791247	Wuhan	POINT(114.266670 30.583330)	
-G1791249	Wuhai	POINT(106.812220 39.664720)	
-G1791388	Wenzhou	POINT(120.666820 27.999420)	
-G1791636	Weinan	POINT(109.508910 34.503550)	
-G1791673	Weihai	POINT(122.113610 37.501670)	
-G1791681	Weifang	POINT(119.101940 36.710000)	
-G1791748	Wanxian	POINT(108.389720 30.803890)	
-G1792260	Wafangdian	POINT(122.008060 39.618330)	
-G1792520	Tongzhou	POINT(116.599440 39.905280)	
-G1792621	Wusong	POINT(117.783330 30.950000)	
-G1792947	Tianjin	POINT(117.176670 39.142220)	
-G1793346	Tangshan	POINT(118.183330 39.633330)	
-G1793424	Tanggu	POINT(117.646940 39.021110)	
-G1793505	Taizhou	POINT(119.910630 32.493330)	
-G1793511	Taiyuan	POINT(112.560280 37.869440)	
-G1793724	Tai’an	POINT(117.120000 36.185280)	
-G1793743	Suzhou	POINT(116.978890 33.636110)	
-G1793879	Suizhou	POINT(113.363060 31.711110)	
-G1794903	Shiyan	POINT(110.778060 32.647500)	
-G1794904	Shiyan	POINT(110.783330 32.566670)	
-G1795060	Shiqi	POINT(113.385210 22.516820)	
-G1795196	Tongchuan	POINT(109.089720 35.080560)	
-G1795270	Shijiazhuang	POINT(114.478610 38.041390)	
-G1795565	Shenzhen	POINT(114.068300 22.545540)	
-G1795816	Shashi	POINT(112.244720 30.307220)	
-G1795855	Shaoxing	POINT(120.581110 30.001670)	
-G1795874	Shaoguan	POINT(113.583330 24.800000)	
-G1795928	Shanwei	POINT(115.347500 22.781990)	
-G1795940	Shantou	POINT(116.714790 23.368140)	
-G1796236	Shanghai	POINT(121.458060 31.222220)	
-G1796663	Sanming	POINT(117.618610 26.248610)	
-G1797121	Jieyang	POINT(116.364160 23.528860)	
-G1797132	Rizhao	POINT(119.455280 35.427500)	
-G1797353	Quanzhou	POINT(118.585830 24.913890)	
-G1797595	Qinhuangdao	POINT(119.588330 39.931670)	
-G1797873	Huaiyin	POINT(119.019170 33.588610)	
-G1797929	Qingdao	POINT(120.371940 36.098610)	
-G1797945	Qingyuan	POINT(113.033330 23.700000)	
-G1798422	Puyang	POINT(115.005280 35.702780)	
-G1798425	Puyang	POINT(119.886110 29.460280)	
-G1798449	Putian	POINT(119.010280 25.439440)	
-G1798654	Pingxiang	POINT(113.850000 27.616670)	
-G1798827	Pingdingshan	POINT(113.301190 33.738470)	
-G1798998	Dadukou	POINT(101.705390 26.547900)	
-G1799397	Ningbo	POINT(121.549450 29.878190)	
-G1799491	Neijiang	POINT(105.062160 29.583540)	
-G1799629	Nanyang	POINT(112.532780 32.994720)	
-G1799722	Nantong	POINT(120.874720 32.030280)	
-G1799846	Nanping	POINT(118.173610 26.645000)	
-G1799869	Nanning	POINT(108.316670 22.816670)	
-G1799962	Nanjing	POINT(118.777780 32.061670)	
-G1800146	Nanchong	POINT(106.084740 30.795080)	
-G1800163	Nanchang	POINT(115.883330 28.683330)	
-G1800627	Mianyang	POINT(104.754240 31.459340)	
-G1800657	Mentougou	POINT(116.091670 39.939170)	
-G1801757	Luqiao	POINT(121.377150 28.580840)	
-G1801792	Luoyang	POINT(112.453610 34.683610)	
-G1801934	Luohe	POINT(114.035280 33.571670)	
-G1802204	Luancheng	POINT(114.651670 37.879170)	
-G1802238	Loudi	POINT(111.994440 27.734440)	
-G1802875	Liuyang	POINT(113.633330 28.150000)	
-G1803318	Linyi	POINT(118.342780 35.063060)	
-G1803331	Linxia	POINT(103.206390 35.600280)	
-G1803422	Linhai	POINT(121.116670 28.850000)	
-G1803567	Linfen	POINT(111.518890 36.088890)	
-G1803791	Licheng	POINT(113.828360 23.295540)	
-G1803834	Liaocheng	POINT(115.964720 36.443890)	
-G1804153	Leshan	POINT(103.763860 29.562280)	
-G1804386	Laohekou	POINT(111.667780 32.385830)	
-G1804430	Lanzhou	POINT(103.792220 36.056390)	
-G1804540	Langfang	POINT(116.694720 39.509720)	
-G1804586	Laiyang	POINT(120.713610 36.975830)	
-G1804651	Kunming	POINT(102.718330 25.038890)	
-G1804850	Kaiyuan	POINT(103.303720 23.697670)	
-G1804879	Kaifeng	POINT(114.348330 34.791110)	
-G1805179	Jiujiang	POINT(115.983330 29.733330)	
-G1805298	Jinzhou	POINT(121.716670 39.100000)	
-G1805518	Jining	POINT(116.581390 35.405000)	
-G1805540	Jingzhou	POINT(112.190280 30.350280)	
-G1805611	Jingmen	POINT(112.204720 31.033610)	
-G1805618	Jingling	POINT(113.100000 30.650000)	
-G1805680	Jingdezhen	POINT(117.207890 29.294700)	
-G1805741	Jincheng	POINT(112.832780 35.502220)	
-G1805753	Jinan	POINT(116.997220 36.668330)	
-G1805953	Jiaxing	POINT(120.748330 30.765560)	
-G1805987	Jiaozuo	POINT(113.233060 35.239720)	
-G1806096	Jiaozhou	POINT(120.003330 36.283890)	
-G1806299	Jiangmen	POINT(113.083330 22.583330)	
-G1806408	Yangjiang	POINT(111.966670 21.850000)	
-G1806445	Ji’an	POINT(114.979270 27.117160)	
-G1806466	Guangyuan	POINT(105.823000 32.442020)	
-G1806535	Huzhou	POINT(120.096390 30.866110)	
-G1806696	Humen	POINT(113.673060 22.818980)	
-G1806776	Huizhou	POINT(114.400000 23.083330)	
-G1806882	Xinhui	POINT(113.048200 22.456000)	
-G1807143	Huangyan	POINT(121.259440 28.647780)	
-G1807234	Huangshi	POINT(115.100000 30.216670)	
-G1807508	Huanggang	POINT(116.999610 23.677040)	
-G1807681	Huainan	POINT(116.996940 32.626390)	
-G1807700	Huaibei	POINT(116.791670 33.974440)	
-G1808198	Heze	POINT(115.441110 35.243060)	
-G1808316	Yiyang	POINT(112.328330 28.589170)	
-G1808370	Hengyang	POINT(112.615000 26.888060)	
-G1808392	Hengshui	POINT(115.701110 37.732220)	
-G1808722	Hefei	POINT(117.280830 31.863890)	
-G1808770	Hebi	POINT(114.192500 35.899170)	
-G1808926	Hangzhou	POINT(120.168890 30.255280)	
-G1808931	Hangu	POINT(117.789170 39.248890)	
-G1808963	Handan	POINT(114.467780 36.600560)	
-G1809061	Jiaojiang	POINT(121.442780 28.680280)	
-G1809078	Haikou	POINT(110.341670 20.045830)	
-G1809412	Guli	POINT(120.033330 28.883330)	
-G1809461	Guiyang	POINT(106.716670 26.583330)	
-G1809498	Guilin	POINT(110.286390 25.281940)	
-G1809858	Guangzhou	POINT(113.250000 23.116670)	
-G1809879	Guangshui	POINT(113.997800 31.619900)	
-G1810295	Gaozhou	POINT(110.846070 21.939240)	
-G1810437	Gaoping	POINT(106.102940 30.775760)	
-G1810458	Gaomi	POINT(119.752780 36.383330)	
-G1810821	Fuzhou	POINT(119.306110 26.061390)	
-G1810845	Fuyang	POINT(115.816670 32.900000)	
-G1810979	Fuling	POINT(107.391940 29.702220)	
-G1811103	Foshan	POINT(113.131480 23.026770)	
-G1811619	Ezhou	POINT(114.833330 30.400000)	
-G1812101	Dongying	POINT(118.485560 37.456390)	
-G1812521	Donghai	POINT(115.642040 22.945940)	
-G1812545	Dongguan	POINT(113.744720 23.048890)	
-G1812728	Dingzhou	POINT(114.995560 38.513060)	
-G1812955	Dezhou	POINT(116.292500 37.448610)	
-G1812961	Deyang	POINT(104.381980 31.130190)	
-G1813253	Dayan	POINT(100.220720 26.868790)	
-G1814082	Daliang	POINT(113.247010 22.850420)	
-G1814087	Dalian	POINT(121.602220 38.912220)	
-G1814757	Chuzhou	POINT(118.297780 32.321940)	
-G1814786	Yangchun	POINT(111.783330 22.166670)	
-G1814906	Chongqing	POINT(106.552780 29.562780)	
-G1815059	Chenzhou	POINT(113.033330 25.800000)	
-G1815286	Chengdu	POINT(104.066670 30.666670)	
-G1815302	Chenghua	POINT(116.770070 23.461320)	
-G1815395	Chaozhou	POINT(116.637860 23.665130)	
-G1815456	Changzhou	POINT(119.966670 31.783330)	
-G1815463	Changzhi	POINT(111.738610 35.208890)	
-G1815577	Changsha	POINT(112.966670 28.200000)	
-G1816080	Cangzhou	POINT(116.866670 38.316670)	
-G1816234	Bozhou	POINT(115.770280 33.877220)	
-G1816265	Boshan	POINT(117.833330 36.483330)	
-G1816440	Bengbu	POINT(117.360830 32.940830)	
-G1816670	Beijing	POINT(116.397230 39.907500)	
-G1816705	Beihai	POINT(109.100000 21.483330)	
-G1816971	Baoding	POINT(115.490280 38.851110)	
-G1817240	Baiyin	POINT(104.208060 36.558330)	
-G1817720	Shangyu	POINT(120.871110 30.015560)	
-G1817968	Anshun	POINT(105.933330 26.250000)	
-G1817993	Anqing	POINT(117.050560 30.509170)	
-G1818116	Anbu	POINT(116.680920 23.448950)	
-G1886760	Suzhou	POINT(120.618060 31.311390)	
-G1915223	Zhongshan	POINT(110.582910 21.322560)	
-G1919014	Lianghu	POINT(120.898450 29.991520)	
-G1927639	Yueyang	POINT(113.091940 29.333330)	
-G2033168	Zhaodong	POINT(125.983330 46.083330)	
-G2033196	Zhangjiakou	POINT(114.879440 40.810000)	
-G2033370	Yingkou	POINT(122.224720 40.668060)	
-G2033413	Yichun	POINT(128.900000 47.700000)	
-G2033467	Yanji	POINT(129.507780 42.907500)	
-G2033574	Xuanhua	POINT(115.044720 40.610280)	
-G2034312	Ulan Hot	POINT(122.083330 46.083330)	
-G2034400	Tongliao	POINT(122.265280 43.612500)	
-G2034439	Tieling	POINT(123.841390 42.293060)	
-G2034655	Suihua	POINT(126.996940 46.640560)	
-G2034714	Siping	POINT(124.368610 43.163330)	
-G2034786	Shuangyashan	POINT(131.153890 46.636110)	
-G2034937	Shenyang	POINT(123.432780 41.792220)	
-G2035225	Ranghulu	POINT(124.866670 46.650000)	
-G2035261	Qitaihe	POINT(130.850000 45.800000)	
-G2035265	Qiqihar	POINT(123.967220 47.340830)	
-G2035513	Panshan	POINT(122.049440 41.188060)	
-G2035644	Nanpiao	POINT(120.747920 41.098220)	
-G2035715	Mudanjiang	POINT(129.600000 44.583330)	
-G2035980	Longfeng	POINT(125.116670 46.550000)	
-G2036109	Liaoyuan	POINT(125.135830 42.903610)	
-G2036113	Liaoyang	POINT(123.173060 41.271940)	
-G2036389	Jixi	POINT(130.966670 45.300000)	
-G2036401	Jiutai	POINT(125.832780 44.152500)	
-G2036427	Jinzhou	POINT(121.141670 41.107780)	
-G2036434	Lianshan	POINT(120.853270 40.764320)	
-G2036458	Jining	POINT(113.105830 41.027500)	
-G2036502	Jilin	POINT(126.560280 43.850830)	
-G2036581	Jiamusi	POINT(130.350000 46.833330)	
-G2036670	Hulan Ergi	POINT(123.633330 47.204170)	
-G2036892	Hohhot	POINT(111.652220 40.810560)	
-G2036920	Hengshan	POINT(130.916670 45.200000)	
-G2036986	Hegang	POINT(130.366670 47.400000)	
-G2037013	Harbin	POINT(126.650000 45.750000)	
-G2037078	Hailar	POINT(119.700000 49.200000)	
-G2037086	Haicheng	POINT(122.741670 40.851940)	
-G2037346	Fuxin	POINT(121.658890 42.015560)	
-G2037355	Fushun	POINT(123.923330 41.855830)	
-G2037620	Dongling	POINT(123.575830 41.814440)	
-G2037799	Datong	POINT(113.291390 40.093610)	
-G2037860	Daqing	POINT(125.000000 46.583330)	
-G2037886	Dandong	POINT(124.394720 40.129170)	
-G2038067	Chifeng	POINT(118.963610 42.268330)	
-G2038087	Chengde	POINT(117.936110 40.972500)	
-G2038120	Chaoyang	POINT(120.458610 41.570280)	
-G2038180	Changchun	POINT(125.322780 43.880000)	
-G2038300	Benxi	POINT(123.765000 41.288610)	
-G2038342	Beipiao	POINT(120.779170 41.791940)	
-G2038432	Baotou	POINT(109.822220 40.652220)	
-G2038569	Baicheng	POINT(122.816670 45.616670)	
-G2038584	Baishan	POINT(126.428610 41.943060)	
-G2038632	Anshan	POINT(122.990000 41.123610)	
-G2038650	Anda	POINT(125.316670 46.400000)	
-G7158935	东海岛	POINT(110.396130 21.024480)	
-G7283386	Changshu City	POINT(120.742210 31.646150)	
-G7304020	Fenghuang	POINT(109.599610 27.935570)	
-G7602670	Zhu Cheng City	POINT(119.402590 35.995020)	
-G3665900	Villavicencio	POINT(-73.626640 4.142000)	
-G3666304	Valledupar	POINT(-73.250560 10.476940)	
-G3666645	Tuluá	POINT(-76.200000 4.086670)	
-G3667849	Soledad	POINT(-74.766670 10.917220)	
-G3667905	Soacha	POINT(-74.221390 4.587220)	
-G3667983	Sincelejo	POINT(-75.397780 9.304720)	
-G3668605	Santa Marta	POINT(-74.201670 11.247220)	
-G3671916	Popayán	POINT(-76.613160 2.438230)	
-G3672486	Pereira	POINT(-75.696110 4.813330)	
-G3672778	Pasto	POINT(-77.281110 1.213610)	
-G3673164	Palmira	POINT(-76.303610 3.539440)	
-G3673899	Neiva	POINT(-75.281880 2.927300)	
-G3674453	Montería	POINT(-75.890000 8.757500)	
-G3674962	Medellín	POINT(-75.536110 6.291390)	
-G3675443	Manizales	POINT(-75.520560 5.070000)	
-G3680450	Itagüí	POINT(-75.611390 6.171940)	
-G3680656	Ibagué	POINT(-75.232220 4.438890)	
-G3682385	Floridablanca	POINT(-73.089720 7.064720)	
-G3682631	Envigado	POINT(-75.563890 6.173060)	
-G3685095	Dos Quebradas	POINT(-75.672500 4.834720)	
-G3685533	Cúcuta	POINT(-72.505280 7.883330)	
-G3687238	Cartagena	POINT(-75.514440 10.399720)	
-G3687925	Cali	POINT(-76.522500 3.437220)	
-G3688451	Buenaventura	POINT(-77.069720 3.893330)	
-G3688465	Bucaramanga	POINT(-73.125830 7.129720)	
-G3688689	Bogotá	POINT(-74.081750 4.609710)	
-G3688928	Bello	POINT(-75.562220 6.338890)	
-G3689147	Barranquilla	POINT(-74.796390 10.963890)	
-G3689169	Barrancabermeja	POINT(-73.854720 7.065280)	
-G3689560	Armenia	POINT(-75.681110 4.533890)	
-G3621849	San José	POINT(-84.083330 9.933330)	
-G3536729	Santiago de Cuba	POINT(-75.821940 20.024720)	
-G3537906	Santa Clara	POINT(-79.966670 22.400000)	
-G3544091	Pinar del Río	POINT(-83.698060 22.417500)	
-G3550598	Las Tunas	POINT(-76.951110 20.961670)	
-G3553478	Havana	POINT(-82.383040 23.133020)	
-G3556969	Holguín	POINT(-76.263060 20.887220)	
-G3557689	Guantánamo	POINT(-75.209170 20.144440)	
-G3564124	Cienfuegos	POINT(-80.435560 22.146110)	
-G3566067	Camagüey	POINT(-77.916940 21.380830)	
-G3567597	Bayamo	POINT(-76.643330 20.379170)	
-G146268	Nicosia	POINT(33.366670 35.166670)	
-G146384	Limassol	POINT(33.033330 34.675000)	
-G3067696	Praha	POINT(14.420760 50.088040)	
-G3068160	Plzeň	POINT(13.377590 49.747470)	
-G3068799	Ostrava	POINT(18.282040 49.834650)	
-G3078610	Brno	POINT(16.607960 49.195220)	
-G2805753	Wuppertal	POINT(7.183330 51.266670)	
-G2809346	Wiesbaden	POINT(8.250000 50.083330)	
-G2825297	Stuttgart	POINT(9.177020 48.782320)	
-G2831580	Solingen	POINT(7.083330 51.183330)	
-G2842647	Saarbrücken	POINT(7.000000 49.233330)	
-G2844588	Rostock	POINT(12.140490 54.088700)	
-G2848756	Berlin Reinickendorf	POINT(13.333330 52.566670)	
-G2855598	Berlin Pankow	POINT(13.401860 52.569260)	
-G2856883	Osnabrück	POINT(8.050000 52.266670)	
-G2857458	Oldenburg	POINT(8.200000 53.166670)	
-G2860410	Oberhausen	POINT(6.850000 51.466670)	
-G2861650	Nuremberg	POINT(11.068330 49.447780)	
-G2864072	Neue Neustadt	POINT(11.633330 52.150000)	
-G2864118	Neuß	POINT(6.683330 51.200000)	
-G2867543	Münster	POINT(7.625710 51.962360)	
-G2867714	München	POINT(11.575490 48.137430)	
-G2867838	Mülheim an der Ruhr	POINT(6.883330 51.433330)	
-G2869894	Mönchengladbach	POINT(6.433330 51.200000)	
-G2873891	Mannheim	POINT(8.464720 49.488330)	
-G2874225	Mainz	POINT(8.271110 50.000000)	
-G2874545	Magdeburg	POINT(11.666670 52.166670)	
-G2875376	Ludwigshafen am Rhein	POINT(8.435280 49.481110)	
-G2875601	Lübeck	POINT(10.687290 53.868930)	
-G2878234	Leverkusen	POINT(7.000000 51.033330)	
-G2879139	Leipzig	POINT(12.371290 51.339620)	
-G2884509	Krefeld	POINT(6.566670 51.333330)	
-G2886242	Köln	POINT(6.950000 50.933330)	
-G2891122	Kiel	POINT(10.134890 54.321330)	
-G2892518	Kassel	POINT(9.500000 51.316670)	
-G2892794	Karlsruhe	POINT(8.385830 49.004720)	
-G2905891	Herne	POINT(7.216670 51.550000)	
-G2910685	Harburg	POINT(9.983330 53.466670)	
-G2910831	Hannover	POINT(9.733220 52.370520)	
-G2911240	Hamm	POINT(7.820890 51.680330)	
-G2911285	Wandsbek	POINT(10.100000 53.566670)	
-G2911287	Marienthal	POINT(10.083330 53.566670)	
-G2911293	Eimsbüttel	POINT(9.983330 53.566670)	
-G2911296	Altona	POINT(9.933330 53.550000)	
-G2911298	Hamburg	POINT(10.000000 53.550000)	
-G2911522	Halle	POINT(12.000000 51.500000)	
-G2912621	Hagen	POINT(7.466670 51.350000)	
-G2921466	Gelsenkirchen	POINT(7.050000 51.516670)	
-G2925177	Freiburg	POINT(7.852220 47.995900)	
-G2925533	Frankfurt am Main	POINT(8.683330 50.116670)	
-G2928810	Essen	POINT(7.016670 51.450000)	
-G2929670	Erfurt	POINT(11.033330 50.983330)	
-G2934246	Düsseldorf	POINT(6.776160 51.221720)	
-G2934691	Duisburg	POINT(6.750000 51.433330)	
-G2935022	Dresden	POINT(13.738320 51.050890)	
-G2935517	Dortmund	POINT(7.450000 51.516670)	
-G2940132	Chemnitz	POINT(12.916670 50.833330)	
-G2944388	Bremen	POINT(8.807770 53.075160)	
-G2945024	Braunschweig	POINT(10.533330 52.266670)	
-G2946447	Bonn	POINT(7.100000 50.733330)	
-G2947416	Bochum	POINT(7.216670 51.483330)	
-G2949186	Bielefeld	POINT(8.533330 52.033330)	
-G2950159	Berlin	POINT(13.410530 52.524370)	
-G2954172	Augsburg	POINT(10.883330 48.366670)	
-G3247449	Aachen	POINT(6.083420 50.776640)	
-G6545310	Berlin Mitte	POINT(13.404890 52.520030)	
-G6941055	Bochum-Hordel	POINT(7.175600 51.501680)	
-G7289614	Halle Neustadt	POINT(11.916050 51.479240)	
-G7290245	Berlin Steglitz Zehlendorf	POINT(13.241830 52.434850)	
-G7290251	Berlin Wilmersdorf	POINT(13.290970 52.500970)	
-G7290252	Berlin Spandau	POINT(13.199210 52.551100)	
-G223817	Djibouti	POINT(43.144680 11.587670)	
-G2618425	Copenhagen	POINT(12.565530 55.675940)	
-G2624652	Århus	POINT(10.210760 56.156740)	
-G3492908	Santo Domingo	POINT(-69.988570 18.500120)	
-G3492914	Santiago de los Caballeros	POINT(-70.700000 19.450000)	
-G3493032	San Pedro de Macorís	POINT(-69.297180 18.461560)	
-G3500957	La Romana	POINT(-68.972850 18.427340)	
-G3511540	San Cristóbal	POINT(-70.100000 18.416670)	
-G2474141	Boumerdas	POINT(3.477170 36.766390)	
-G2479536	Skikda	POINT(6.909210 36.876170)	
-G2481007	Sidi Bel Abbès	POINT(-0.630850 35.189940)	
-G2485926	Oran	POINT(-0.641670 35.691110)	
-G2498766	El Achir	POINT(4.627440 36.063860)	
-G2498954	Ech Chettia	POINT(1.255380 36.195910)	
-G2501152	Constantine	POINT(6.614720 36.365000)	
-G2505329	Bejaïa	POINT(5.084330 36.755870)	
-G2505572	Batna	POINT(6.174140 35.555970)	
-G2505854	Bab Ezzouar	POINT(3.182910 36.726150)	
-G2506999	Annaba	POINT(7.766670 36.900000)	
-G2507480	Algiers	POINT(3.041970 36.752500)	
-G3651297	Santo Domingo de los Colorados	POINT(-79.150000 -0.250000)	
-G3652462	Quito	POINT(-78.524950 -0.229850)	
-G3652941	Portoviejo	POINT(-80.450000 -1.050000)	
-G3654410	Manta	POINT(-80.733330 -0.950000)	
-G3654533	Machala	POINT(-79.966670 -3.266670)	
-G3657509	Guayaquil	POINT(-79.900000 -2.166670)	
-G3658192	Durán	POINT(-79.833330 -2.200000)	
-G3658666	Cuenca	POINT(-78.983330 -2.883330)	
-G3660689	Ambato	POINT(-78.616750 -1.249080)	
-G588409	Tallinn	POINT(24.753530 59.436960)	
-G347497	Tanda	POINT(30.998060 30.791110)	
-G347591	Ṭalkha	POINT(31.373890 31.053060)	
-G347796	Sūhāj	POINT(31.700000 26.550000)	
-G350550	Qinā	POINT(32.727220 26.170000)	
-G354775	Kafr ad Dawwār	POINT(30.128430 31.133850)	
-G355795	Hilwan	POINT(31.333330 29.850000)	
-G358448	Damanhûr	POINT(30.466670 31.033330)	
-G358619	Port Said	POINT(32.307500 31.280560)	
-G359173	Banī Suwayf	POINT(31.088890 29.063890)	
-G359280	Banhā	POINT(31.187500 30.460830)	
-G359493	Az Zaqāzīq	POINT(31.510280 30.591390)	
-G359783	Asyūţ	POINT(31.182780 27.182780)	
-G359792	Aswān	POINT(32.898890 24.087500)	
-G359796	Suez	POINT(32.550000 29.966670)	
-G360502	Luxor	POINT(32.642100 25.698930)	
-G360630	Cairo	POINT(31.249670 30.062630)	
-G360686	Al Minyā	POINT(30.744440 28.119440)	
-G360761	Al Manşūrah	POINT(31.376670 31.043060)	
-G360829	Al Maḩallah al Kubrá	POINT(31.166940 30.976110)	
-G360995	Al Jīzah	POINT(31.212220 30.008610)	
-G361055	Ismailia	POINT(32.277220 30.605280)	
-G361058	Alexandria	POINT(29.919170 31.198060)	
-G361320	Al Fayyūm	POINT(30.840000 29.307780)	
-G411165	Idfu	POINT(32.874720 24.980280)	
-G2462881	Laâyoune / El Aaiún	POINT(-13.203150 27.162240)	
-G343300	Asmara	POINT(38.933330 15.333330)	
-G2509954	Valencia	POINT(-0.377390 39.469750)	
-G2510911	Sevilla	POINT(-5.986940 37.377220)	
-G2511174	Santa Cruz de Tenerife	POINT(-16.254620 28.468240)	
-G2511401	La Laguna	POINT(-16.316670 28.483330)	
-G2512989	Palma	POINT(2.650240 39.569390)	
-G2513416	Murcia	POINT(-1.116670 37.983330)	
-G2514256	Málaga	POINT(-4.420340 36.720160)	
-G2515270	Las Palmas de Gran Canaria	POINT(-15.416670 28.100000)	
-G2516326	Jerez de la Frontera	POINT(-6.133330 36.683330)	
-G2517117	Granada	POINT(-3.606670 37.188170)	
-G2518559	Elx	POINT(-0.701070 38.262180)	
-G2519240	Córdoba	POINT(-4.766670 37.883330)	
-G2519752	Castelló de la Plana	POINT(-0.033330 39.983330)	
-G2520058	Cartagena	POINT(-0.983330 37.600000)	
-G2521886	Almería	POINT(-2.459740 36.838140)	
-G2521978	Alicante	POINT(-0.481490 38.345170)	
-G2522258	Albacete	POINT(-1.850000 38.983330)	
-G3104324	Zaragoza	POINT(-0.877340 41.656060)	
-G3104499	Vitoria-Gasteiz	POINT(-2.666670 42.850000)	
-G3105976	Vigo	POINT(-8.716670 42.233330)	
-G3106672	Valladolid	POINT(-4.716670 41.650000)	
-G3108286	Terrassa	POINT(2.016670 41.566670)	
-G3109718	Santander	POINT(-3.804440 43.464720)	
-G3110044	San Sebastián	POINT(-1.974990 43.312830)	
-G3111108	Salamanca	POINT(-5.650000 40.966670)	
-G3111199	Sabadell	POINT(2.109420 41.543290)	
-G3114472	Pamplona	POINT(-1.643230 42.816870)	
-G3114711	Oviedo	POINT(-5.844760 43.360290)	
-G3116025	Móstoles	POINT(-3.864960 40.322340)	
-G3117735	Madrid	POINT(-3.702560 40.416500)	
-G3118150	Logroño	POINT(-2.450000 42.466670)	
-G3118594	Leganés	POINT(-3.763500 40.327180)	
-G3119841	A Coruña	POINT(-8.396000 43.371350)	
-G3120619	L'Hospitalet de Llobregat	POINT(2.100280 41.359670)	
-G3121424	Gijón	POINT(-5.664440 43.541110)	
-G3121437	Getafe	POINT(-3.732950 40.305710)	
-G3121960	Fuenlabrada	POINT(-3.800000 40.283330)	
-G3127461	Burgos	POINT(-3.700000 42.350000)	
-G3128026	Bilbao	POINT(-2.925280 43.262710)	
-G3128760	Barcelona	POINT(2.158990 41.388790)	
-G3129028	Badalona	POINT(2.247410 41.450040)	
-G3130564	Alcorcón	POINT(-3.824870 40.345820)	
-G3130616	Alcalá de Henares	POINT(-3.366670 40.483330)	
-G6252065	Nou Barris	POINT(2.177270 41.441630)	
-G6544100	Eixample	POINT(2.161790 41.388960)	
-G6544105	Sant Martí	POINT(2.199330 41.418140)	
-G330186	Nazrēt	POINT(39.266670 8.550000)	
-G331180	Mek’elē	POINT(39.475280 13.496670)	
-G336014	Gonder	POINT(37.466670 12.600000)	
-G338832	Dirē Dawa	POINT(41.866110 9.593060)	
-G342884	Bahir Dar	POINT(37.383330 11.600000)	
-G344979	Addis Ababa	POINT(38.746890 9.024970)	
-G632453	Vantaa	POINT(25.040990 60.294140)	
-G633679	Turku	POINT(22.268690 60.451480)	
-G634963	Tampere	POINT(23.787120 61.499110)	
-G658225	Helsinki	POINT(24.935450 60.169520)	
-G660158	Espoo	POINT(24.652200 60.205200)	
-G2972315	Toulouse	POINT(1.443670 43.604260)	
-G2972328	Toulon	POINT(5.933330 43.116670)	
-G2973783	Strasbourg	POINT(7.742960 48.583420)	
-G2980291	Saint-Étienne	POINT(4.400000 45.433330)	
-G2983990	Rennes	POINT(-1.683330 48.083330)	
-G2984114	Reims	POINT(4.033330 49.250000)	
-G2988507	Paris	POINT(2.348800 48.853410)	
-G2990440	Nice	POINT(7.266080 43.703130)	
-G2990969	Nantes	POINT(-1.553360 47.217250)	
-G2992166	Montpellier	POINT(3.883330 43.600000)	
-G2995469	Marseille	POINT(5.381070 43.296950)	
-G2996944	Lyon	POINT(4.850000 45.750000)	
-G2998324	Lille	POINT(3.066670 50.633330)	
-G3003796	Le Havre	POINT(0.107670 49.493800)	
-G3014728	Grenoble	POINT(5.716670 45.166670)	
-G3031582	Bordeaux	POINT(-0.566670 44.833330)	
-G3037656	Angers	POINT(-0.550000 47.466670)	
-G2399697	Libreville	POINT(9.450000 0.383330)	
-G2633691	Wolverhampton	POINT(-2.122960 52.585470)	
-G2634853	Walsall	POINT(-1.983960 52.585280)	
-G2636389	Swindon	POINT(-1.781160 51.557970)	
-G2636432	Swansea	POINT(-3.943230 51.620790)	
-G2636503	Sutton	POINT(-0.200000 51.350000)	
-G2636531	Sunderland	POINT(-1.382220 54.904650)	
-G2636841	Stoke-on-Trent	POINT(-2.185380 53.004150)	
-G2637433	Southend-on-Sea	POINT(0.714330 51.537820)	
-G2637487	Southampton	POINT(-1.404280 50.903950)	
-G2638077	Sheffield	POINT(-1.465900 53.382970)	
-G2639577	Reading	POINT(-0.971130 51.456250)	
-G2639912	Preston	POINT(-2.716670 53.766670)	
-G2639996	Portsmouth	POINT(-1.091250 50.798990)	
-G2640101	Poole	POINT(-2.000000 50.716670)	
-G2640194	Plymouth	POINT(-4.143050 50.371530)	
-G2640729	Oxford	POINT(-1.255960 51.752220)	
-G2641170	Nottingham	POINT(-1.150470 52.953600)	
-G2641181	Norwich	POINT(1.298340 52.627830)	
-G2641430	Northampton	POINT(-0.883330 52.250000)	
-G2641673	Newcastle upon Tyne	POINT(-1.613960 54.973280)	
-G2642465	Milton Keynes	POINT(-0.755830 52.041720)	
-G2643123	Manchester	POINT(-2.237430 53.480950)	
-G2643339	Luton	POINT(-0.417480 51.879670)	
-G2643741	City of London	POINT(-0.091840 51.512790)	
-G2643743	London	POINT(-0.125740 51.508530)	
-G2644210	Liverpool	POINT(-2.977940 53.410580)	
-G2644668	Leicester	POINT(-1.131690 52.638600)	
-G2644688	Leeds	POINT(-1.547850 53.796480)	
-G2645425	Hull	POINT(-0.335250 53.744600)	
-G2646003	Islington	POINT(-0.103040 51.536220)	
-G2648579	Glasgow	POINT(-4.257630 55.865150)	
-G2650225	Edinburgh	POINT(-3.196480 55.952060)	
-G2650752	Dundee	POINT(-2.966670 56.500000)	
-G2650839	Dudley	POINT(-2.083330 52.500000)	
-G2651347	Derby	POINT(-1.476630 52.922770)	
-G2652221	Coventry	POINT(-1.512170 52.406560)	
-G2653822	Cardiff	POINT(-3.180000 51.480000)	
-G2654675	Bristol	POINT(-2.596650 51.455230)	
-G2654993	Bradford	POINT(-1.752060 53.793910)	
-G2655095	Bournemouth	POINT(-1.879500 50.720480)	
-G2655603	Birmingham	POINT(-1.899830 52.481420)	
-G2655984	Belfast	POINT(-5.933330 54.583330)	
-G2657832	Aberdeen	POINT(-2.098140 57.143690)	
-G7535661	London Borough of Harrow	POINT(-0.333330 51.566670)	
-G611717	Tbilisi	POINT(44.833680 41.694110)	
-G613607	K'ut'aisi	POINT(42.699740 42.249610)	
-G2294700	Tema	POINT(-0.016670 5.616670)	
-G2294877	Tamale	POINT(-0.833330 9.400000)	
-G2294915	Takoradi	POINT(-1.750000 4.883330)	
-G2298890	Kumasi	POINT(-1.616670 6.683330)	
-G2306079	Achiaman	POINT(-0.333330 5.700000)	
-G2306104	Accra	POINT(-0.196900 5.556020)	
-G2422465	Conakry	POINT(-13.677290 9.537950)	
-G2422488	Camayenne	POINT(-13.687780 9.535000)	
-G2309527	Malabo	POINT(8.783330 3.750000)	
-G2310046	Bata	POINT(9.750000 1.850000)	
-G255274	Piraeus	POINT(23.637080 37.947450)	
-G255683	Pátrai	POINT(21.734440 38.244440)	
-G264371	Athens	POINT(23.716220 37.979450)	
-G734077	Thessaloníki	POINT(22.943890 40.640280)	
-G3587902	Villa Nueva	POINT(-90.587500 14.526940)	
-G3592519	Mixco	POINT(-90.606390 14.633330)	
-G3598132	Guatemala City	POINT(-90.513270 14.640720)	
-G2374775	Bissau	POINT(-15.583330 11.850000)	
-G3378644	Georgetown	POINT(-58.155270 6.804480)	
-G1819609	Kowloon	POINT(114.183330 22.316670)	
-G1819729	Hong Kong	POINT(114.157690 22.285520)	
-G3600949	Tegucigalpa	POINT(-87.206810 14.081800)	
-G3601782	San Pedro Sula	POINT(-88.033330 15.500000)	
-G3186886	Zagreb	POINT(15.977980 45.814440)	
-G3190261	Split	POINT(16.439150 43.508910)	
-G6618983	Zagreb - Centar	POINT(15.977530 45.813130)	
-G3718426	Port-au-Prince	POINT(-72.335000 18.539170)	
-G3719028	Pétionville	POINT(-72.285280 18.512500)	
-G3726786	Delmas 73	POINT(-72.302780 18.544720)	
-G3727135	Croix des Bouquets	POINT(-72.225000 18.575000)	
-G3728338	Carrefour	POINT(-72.399220 18.541140)	
-G715429	Szeged	POINT(20.148240 46.253000)	
-G717582	Miskolc	POINT(20.783330 48.100000)	
-G721472	Debrecen	POINT(21.633330 47.533330)	
-G3046526	Pécs	POINT(18.233330 46.083330)	
-G3054643	Budapest	POINT(19.039910 47.498010)	
-G6942354	Nagyvárad	POINT(21.927340 47.060530)	
-G1213614	Sunggal	POINT(98.615100 3.576500)	
-G1214189	Percut	POINT(98.864000 3.625300)	
-G1214191	Perbaungan	POINT(98.956000 3.567900)	
-G1214204	Pematangsiantar	POINT(99.068700 2.959500)	
-G1214520	Medan	POINT(98.666670 3.583330)	
-G1215355	Binjai	POINT(98.485400 3.600100)	
-G1215502	Banda Aceh	POINT(95.322200 5.557700)	
-G1621177	Yogyakarta	POINT(110.360830 -7.782780)	
-G1622786	Makassar	POINT(119.422100 -5.140000)	
-G1624494	Tegal	POINT(109.140200 -6.869400)	
-G1624647	Tasikmalaya	POINT(108.200000 -7.333330)	
-G1624917	Bandarlampung	POINT(105.258030 -5.425440)	
-G1625084	Tangerang	POINT(106.630000 -6.178060)	
-G1625812	Surakarta	POINT(110.831670 -7.556110)	
-G1625822	Surabaya	POINT(112.750830 -7.249170)	
-G1626100	Sumedang Utara	POINT(107.916670 -6.850000)	
-G1626381	Sukabumi	POINT(106.926670 -6.918060)	
-G1626560	Soreang	POINT(107.518330 -7.033060)	
-G1626801	Situbondo	POINT(114.009760 -7.706230)	
-G1627549	Serang	POINT(106.150200 -6.114900)	
-G1627896	Semarang	POINT(110.420300 -6.993200)	
-G1629001	Samarinda	POINT(117.150000 -0.500000)	
-G1629131	Salatiga	POINT(110.492780 -7.331940)	
-G1629710	Rengasdengklok	POINT(107.298060 -6.159170)	
-G1630328	Purwokerto	POINT(109.234440 -7.421390)	
-G1630333	Purwodadi	POINT(110.915800 -7.086800)	
-G1630341	Purwakarta	POINT(107.443330 -6.556940)	
-G1630634	Probolinggo	POINT(113.215900 -7.754300)	
-G1630789	Pontianak	POINT(109.333330 -0.033330)	
-G1630997	Plumbon	POINT(108.472780 -6.705000)	
-G1631648	Pemalang	POINT(109.366670 -6.900000)	
-G1631761	Pekanbaru	POINT(101.450000 0.533330)	
-G1631766	Pekalongan	POINT(109.675300 -6.888600)	
-G1632033	Pasuruan	POINT(112.907500 -7.645300)	
-G1632228	Pasarkemis	POINT(106.530280 -6.170280)	
-G1632276	Parung	POINT(106.733060 -6.421390)	
-G1632937	Pamulang	POINT(106.738330 -6.342780)	
-G1633034	Palu	POINT(119.870700 -0.891700)	
-G1633070	Palembang	POINT(104.745800 -2.916730)	
-G1633419	Padang	POINT(100.354270 -0.949240)	
-G1635882	Mataram	POINT(116.116670 -8.583330)	
-G1636544	Manado	POINT(124.845500 1.487000)	
-G1636556	Mamuju	POINT(118.888500 -2.674800)	
-G1636722	Malang	POINT(112.630400 -7.979700)	
-G1636930	Madiun	POINT(111.523900 -7.629800)	
-G1637510	Loa Janan	POINT(117.095030 -0.582950)	
-G1638063	Lembang	POINT(107.617500 -6.811670)	
-G1638284	Lawang	POINT(112.694700 -7.835300)	
-G1638868	Labuhanbajo	POINT(119.887700 -8.496400)	
-G1640344	Kendari	POINT(122.498890 -3.945000)	
-G1640660	Kediri	POINT(112.016670 -7.816670)	
-G1642588	Jember	POINT(113.703170 -8.166040)	
-G1642858	Jambi	POINT(103.616670 -1.600000)	
-G1642911	Jakarta	POINT(106.845130 -6.214620)	
-G1645524	Depok	POINT(106.818610 -6.400000)	
-G1645528	Denpasar	POINT(115.216670 -8.650000)	
-G1645895	Curug	POINT(106.556390 -6.265830)	
-G1646170	Cirebon	POINT(108.557000 -6.706300)	
-G1646194	Ciputat	POINT(106.695560 -6.237500)	
-G1646448	Cimahi	POINT(107.542500 -6.872220)	
-G1646494	Cileungsi	POINT(106.959170 -6.394720)	
-G1647003	Cibinong	POINT(106.854170 -6.481670)	
-G1647383	Ciampea	POINT(106.700830 -6.554720)	
-G1648473	Bogor	POINT(106.789170 -6.594440)	
-G1649150	Bengkulu	POINT(102.265540 -3.800440)	
-G1649378	Bekasi	POINT(106.989600 -6.234900)	
-G1650213	Banjarmasin	POINT(114.591000 -3.324420)	
-G1650227	Banjaran	POINT(107.587780 -7.045280)	
-G1650357	Bandung	POINT(107.618610 -6.903890)	
-G1650527	Balikpapan	POINT(116.828870 -1.267530)	
-G1651531	Ambon	POINT(128.200000 -3.716670)	
-G1985663	Cikupa	POINT(106.508330 -6.236390)	
-G2057087	Kupang	POINT(123.583330 -10.166670)	
-G2964506	Dún Laoghaire	POINT(-6.135860 53.293950)	
-G2964574	Dublin	POINT(-6.267190 53.343990)	
-G2965140	Cork	POINT(-8.470610 51.897970)	
-G281184	Jerusalem	POINT(35.225300 31.779020)	
-G293397	Tel Aviv	POINT(34.766670 32.066670)	
-G293703	Rishon LeẔiyyon	POINT(34.804440 31.964170)	
-G294071	Netanya	POINT(34.857780 32.333610)	
-G294751	H̱olon	POINT(34.772220 32.011390)	
-G294801	Haifa	POINT(34.989170 32.815560)	
-G295530	Beersheba	POINT(34.791300 31.251810)	
-G295629	Ashdod	POINT(34.650000 31.816670)	
-G6693674	Petah Tikva	POINT(34.885030 32.091740)	
-G7498240	West Jerusalem	POINT(35.219610 31.781990)	
-G1252797	Yamunānagar	POINT(77.283330 30.100000)	
-G1252948	Warangal	POINT(79.583330 18.000000)	
-G1253084	Vizianagaram	POINT(83.416670 18.116670)	
-G1253102	Vishākhapatnam	POINT(83.300000 17.700000)	
-G1253133	Virār	POINT(72.800000 19.466670)	
-G1253184	Vijayawāda	POINT(80.616670 16.516670)	
-G1253237	Verāval	POINT(70.366670 20.900000)	
-G1253286	Vellore	POINT(79.133330 12.933330)	
-G1253405	Benares	POINT(83.000000 25.333330)	
-G1253573	Vadodara	POINT(73.200000 22.300000)	
-G1253747	Unnāo	POINT(80.500000 26.533330)	
-G1253894	Ulhāsnagar	POINT(73.150000 19.216670)	
-G1253914	Ujjain	POINT(75.766670 23.183330)	
-G1253986	Udaipur	POINT(73.691830 24.571170)	
-G1254089	Tumkūr	POINT(77.101670 13.342220)	
-G1254163	Thiruvananthapuram	POINT(76.916670 8.483330)	
-G1254187	Trichūr	POINT(76.216670 10.516670)	
-G1254241	Tonk	POINT(75.783330 26.166670)	
-G1254348	Tiruppūr	POINT(77.350000 11.100000)	
-G1254360	Tirupati	POINT(79.416670 13.650000)	
-G1254361	Tirunelveli	POINT(77.700000 8.733330)	
-G1254388	Tiruchchirāppalli	POINT(78.683330 10.816670)	
-G1254649	Thanjāvūr	POINT(79.150000 10.800000)	
-G1254661	Thāne	POINT(72.966670 19.200000)	
-G1254745	Teni	POINT(77.483330 10.000000)	
-G1255349	Surendranagar	POINT(71.683330 22.700000)	
-G1255364	Sūrat	POINT(72.833330 21.166670)	
-G1255634	Srīnagar	POINT(74.816670 34.083330)	
-G1255744	Sonīpat	POINT(77.016670 28.983330)	
-G1255969	Sītāpur	POINT(80.683330 27.566670)	
-G1256052	Sirsa	POINT(75.016670 29.533330)	
-G1256237	Shimla	POINT(77.166670 31.100000)	
-G1256287	Silchar	POINT(92.800000 24.816670)	
-G1256320	Sīkar	POINT(75.150000 27.616670)	
-G1256422	Shrīrāmpur	POINT(88.342220 22.752780)	
-G1256436	Solāpur	POINT(75.916670 17.683330)	
-G1256451	Shivpurī	POINT(77.650000 25.433330)	
-G1256515	Shimoga	POINT(75.566670 13.916670)	
-G1256525	Shiliguri	POINT(88.433330 26.700000)	
-G1256728	Shāhjahānpur	POINT(79.916670 27.883330)	
-G1257022	Satna	POINT(80.833330 24.583330)	
-G1257416	Sāngli	POINT(74.564170 16.854380)	
-G1257540	Sambhal	POINT(78.550000 28.583330)	
-G1257542	Sambalpur	POINT(83.966670 21.450000)	
-G1257629	Salem	POINT(78.166670 11.650000)	
-G1257806	Sahāranpur	POINT(77.550000 29.966670)	
-G1257845	Sāgar	POINT(78.716670 23.833330)	
-G1258076	Rohtak	POINT(76.566670 28.900000)	
-G1258182	Rewa	POINT(81.300000 24.533330)	
-G1258342	Ratlām	POINT(75.066670 23.316670)	
-G1258526	Rānchī	POINT(85.333330 23.350000)	
-G1258599	Rāmpur	POINT(79.033330 28.816670)	
-G1258831	Rāj Nāndgaon	POINT(81.033330 21.100000)	
-G1258847	Rājkot	POINT(70.783330 22.300000)	
-G1258932	Rājahmundry	POINT(81.783330 16.983330)	
-G1258980	Raipur	POINT(81.633330 21.233330)	
-G1259004	Raigarh Fort	POINT(73.433330 18.250000)	
-G1259009	Rāiganj	POINT(88.116670 25.616670)	
-G1259012	Rāichūr	POINT(77.366670 16.200000)	
-G1259064	Rāe Bareli	POINT(81.233330 26.216670)	
-G1259091	Quilon	POINT(76.600000 8.883330)	
-G1259166	Pūrnia	POINT(87.466670 25.783330)	
-G1259184	Puri	POINT(85.850000 19.800000)	
-G1259229	Pune	POINT(73.855350 18.519570)	
-G1259239	Punāsa	POINT(76.400000 22.233330)	
-G1259312	Proddatūr	POINT(78.550000 14.733330)	
-G1259425	Pondicherry	POINT(79.830000 11.930000)	
-G1259652	Pimpri	POINT(73.800000 18.616670)	
-G1260086	Patna	POINT(85.116670 25.600000)	
-G1260107	Patiāla	POINT(76.400280 30.326670)	
-G1260137	Pathānkot	POINT(75.650000 32.283330)	
-G1260341	Parbhani	POINT(76.783330 19.266670)	
-G1260476	Pānīpat	POINT(76.968060 29.388890)	
-G1260482	Pānihāti	POINT(88.374440 22.694170)	
-G1260692	Pallāvaram	POINT(80.183610 12.976110)	
-G1260716	Pāli	POINT(73.333330 25.766670)	
-G1261039	Orai	POINT(79.466670 25.983330)	
-G1261045	Ongole	POINT(80.050000 15.500000)	
-G1261258	Nizāmābād	POINT(78.116670 18.666670)	
-G1261481	New Delhi	POINT(77.224450 28.635760)	
-G1261529	Nellore	POINT(79.966670 14.433330)	
-G1261731	Nāsik	POINT(73.800000 19.983330)	
-G1261913	Nāngloi Jāt	POINT(77.066670 28.683330)	
-G1261927	Nandyāl	POINT(78.483330 15.483330)	
-G1262131	Naihāti	POINT(88.416940 22.902780)	
-G1262180	Nāgpur	POINT(79.100000 21.150000)	
-G1262204	Nāgercoil	POINT(77.433330 8.166670)	
-G1262292	Nadiād	POINT(72.866670 22.700000)	
-G1262321	Mysore	POINT(76.649720 12.307220)	
-G1262330	Muzaffarpur	POINT(85.400000 26.116670)	
-G1262332	Muzaffarnagar	POINT(77.683330 29.466670)	
-G1262395	Murwāra	POINT(80.400000 23.850000)	
-G1262482	Munger	POINT(86.466670 25.383330)	
-G1262771	Morena	POINT(78.000000 26.496940)	
-G1262801	Morādābād	POINT(78.783330 28.833330)	
-G1262995	Mirzāpur	POINT(82.583330 25.150000)	
-G1263214	Meerut	POINT(77.700000 28.983330)	
-G1263220	Medinīpur	POINT(87.333330 22.433330)	
-G1263311	Mau	POINT(83.550000 25.950000)	
-G1263364	Mathura	POINT(77.683330 27.500000)	
-G1263780	Mangalore	POINT(74.883330 12.866670)	
-G1264115	Mālegaon	POINT(74.533330 20.550000)	
-G1264521	Madurai	POINT(78.116670 9.933330)	
-G1264527	Chennai	POINT(80.278470 13.087840)	
-G1264543	Madhyamgram	POINT(88.450000 22.700000)	
-G1264637	Machilīpatnam	POINT(81.133330 16.166670)	
-G1264728	Ludhiāna	POINT(75.850000 30.900000)	
-G1264733	Lucknow	POINT(80.916670 26.850000)	
-G1264773	Loni	POINT(77.283330 28.750000)	
-G1265014	Lātūr	POINT(76.583330 18.400000)	
-G1265711	Kulti	POINT(86.850000 23.733330)	
-G1265767	Kūkatpalli	POINT(78.416670 17.483330)	
-G1265873	Calicut	POINT(75.766670 11.250000)	
-G1266049	Kota	POINT(75.833330 25.183330)	
-G1266122	Korba	POINT(82.683330 22.350000)	
-G1266285	Kolhāpur	POINT(74.216670 16.700000)	
-G1266976	Kharagpur	POINT(87.333330 22.333330)	
-G1267031	Khandwa	POINT(76.333330 21.833330)	
-G1267076	Khammam	POINT(80.150000 17.250000)	
-G1267480	Katihār	POINT(87.583330 25.533330)	
-G1267708	Karnāl	POINT(76.983330 29.683330)	
-G1267755	Karīmnagar	POINT(79.150000 18.433330)	
-G1267995	Kānpur	POINT(80.350000 26.466670)	
-G1268159	Kānchipuram	POINT(79.716670 12.833330)	
-G1268257	Kāmārhāti	POINT(88.374720 22.671110)	
-G1268295	Kalyān	POINT(73.150000 19.250000)	
-G1268561	Kākināda	POINT(82.216670 16.933330)	
-G1268773	Jūnāgadh	POINT(70.466670 21.516670)	
-G1268782	Jalandhar	POINT(75.579170 31.325560)	
-G1268865	Jodhpur	POINT(73.030000 26.286670)	
-G1268907	Jīnd	POINT(76.316670 29.316670)	
-G1269006	Jhānsi	POINT(78.583330 25.433330)	
-G1269135	Jaunpur	POINT(82.683330 25.733330)	
-G1269280	Jāmuria	POINT(87.083330 23.700000)	
-G1269300	Jamshedpur	POINT(86.183330 22.800000)	
-G1269317	Jāmnagar	POINT(70.066670 22.466670)	
-G1269321	Jammu	POINT(74.866670 32.733330)	
-G1269395	Jālna	POINT(75.883330 19.833330)	
-G1269407	Jālgaon	POINT(75.566670 21.016670)	
-G1269515	Jaipur	POINT(75.816670 26.916670)	
-G1269633	Jabalpur	POINT(79.950060 23.166970)	
-G1269723	Ingrāj Bāzār	POINT(88.150000 25.000000)	
-G1269743	Indore	POINT(75.833300 22.717920)	
-G1269771	Imphāl	POINT(93.950000 24.816670)	
-G1269834	Ichalkaranji	POINT(74.466670 16.700000)	
-G1269843	Hyderābād	POINT(78.474440 17.375280)	
-G1269910	Hugli	POINT(88.402500 22.895560)	
-G1269920	Hubli	POINT(75.166670 15.350000)	
-G1269935	Hospet	POINT(76.400000 15.266670)	
-G1269937	Hoshiārpur	POINT(75.917220 31.532220)	
-G1270022	Hisār	POINT(75.716670 29.166670)	
-G1270351	Haridwār	POINT(78.166670 29.966670)	
-G1270393	Hāpur	POINT(77.783330 28.716670)	
-G1270396	Hāora	POINT(88.310280 22.589170)	
-G1270407	Hanumāngarh	POINT(74.316670 29.583330)	
-G1270583	Gwalior	POINT(78.179170 26.223610)	
-G1270642	Gurgaon	POINT(77.033330 28.466670)	
-G1270668	Guntūr	POINT(80.450000 16.300000)	
-G1270711	Guna	POINT(77.316670 24.650000)	
-G1270752	Gulbarga	POINT(76.833330 17.333330)	
-G1270926	Gorakhpur	POINT(75.683330 29.450000)	
-G1270927	Gorakhpur	POINT(83.373890 26.755000)	
-G1271308	Ghāziābād	POINT(77.433330 28.666670)	
-G1271439	Gaya	POINT(85.000000 24.783330)	
-G1271476	Guwāhāti	POINT(91.750950 26.186170)	
-G1271685	Gangānagar	POINT(73.883330 29.916670)	
-G1271715	Gāndhīnagar	POINT(72.683330 23.216670)	
-G1271850	Gadag	POINT(75.616670 15.416670)	
-G1271885	Fīrozābād	POINT(78.416670 27.150000)	
-G1271912	Fatehpur	POINT(80.800000 25.933330)	
-G1271942	Farrukhābād	POINT(79.566670 27.400000)	
-G1271951	Farīdābād	POINT(77.316670 28.433330)	
-G1271976	Faizābād	POINT(82.133330 26.783330)	
-G1271987	Etāwah	POINT(79.023900 26.776900)	
-G1272051	Elūru	POINT(81.100000 16.700000)	
-G1272175	Durgāpur	POINT(87.316670 23.483330)	
-G1272181	Durg	POINT(81.283330 21.183330)	
-G1272423	Dombivli	POINT(73.083330 19.216670)	
-G1272543	Dindigul	POINT(77.950000 10.350000)	
-G1272691	Dhule	POINT(74.783330 20.900000)	
-G1272979	Dhanbād	POINT(86.450000 23.800000)	
-G1273066	Dewās	POINT(76.066670 22.966670)	
-G1273294	Delhi	POINT(77.216670 28.666670)	
-G1273313	Dehra Dūn	POINT(78.033330 30.316670)	
-G1273491	Darbhanga	POINT(85.900000 26.166670)	
-G1273581	Dānāpur	POINT(85.050000 25.633330)	
-G1273780	Cuttack	POINT(85.879270 20.464970)	
-G1273802	Cuddalore	POINT(79.750000 11.750000)	
-G1273865	Coimbatore	POINT(76.966670 11.000000)	
-G1273874	Cochin	POINT(76.233330 9.966670)	
-G1274693	Chandrapur	POINT(79.300000 19.950000)	
-G1274746	Chandīgarh	POINT(76.793300 30.734300)	
-G1274784	Chandannagar	POINT(88.377220 22.869170)	
-G1275004	Calcutta	POINT(88.369720 22.569720)	
-G1275068	Burhānpur	POINT(76.233330 21.300000)	
-G1275120	Bulandshahr	POINT(77.850000 28.400000)	
-G1275163	Budaun	POINT(79.116670 28.050000)	
-G1275198	Brahmapur	POINT(84.783330 19.316670)	
-G1275248	Borivli	POINT(72.850000 19.233330)	
-G1275339	Mumbai	POINT(72.847940 19.014410)	
-G1275362	Bokāro	POINT(85.966670 23.783330)	
-G1275637	Bilāspur	POINT(82.150000 22.083330)	
-G1275665	Bīkāner	POINT(73.300000 28.016670)	
-G1275701	Bijāpur	POINT(75.700000 16.833330)	
-G1275716	Bihār Sharīf	POINT(85.516670 25.183330)	
-G1275738	Bīdar	POINT(77.550000 17.900000)	
-G1275778	Bhusāwal	POINT(75.766670 21.050000)	
-G1275817	Bhubaneshwar	POINT(85.833330 20.233330)	
-G1275841	Bhopāl	POINT(77.400000 23.266670)	
-G1275899	Bhiwāni	POINT(76.133330 28.783330)	
-G1275901	Bhiwandi	POINT(73.066670 19.300000)	
-G1275926	Bhind	POINT(78.788330 26.564170)	
-G1275960	Bhīlwāra	POINT(74.633330 25.350000)	
-G1275971	Bhilai	POINT(81.433330 21.216670)	
-G1276032	Bhāvnagar	POINT(72.150000 21.766670)	
-G1276058	Bhātpāra	POINT(88.408890 22.871390)	
-G1276070	Bhatinda	POINT(74.950000 30.200000)	
-G1276100	Bharūch	POINT(72.966670 21.700000)	
-G1276128	Bharatpur	POINT(77.483330 27.216670)	
-G1276300	Bhāgalpur	POINT(87.000000 25.250000)	
-G1276321	Bhadrāvati	POINT(75.716670 13.866670)	
-G1276509	Bellary	POINT(76.933330 15.150000)	
-G1276533	Belgaum	POINT(74.500000 15.866670)	
-G1277013	Bareilly	POINT(79.416670 28.350000)	
-G1277029	Barddhamān	POINT(87.850000 23.250000)	
-G1277065	Bārāsat	POINT(88.516670 22.716670)	
-G1277082	Baranagar	POINT(88.365280 22.643330)	
-G1277333	Bengalore	POINT(77.603290 12.976230)	
-G1277397	Bānda	POINT(80.333330 25.483330)	
-G1277539	Bāli	POINT(88.340280 22.646110)	
-G1277799	Bahraich	POINT(81.600000 27.583330)	
-G1277820	Baharampur	POINT(88.250000 24.100000)	
-G1277835	Bahādurgarh	POINT(76.916670 28.683330)	
-G1278130	Āvadi	POINT(80.101670 13.115560)	
-G1278149	Aurangābād	POINT(75.333330 19.883330)	
-G1278314	Āsansol	POINT(86.983330 23.683330)	
-G1278483	Ara	POINT(84.666670 25.566670)	
-G1278672	Anantapur	POINT(77.600000 14.683330)	
-G1278708	Amroha	POINT(78.466670 28.916670)	
-G1278710	Amritsar	POINT(74.865560 31.633060)	
-G1278718	Amrāvati	POINT(77.750000 20.933330)	
-G1278840	Ambattūr	POINT(80.162220 13.098330)	
-G1278903	Amarnāth	POINT(73.166670 19.200000)	
-G1278946	Alwar	POINT(76.600000 27.566670)	
-G1278985	Alleppey	POINT(76.326400 9.490040)	
-G1278994	Allahābād	POINT(81.850000 25.450000)	
-G1279017	Alīgarh	POINT(78.083330 27.883330)	
-G1279064	Alandur	POINT(80.206110 13.002500)	
-G1279105	Akola	POINT(77.000000 20.733330)	
-G1279159	Ajmer	POINT(74.633330 26.450000)	
-G1279186	Āīzawl	POINT(92.716670 23.733330)	
-G1279228	Ahmadnagar	POINT(74.733330 19.083330)	
-G1279233	Ahmadābād	POINT(72.616670 23.033330)	
-G1279259	Āgra	POINT(78.016670 27.183330)	
-G1279290	Agartala	POINT(91.275000 23.836390)	
-G1279335	Ādoni	POINT(77.283330 15.633330)	
-G1344377	Haldia	POINT(88.109750 22.060460)	
-G1348818	Nangi	POINT(88.215280 22.508330)	
-G6943660	Shivaji Nagar	POINT(73.852630 18.530170)	
-G7279746	Noida	POINT(77.330000 28.580000)	
-G7279754	Singrauli	POINT(82.675350 24.199730)	
-G7284820	Jaigaon	POINT(89.375580 26.847660)	
-G7302826	Lal Bahadur Nagar	POINT(78.557570 17.347690)	
-G7302833	Gajuwaka	POINT(83.216670 17.700000)	
-G7302845	Quthbullapur	POINT(78.458180 17.501070)	
-G7302856	Serilingampalle	POINT(78.301960 17.493130)	
-G91597	Sāmarrā’	POINT(43.875620 34.200960)	
-G94787	Kirkuk	POINT(44.392220 35.468060)	
-G94824	Karbalā’	POINT(44.008470 32.611440)	
-G95446	Arbīl	POINT(44.010620 36.192570)	
-G97990	Ba‘qūbah	POINT(44.655450 33.748460)	
-G98182	Baghdad	POINT(44.400880 33.340580)	
-G98463	As Sulaymānīyah	POINT(45.437490 35.561130)	
-G98530	As Samāwah	POINT(45.294400 31.331980)	
-G98717	Ar Ramādī	POINT(43.305840 33.422570)	
-G98854	An Nāşirīyah	POINT(46.261020 31.052050)	
-G98860	An Najaf al Ashraf	POINT(44.339760 31.998540)	
-G99071	Al Mawşil al Jadīdah	POINT(43.097770 36.334640)	
-G99072	Mosul	POINT(43.118890 36.335000)	
-G99131	Al Kūt	POINT(45.819020 32.514700)	
-G99347	Al Ḩillah	POINT(44.435260 32.480140)	
-G99454	Al Fallūjah	POINT(43.779510 33.353800)	
-G99532	Al Başrah	POINT(47.788850 30.534880)	
-G99608	Al ‘Amārah	POINT(47.139600 31.840640)	
-G99762	Ad Dīwānīyah	POINT(44.930630 31.990510)	
-G100077	Abū Ghurayb	POINT(44.185000 33.308330)	
-G388349	Al Başrat al Qadīmah	POINT(47.814910 30.497210)	
-G14256	Āzādshahr	POINT(48.570730 34.790880)	
-G23814	Kahrīz	POINT(47.055300 34.383800)	
-G32767	Qarchak	POINT(51.568890 35.439440)	
-G111453	Zanjān	POINT(48.478700 36.673600)	
-G111822	Yazd	POINT(54.367500 31.897220)	
-G112214	Varāmīn	POINT(51.645700 35.324200)	
-G112931	Tehrān	POINT(51.421510 35.694390)	
-G113646	Tabrīz	POINT(46.291900 38.080000)	
-G114259	Sīrjān	POINT(55.681400 29.452000)	
-G115019	Shīrāz	POINT(52.538800 29.603600)	
-G116667	Sāveh	POINT(50.356600 35.021300)	
-G116996	Shari-i-Tajan	POINT(53.056520 36.562970)	
-G117392	Saqqez	POINT(46.273500 36.249920)	
-G117574	Sanandaj	POINT(46.992300 35.314400)	
-G118063	Sabzevār	POINT(57.681910 36.212600)	
-G118743	Rasht	POINT(49.583190 37.280770)	
-G119208	Qom	POINT(50.876400 34.640100)	
-G119505	Qazvīn	POINT(50.004900 36.279700)	
-G121801	Orūmīyeh	POINT(45.076050 37.552740)	
-G122285	Neyshābūr	POINT(58.795760 36.213290)	
-G122438	Naz̧arābād	POINT(50.607500 35.952100)	
-G124665	Mashhad	POINT(59.606200 36.297000)	
-G125185	Malāyer	POINT(48.823500 34.296900)	
-G125446	Mahābād	POINT(45.722200 36.763100)	
-G126972	Khvoy	POINT(44.952100 38.550300)	
-G127319	Khorramshahr	POINT(48.166400 30.439700)	
-G127349	Khorramābād	POINT(48.355830 33.487780)	
-G128226	Kermānshāh	POINT(47.065000 34.314170)	
-G128234	Kermān	POINT(57.081230 30.293680)	
-G128477	Kāshān	POINT(51.436440 33.983080)	
-G128747	Karaj	POINT(51.010300 35.835500)	
-G132144	Hamadān	POINT(48.514560 34.799220)	
-G132892	Gorgān	POINT(54.434750 36.838660)	
-G139817	Bandar Būshehr	POINT(50.838500 28.968400)	
-G139889	Būkān	POINT(46.208900 36.521000)	
-G140044	Borūjerd	POINT(48.751600 33.897300)	
-G140380	Bojnūrd	POINT(57.329030 37.474730)	
-G140463	Bīrjand	POINT(59.221140 32.866280)	
-G141681	Bandar ‘Abbās	POINT(56.280800 27.186500)	
-G142363	Bābol	POINT(52.678950 36.551320)	
-G143083	Ardabīl	POINT(48.293300 38.249800)	
-G143127	Arāk	POINT(49.689160 34.091740)	
-G143534	Āmol	POINT(52.350720 36.469610)	
-G144448	Ahvāz	POINT(48.669300 31.320300)	
-G145459	Ābādān	POINT(48.304300 30.339200)	
-G418606	Najafābād	POINT(51.366800 32.634400)	
-G418710	Khomeynī Shahr	POINT(51.521130 32.700180)	
-G418863	Eşfahān	POINT(51.677610 32.657220)	
-G1159301	Zāhedān	POINT(60.862900 29.496300)	
-G2523630	Reggio di Calabria	POINT(15.661290 38.110470)	
-G2523920	Palermo	POINT(13.359760 38.115820)	
-G2524170	Messina	POINT(15.549690 38.193270)	
-G2525068	Catania	POINT(15.087190 37.502130)	
-G2525473	Cagliari	POINT(9.134620 39.207380)	
-G3164527	Verona	POINT(10.997790 45.434190)	
-G3164603	Venice	POINT(12.326670 45.438610)	
-G3165185	Trieste	POINT(13.780000 45.648610)	
-G3165524	Torino	POINT(7.686820 45.070490)	
-G3165926	Taranto	POINT(17.229720 40.476110)	
-G3169070	Roma	POINT(12.483900 41.894740)	
-G3169921	Prato	POINT(11.090920 43.884250)	
-G3171457	Parma	POINT(10.328980 44.802660)	
-G3171728	Padova	POINT(11.881810 45.415190)	
-G3172394	Napoli	POINT(14.250000 40.833330)	
-G3173331	Modena	POINT(10.925390 44.647830)	
-G3173435	Milano	POINT(9.189510 45.464270)	
-G3173529	Mestre	POINT(12.242500 45.490280)	
-G3174659	Livorno	POINT(10.316000 43.542640)	
-G3176219	Genova	POINT(8.933860 44.406320)	
-G3176885	Foggia	POINT(15.549250 41.460930)	
-G3176959	Florence	POINT(11.250000 43.766670)	
-G3181554	Brescia	POINT(10.227270 45.524780)	
-G3181928	Bologna	POINT(11.338750 44.493810)	
-G3182351	Bari	POINT(16.851180 41.117730)	
-G3489297	New Kingston	POINT(-76.783190 18.007470)	
-G3489854	Kingston	POINT(-76.793580 17.997020)	
-G246013	Wādī as Sīr	POINT(35.816670 31.950000)	
-G248946	Irbid	POINT(35.850000 32.555560)	
-G250090	Az Zarqā’	POINT(36.087960 32.072750)	
-G250441	Amman	POINT(35.945030 31.955220)	
-G1847963	Atsugi	POINT(139.359720 35.438890)	
-G1847966	Akashi	POINT(134.983330 34.633330)	
-G1848254	Yono	POINT(139.633330 35.883330)	
-G1848313	Yokosuka	POINT(139.667220 35.283610)	
-G1848354	Yokohama-shi	POINT(139.642500 35.447780)	
-G1848373	Yokkaichi	POINT(136.616670 34.966670)	
-G1848522	Yao	POINT(135.600000 34.616670)	
-G1849053	Utsunomiya-shi	POINT(139.883610 36.565830)	
-G1849372	Uji	POINT(135.800000 34.883330)	
-G1849498	Ube	POINT(131.251110 33.943060)	
-G1849796	Tsu-shi	POINT(136.508610 34.730280)	
-G1849814	Toyota	POINT(137.150000 35.083330)	
-G1849837	Toyonaka	POINT(135.469320 34.782440)	
-G1849846	Toyohashi	POINT(137.383330 34.766670)	
-G1849876	Toyama-shi	POINT(137.211390 36.695280)	
-G1849892	Tottori	POINT(134.233330 35.500000)	
-G1850147	Tokyo	POINT(139.581300 35.614880)	
-G1850158	Tokushima-shi	POINT(134.559440 34.065830)	
-G1850181	Tokorozawa	POINT(139.469030 35.799160)	
-G1850692	Nishi-Tokyo-shi	POINT(139.538300 35.725260)	
-G1850910	Takatsuki	POINT(135.616780 34.848330)	
-G1851002	Takasaki	POINT(139.016670 36.333330)	
-G1851012	Takarazuka	POINT(135.356970 34.799360)	
-G1851032	Takaoka	POINT(137.016670 36.750000)	
-G1851100	Takamatsu-shi	POINT(134.043330 34.340280)	
-G1851307	Tachikawa	POINT(139.418060 35.692780)	
-G1851348	Suzuka	POINT(136.583330 34.883330)	
-G1851483	Suita	POINT(135.515670 34.761430)	
-G1851604	Sōka	POINT(139.804440 35.820280)	
-G1851717	Shizuoka-shi	POINT(138.383060 34.976940)	
-G1852140	Shinagawa-ku	POINT(139.730170 35.609020)	
-G1852225	Shimonoseki	POINT(130.950000 33.950000)	
-G1852383	Shimminatochō	POINT(135.200000 34.183330)	
-G1852899	Sasebo	POINT(129.722780 33.159170)	
-G1853195	Sakai	POINT(135.466670 34.583330)	
-G1853295	Sagamihara	POINT(139.354440 35.553060)	
-G1853303	Saga-shi	POINT(130.298800 33.249320)	
-G1853483	Oyama	POINT(139.800000 36.300000)	
-G1853574	Ōtsu-shi	POINT(135.868330 35.004440)	
-G1853677	Ōta	POINT(139.366670 36.300000)	
-G1853909	Ōsaka-shi	POINT(135.502180 34.693740)	
-G1854376	Okazaki	POINT(137.166670 34.950000)	
-G1854383	Okayama-shi	POINT(133.935000 34.661670)	
-G1854487	Ōita-shi	POINT(131.612500 33.238060)	
-G1854703	Ōgaki	POINT(136.616670 35.350000)	
-G1854747	Odawara	POINT(139.159720 35.255560)	
-G1854902	Numazu	POINT(138.866670 35.100000)	
-G1855207	Nishinomiya	POINT(135.333330 34.716670)	
-G1855431	Niigata-shi	POINT(139.023610 37.902220)	
-G1855503	Nerima	POINT(139.650000 35.733330)	
-G1855612	Nara-shi	POINT(135.804850 34.685050)	
-G1856035	Naha-shi	POINT(127.681110 26.212500)	
-G1856057	Nagoya-shi	POINT(136.906410 35.181470)	
-G1856177	Nagasaki-shi	POINT(129.873610 32.744720)	
-G1856184	Nagareyama	POINT(139.902660 35.856300)	
-G1856199	Nagaoka	POINT(138.850000 37.450000)	
-G1856215	Nagano-shi	POINT(138.181110 36.651390)	
-G1856717	Miyazaki-shi	POINT(131.423890 31.911110)	
-G1856942	Mitaka-shi	POINT(139.559630 35.683510)	
-G1857144	Minami-rinkan	POINT(139.450000 35.483330)	
-G1857519	Matsumoto	POINT(137.966670 36.233330)	
-G1857550	Matsue-shi	POINT(133.050560 35.472220)	
-G1857553	Matsudo	POINT(139.900000 35.783330)	
-G1857843	Maebashi-shi	POINT(139.060830 36.391110)	
-G1857871	Machida	POINT(139.450830 35.540280)	
-G1857910	Kyoto	POINT(135.753850 35.021070)	
-G1858088	Kurume	POINT(130.516670 33.316670)	
-G1858296	Kure	POINT(132.566670 34.233330)	
-G1858311	Kurashiki	POINT(133.766670 34.583330)	
-G1858421	Kumamoto-shi	POINT(130.741670 32.789720)	
-G1858428	Kumagaya	POINT(139.383330 36.133330)	
-G1858729	Koshigaya	POINT(139.783330 35.883330)	
-G1858926	Komaki	POINT(136.916670 35.283330)	
-G1859100	Kōfu-shi	POINT(138.568330 35.663890)	
-G1859116	Kodaira	POINT(139.483890 35.726390)	
-G1859146	Kōchi-shi	POINT(133.531110 33.559720)	
-G1859171	Kōbe-shi	POINT(135.183000 34.691300)	
-G1859307	Kitakyūshū	POINT(130.833330 33.833330)	
-G1859383	Kishiwada	POINT(135.366670 34.466670)	
-G1859642	Kawasaki	POINT(139.717220 35.520560)	
-G1859675	Kawanishi	POINT(135.416670 34.816670)	
-G1859730	Kawaguchi	POINT(139.720560 35.805000)	
-G1859740	Kawagoe	POINT(139.485280 35.908610)	
-G1859884	Kasukabe	POINT(139.753610 35.976390)	
-G1859891	Kasugai	POINT(136.972290 35.247620)	
-G1859924	Kashiwa	POINT(139.968890 35.854440)	
-G1860243	Kanazawa-shi	POINT(136.625560 36.594440)	
-G1860437	Kami-renjaku	POINT(139.550000 35.683330)	
-G1860672	Kamakura	POINT(139.550280 35.308890)	
-G1860704	Kakogawa	POINT(134.850000 34.766670)	
-G1860827	Kagoshima-shi	POINT(130.558140 31.560180)	
-G1861107	Izumi	POINT(135.433330 34.483330)	
-G1861310	Itami	POINT(135.401260 34.784270)	
-G1861949	Ichinomiya	POINT(136.800000 35.300000)	
-G1861968	Ichikawa	POINT(139.924720 35.719720)	
-G1862033	Ibaraki	POINT(135.568280 34.816410)	
-G1862415	Hiroshima-shi	POINT(132.459370 34.396270)	
-G1862462	Hiratsuka	POINT(139.342220 35.323060)	
-G1862540	Hirakata	POINT(135.649140 34.813520)	
-G1862599	Hino	POINT(139.400280 35.673060)	
-G1862627	Himeji	POINT(134.700000 34.816670)	
-G1863289	Hamamatsu	POINT(137.733330 34.700000)	
-G1863431	Hadano	POINT(139.223610 35.371110)	
-G1863440	Hachiōji	POINT(139.323890 35.655830)	
-G1863641	Gifu-shi	POINT(136.760390 35.422910)	
-G1863905	Funabashi	POINT(139.983330 35.693060)	
-G1863917	Fukuyama	POINT(133.366670 34.483330)	
-G1863967	Fukuoka-shi	POINT(130.418060 33.606390)	
-G1863985	Fukui-shi	POINT(136.222570 36.064430)	
-G1864092	Fujisawa	POINT(139.470000 35.341940)	
-G1864134	Fuji	POINT(138.683330 35.166670)	
-G1864154	Fuchū	POINT(139.483330 35.666670)	
-G1864518	Chōfu	POINT(139.552220 35.655560)	
-G1864624	Chigasaki	POINT(139.403890 35.326110)	
-G1865005	Ashikaga	POINT(139.450000 36.333330)	
-G1865294	Anjō	POINT(137.080540 34.958280)	
-G1865387	Amagasaki	POINT(135.416670 34.716670)	
-G1865714	Ageo	POINT(139.588610 35.969720)	
-G1907146	Sayama	POINT(139.412120 35.852950)	
-G1926004	Wakayama-shi	POINT(135.167500 34.226110)	
-G1926099	Matsuyama-shi	POINT(132.765740 33.839160)	
-G2110556	Yamagata-shi	POINT(140.363330 38.240560)	
-G2110683	Tsukuba	POINT(140.100000 36.200000)	
-G2111149	Sendai-shi	POINT(140.871940 38.268890)	
-G2111220	Sakura	POINT(140.233330 35.716670)	
-G2111687	Narashino	POINT(140.033330 35.683330)	
-G2111834	Morioka-shi	POINT(141.152500 39.703610)	
-G2111901	Mito-shi	POINT(140.446670 36.341390)	
-G2112141	Kōriyama	POINT(140.383330 37.400000)	
-G2112312	Katsuta	POINT(140.533330 36.383330)	
-G2112539	Iwaki	POINT(140.883330 37.050000)	
-G2112664	Ichihara	POINT(140.083330 35.516670)	
-G2112708	Hitachi	POINT(140.650000 36.600000)	
-G2112923	Fukushima-shi	POINT(140.467780 37.750000)	
-G2113015	Chiba-shi	POINT(140.123330 35.604720)	
-G2113126	Akita	POINT(140.116670 39.716670)	
-G2113719	Akita-shi	POINT(140.103330 39.718060)	
-G2127733	Tomakomai	POINT(141.603330 42.636940)	
-G2128295	Sapporo-shi	POINT(141.346940 43.064170)	
-G2128815	Obihiro	POINT(143.204440 42.917220)	
-G2129376	Kushiro	POINT(144.374720 42.975000)	
-G2130057	Hirosaki	POINT(140.472500 40.593060)	
-G2130188	Hakodate	POINT(140.736670 41.775830)	
-G2130203	Hachinohe	POINT(141.500000 40.500000)	
-G2130629	Asahikawa	POINT(142.370280 43.767780)	
-G2130658	Aomori-shi	POINT(140.740000 40.824440)	
-G6697563	Neyagawa	POINT(135.627590 34.766150)	
-G6822096	Hitachi-Naka	POINT(140.534790 36.396590)	
-G6825489	Jōetsu	POINT(138.236420 37.148280)	
-G6940394	Saitama	POINT(139.656570 35.908070)	
-G7279570	Higashimurayama-shi	POINT(139.468520 35.754590)	
-G184622	Nakuru	POINT(36.066670 -0.283330)	
-G184745	Nairobi	POINT(36.816670 -1.283330)	
-G186301	Mombasa	POINT(39.660500 -4.055000)	
-G191245	Kisumu	POINT(34.750000 -0.100000)	
-G198629	Eldoret	POINT(35.269920 0.520360)	
-G1527534	Osh	POINT(72.790000 40.529440)	
-G1528675	Bishkek	POINT(74.590000 42.870000)	
-G1821306	Phnom Penh	POINT(104.916010 11.562450)	
-G1831142	Sihanoukville	POINT(103.529580 10.609320)	
-G1831797	Bătdâmbâng	POINT(103.198220 13.102710)	
-G1866923	Wŏnsan	POINT(127.443610 39.152780)	
-G1869446	Songnim	POINT(125.645000 38.754170)	
-G1870883	Sariwŏn	POINT(125.755830 38.507220)	
-G1871859	Pyongyang	POINT(125.754320 39.033850)	
-G1873757	Namp’o	POINT(125.407780 38.737500)	
-G1876373	Kaesŏng	POINT(126.554440 37.970830)	
-G1877030	Hŭngnam	POINT(127.618610 39.831670)	
-G1877449	Hamhŭng	POINT(127.536390 39.918330)	
-G1877615	Haeju	POINT(125.714720 38.040560)	
-G2040893	Sinŭiju	POINT(124.398060 40.100560)	
-G2043572	Kanggye-si	POINT(126.585230 40.969460)	
-G2044757	Ch’ŏngjin	POINT(129.775830 41.795560)	
-G1832157	Yŏsu	POINT(127.737780 34.744170)	
-G1832847	Yangju	POINT(127.061690 37.833110)	
-G1833105	Wŏnju	POINT(127.945280 37.351390)	
-G1833747	Ulsan	POINT(129.316670 35.537220)	
-G1833788	Ŭijŏngbu	POINT(127.047400 37.741500)	
-G1835235	Taejŏn	POINT(127.419720 36.321390)	
-G1835329	Taegu	POINT(128.591110 35.870280)	
-G1835553	Suwŏn	POINT(127.008890 37.291110)	
-G1835648	Sunch’ŏn	POINT(127.489470 34.948080)	
-G1835848	Seoul	POINT(126.977830 37.568260)	
-G1838524	Pusan	POINT(129.040280 35.102780)	
-G1838716	Puch’ŏn	POINT(126.783060 37.498890)	
-G1839071	P’ohang	POINT(129.365000 36.032220)	
-G1839652	Osan	POINT(127.070560 37.152220)	
-G1841066	Mokp’o	POINT(126.388610 34.793610)	
-G1841245	Masan	POINT(128.572500 35.208060)	
-G1841603	Kyŏngju	POINT(129.211670 35.842780)	
-G1841811	Kwangju	POINT(126.915560 35.154720)	
-G1841988	Kuri	POINT(127.139400 37.598600)	
-G1842025	Kunsan	POINT(126.711390 35.978610)	
-G1842225	Kumi	POINT(128.336000 36.113600)	
-G1842485	Goyang	POINT(126.835000 37.656390)	
-G1842943	Kimhae	POINT(128.881110 35.234170)	
-G1843137	Kangnŭng	POINT(128.896110 37.755560)	
-G1843491	Iksan	POINT(126.954440 35.943890)	
-G1843564	Inch’ŏn	POINT(126.731670 37.453610)	
-G1843702	Ich'ŏn	POINT(127.442500 37.279170)	
-G1843847	Hwaseong	POINT(126.816900 37.206820)	
-G1845136	Ch’unch’ŏn	POINT(127.734170 37.874720)	
-G1845457	Chŏnju	POINT(127.148890 35.821940)	
-G1845604	Ch’ŏngju	POINT(127.489720 36.637220)	
-G1845759	Ch’ŏnan	POINT(127.152200 36.806500)	
-G1846052	Chinju	POINT(128.084720 35.192780)	
-G1846266	Cheju	POINT(126.521940 33.509720)	
-G1846326	Ch’angwŏn	POINT(128.681110 35.228060)	
-G1846898	Anyang	POINT(126.926940 37.392500)	
-G1846918	Ansan	POINT(126.821940 37.323610)	
-G1897000	Sŏngnam	POINT(127.137780 37.438610)	
-G1948005	Kwangmyŏng	POINT(126.866390 37.477220)	
-G608668	Oral	POINT(51.366670 51.233330)	
-G609655	Karagandy	POINT(54.866670 50.066670)	
-G610529	Atyrau	POINT(51.883330 47.116670)	
-G610611	Aqtöbe	POINT(57.207180 50.279690)	
-G1516905	Taraz	POINT(71.366670 42.900000)	
-G1518262	Temirtau	POINT(72.948330 50.054440)	
-G1518543	Taldyqorghan	POINT(77.916670 45.000000)	
-G1518980	Shymkent	POINT(69.600000 42.300000)	
-G1519422	Semey	POINT(80.227500 50.411110)	
-G1519922	Qyzylorda	POINT(65.509170 44.852780)	
-G1519928	Qostanay	POINT(63.583330 53.166670)	
-G1519942	Qaraghandy	POINT(73.099440 49.798890)	
-G1520172	Petropavlovsk	POINT(69.162780 54.875280)	
-G1520240	Pavlodar	POINT(76.950000 52.300000)	
-G1520316	Ust’-Kamenogorsk	POINT(82.610280 49.978890)	
-G1526273	Astana	POINT(71.445980 51.180100)	
-G1526384	Almaty	POINT(76.950000 43.250000)	
-G1651944	Vientiane	POINT(102.600000 17.966670)	
-G266826	Tripoli	POINT(35.849720 34.436670)	
-G268064	Sidon	POINT(35.368890 33.563060)	
-G268743	Ra’s Bayrūt	POINT(35.483330 33.900000)	
-G276781	Beirut	POINT(35.494420 33.888940)	
-G1234633	Moratuwa	POINT(79.881600 6.773000)	
-G1242833	Jaffna	POINT(80.013700 9.656700)	
-G1246321	Galkissa	POINT(79.863000 6.829300)	
-G1248991	Colombo	POINT(79.847780 6.931940)	
-G2274895	Monrovia	POINT(-10.796900 6.300540)	
-G593116	Vilnius	POINT(25.279800 54.689160)	
-G598098	Klaipėda	POINT(21.117500 55.717220)	
-G598316	Kaunas	POINT(23.900000 54.900000)	
-G456172	Riga	POINT(24.105890 56.946000)	
-G88319	Banghāzī	POINT(20.066670 32.116670)	
-G89055	Al Bayḑā’	POINT(21.755060 32.762720)	
-G2210221	Tarhūnah	POINT(13.633200 32.435020)	
-G2210247	Tripoli	POINT(13.187460 32.875190)	
-G2214846	Mişrātah	POINT(15.092540 32.375350)	
-G2216885	Ḩārat az Zāwiyah	POINT(12.715000 32.763060)	
-G2219905	Al Khums	POINT(14.266670 32.650000)	
-G2528910	Tétouan	POINT(-5.372420 35.571090)	
-G2530335	Tangier	POINT(-5.813650 35.780580)	
-G2537763	Salé	POINT(-6.816600 34.038920)	
-G2537881	Safi	POINT(-9.237180 32.299390)	
-G2538475	Rabat	POINT(-6.832550 34.013250)	
-G2540483	Oujda	POINT(-1.907640 34.680520)	
-G2542051	Mohammedia	POINT(-7.394420 33.706590)	
-G2542715	Meknès	POINT(-5.547270 33.893520)	
-G2542997	Marrakech	POINT(-8.008280 31.631480)	
-G2544248	Khouribga	POINT(-6.906300 32.881080)	
-G2544571	Kenitra	POINT(-6.580200 34.261010)	
-G2548885	Fès	POINT(-4.999800 34.037150)	
-G2553604	Casablanca	POINT(-7.619160 33.592780)	
-G2555745	Beni Mellal	POINT(-6.349840 32.337250)	
-G2561668	Agadir	POINT(-9.598150 30.420180)	
-G617239	Tiraspol	POINT(29.643330 46.840280)	
-G618426	Chişinău	POINT(28.857500 47.005560)	
-G1053384	Toamasina	POINT(49.383330 -18.166670)	
-G1062663	Mahajanga	POINT(46.316670 -15.716670)	
-G1064890	Fianarantsoa	POINT(47.083330 -21.433330)	
-G1070940	Antananarivo	POINT(47.530980 -18.914330)	
-G785842	Skopje	POINT(21.433330 42.000000)	
-G2460596	Bamako	POINT(-8.000000 12.650000)	
-G1293960	Taunggyi	POINT(97.033330 20.783330)	
-G1295765	Akyab	POINT(92.900000 20.150000)	
-G1298824	Rangoon	POINT(96.156110 16.805280)	
-G1300466	Bago	POINT(96.479720 17.336670)	
-G1308465	Mawlamyine	POINT(97.625560 16.491390)	
-G1308522	Monywa	POINT(95.133330 22.116670)	
-G1309611	Myeik	POINT(98.600000 12.433330)	
-G1309793	Meiktila	POINT(95.866670 20.866670)	
-G1311874	Mandalay	POINT(96.083590 21.974730)	
-G1328421	Pathein	POINT(94.733330 16.783330)	
-G6611854	Nay Pyi Taw	POINT(96.129720 19.745000)	
-G2028462	Ulaanbaatar	POINT(106.883240 47.907710)	
-G1821274	Macau	POINT(113.546110 22.200560)	
-G2377450	Nouakchott	POINT(-15.949750 18.100330)	
-G934154	Port Louis	POINT(57.498890 -20.161940)	
-G927967	Lilongwe	POINT(33.783330 -13.983330)	
-G931755	Blantyre	POINT(35.013870 -15.786820)	
-G3514450	Xochimilco	POINT(-99.107500 19.262220)	
-G3514519	Xico	POINT(-98.933330 19.266670)	
-G3514663	Alvaro Obregón	POINT(-99.225000 19.373330)	
-G3514670	Villahermosa	POINT(-92.916670 17.983330)	
-G3514674	Gustavo A. Madero	POINT(-99.095830 19.478610)	
-G3514783	Veracruz	POINT(-96.133330 19.200000)	
-G3515001	Tuxtla Gutiérrez	POINT(-93.116670 16.750000)	
-G3515302	Toluca	POINT(-99.667220 19.288330)	
-G3515428	Tlalpan	POINT(-99.166670 19.283330)	
-G3515431	Tlalnepantla	POINT(-99.221670 19.526940)	
-G3515463	Tlahuac	POINT(-99.003330 19.281670)	
-G3515807	Cuautitlán Izcalli	POINT(-99.246670 19.646940)	
-G3516109	Tehuacán	POINT(-97.383330 18.450000)	
-G3516266	Tapachula	POINT(-92.283330 14.900000)	
-G3516355	Tampico	POINT(-97.850000 22.216670)	
-G3518135	San Pablo de las Salinas	POINT(-99.096390 19.665830)	
-G3520339	Reynosa	POINT(-98.283330 26.083330)	
-G3521081	Puebla de Zaragoza	POINT(-98.200000 19.050000)	
-G3521168	Poza Rica de Hidalgo	POINT(-97.459460 20.533150)	
-G3522210	Pachuca de Soto	POINT(-98.733290 20.116970)	
-G3522507	Oaxaca de Juárez	POINT(-96.716670 17.050000)	
-G3522551	Nuevo Laredo	POINT(-99.516670 27.500000)	
-G3522732	Nicolás Romero	POINT(-99.313060 19.621940)	
-G3522790	Naucalpan de Juárez	POINT(-99.239630 19.478510)	
-G3523183	Minatitlán	POINT(-94.516670 17.983330)	
-G3523303	Metepec	POINT(-99.607780 19.253610)	
-G3523349	Mérida	POINT(-89.616670 20.966670)	
-G3523466	Heroica Matamoros	POINT(-97.500000 25.883330)	
-G3523760	Magdalena Contreras	POINT(-99.233330 19.283330)	
-G3523908	Los Reyes	POINT(-98.966670 19.350000)	
-G3526485	Jiutepec	POINT(-99.183330 18.866670)	
-G3526617	Jalapa Enríquez	POINT(-96.916670 19.533330)	
-G3526682	Ixtapaluca	POINT(-98.883330 19.316670)	
-G3526683	Iztapalapa	POINT(-99.051940 19.351110)	
-G3526700	Iztacalco	POINT(-99.084720 19.396670)	
-G3529612	Ecatepec	POINT(-99.052500 19.601110)	
-G3529947	Cuernavaca	POINT(-99.250000 18.916670)	
-G3530049	Cuajimalpa	POINT(-99.301110 19.355830)	
-G3530139	Coyoacán	POINT(-99.160280 19.328890)	
-G3530517	Coatzacoalcos	POINT(-94.416670 18.150000)	
-G3530569	Coacalco	POINT(-99.110280 19.631670)	
-G3530580	Ciudad Victoria	POINT(-99.133330 23.733330)	
-G3530589	Ciudad Nezahualcóyotl	POINT(-99.033060 19.413610)	
-G3530594	Ciudad Madero	POINT(-97.833330 22.266670)	
-G3530597	Mexico City	POINT(-99.127660 19.428470)	
-G3530757	Cholula	POINT(-98.303520 19.064060)	
-G3530870	Chilpancingo de los Bravos	POINT(-99.500000 17.550000)	
-G3531200	Chalco de Díaz Covarrubias	POINT(-98.900000 19.266670)	
-G3531673	Cancún	POINT(-86.846560 21.174290)	
-G3531732	Campeche	POINT(-90.533330 19.850000)	
-G3532497	Azcapotzalco	POINT(-99.183610 19.488890)	
-G3532624	Ciudad López Mateos	POINT(-99.261390 19.558330)	
-G3533462	Acapulco de Juárez	POINT(-99.890100 16.863360)	
-G3827406	Benito Juarez	POINT(-99.165000 19.385000)	
-G3827407	Venustiano Carranza	POINT(-99.099170 19.430000)	
-G3827408	Miguel Hidalgo	POINT(-99.202780 19.422500)	
-G3827409	Cuauhtémoc	POINT(-99.156940 19.417220)	
-G3979770	Zapopan	POINT(-103.400000 20.716670)	
-G3980760	Uruapan del Progreso	POINT(-102.066670 19.416670)	
-G3981254	Torreón	POINT(-103.433330 25.550000)	
-G3981369	Tonalá	POINT(-103.233330 20.616670)	
-G3981461	Tlaquepaque	POINT(-103.316670 20.650000)	
-G3981609	Tijuana	POINT(-117.016670 32.533330)	
-G3981941	Tepic	POINT(-104.900000 21.500000)	
-G3982912	Soledad Díez Gutiérrez	POINT(-100.950000 22.200000)	
-G3984583	Santa Catarina	POINT(-100.458130 25.673250)	
-G3985241	San Nicolás de los Garza	POINT(-100.300000 25.750000)	
-G3985606	San Luis Potosí	POINT(-100.983330 22.150000)	
-G3988086	Saltillo	POINT(-101.000000 25.416670)	
-G3991164	Querétaro	POINT(-100.383330 20.600000)	
-G3991328	Puerto Vallarta	POINT(-105.230660 20.620410)	
-G3995402	Morelia	POINT(-101.184430 19.700780)	
-G3995465	Monterrey	POINT(-100.316670 25.666670)	
-G3995523	Monclova	POINT(-101.416670 26.900000)	
-G3996069	Mexicali	POINT(-115.468330 32.651940)	
-G3996322	Mazatlán	POINT(-106.416670 23.216670)	
-G3997479	Los Mochis	POINT(-108.966670 25.766670)	
-G3998655	León	POINT(-101.666670 21.116670)	
-G4000900	La Paz	POINT(-110.300000 24.166670)	
-G4004330	Irapuato	POINT(-101.350000 20.683330)	
-G4004886	Heroica Nogales	POINT(-110.933330 31.333330)	
-G4004898	Hermosillo	POINT(-110.966670 29.066670)	
-G4005492	Guadalupe	POINT(-100.250000 25.683330)	
-G4005539	Guadalajara	POINT(-103.333330 20.666670)	
-G4005775	Gómez Palacio	POINT(-103.500000 25.566670)	
-G4005867	General Escobedo	POINT(-100.333330 25.816670)	
-G4006702	Ensenada	POINT(-116.616670 31.866670)	
-G4011743	Durango	POINT(-104.666670 24.033330)	
-G4012176	Culiacán	POINT(-107.389720 24.799440)	
-G4013704	Ciudad Obregón	POINT(-109.933330 27.483330)	
-G4013708	Ciudad Juárez	POINT(-106.483330 31.733330)	
-G4014338	Chihuahua	POINT(-106.083330 28.633330)	
-G4014875	Celaya	POINT(-100.816670 20.516670)	
-G4018390	Apodaca	POINT(-100.200000 25.766670)	
-G4019233	Aguascalientes	POINT(-102.300000 21.883330)	
-G7280708	Colonia del Valle	POINT(-99.162040 19.386110)	
-G1732687	Batu Pahat	POINT(102.933330 1.850000)	
-G1732745	Sekudai	POINT(103.666670 1.533330)	
-G1732752	Johor Bahru	POINT(103.757800 1.465500)	
-G1732811	Kluang	POINT(103.332800 2.025100)	
-G1732903	Shah Alam	POINT(101.532810 3.085070)	
-G1732905	Klang	POINT(101.450000 3.033330)	
-G1733432	Kota Kinabalu	POINT(116.066670 5.983330)	
-G1734052	Sandakan	POINT(118.117900 5.840200)	
-G1734199	Tawau	POINT(117.900000 4.250000)	
-G1734393	Kulim	POINT(100.561770 5.364990)	
-G1734586	Taiping	POINT(100.733330 4.850000)	
-G1734634	Ipoh	POINT(101.082900 4.584100)	
-G1734705	Kuala Terengganu	POINT(103.140800 5.330200)	
-G1734759	Melaka	POINT(102.248060 2.196940)	
-G1734810	Seremban	POINT(101.933330 2.716670)	
-G1735079	Bukit Mertajam	POINT(100.466700 5.363010)	
-G1735106	George Town	POINT(100.335430 5.411230)	
-G1735158	Petaling Jaya	POINT(101.606710 3.107260)	
-G1735161	Kuala Lumpur	POINT(101.686530 3.141200)	
-G1735227	Kuantan	POINT(103.326000 3.807700)	
-G1735498	Sungai Petani	POINT(100.487720 5.647000)	
-G1735634	Kuching	POINT(110.333330 1.550000)	
-G1735902	Sibu	POINT(111.816670 2.300000)	
-G1736309	Alor Setar	POINT(100.360140 6.121040)	
-G1736376	Kota Bharu	POINT(102.238600 6.133280)	
-G1737486	Bintulu	POINT(113.033330 3.166670)	
-G1738050	Miri	POINT(113.983330 4.383330)	
-G1771023	Kampung Baru Subang	POINT(101.533330 3.150000)	
-G1028434	Quelimane	POINT(36.888330 -17.878610)	
-G1033356	Nampula	POINT(39.266600 -15.116460)	
-G1035025	Cidade de Nacala	POINT(40.672780 -14.542780)	
-G1039854	Matola	POINT(32.458890 -25.962220)	
-G1040652	Maputo	POINT(32.589170 -25.965280)	
-G1049261	Chimoio	POINT(33.483330 -19.116390)	
-G1052373	Beira	POINT(34.838890 -19.843610)	
-G3352136	Windhoek	POINT(17.083230 -22.559410)	
-G2437798	Zinder	POINT(8.988370 13.804870)	
-G2440485	Niamey	POINT(2.111780 13.512500)	
-G2441291	Maradi	POINT(7.101740 13.500000)	
-G2317765	Zaria	POINT(7.725180 11.113240)	
-G2319133	Warri	POINT(5.750000 5.516670)	
-G2320576	Umuahia	POINT(7.489590 5.526270)	
-G2320831	Ugep	POINT(8.081200 5.808600)	
-G2322794	Abuja	POINT(7.180830 9.175830)	
-G2322911	Sokoto	POINT(5.239020 13.060920)	
-G2323390	Saki	POINT(3.383330 8.666670)	
-G2323411	Shagamu	POINT(3.647760 6.843230)	
-G2323675	Sapele	POINT(5.676660 5.894050)	
-G2324774	Port Harcourt	POINT(7.013400 4.777420)	
-G2325200	Oyo	POINT(3.933330 7.850000)	
-G2325314	Owo	POINT(5.586810 7.196200)	
-G2325330	Owerri	POINT(7.030410 5.483330)	
-G2326016	Onitsha	POINT(6.788450 6.145430)	
-G2326171	Ondo	POINT(4.833330 7.100000)	

<TRUNCATED>

[28/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/UTF32ToUTF8.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/UTF32ToUTF8.java b/lucene/core/src/java/org/apache/lucene/util/automaton/UTF32ToUTF8.java
index 059ee09..cc1f6e9 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/UTF32ToUTF8.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/UTF32ToUTF8.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.Arrays;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/createLevAutomata.py
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/createLevAutomata.py b/lucene/core/src/java/org/apache/lucene/util/automaton/createLevAutomata.py
index 12b9194..bd0ab45 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/createLevAutomata.py
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/createLevAutomata.py
@@ -21,7 +21,7 @@
 import math
 import os
 import sys
-#sys.path.insert(0, 'moman/finenight/python')
+# sys.path.insert(0, 'moman/finenight/python')
 sys.path.insert(0, '../../../../../../../../build/core/moman/finenight/python')
 try:
   from possibleStates import genTransitions
@@ -31,8 +31,8 @@ except ImportError:
 MODE = 'array'
 PACKED = True
 WORD = 64
-LOG2_WORD = int(math.log(WORD)/math.log(2))
-#MODE = 'switch'
+LOG2_WORD = int(math.log(WORD) / math.log(2))
+# MODE = 'switch'
 
 class LineOutput:
 
@@ -47,7 +47,7 @@ class LineOutput:
       self._indent = self._indent[:-2]
 
     if indent != 0:
-      indent0 = '  ' * (len(self._indent)/2+indent)
+      indent0 = '  ' * (len(self._indent) / 2 + indent)
     else:
       indent0 = self._indent
 
@@ -79,7 +79,7 @@ class LineOutput:
   def outdent(self):
     assert self._indent != self.startIndent
     self._indent = self._indent[:-2]
-    
+
 def charVarNumber(charVar):
   """
   Maps binary number (eg [1, 0, 1]) to its decimal value (5).
@@ -87,7 +87,7 @@ def charVarNumber(charVar):
 
   p = 1
   sum = 0
-  downTo = len(charVar)-1
+  downTo = len(charVar) - 1
   while downTo >= 0:
     sum += p * int(charVar[downTo])
     p *= 2
@@ -120,8 +120,6 @@ def main():
 
   w = LineOutput()
 
-  w('package org.apache.lucene.util.automaton;')
-  w('')
   w('/*')
   w(' * Licensed to the Apache Software Foundation (ASF) under one or more')
   w(' * contributor license agreements.  See the NOTICE file distributed with')
@@ -138,6 +136,7 @@ def main():
   w(' * See the License for the specific language governing permissions and')
   w(' * limitations under the License.')
   w(' */')
+  w('package org.apache.lucene.util.automaton;')
   w('')
   w('// The following code was generated with the moman/finenight pkg')
   w('// This package is available under the MIT License, see NOTICE.txt')
@@ -167,14 +166,14 @@ def main():
   w('  int state = absState/(w+1);')
   w('  int offset = absState%(w+1);')
   w('  assert offset >= 0;')
-  w('')  
+  w('')
 
   machines = []
-  
+
   for i, map in enumerate(tables):
     if i == 0:
       w('if (position == w) {')
-    elif i == len(tables)-1:
+    elif i == len(tables) - 1:
       w('} else {')
     else:
       w('} else if (position == w-%d) {' % i)
@@ -200,7 +199,7 @@ def main():
       if i != 0 and MODE == 'switch':
         w('case %s: // <%s>' % (charVarNumber(charVar), ','.join([str(x) for x in charVar])))
         w.indent()
-        
+
       l = states.items()
 
       byFromState = {}
@@ -209,17 +208,17 @@ def main():
       byAction = {}
       for s, (toS, offset) in l:
         state = str(s)
-        
+
         toState = str(toS)
         if state not in stateMap:
-          stateMap[state] = len(stateMap)-1
+          stateMap[state] = len(stateMap) - 1
         if toState not in stateMap:
-          stateMap[toState] = len(stateMap)-1
+          stateMap[toState] = len(stateMap) - 1
 
-        byFromState[stateMap[state]] = (1+stateMap[toState], offset)
+        byFromState[stateMap[state]] = (1 + stateMap[toState], offset)
 
-        fromStateDesc = s[1:len(s)-1]
-        toStateDesc = ', '.join([str(x) for x in toS])   
+        fromStateDesc = s[1:len(s) - 1]
+        toStateDesc = ', '.join([str(x) for x in toS])
 
         tup = (stateMap[toState], toStateDesc, offset)
         if tup not in byAction:
@@ -298,7 +297,7 @@ def main():
       w('')
       w.outdent()
       w('// %d vectors; %d states per vector; array length = %d' % \
-        (numVectors, numCasesPerVector, numVectors*numCasesPerVector))
+        (numVectors, numCasesPerVector, numVectors * numCasesPerVector))
       w.indent()
       if PACKED:
         # pack in python
@@ -317,26 +316,26 @@ def main():
         w('  private final static int[] offsetIncrs%d = new int[] %s;' % \
           (i, renderList([str(x) for x in toStateArray])))
     w.outdent()
-  
-  stateMap2 = dict([[v,k] for k,v in stateMap.items()])
+
+  stateMap2 = dict([[v, k] for k, v in stateMap.items()])
   w('')
   w('// state map')
   sum = 0
   minErrors = []
-  for i in xrange(len(stateMap2)-1):
+  for i in xrange(len(stateMap2) - 1):
     w('//   %s -> %s' % (i, stateMap2[i]))
     # we replace t-notation as it's not relevant here
     st = stateMap2[i].replace('t', '')
-    
+
     v = eval(st)
-    minError = min([-i+e for i, e in v])
+    minError = min([-i + e for i, e in v])
     c = len(v)
     sum += c
     minErrors.append(minError)
   w('')
 
   w.indent()
-  #w('private final static int[] minErrors = new int[] {%s};' % ','.join([str(x) for x in minErrors]))
+  # w('private final static int[] minErrors = new int[] {%s};' % ','.join([str(x) for x in minErrors]))
 
   w.outdent()
 
@@ -349,7 +348,7 @@ def main():
     w('')
     w('@Override')
     w('public int size() { // this can now move up?')
-    w('  return %d*(w+1);' % (len(stateMap2)-1))
+    w('  return %d*(w+1);' % (len(stateMap2) - 1))
     w('}')
 
     w('')
@@ -381,7 +380,7 @@ def main():
       v = 2
       l = []
       for i in range(63):
-        l.append(hex(v-1))
+        l.append(hex(v - 1))
         v *= 2
 
       w('private final static long[] MASKS = new long[] {%s};' % ','.join(l), indent=1)
@@ -391,7 +390,7 @@ def main():
       w('private int unpack(long[] data, int index, int bitsPerValue) {')
       w('  final long bitLoc = bitsPerValue * index;')
       w('  final int dataLoc = (int) (bitLoc >> %d);' % LOG2_WORD)
-      w('  final int bitStart = (int) (bitLoc & %d);' % (WORD-1))
+      w('  final int bitStart = (int) (bitLoc & %d);' % (WORD - 1))
       w('  //System.out.println("index=" + index + " dataLoc=" + dataLoc + " bitStart=" + bitStart + " bitsPerV=" + bitsPerValue);')
       w('  if (bitStart + bitsPerValue <= %d) {' % WORD)
       w('    // not split')
@@ -403,7 +402,7 @@ def main():
       w('      ((data[1+dataLoc] & MASKS[bitsPerValue-part-1]) << part));', indent=1)
       w('  }')
       w('}')
-  
+
   # class
   w('}')
   w('')
@@ -417,7 +416,7 @@ def main():
   open(fileOut, 'wb').write(s)
 
   print 'Wrote %s [%d lines; %.1f KB]' % \
-        (fileOut, len(w.l), os.path.getsize(fileOut)/1024.)
+        (fileOut, len(w.l), os.path.getsize(fileOut) / 1024.)
 
 def renderList(l):
   lx = ['    ']
@@ -432,13 +431,13 @@ def renderList(l):
 MASKS = []
 v = 2
 for i in xrange(63):
-  MASKS.append(v-1)
+  MASKS.append(v - 1)
   v *= 2
 
 # packs into longs; returns long[], numBits
 def pack(l):
   maxV = max(l)
-  bitsPerValue = max(1, int(math.ceil(math.log(maxV+1)/math.log(2.0))))
+  bitsPerValue = max(1, int(math.ceil(math.log(maxV + 1) / math.log(2.0))))
 
   bitsLeft = WORD
   pendingValue = 0
@@ -447,11 +446,11 @@ def pack(l):
   for i in xrange(len(l)):
     v = l[i]
     if pendingValue > 0:
-      bitsUsed = math.ceil(math.log(pendingValue)/math.log(2.0))
-      assert bitsUsed <= (WORD-bitsLeft), 'bitsLeft=%s (%s-%s=%s) bitsUsed=%s' % (bitsLeft, WORD, bitsLeft, WORD-bitsLeft, bitsUsed)
-      
+      bitsUsed = math.ceil(math.log(pendingValue) / math.log(2.0))
+      assert bitsUsed <= (WORD - bitsLeft), 'bitsLeft=%s (%s-%s=%s) bitsUsed=%s' % (bitsLeft, WORD, bitsLeft, WORD - bitsLeft, bitsUsed)
+
     if bitsLeft >= bitsPerValue:
-      pendingValue += v << (WORD-bitsLeft)
+      pendingValue += v << (WORD - bitsLeft)
       bitsLeft -= bitsPerValue
       if bitsLeft == 0:
         packed.append(pendingValue)
@@ -461,17 +460,17 @@ def pack(l):
       # split
 
       # bottom bitsLeft go in current word:
-      pendingValue += (v & MASKS[bitsLeft-1]) << (WORD-bitsLeft)
+      pendingValue += (v & MASKS[bitsLeft - 1]) << (WORD - bitsLeft)
       packed.append(pendingValue)
 
       pendingValue = v >> bitsLeft
-      bitsLeft = WORD - (bitsPerValue-bitsLeft)
+      bitsLeft = WORD - (bitsPerValue - bitsLeft)
 
   if bitsLeft < WORD:
     packed.append(pendingValue)
 
   # verify(l, packed, bitsPerValue)
-  
+
   return packed, bitsPerValue
 
 def verify(data, packedData, bitsPerValue):
@@ -481,16 +480,16 @@ def verify(data, packedData, bitsPerValue):
 def unpack(data, index, bitsPerValue):
   bitLoc = bitsPerValue * index
   dataLoc = int(bitLoc >> LOG2_WORD)
-  bitStart = int(bitLoc & (WORD-1))
+  bitStart = int(bitLoc & (WORD - 1))
   if bitStart + bitsPerValue <= WORD:
     # not split
-    return int(((data[dataLoc] >> bitStart) & MASKS[bitsPerValue-1]))
+    return int(((data[dataLoc] >> bitStart) & MASKS[bitsPerValue - 1]))
   else:
     # split
-    part = WORD-bitStart;
-    return int((((data[dataLoc] >> bitStart) & MASKS[part-1]) +
-                ((data[1+dataLoc] & MASKS[bitsPerValue-part-1]) << part)))
-  
+    part = WORD - bitStart;
+    return int((((data[dataLoc] >> bitStart) & MASKS[part - 1]) +
+                ((data[1 + dataLoc] & MASKS[bitsPerValue - part - 1]) << part)))
+
 if __name__ == '__main__':
   if not __debug__:
     print

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/BKDReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/BKDReader.java b/lucene/core/src/java/org/apache/lucene/util/bkd/BKDReader.java
index 81b9814..8a3986e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/BKDReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/BKDReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/BKDWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/BKDWriter.java b/lucene/core/src/java/org/apache/lucene/util/bkd/BKDWriter.java
index e47830d..0d3f8fc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/BKDWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/BKDWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.Closeable;
 import java.io.EOFException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointReader.java b/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointReader.java
index b4f0bbe..081360b 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointWriter.java b/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointWriter.java
index bea8d98..ae247c9 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/HeapPointWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointReader.java b/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointReader.java
index 57b28a9..ad85238 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointWriter.java b/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointWriter.java
index 6cf1097..a4a9f7c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/OfflinePointWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/PointReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/PointReader.java b/lucene/core/src/java/org/apache/lucene/util/bkd/PointReader.java
index 2b7576f..fe7a961 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/PointReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/PointReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/PointWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/PointWriter.java b/lucene/core/src/java/org/apache/lucene/util/bkd/PointWriter.java
index a732ee9..4cdf434 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/PointWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/PointWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.bkd;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.bkd;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.bkd;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/bkd/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/bkd/package-info.java b/lucene/core/src/java/org/apache/lucene/util/bkd/package-info.java
index 85dec5a..d824ffe 100644
--- a/lucene/core/src/java/org/apache/lucene/util/bkd/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/util/bkd/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Block KD-tree, implementing the generic spatial data structure described in
  * <a href="https://www.cs.duke.edu/~pankaj/publications/papers/bkd-sstd.pdf">this paper</a>.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/Builder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/Builder.java b/lucene/core/src/java/org/apache/lucene/util/fst/Builder.java
index 849371f..dfa6eb1 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/Builder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/Builder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/ByteSequenceOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/ByteSequenceOutputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/ByteSequenceOutputs.java
index 789a808..70f4680 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/ByteSequenceOutputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/ByteSequenceOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/BytesRefFSTEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/BytesRefFSTEnum.java b/lucene/core/src/java/org/apache/lucene/util/fst/BytesRefFSTEnum.java
index 9fc1ee1..97d6a0e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/BytesRefFSTEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/BytesRefFSTEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java b/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java
index 9a7cca7..96f5732 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/CharSequenceOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/CharSequenceOutputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/CharSequenceOutputs.java
index c7b18a1..6529ada 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/CharSequenceOutputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/CharSequenceOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/FST.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java
index 88cbf7c..4a0a3a9 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java b/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java
index d1f7a1a..676d6ed 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/ForwardBytesReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/ForwardBytesReader.java b/lucene/core/src/java/org/apache/lucene/util/fst/ForwardBytesReader.java
index 2365a02..9d450b8 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/ForwardBytesReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/ForwardBytesReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 // TODO: can we use just ByteArrayDataInput...?  need to
 // add a .skipBytes to DataInput.. hmm and .setPosition

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/IntSequenceOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/IntSequenceOutputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/IntSequenceOutputs.java
index f121043..d10359e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/IntSequenceOutputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/IntSequenceOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/IntsRefFSTEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/IntsRefFSTEnum.java b/lucene/core/src/java/org/apache/lucene/util/fst/IntsRefFSTEnum.java
index 1a3efa9..f485854 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/IntsRefFSTEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/IntsRefFSTEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.IntsRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/NoOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/NoOutputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/NoOutputs.java
index 91935a8..1d936e4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/NoOutputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/NoOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.store.DataOutput;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/NodeHash.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/NodeHash.java b/lucene/core/src/java/org/apache/lucene/util/fst/NodeHash.java
index d6c1482..6704cf6 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/NodeHash.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/NodeHash.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/Outputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/Outputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/Outputs.java
index fad2b6c..be024a8 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/Outputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/Outputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/PairOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/PairOutputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/PairOutputs.java
index 1358e82..b74cf28 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/PairOutputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/PairOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/PositiveIntOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/PositiveIntOutputs.java b/lucene/core/src/java/org/apache/lucene/util/fst/PositiveIntOutputs.java
index 83136b4..517a86c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/PositiveIntOutputs.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/PositiveIntOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/ReverseBytesReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/ReverseBytesReader.java b/lucene/core/src/java/org/apache/lucene/util/fst/ReverseBytesReader.java
index 59d76f0..01341cf 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/ReverseBytesReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/ReverseBytesReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 /** Reads in reverse from a single byte[]. */
 final class ReverseBytesReader extends FST.BytesReader {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/Util.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/Util.java b/lucene/core/src/java/org/apache/lucene/util/fst/Util.java
index 5dc8c9b..341b8d0 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/Util.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/Util.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/fst/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/package-info.java b/lucene/core/src/java/org/apache/lucene/util/fst/package-info.java
index 41426f9..9fd4084 100644
--- a/lucene/core/src/java/org/apache/lucene/util/fst/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/util/fst/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Finite state transducers
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/mutable/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/mutable/package-info.java b/lucene/core/src/java/org/apache/lucene/util/mutable/package-info.java
index 02ae5fc..15077ef 100644
--- a/lucene/core/src/java/org/apache/lucene/util/mutable/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/util/mutable/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Comparable object wrappers 
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/package-info.java b/lucene/core/src/java/org/apache/lucene/util/package-info.java
index be74639..66f4a10 100644
--- a/lucene/core/src/java/org/apache/lucene/util/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/util/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Some utility classes.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/AbstractBlockPackedWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/AbstractBlockPackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/AbstractBlockPackedWriter.java
index 8fc9a16..9a3a8a4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/AbstractBlockPackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/AbstractBlockPackedWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.packed.PackedInts.checkBlockSize;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java b/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java
index 9633183..13ab6f9 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.packed.PackedInts.checkBlockSize;
 import static org.apache.lucene.util.packed.PackedInts.numBlocks;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java
index bec5358..82bf93f 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.BitUtil.zigZagDecode;
 import static org.apache.lucene.util.packed.AbstractBlockPackedWriter.BPV_SHIFT;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReaderIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReaderIterator.java b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReaderIterator.java
index 2a7af3f..512fa36 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReaderIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReaderIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.BitUtil.zigZagDecode;
 import static org.apache.lucene.util.packed.AbstractBlockPackedWriter.BPV_SHIFT;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
index cbc2312..afe3ccf 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.BitUtil.zigZagEncode;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperation.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperation.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperation.java
index 9e5c3de..98ff57c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperation.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperation.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked.java
index 750515a..89968fd 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.util.packed;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
+
 
 /**
  * Non-specialized {@link BulkOperation} for {@link PackedInts.Format#PACKED}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked1.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked1.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked1.java
index 7e06f63..672745d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked1.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked1.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked10.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked10.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked10.java
index 520c15a..90135f1 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked10.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked10.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked11.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked11.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked11.java
index a2b34a7..c601332 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked11.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked11.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked12.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked12.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked12.java
index 024691c..b3cb14d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked12.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked12.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked13.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked13.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked13.java
index d6bd4ed..eca5c3a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked13.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked13.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked14.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked14.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked14.java
index f80bd95..0a4ca6f 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked14.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked14.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked15.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked15.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked15.java
index 54ca6bc..701c756 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked15.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked15.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked16.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked16.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked16.java
index c1de1f8..6db3d44 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked16.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked16.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked17.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked17.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked17.java
index c767caf..f6dfefc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked17.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked17.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked18.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked18.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked18.java
index fc2ac64..36cb5bc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked18.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked18.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked19.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked19.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked19.java
index 49640bf..43941b3 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked19.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked19.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked2.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked2.java
index 03e250b..7ce97ab 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked2.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked2.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked20.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked20.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked20.java
index fc7e389..3d3862a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked20.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked20.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked21.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked21.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked21.java
index d98c499..d38f173 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked21.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked21.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked22.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked22.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked22.java
index ed4ccd0..b227163 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked22.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked22.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked23.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked23.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked23.java
index c0aad0e..7a80c3a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked23.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked23.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked24.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked24.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked24.java
index d23d91f..60b3b15 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked24.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked24.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked3.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked3.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked3.java
index da0a9ad..862a70f 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked3.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked3.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked4.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked4.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked4.java
index a67080a..30c61b8 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked4.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked4.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked5.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked5.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked5.java
index da827eb..ddb435d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked5.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked5.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked6.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked6.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked6.java
index aedd63c..174a37a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked6.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked6.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked7.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked7.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked7.java
index 3629e58..18d0156 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked7.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked7.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked8.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked8.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked8.java
index f9833fe..03421fa 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked8.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked8.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked9.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked9.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked9.java
index f763b55..60632b6 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked9.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPacked9.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 /**
  * Efficient sequential read/write of packed integers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPackedSingleBlock.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPackedSingleBlock.java b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPackedSingleBlock.java
index 0755a9d..c4dfe9f 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPackedSingleBlock.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BulkOperationPackedSingleBlock.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 /**
  * Non-specialized {@link BulkOperation} for {@link PackedInts.Format#PACKED_SINGLE_BLOCK}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DeltaPackedLongValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DeltaPackedLongValues.java b/lucene/core/src/java/org/apache/lucene/util/packed/DeltaPackedLongValues.java
index ade1e6a..80534da 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DeltaPackedLongValues.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DeltaPackedLongValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java b/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
index ea35b06..82281a9e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;
@@ -42,6 +41,11 @@ final class Direct16 extends PackedInts.MutableImpl {
     for (int i = 0; i < valueCount; ++i) {
       values[i] = in.readShort();
     }
+    // because packed ints have not always been byte-aligned
+    final int remaining = (int) (PackedInts.Format.PACKED.byteCount(packedIntsVersion, valueCount, 16) - 2L * valueCount);
+    for (int i = 0; i < remaining; ++i) {
+      in.readByte();
+    }
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java b/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
index 61d997e..502aa3f 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;
@@ -42,6 +41,11 @@ final class Direct32 extends PackedInts.MutableImpl {
     for (int i = 0; i < valueCount; ++i) {
       values[i] = in.readInt();
     }
+    // because packed ints have not always been byte-aligned
+    final int remaining = (int) (PackedInts.Format.PACKED.byteCount(packedIntsVersion, valueCount, 32) - 4L * valueCount);
+    for (int i = 0; i < remaining; ++i) {
+      in.readByte();
+    }
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java b/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
index 5a16964..106f641 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java b/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
index e087172..27986c0 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;
@@ -40,6 +39,11 @@ final class Direct8 extends PackedInts.MutableImpl {
   Direct8(int packedIntsVersion, DataInput in, int valueCount) throws IOException {
     this(valueCount);
     in.readBytes(values, 0, valueCount);
+    // because packed ints have not always been byte-aligned
+    final int remaining = (int) (PackedInts.Format.PACKED.byteCount(packedIntsVersion, valueCount, 8) - 1L * valueCount);
+    for (int i = 0; i < remaining; ++i) {
+      in.readByte();
+    }
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicReader.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicReader.java
index 836ee50..bdefdf3 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
index 1ff5ded..970e3ff 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java
index dac9b02..2062d2c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectPacked64SingleBlockReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
index c6e315d..bc97242 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectPackedReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import org.apache.lucene.store.IndexInput;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java
index 81e2484..a094950 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java
index 85c7c47..9a7f18e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java
index f898369..76d3ecc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/GrowableWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java
index 298aca0..44de758 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.packed.AbstractBlockPackedWriter.MAX_BLOCK_SIZE;
 import static org.apache.lucene.util.packed.AbstractBlockPackedWriter.MIN_BLOCK_SIZE;


[83/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
new file mode 100644
index 0000000..7dc2dfa
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
@@ -0,0 +1,144 @@
+/*
+ * 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.lucene.spatial.composite;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.SpatialStrategy;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
+import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
+import org.apache.lucene.spatial.util.ShapePredicateValueSource;
+
+/**
+ * A composite {@link SpatialStrategy} based on {@link RecursivePrefixTreeStrategy} (RPT) and
+ * {@link SerializedDVStrategy} (SDV).
+ * RPT acts as an index to the precision available in SDV, and in some circumstances can avoid geometry lookups based
+ * on where a cell is in relation to the query shape.  Currently the only predicate optimized like this is Intersects.
+ * All predicates are supported except for the BBox* ones, and Disjoint.
+ *
+ * @lucene.experimental
+ */
+public class CompositeSpatialStrategy extends SpatialStrategy {
+
+  //TODO support others? (BBox)
+  private final RecursivePrefixTreeStrategy indexStrategy;
+
+  /** Has the geometry. */ // TODO support others?
+  private final SerializedDVStrategy geometryStrategy;
+  private boolean optimizePredicates = true;
+
+  public CompositeSpatialStrategy(String fieldName,
+                                  RecursivePrefixTreeStrategy indexStrategy, SerializedDVStrategy geometryStrategy) {
+    super(indexStrategy.getSpatialContext(), fieldName);//field name; unused
+    this.indexStrategy = indexStrategy;
+    this.geometryStrategy = geometryStrategy;
+  }
+
+  public RecursivePrefixTreeStrategy getIndexStrategy() {
+    return indexStrategy;
+  }
+
+  public SerializedDVStrategy getGeometryStrategy() {
+    return geometryStrategy;
+  }
+
+  public boolean isOptimizePredicates() {
+    return optimizePredicates;
+  }
+
+  /** Set to false to NOT use optimized search predicates that avoid checking the geometry sometimes. Only useful for
+   * benchmarking. */
+  public void setOptimizePredicates(boolean optimizePredicates) {
+    this.optimizePredicates = optimizePredicates;
+  }
+
+  @Override
+  public Field[] createIndexableFields(Shape shape) {
+    List<Field> fields = new ArrayList<>();
+    Collections.addAll(fields, indexStrategy.createIndexableFields(shape));
+    Collections.addAll(fields, geometryStrategy.createIndexableFields(shape));
+    return fields.toArray(new Field[fields.size()]);
+  }
+
+  @Override
+  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
+    //TODO consider indexing center-point in DV?  Guarantee contained by the shape, which could then be used for
+    // other purposes like faster WITHIN predicate?
+    throw new UnsupportedOperationException();
+  }
+
+  @Override
+  public Query makeQuery(SpatialArgs args) {
+    final SpatialOperation pred = args.getOperation();
+
+    if (pred == SpatialOperation.BBoxIntersects || pred == SpatialOperation.BBoxWithin) {
+      throw new UnsupportedSpatialOperation(pred);
+    }
+
+    if (pred == SpatialOperation.IsDisjointTo) {
+//      final Query intersectQuery = makeQuery(new SpatialArgs(SpatialOperation.Intersects, args.getShape()));
+//      DocValues.getDocsWithField(reader, geometryStrategy.getFieldName());
+      //TODO resurrect Disjoint spatial query utility accepting a field name known to have DocValues.
+      // update class docs when it's added.
+      throw new UnsupportedSpatialOperation(pred);
+    }
+
+    final ShapePredicateValueSource predicateValueSource =
+        new ShapePredicateValueSource(geometryStrategy.makeShapeValueSource(), pred, args.getShape());
+    //System.out.println("PredOpt: " + optimizePredicates);
+    if (pred == SpatialOperation.Intersects && optimizePredicates) {
+      // We have a smart Intersects impl
+
+      final SpatialPrefixTree grid = indexStrategy.getGrid();
+      final int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, 0.0));//default to max precision
+      return new IntersectsRPTVerifyQuery(args.getShape(), indexStrategy.getFieldName(), grid,
+          detailLevel, indexStrategy.getPrefixGridScanLevel(), predicateValueSource);
+    } else {
+      //The general path; all index matches get verified
+
+      SpatialArgs indexArgs;
+      if (pred == SpatialOperation.Contains) {
+        // note: we could map IsWithin as well but it's pretty darned slow since it touches all world grids
+        indexArgs = args;
+      } else {
+        //TODO add args.clone method with new predicate? Or simply make non-final?
+        indexArgs = new SpatialArgs(SpatialOperation.Intersects, args.getShape());
+        indexArgs.setDistErr(args.getDistErr());
+        indexArgs.setDistErrPct(args.getDistErrPct());
+      }
+
+      if (indexArgs.getDistErr() == null && indexArgs.getDistErrPct() == null) {
+        indexArgs.setDistErrPct(0.10);
+      }
+
+      final Query indexQuery = indexStrategy.makeQuery(indexArgs);
+      return new CompositeVerifyQuery(indexQuery, predicateValueSource);
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
new file mode 100644
index 0000000..e03d959
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
@@ -0,0 +1,121 @@
+/*
+ * 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.lucene.spatial.composite;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.ConstantScoreScorer;
+import org.apache.lucene.search.ConstantScoreWeight;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.TwoPhaseIterator;
+import org.apache.lucene.search.Weight;
+import org.apache.lucene.util.Bits;
+
+/**
+ * A Query that considers an "indexQuery" to have approximate results, and a follow-on
+ * {@link ValueSource}/{@link FunctionValues#boolVal(int)} is called to verify each hit
+ * from {@link TwoPhaseIterator#matches()}.
+ *
+ * @lucene.experimental
+ */
+public class CompositeVerifyQuery extends Query {
+  final Query indexQuery;//approximation (matches more than needed)
+  final ValueSource predicateValueSource;//we call boolVal(doc)
+
+  public CompositeVerifyQuery(Query indexQuery, ValueSource predicateValueSource) {
+    this.indexQuery = indexQuery;
+    this.predicateValueSource = predicateValueSource;
+  }
+
+  @Override
+  public Query rewrite(IndexReader reader) throws IOException {
+    final Query rewritten = indexQuery.rewrite(reader);
+    if (rewritten != indexQuery) {
+      return new CompositeVerifyQuery(rewritten, predicateValueSource);
+    }
+    return super.rewrite(reader);
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+    if (!super.equals(o)) return false;
+
+    CompositeVerifyQuery that = (CompositeVerifyQuery) o;
+
+    if (!indexQuery.equals(that.indexQuery)) return false;
+    if (!predicateValueSource.equals(that.predicateValueSource)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + indexQuery.hashCode();
+    result = 31 * result + predicateValueSource.hashCode();
+    return result;
+  }
+
+  @Override
+  public String toString(String field) {
+    //TODO verify this looks good
+    return getClass().getSimpleName() + "(" + indexQuery.toString(field) + ", " + predicateValueSource + ")";
+  }
+
+  @Override
+  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
+    final Weight indexQueryWeight = indexQuery.createWeight(searcher, false);//scores aren't unsupported
+    final Map valueSourceContext = ValueSource.newContext(searcher);
+
+    return new ConstantScoreWeight(this) {
+
+      @Override
+      public Scorer scorer(LeafReaderContext context) throws IOException {
+
+        final Scorer indexQueryScorer = indexQueryWeight.scorer(context);
+        if (indexQueryScorer == null) {
+          return null;
+        }
+
+        final FunctionValues predFuncValues = predicateValueSource.getValues(valueSourceContext, context);
+
+        final TwoPhaseIterator twoPhaseIterator = new TwoPhaseIterator(indexQueryScorer.iterator()) {
+          @Override
+          public boolean matches() throws IOException {
+            return predFuncValues.boolVal(indexQueryScorer.docID());
+          }
+
+          @Override
+          public float matchCost() {
+            return 100; // TODO: use cost of predFuncValues.boolVal()
+          }
+        };
+
+        return new ConstantScoreScorer(this, score(), twoPhaseIterator);
+      }
+    };
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
new file mode 100644
index 0000000..a963b6e
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
@@ -0,0 +1,235 @@
+/*
+ * 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.lucene.spatial.composite;
+
+import java.io.IOException;
+import java.util.Map;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.ConstantScoreScorer;
+import org.apache.lucene.search.ConstantScoreWeight;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.TwoPhaseIterator;
+import org.apache.lucene.search.Weight;
+import org.apache.lucene.spatial.prefix.AbstractVisitingPrefixTreeQuery;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.DocIdSetBuilder;
+
+/**
+ * A spatial Intersects predicate that distinguishes an approximated match from an exact match based on which cells
+ * are within the query shape. It exposes a {@link TwoPhaseIterator} that will verify a match with a provided
+ * predicate in the form of a {@link ValueSource} by calling {@link FunctionValues#boolVal(int)}.
+ *
+ * @lucene.internal
+ */
+public class IntersectsRPTVerifyQuery extends Query {
+
+  private final IntersectsDifferentiatingQuery intersectsDiffQuery;
+  private final ValueSource predicateValueSource; // we call FunctionValues.boolVal(doc)
+
+  public IntersectsRPTVerifyQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel,
+                                  int prefixGridScanLevel, ValueSource predicateValueSource) {
+    this.predicateValueSource = predicateValueSource;
+    this.intersectsDiffQuery = new IntersectsDifferentiatingQuery(queryShape, fieldName, grid, detailLevel,
+        prefixGridScanLevel);
+  }
+
+  @Override
+  public String toString(String field) {
+    return "IntersectsVerified(fieldName=" + field + ")";
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (!super.equals(o)) return false;
+
+    IntersectsRPTVerifyQuery that = (IntersectsRPTVerifyQuery) o;
+
+    if (!intersectsDiffQuery.equals(that.intersectsDiffQuery)) return false;
+    return predicateValueSource.equals(that.predicateValueSource);
+
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + intersectsDiffQuery.hashCode();
+    result = 31 * result + predicateValueSource.hashCode();
+    return result;
+  }
+
+  @Override
+  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
+    final Map valueSourceContext = ValueSource.newContext(searcher);
+
+    return new ConstantScoreWeight(this) {
+      @Override
+      public Scorer scorer(LeafReaderContext context) throws IOException {
+        // Compute approx & exact
+        final IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor result =
+            intersectsDiffQuery.compute(context);
+        if (result.approxDocIdSet == null) {
+          return null;
+        }
+        final DocIdSetIterator approxDISI = result.approxDocIdSet.iterator();
+        if (approxDISI == null) {
+          return null;
+        }
+        final DocIdSetIterator exactIterator;
+        if (result.exactDocIdSet != null) {
+          // If both sets are the same, there's nothing to verify; we needn't return a TwoPhaseIterator
+          if (result.approxDocIdSet == result.exactDocIdSet) {
+            return new ConstantScoreScorer(this, score(), approxDISI);
+          }
+          exactIterator = result.exactDocIdSet.iterator();
+          assert exactIterator != null;
+        } else {
+          exactIterator = null;
+        }
+
+        final FunctionValues predFuncValues = predicateValueSource.getValues(valueSourceContext, context);
+
+        final TwoPhaseIterator twoPhaseIterator = new TwoPhaseIterator(approxDISI) {
+          @Override
+          public boolean matches() throws IOException {
+            final int doc = approxDISI.docID();
+            if (exactIterator != null) {
+              if (exactIterator.docID() < doc) {
+                exactIterator.advance(doc);
+              }
+              if (exactIterator.docID() == doc) {
+                return true;
+              }
+            }
+
+            return predFuncValues.boolVal(doc);
+          }
+
+          @Override
+          public float matchCost() {
+            return 100; // TODO: use cost of exactIterator.advance() and predFuncValues.boolVal()
+          }
+        };
+
+        return new ConstantScoreScorer(this, score(), twoPhaseIterator);
+      }
+    };
+  }
+
+  //This may be a "Query" but we don't use it as-such; the caller calls the constructor and then compute() and examines
+  // the results which consists of two parts -- the approximated results, and a subset of exact matches. The
+  // difference needs to be verified.
+  // TODO refactor AVPTQ to not be a Query?
+  private static class IntersectsDifferentiatingQuery extends AbstractVisitingPrefixTreeQuery {
+
+    public IntersectsDifferentiatingQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid,
+                                          int detailLevel, int prefixGridScanLevel) {
+      super(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel);
+    }
+
+    IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor compute(LeafReaderContext context)
+        throws IOException {
+      final IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor result =
+          new IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor(context);
+      result.getDocIdSet();//computes
+      return result;
+    }
+
+    // TODO consider if IntersectsPrefixTreeQuery should simply do this and provide both sets
+
+    class IntersectsDifferentiatingVisitor extends VisitorTemplate {
+      DocIdSetBuilder approxBuilder = new DocIdSetBuilder(maxDoc);
+      DocIdSetBuilder exactBuilder = new DocIdSetBuilder(maxDoc);
+      boolean approxIsEmpty = true;
+      boolean exactIsEmpty = true;
+      DocIdSet exactDocIdSet;
+      DocIdSet approxDocIdSet;
+
+      public IntersectsDifferentiatingVisitor(LeafReaderContext context) throws IOException {
+        super(context);
+      }
+
+      @Override
+      protected void start() throws IOException {
+      }
+
+      @Override
+      protected DocIdSet finish() throws IOException {
+        if (exactIsEmpty) {
+          exactDocIdSet = null;
+        } else {
+          exactDocIdSet = exactBuilder.build();
+        }
+        if (approxIsEmpty) {
+          approxDocIdSet = exactDocIdSet;//optimization
+        } else {
+          if (exactDocIdSet != null) {
+            approxBuilder.add(exactDocIdSet.iterator());
+          }
+          approxDocIdSet = approxBuilder.build();
+        }
+        return null;//unused in this weird re-use of AVPTQ
+      }
+
+      @Override
+      protected boolean visitPrefix(Cell cell) throws IOException {
+        if (cell.getShapeRel() == SpatialRelation.WITHIN) {
+          exactIsEmpty = false;
+          collectDocs(exactBuilder);//note: we'll add exact to approx on finish()
+          return false;
+        } else if (cell.getLevel() == detailLevel) {
+          approxIsEmpty = false;
+          collectDocs(approxBuilder);
+          return false;
+        }
+        return true;
+      }
+
+      @Override
+      protected void visitLeaf(Cell cell) throws IOException {
+        if (cell.getShapeRel() == SpatialRelation.WITHIN) {
+          exactIsEmpty = false;
+          collectDocs(exactBuilder);//note: we'll add exact to approx on finish()
+        } else {
+          approxIsEmpty = false;
+          collectDocs(approxBuilder);
+        }
+      }
+    }
+
+    @Override
+    public DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public String toString(String field) {
+      throw new IllegalStateException();
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/package-info.java
new file mode 100644
index 0000000..04cb9fc
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/package-info.java
@@ -0,0 +1,18 @@
+/*
+ * 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.
+ */
+/** Composite strategies. */
+package org.apache.lucene.spatial.composite;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
new file mode 100644
index 0000000..127e689
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
@@ -0,0 +1,133 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PostingsEnum;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.ConstantScoreScorer;
+import org.apache.lucene.search.ConstantScoreWeight;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.Weight;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.BitSet;
+import org.apache.lucene.util.DocIdSetBuilder;
+
+/**
+ * Base class for Lucene Queries on SpatialPrefixTree fields.
+ * @lucene.internal
+ */
+public abstract class AbstractPrefixTreeQuery extends Query {
+
+  protected final Shape queryShape;
+  protected final String fieldName;
+  protected final SpatialPrefixTree grid;//not in equals/hashCode since it's implied for a specific field
+  protected final int detailLevel;
+
+  public AbstractPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel) {
+    this.queryShape = queryShape;
+    this.fieldName = fieldName;
+    this.grid = grid;
+    this.detailLevel = detailLevel;
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (super.equals(o) == false) return false;
+
+    AbstractPrefixTreeQuery that = (AbstractPrefixTreeQuery) o;
+
+    if (detailLevel != that.detailLevel) return false;
+    if (!fieldName.equals(that.fieldName)) return false;
+    if (!queryShape.equals(that.queryShape)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + queryShape.hashCode();
+    result = 31 * result + fieldName.hashCode();
+    result = 31 * result + detailLevel;
+    return result;
+  }
+
+  @Override
+  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
+    return new ConstantScoreWeight(this) {
+      @Override
+      public Scorer scorer(LeafReaderContext context) throws IOException {
+        DocIdSet docSet = getDocIdSet(context);
+        if (docSet == null) {
+          return null;
+        }
+        DocIdSetIterator disi = docSet.iterator();
+        if (disi == null) {
+          return null;
+        }
+        return new ConstantScoreScorer(this, score(), disi);
+      }
+    };
+  }
+
+  protected abstract DocIdSet getDocIdSet(LeafReaderContext context) throws IOException;
+
+  /** Holds transient state and docid collecting utility methods as part of
+   * traversing a {@link TermsEnum} for a {@link org.apache.lucene.index.LeafReaderContext}. */
+  public abstract class BaseTermsEnumTraverser {//TODO rename to LeafTermsEnumTraverser ?
+    //note: only 'fieldName' (accessed in constructor) keeps this from being a static inner class
+
+    protected final LeafReaderContext context;
+    protected final int maxDoc;
+
+    protected TermsEnum termsEnum;//remember to check for null!
+    protected PostingsEnum postingsEnum;
+
+    public BaseTermsEnumTraverser(LeafReaderContext context) throws IOException {
+      this.context = context;
+      LeafReader reader = context.reader();
+      this.maxDoc = reader.maxDoc();
+      Terms terms = reader.terms(fieldName);
+      if (terms != null)
+        this.termsEnum = terms.iterator();
+    }
+
+    protected void collectDocs(BitSet bitSet) throws IOException {
+      assert termsEnum != null;
+      postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
+      bitSet.or(postingsEnum);
+    }
+
+    protected void collectDocs(DocIdSetBuilder docSetBuilder) throws IOException {
+      assert termsEnum != null;
+      postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
+      docSetBuilder.add(postingsEnum);
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
new file mode 100644
index 0000000..2237ca9
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
@@ -0,0 +1,380 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.Iterator;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * Traverses a {@link SpatialPrefixTree} indexed field, using the template and
+ * visitor design patterns for subclasses to guide the traversal and collect
+ * matching documents.
+ * <p>
+ * Subclasses implement {@link #getDocIdSet(org.apache.lucene.index.LeafReaderContext)}
+ * by instantiating a custom {@link VisitorTemplate} subclass (i.e. an anonymous inner class)
+ * and implement the required methods.
+ *
+ * @lucene.internal
+ */
+public abstract class AbstractVisitingPrefixTreeQuery extends AbstractPrefixTreeQuery {
+
+  //Historical note: this code resulted from a refactoring of RecursivePrefixTreeQuery,
+  // which in turn came out of SOLR-2155
+
+  //This class perhaps could have been implemented in terms of FilteredTermsEnum & MultiTermQuery.
+  //  Maybe so for simple Intersects predicate but not for when we want to collect terms
+  //  differently depending on cell state like IsWithin and for fuzzy/accurate collection planned improvements.  At
+  //  least it would just make things more complicated.
+
+  protected final int prefixGridScanLevel;//at least one less than grid.getMaxLevels()
+
+  public AbstractVisitingPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid,
+                                         int detailLevel, int prefixGridScanLevel) {
+    super(queryShape, fieldName, grid, detailLevel);
+    this.prefixGridScanLevel = Math.max(0, Math.min(prefixGridScanLevel, grid.getMaxLevels() - 1));
+    assert detailLevel <= grid.getMaxLevels();
+  }
+
+  /**
+   * An abstract class designed to make it easy to implement predicates or
+   * other operations on a {@link SpatialPrefixTree} indexed field. An instance
+   * of this class is not designed to be re-used across LeafReaderContext
+   * instances so simply create a new one per-leaf.
+   * The {@link #getDocIdSet()} method here starts the work. It first checks
+   * that there are indexed terms; if not it quickly returns null. Then it calls
+   * {@link #start()} so a subclass can set up a return value, like an
+   * {@link org.apache.lucene.util.FixedBitSet}. Then it starts the traversal
+   * process, calling {@link #findSubCellsToVisit(org.apache.lucene.spatial.prefix.tree.Cell)}
+   * which by default finds the top cells that intersect {@code queryShape}. If
+   * there isn't an indexed cell for a corresponding cell returned for this
+   * method then it's short-circuited until it finds one, at which point
+   * {@link #visitPrefix(org.apache.lucene.spatial.prefix.tree.Cell)} is called. At
+   * some depths, of the tree, the algorithm switches to a scanning mode that
+   * calls {@link #visitScanned(org.apache.lucene.spatial.prefix.tree.Cell)}
+   * for each leaf cell found.
+   *
+   * @lucene.internal
+   */
+  public abstract class VisitorTemplate extends BaseTermsEnumTraverser {
+
+  /* Future potential optimizations:
+
+  * Can a polygon query shape be optimized / made-simpler at recursive depths
+    (e.g. intersection of shape + cell box)
+
+  * RE "scan" vs divide & conquer performance decision:
+    We should use termsEnum.docFreq() as an estimate on the number of places at
+    this depth.  It would be nice if termsEnum knew how many terms
+    start with the current term without having to repeatedly next() & test to find out.
+
+  * Perhaps don't do intermediate seek()'s to cells above detailLevel that have Intersects
+    relation because we won't be collecting those docs any way.  However seeking
+    does act as a short-circuit.  So maybe do some percent of the time or when the level
+    is above some threshold.
+
+  */
+
+    //
+    //  TODO MAJOR REFACTOR SIMPLIFICATION BASED ON TreeCellIterator  TODO
+    //
+
+    private VNode curVNode;//current pointer, derived from query shape
+    private BytesRef curVNodeTerm = new BytesRef();//curVNode.cell's term, without leaf. in main loop only
+
+    private BytesRef thisTerm;//the result of termsEnum.term()
+    private Cell indexedCell;//Cell wrapper of thisTerm. Always updated when thisTerm is.
+
+    public VisitorTemplate(LeafReaderContext context) throws IOException {
+      super(context);
+    }
+
+    public DocIdSet getDocIdSet() throws IOException {
+      assert curVNode == null : "Called more than once?";
+      if (termsEnum == null)
+        return null;
+      if (!nextTerm()) {//advances
+        return null;
+      }
+
+      curVNode = new VNode(null);
+      curVNode.reset(grid.getWorldCell());
+
+      start();
+
+      addIntersectingChildren();
+
+      main: while (thisTerm != null) {//terminates for other reasons too!
+
+        //Advance curVNode pointer
+        if (curVNode.children != null) {
+          //-- HAVE CHILDREN: DESCEND
+          assert curVNode.children.hasNext();//if we put it there then it has something
+          preSiblings(curVNode);
+          curVNode = curVNode.children.next();
+        } else {
+          //-- NO CHILDREN: ADVANCE TO NEXT SIBLING
+          VNode parentVNode = curVNode.parent;
+          while (true) {
+            if (parentVNode == null)
+              break main; // all done
+            if (parentVNode.children.hasNext()) {
+              //advance next sibling
+              curVNode = parentVNode.children.next();
+              break;
+            } else {
+              //reached end of siblings; pop up
+              postSiblings(parentVNode);
+              parentVNode.children = null;//GC
+              parentVNode = parentVNode.parent;
+            }
+          }
+        }
+
+        //Seek to curVNode's cell (or skip if termsEnum has moved beyond)
+        final int compare = indexedCell.compareToNoLeaf(curVNode.cell);
+        if (compare > 0) {
+          // The indexed cell is after; continue loop to next query cell
+          continue;
+        }
+        if (compare < 0) {
+          // The indexed cell is before; seek ahead to query cell:
+          //      Seek !
+          curVNode.cell.getTokenBytesNoLeaf(curVNodeTerm);
+          TermsEnum.SeekStatus seekStatus = termsEnum.seekCeil(curVNodeTerm);
+          if (seekStatus == TermsEnum.SeekStatus.END)
+            break; // all done
+          thisTerm = termsEnum.term();
+          indexedCell = grid.readCell(thisTerm, indexedCell);
+          if (seekStatus == TermsEnum.SeekStatus.NOT_FOUND) {
+            // Did we find a leaf of the cell we were looking for or something after?
+            if (!indexedCell.isLeaf() || indexedCell.compareToNoLeaf(curVNode.cell) != 0)
+              continue; // The indexed cell is after; continue loop to next query cell
+          }
+        }
+        // indexedCell == queryCell (disregarding leaf).
+
+        // If indexedCell is a leaf then there's no prefix (prefix sorts before) -- just visit and continue
+        if (indexedCell.isLeaf()) {
+          visitLeaf(indexedCell);//TODO or query cell? Though shouldn't matter.
+          if (!nextTerm()) break;
+          continue;
+        }
+        // If a prefix (non-leaf) then visit; see if we descend.
+        final boolean descend = visitPrefix(curVNode.cell);//need to use curVNode.cell not indexedCell
+        if (!nextTerm()) break;
+        // Check for adjacent leaf with the same prefix
+        if (indexedCell.isLeaf() && indexedCell.getLevel() == curVNode.cell.getLevel()) {
+          visitLeaf(indexedCell);//TODO or query cell? Though shouldn't matter.
+          if (!nextTerm()) break;
+        }
+
+
+        if (descend) {
+          addIntersectingChildren();
+        }
+
+      }//main loop
+
+      return finish();
+    }
+
+    /** Called initially, and whenever {@link #visitPrefix(org.apache.lucene.spatial.prefix.tree.Cell)}
+     * returns true. */
+    private void addIntersectingChildren() throws IOException {
+      assert thisTerm != null;
+      Cell cell = curVNode.cell;
+      if (cell.getLevel() >= detailLevel)
+        throw new IllegalStateException("Spatial logic error");
+
+      //Decide whether to continue to divide & conquer, or whether it's time to
+      // scan through terms beneath this cell.
+      // Scanning is a performance optimization trade-off.
+
+      //TODO use termsEnum.docFreq() as heuristic
+      boolean scan = cell.getLevel() >= prefixGridScanLevel;//simple heuristic
+
+      if (!scan) {
+        //Divide & conquer (ultimately termsEnum.seek())
+
+        Iterator<Cell> subCellsIter = findSubCellsToVisit(cell);
+        if (!subCellsIter.hasNext())//not expected
+          return;
+        curVNode.children = new VNodeCellIterator(subCellsIter, new VNode(curVNode));
+
+      } else {
+        //Scan (loop of termsEnum.next())
+
+        scan(detailLevel);
+      }
+    }
+
+    /**
+     * Called when doing a divide and conquer to find the next intersecting cells
+     * of the query shape that are beneath {@code cell}. {@code cell} is
+     * guaranteed to have an intersection and thus this must return some number
+     * of nodes.
+     */
+    protected CellIterator findSubCellsToVisit(Cell cell) {
+      return cell.getNextLevelCells(queryShape);
+    }
+
+    /**
+     * Scans ({@code termsEnum.next()}) terms until a term is found that does
+     * not start with curVNode's cell. If it finds a leaf cell or a cell at
+     * level {@code scanDetailLevel} then it calls {@link
+     * #visitScanned(org.apache.lucene.spatial.prefix.tree.Cell)}.
+     */
+    protected void scan(int scanDetailLevel) throws IOException {
+      //note: this can be a do-while instead in 6x; 5x has a back-compat with redundant leaves -- LUCENE-4942
+      while (curVNode.cell.isPrefixOf(indexedCell)) {
+        if (indexedCell.getLevel() == scanDetailLevel
+            || (indexedCell.getLevel() < scanDetailLevel && indexedCell.isLeaf())) {
+          visitScanned(indexedCell);
+        }
+        //advance
+        if (!nextTerm()) break;
+      }
+    }
+
+    private boolean nextTerm() throws IOException {
+      if ((thisTerm = termsEnum.next()) == null)
+        return false;
+      indexedCell = grid.readCell(thisTerm, indexedCell);
+      return true;
+    }
+
+    /** Used for {@link VNode#children}. */
+    private class VNodeCellIterator implements Iterator<VNode> {
+
+      final Iterator<Cell> cellIter;
+      private final VNode vNode;
+
+      VNodeCellIterator(Iterator<Cell> cellIter, VNode vNode) {
+        this.cellIter = cellIter;
+        this.vNode = vNode;
+      }
+
+      @Override
+      public boolean hasNext() {
+        return cellIter.hasNext();
+      }
+
+      @Override
+      public VNode next() {
+        assert hasNext();
+        vNode.reset(cellIter.next());
+        return vNode;
+      }
+
+      @Override
+      public void remove() {//it always removes
+      }
+    }
+
+    /** Called first to setup things. */
+    protected abstract void start() throws IOException;
+
+    /** Called last to return the result. */
+    protected abstract DocIdSet finish() throws IOException;
+
+    /**
+     * Visit an indexed non-leaf cell. The presence of a prefix cell implies
+     * there are leaf cells at further levels. The cell passed should have it's
+     * {@link org.apache.lucene.spatial.prefix.tree.Cell#getShapeRel()} set
+     * relative to the filtered shape.
+     *
+     * @param cell An intersecting cell; not a leaf.
+     * @return true to descend to more levels.
+     */
+    protected abstract boolean visitPrefix(Cell cell) throws IOException;
+
+    /**
+     * Called when an indexed leaf cell is found. An
+     * indexed leaf cell usually means associated documents won't be found at
+     * further detail levels.  However, if a document has
+     * multiple overlapping shapes at different resolutions, then this isn't true.
+     */
+    protected abstract void visitLeaf(Cell cell) throws IOException;
+
+    /**
+     * The cell is either indexed as a leaf or is the last level of detail. It
+     * might not even intersect the query shape, so be sure to check for that.
+     * The default implementation will check that and if passes then call
+     * {@link #visitLeaf(org.apache.lucene.spatial.prefix.tree.Cell)} or
+     * {@link #visitPrefix(org.apache.lucene.spatial.prefix.tree.Cell)}.
+     */
+    protected void visitScanned(Cell cell) throws IOException {
+      final SpatialRelation relate = cell.getShape().relate(queryShape);
+      if (relate.intersects()) {
+        cell.setShapeRel(relate);//just being pedantic
+        if (cell.isLeaf()) {
+          visitLeaf(cell);
+        } else {
+          visitPrefix(cell);
+        }
+      }
+    }
+
+    protected void preSiblings(VNode vNode) throws IOException {
+    }
+
+    protected void postSiblings(VNode vNode) throws IOException {
+    }
+  }//class VisitorTemplate
+
+  /**
+   * A visitor node/cell found via the query shape for {@link VisitorTemplate}.
+   * Sometimes these are reset(cell). It's like a LinkedList node but forms a
+   * tree.
+   *
+   * @lucene.internal
+   */
+  protected static class VNode {
+    //Note: The VNode tree adds more code to debug/maintain v.s. a flattened
+    // LinkedList that we used to have. There is more opportunity here for
+    // custom behavior (see preSiblings & postSiblings) but that's not
+    // leveraged yet. Maybe this is slightly more GC friendly.
+
+    final VNode parent;//only null at the root
+    Iterator<VNode> children;//null, then sometimes set, then null
+    Cell cell;//not null (except initially before reset())
+
+    /**
+     * call reset(cell) after to set the cell.
+     */
+    VNode(VNode parent) { // remember to call reset(cell) after
+      this.parent = parent;
+    }
+
+    void reset(Cell cell) {
+      assert cell != null;
+      this.cell = cell;
+      assert children == null;
+    }
+
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
new file mode 100644
index 0000000..e724ab0
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
@@ -0,0 +1,72 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.tokenattributes.BytesTermAttribute;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefIterator;
+
+/**
+ * A TokenStream used internally by {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy}.
+ *
+ * This is modelled after {@link org.apache.lucene.analysis.LegacyNumericTokenStream}.
+ *
+ * @lucene.internal
+ */
+class BytesRefIteratorTokenStream extends TokenStream {
+
+  public BytesRefIterator getBytesRefIterator() {
+    return bytesIter;
+  }
+
+  public BytesRefIteratorTokenStream setBytesRefIterator(BytesRefIterator iter) {
+    this.bytesIter = iter;
+    return this;
+  }
+
+  @Override
+  public void reset() throws IOException {
+    if (bytesIter == null)
+      throw new IllegalStateException("call setBytesRefIterator() before usage");
+  }
+
+  @Override
+  public final boolean incrementToken() throws IOException {
+    if (bytesIter == null)
+      throw new IllegalStateException("call setBytesRefIterator() before usage");
+
+    // get next
+    BytesRef bytes = bytesIter.next();
+    if (bytes == null) {
+      return false;
+    } else {
+      clearAttributes();
+      bytesAtt.setBytesRef(bytes);
+      //note: we don't bother setting posInc or type attributes.  There's no point to it.
+      return true;
+    }
+  }
+
+  //members
+  private final BytesTermAttribute bytesAtt = addAttribute(BytesTermAttribute.class);
+
+  private BytesRefIterator bytesIter = null; // null means not initialized
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
new file mode 100644
index 0000000..0b81b26
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
@@ -0,0 +1,49 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.util.Iterator;
+
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefIterator;
+
+/**
+ * A reset'able {@link org.apache.lucene.util.BytesRefIterator} wrapper around
+ * an {@link java.util.Iterator} of {@link org.apache.lucene.spatial.prefix.tree.Cell}s.
+ *
+ * @see PrefixTreeStrategy#newCellToBytesRefIterator()
+ *
+ * @lucene.internal
+ */
+public class CellToBytesRefIterator implements BytesRefIterator {
+
+  protected Iterator<Cell> cellIter;
+  protected BytesRef bytesRef = new BytesRef();
+
+  public void reset(Iterator<Cell> cellIter) {
+    this.cellIter = cellIter;
+  }
+
+  @Override
+  public BytesRef next() {
+    if (!cellIter.hasNext()) {
+      return null;
+    }
+    return cellIter.next().getTokenBytesWithLeaf(bytesRef);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
new file mode 100644
index 0000000..7eadb64
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
@@ -0,0 +1,362 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PostingsEnum;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.Bits;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.RamUsageEstimator;
+import org.apache.lucene.util.SentinelIntSet;
+
+/**
+ * Finds docs where its indexed shape {@link org.apache.lucene.spatial.query.SpatialOperation#Contains
+ * CONTAINS} the query shape. For use on {@link RecursivePrefixTreeStrategy}.
+ *
+ * @lucene.experimental
+ */
+public class ContainsPrefixTreeQuery extends AbstractPrefixTreeQuery {
+
+  /**
+   * If the spatial data for a document is comprised of multiple overlapping or adjacent parts,
+   * it might fail to match a query shape when doing the CONTAINS predicate when the sum of
+   * those shapes contain the query shape but none do individually.  Set this to false to
+   * increase performance if you don't care about that circumstance (such as if your indexed
+   * data doesn't even have such conditions).  See LUCENE-5062.
+   */
+  protected final boolean multiOverlappingIndexedShapes;
+
+  public ContainsPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel, boolean multiOverlappingIndexedShapes) {
+    super(queryShape, fieldName, grid, detailLevel);
+    this.multiOverlappingIndexedShapes = multiOverlappingIndexedShapes;
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (!super.equals(o))
+      return false;
+    return multiOverlappingIndexedShapes == ((ContainsPrefixTreeQuery)o).multiOverlappingIndexedShapes;
+  }
+
+  @Override
+  public int hashCode() {
+    return super.hashCode() + (multiOverlappingIndexedShapes ? 1 : 0);
+  }
+
+  @Override
+  public String toString(String field) {
+    return getClass().getSimpleName() + "(" +
+        "fieldName=" + fieldName + "," +
+        "queryShape=" + queryShape + "," +
+        "detailLevel=" + detailLevel + "," +
+        "multiOverlappingIndexedShapes=" + multiOverlappingIndexedShapes +
+        ")";
+  }
+
+  @Override
+  protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
+    return new ContainsVisitor(context).visit(grid.getWorldCell(), null);
+  }
+
+  private class ContainsVisitor extends BaseTermsEnumTraverser {
+
+    public ContainsVisitor(LeafReaderContext context) throws IOException {
+      super(context);
+      if (termsEnum != null) {
+        nextTerm();//advance to first
+      }
+    }
+
+    BytesRef seekTerm = new BytesRef();//temp; see seek()
+    BytesRef thisTerm;//current term in termsEnum
+    Cell indexedCell;//the cell wrapper around thisTerm
+
+    /** This is the primary algorithm; recursive.  Returns null if finds none. */
+    private SmallDocSet visit(Cell cell, Bits acceptContains) throws IOException {
+
+      if (thisTerm == null)//signals all done
+        return null;
+
+      // Get the AND of all child results (into combinedSubResults)
+      SmallDocSet combinedSubResults = null;
+      //   Optimization: use null subCellsFilter when we know cell is within the query shape.
+      Shape subCellsFilter = queryShape;
+      if (cell.getLevel() != 0 && ((cell.getShapeRel() == null || cell.getShapeRel() == SpatialRelation.WITHIN))) {
+        subCellsFilter = null;
+        assert cell.getShape().relate(queryShape) == SpatialRelation.WITHIN;
+      }
+      CellIterator subCells = cell.getNextLevelCells(subCellsFilter);
+      while (subCells.hasNext()) {
+        Cell subCell = subCells.next();
+        if (!seek(subCell)) {
+          combinedSubResults = null;
+        } else if (subCell.getLevel() == detailLevel) {
+          combinedSubResults = getDocs(subCell, acceptContains);
+        } else if (!multiOverlappingIndexedShapes &&
+            subCell.getShapeRel() == SpatialRelation.WITHIN) {
+          combinedSubResults = getLeafDocs(subCell, acceptContains);
+        } else {
+          //OR the leaf docs with all child results
+          SmallDocSet leafDocs = getLeafDocs(subCell, acceptContains);
+          SmallDocSet subDocs = visit(subCell, acceptContains); //recursion
+          combinedSubResults = union(leafDocs, subDocs);
+        }
+
+        if (combinedSubResults == null)
+          break;
+        acceptContains = combinedSubResults;//has the 'AND' effect on next iteration
+      }
+
+      return combinedSubResults;
+    }
+
+    private boolean seek(Cell cell) throws IOException {
+      if (thisTerm == null)
+        return false;
+      final int compare = indexedCell.compareToNoLeaf(cell);
+      if (compare > 0) {
+        return false;//leap-frog effect
+      } else if (compare == 0) {
+        return true; // already there!
+      } else {//compare > 0
+        //seek!
+        seekTerm = cell.getTokenBytesNoLeaf(seekTerm);
+        final TermsEnum.SeekStatus seekStatus = termsEnum.seekCeil(seekTerm);
+        if (seekStatus == TermsEnum.SeekStatus.END) {
+          thisTerm = null;//all done
+          return false;
+        }
+        thisTerm = termsEnum.term();
+        indexedCell = grid.readCell(thisTerm, indexedCell);
+        if (seekStatus == TermsEnum.SeekStatus.FOUND) {
+          return true;
+        }
+        return indexedCell.isLeaf() && indexedCell.compareToNoLeaf(cell) == 0;
+      }
+    }
+
+    /** Get prefix & leaf docs at this cell. */
+    private SmallDocSet getDocs(Cell cell, Bits acceptContains) throws IOException {
+      assert indexedCell.compareToNoLeaf(cell) == 0;
+      //called when we've reached detailLevel.
+      if (indexedCell.isLeaf()) {//only a leaf
+        SmallDocSet result = collectDocs(acceptContains);
+        nextTerm();
+        return result;
+      } else {
+        SmallDocSet docsAtPrefix = collectDocs(acceptContains);
+        if (!nextTerm()) {
+          return docsAtPrefix;
+        }
+        //collect leaf too
+        if (indexedCell.isLeaf() && indexedCell.compareToNoLeaf(cell) == 0) {
+          SmallDocSet docsAtLeaf = collectDocs(acceptContains);
+          nextTerm();
+          return union(docsAtPrefix, docsAtLeaf);
+        } else {
+          return docsAtPrefix;
+        }
+      }
+    }
+
+    /** Gets docs on the leaf of the given cell, _if_ there is a leaf cell, otherwise null. */
+    private SmallDocSet getLeafDocs(Cell cell, Bits acceptContains) throws IOException {
+      assert indexedCell.compareToNoLeaf(cell) == 0;
+      //Advance past prefix if we're at a prefix; return null if no leaf
+      if (!indexedCell.isLeaf()) {
+        if (!nextTerm() || !indexedCell.isLeaf() || indexedCell.getLevel() != cell.getLevel()) {
+          return null;
+        }
+      }
+      SmallDocSet result = collectDocs(acceptContains);
+      nextTerm();
+      return result;
+    }
+
+    private boolean nextTerm() throws IOException {
+      if ((thisTerm = termsEnum.next()) == null)
+        return false;
+      indexedCell = grid.readCell(thisTerm, indexedCell);
+      return true;
+    }
+
+    private SmallDocSet union(SmallDocSet aSet, SmallDocSet bSet) {
+      if (bSet != null) {
+        if (aSet == null)
+          return bSet;
+        return aSet.union(bSet);//union is 'or'
+      }
+      return aSet;
+    }
+
+    private SmallDocSet collectDocs(Bits acceptContains) throws IOException {
+      SmallDocSet set = null;
+
+      postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
+      int docid;
+      while ((docid = postingsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
+        if (acceptContains != null && acceptContains.get(docid) == false) {
+          continue;
+        }
+        if (set == null) {
+          int size = termsEnum.docFreq();
+          if (size <= 0)
+            size = 16;
+          set = new SmallDocSet(size);
+        }
+        set.set(docid);
+      }
+      return set;
+    }
+
+  }//class ContainsVisitor
+
+  /** A hash based mutable set of docIds. If this were Solr code then we might
+   * use a combination of HashDocSet and SortedIntDocSet instead. */
+  // TODO use DocIdSetBuilder?
+  private static class SmallDocSet extends DocIdSet implements Bits {
+
+    private final SentinelIntSet intSet;
+    private int maxInt = 0;
+
+    public SmallDocSet(int size) {
+      intSet = new SentinelIntSet(size, -1);
+    }
+
+    @Override
+    public boolean get(int index) {
+      return intSet.exists(index);
+    }
+
+    public void set(int index) {
+      intSet.put(index);
+      if (index > maxInt)
+        maxInt = index;
+    }
+
+    /** Largest docid. */
+    @Override
+    public int length() {
+      return maxInt;
+    }
+
+    /** Number of docids. */
+    public int size() {
+      return intSet.size();
+    }
+
+    /** NOTE: modifies and returns either "this" or "other" */
+    public SmallDocSet union(SmallDocSet other) {
+      SmallDocSet bigger;
+      SmallDocSet smaller;
+      if (other.intSet.size() > this.intSet.size()) {
+        bigger = other;
+        smaller = this;
+      } else {
+        bigger = this;
+        smaller = other;
+      }
+      //modify bigger
+      for (int v : smaller.intSet.keys) {
+        if (v == smaller.intSet.emptyVal)
+          continue;
+        bigger.set(v);
+      }
+      return bigger;
+    }
+
+    @Override
+    public Bits bits() throws IOException {
+      //if the # of docids is super small, return null since iteration is going
+      // to be faster
+      return size() > 4 ? this : null;
+    }
+
+    @Override
+    public DocIdSetIterator iterator() throws IOException {
+      if (size() == 0)
+        return null;
+      //copy the unsorted values to a new array then sort them
+      int d = 0;
+      final int[] docs = new int[intSet.size()];
+      for (int v : intSet.keys) {
+        if (v == intSet.emptyVal)
+          continue;
+        docs[d++] = v;
+      }
+      assert d == intSet.size();
+      final int size = d;
+
+      //sort them
+      Arrays.sort(docs, 0, size);
+
+      return new DocIdSetIterator() {
+        int idx = -1;
+        @Override
+        public int docID() {
+          if (idx < 0) {
+            return -1;
+          } else if (idx < size) {
+            return docs[idx];
+          } else {
+            return NO_MORE_DOCS;
+          }
+        }
+
+        @Override
+        public int nextDoc() throws IOException {
+          if (++idx < size)
+            return docs[idx];
+          return NO_MORE_DOCS;
+        }
+
+        @Override
+        public int advance(int target) throws IOException {
+          //for this small set this is likely faster vs. a binary search
+          // into the sorted array
+          return slowAdvance(target);
+        }
+
+        @Override
+        public long cost() {
+          return size;
+        }
+      };
+    }
+
+    @Override
+    public long ramBytesUsed() {
+      return RamUsageEstimator.alignObjectSize(
+            RamUsageEstimator.NUM_BYTES_OBJECT_REF
+          + RamUsageEstimator.NUM_BYTES_INT)
+          + intSet.ramBytesUsed();
+    }
+
+  }//class SmallDocSet
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
new file mode 100644
index 0000000..c6700cd
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
@@ -0,0 +1,310 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.index.IndexReaderContext;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.ArrayUtil;
+import org.apache.lucene.util.Bits;
+
+/**
+ * Computes spatial facets in two dimensions as a grid of numbers.  The data is often visualized as a so-called
+ * "heatmap", hence the name.
+ *
+ * @lucene.experimental
+ */
+public class HeatmapFacetCounter {
+  //TODO where should this code live? It could go to PrefixTreeFacetCounter, or maybe here in its own class is fine.
+
+  /** Maximum number of supported rows (or columns). */
+  public static final int MAX_ROWS_OR_COLUMNS = (int) Math.sqrt(ArrayUtil.MAX_ARRAY_LENGTH);
+  static {
+    Math.multiplyExact(MAX_ROWS_OR_COLUMNS, MAX_ROWS_OR_COLUMNS);//will throw if doesn't stay within integer
+  }
+
+  /** Response structure */
+  public static class Heatmap {
+    public final int columns;
+    public final int rows;
+    public final int[] counts;//in order of 1st column (all rows) then 2nd column (all rows) etc.
+    public final Rectangle region;
+
+    public Heatmap(int columns, int rows, Rectangle region) {
+      this.columns = columns;
+      this.rows = rows;
+      this.counts = new int[columns * rows];
+      this.region = region;
+    }
+
+    public int getCount(int x, int y) {
+      return counts[x * rows + y];
+    }
+
+    @Override
+    public String toString() {
+      return "Heatmap{" + columns + "x" + rows + " " + region + '}';
+    }
+  }
+
+  /**
+   * Calculates spatial 2D facets (aggregated counts) in a grid, sometimes called a heatmap.
+   * Facet computation is implemented by navigating the underlying indexed terms efficiently. If you don't know exactly
+   * what facetLevel to go to for a given input box but you have some sense of how many cells there should be relative
+   * to the size of the shape, then consider using the logic that {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy}
+   * uses when approximating what level to go to when indexing a shape given a distErrPct.
+   *
+   * @param context the IndexReader's context
+   * @param topAcceptDocs a Bits to limit counted docs.  If null, live docs are counted.
+   * @param inputShape the shape to gather grid squares for; typically a {@link Rectangle}.
+   *                   The <em>actual</em> heatmap area will usually be larger since the cells on the edge that overlap
+   *                   are returned. We always return a rectangle of integers even if the inputShape isn't a rectangle
+   *                   -- the non-intersecting cells will all be 0.
+   *                   If null is given, the entire world is assumed.
+   * @param facetLevel the target depth (detail) of cells.
+   * @param maxCells the maximum number of cells to return. If the cells exceed this count, an
+   */
+  public static Heatmap calcFacets(PrefixTreeStrategy strategy, IndexReaderContext context, Bits topAcceptDocs,
+                                   Shape inputShape, final int facetLevel, int maxCells) throws IOException {
+    if (maxCells > (MAX_ROWS_OR_COLUMNS * MAX_ROWS_OR_COLUMNS)) {
+      throw new IllegalArgumentException("maxCells (" + maxCells + ") should be <= " + MAX_ROWS_OR_COLUMNS);
+    }
+    if (inputShape == null) {
+      inputShape = strategy.getSpatialContext().getWorldBounds();
+    }
+    final Rectangle inputRect = inputShape.getBoundingBox();
+    //First get the rect of the cell at the bottom-left at depth facetLevel
+    final SpatialPrefixTree grid = strategy.getGrid();
+    final SpatialContext ctx = grid.getSpatialContext();
+    final Point cornerPt = ctx.makePoint(inputRect.getMinX(), inputRect.getMinY());
+    final CellIterator cellIterator = grid.getTreeCellIterator(cornerPt, facetLevel);
+    Cell cornerCell = null;
+    while (cellIterator.hasNext()) {
+      cornerCell = cellIterator.next();
+    }
+    assert cornerCell != null && cornerCell.getLevel() == facetLevel : "Cell not at target level: " + cornerCell;
+    final Rectangle cornerRect = (Rectangle) cornerCell.getShape();
+    assert cornerRect.hasArea();
+    //Now calculate the number of columns and rows necessary to cover the inputRect
+    double heatMinX = cornerRect.getMinX();//note: we might change this below...
+    final double cellWidth = cornerRect.getWidth();
+    final Rectangle worldRect = ctx.getWorldBounds();
+    final int columns = calcRowsOrCols(cellWidth, heatMinX, inputRect.getWidth(), inputRect.getMinX(), worldRect.getWidth());
+    final double heatMinY = cornerRect.getMinY();
+    final double cellHeight = cornerRect.getHeight();
+    final int rows = calcRowsOrCols(cellHeight, heatMinY, inputRect.getHeight(), inputRect.getMinY(), worldRect.getHeight());
+    assert rows > 0 && columns > 0;
+    if (columns > MAX_ROWS_OR_COLUMNS || rows > MAX_ROWS_OR_COLUMNS || columns * rows > maxCells) {
+      throw new IllegalArgumentException(
+          "Too many cells (" + columns + " x " + rows + ") for level " + facetLevel + " shape " + inputRect);
+    }
+
+    //Create resulting heatmap bounding rectangle & Heatmap object.
+    final double halfCellWidth = cellWidth / 2.0;
+    // if X world-wraps, use world bounds' range
+    if (columns * cellWidth + halfCellWidth > worldRect.getWidth()) {
+      heatMinX = worldRect.getMinX();
+    }
+    double heatMaxX = heatMinX + columns * cellWidth;
+    if (Math.abs(heatMaxX - worldRect.getMaxX()) < halfCellWidth) {//numeric conditioning issue
+      heatMaxX = worldRect.getMaxX();
+    } else if (heatMaxX > worldRect.getMaxX()) {//wraps dateline (won't happen if !geo)
+      heatMaxX = heatMaxX - worldRect.getMaxX() +  worldRect.getMinX();
+    }
+    final double halfCellHeight = cellHeight / 2.0;
+    double heatMaxY = heatMinY + rows * cellHeight;
+    if (Math.abs(heatMaxY - worldRect.getMaxY()) < halfCellHeight) {//numeric conditioning issue
+      heatMaxY = worldRect.getMaxY();
+    }
+
+    final Heatmap heatmap = new Heatmap(columns, rows, ctx.makeRectangle(heatMinX, heatMaxX, heatMinY, heatMaxY));
+
+    //All ancestor cell counts (of facetLevel) will be captured during facet visiting and applied later. If the data is
+    // just points then there won't be any ancestors.
+    //Facet count of ancestors covering all of the heatmap:
+    int[] allCellsAncestorCount = new int[1]; // single-element array so it can be accumulated in the inner class
+    //All other ancestors:
+    Map<Rectangle,Integer> ancestors = new HashMap<>();
+
+    //Now lets count some facets!
+    PrefixTreeFacetCounter.compute(strategy, context, topAcceptDocs, inputShape, facetLevel,
+        new PrefixTreeFacetCounter.FacetVisitor() {
+      @Override
+      public void visit(Cell cell, int count) {
+        final double heatMinX = heatmap.region.getMinX();
+        final Rectangle rect = (Rectangle) cell.getShape();
+        if (cell.getLevel() == facetLevel) {//heatmap level; count it directly
+          //convert to col & row
+          int column;
+          if (rect.getMinX() >= heatMinX) {
+            column = (int) Math.round((rect.getMinX() - heatMinX) / cellWidth);
+          } else { // due to dateline wrap
+            column = (int) Math.round((rect.getMinX() + 360 - heatMinX) / cellWidth);
+          }
+          int row = (int) Math.round((rect.getMinY() - heatMinY) / cellHeight);
+          //note: unfortunately, it's possible for us to visit adjacent cells to the heatmap (if the SpatialPrefixTree
+          // allows adjacent cells to overlap on the seam), so we need to skip them
+          if (column < 0 || column >= heatmap.columns || row < 0 || row >= heatmap.rows) {
+            return;
+          }
+          // increment
+          heatmap.counts[column * heatmap.rows + row] += count;
+
+        } else if (rect.relate(heatmap.region) == SpatialRelation.CONTAINS) {//containing ancestor
+          allCellsAncestorCount[0] += count;
+
+        } else { // ancestor
+          // note: not particularly efficient (possible put twice, and Integer wrapper); oh well
+          Integer existingCount = ancestors.put(rect, count);
+          if (existingCount != null) {
+            ancestors.put(rect, count + existingCount);
+          }
+        }
+      }
+    });
+
+    //Update the heatmap counts with ancestor counts
+
+    // Apply allCellsAncestorCount
+    if (allCellsAncestorCount[0] > 0) {
+      for (int i = 0; i < heatmap.counts.length; i++) {
+        heatmap.counts[i] += allCellsAncestorCount[0];
+      }
+    }
+
+    // Apply ancestors
+    //  note: This approach isn't optimized for a ton of ancestor cells. We'll potentially increment the same cells
+    //    multiple times in separate passes if any ancestors overlap. IF this poses a problem, we could optimize it
+    //    with additional complication by keeping track of intervals in a sorted tree structure (possible TreeMap/Set)
+    //    and iterate them cleverly such that we just make one pass at this stage.
+
+    int[] pair = new int[2];//output of intersectInterval
+    for (Map.Entry<Rectangle, Integer> entry : ancestors.entrySet()) {
+      Rectangle rect = entry.getKey();
+      final int count = entry.getValue();
+      //note: we approach this in a way that eliminates int overflow/underflow (think huge cell, tiny heatmap)
+      intersectInterval(heatMinY, heatMaxY, cellHeight, rows, rect.getMinY(), rect.getMaxY(), pair);
+      final int startRow = pair[0];
+      final int endRow = pair[1];
+
+      if (!heatmap.region.getCrossesDateLine()) {
+        intersectInterval(heatMinX, heatMaxX, cellWidth, columns, rect.getMinX(), rect.getMaxX(), pair);
+        final int startCol = pair[0];
+        final int endCol = pair[1];
+        incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
+
+      } else {
+        //left half of dateline:
+        if (rect.getMaxX() >= heatMinX) {
+          final int leftColumns = (int) Math.round((180 - heatMinX) / cellWidth) + 1;
+          intersectInterval(heatMinX, 180, cellWidth, leftColumns, rect.getMinX(), rect.getMaxX(), pair);
+          final int startCol = pair[0];
+          final int endCol = pair[1];
+          incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
+        }
+        //right half of dateline
+        if (rect.getMinY() <= heatMaxX) {
+          final int rightColumns = (int) Math.round(heatMaxX / cellWidth) + 1;
+          intersectInterval(0, heatMaxX, cellWidth, rightColumns, rect.getMinX(), rect.getMaxX(), pair);
+          final int startCol = pair[0];
+          final int endCol = pair[1];
+          incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
+        }
+      }
+
+    }
+
+    return heatmap;
+  }
+
+  private static void intersectInterval(double heatMin, double heatMax, double heatCellLen, int heatLen,
+                                        double cellMin, double cellMax,
+                                        int[] out) {
+    //precondition: we know there's an intersection
+    if (heatMin >= cellMin) {
+      out[0] = 0;
+    } else {
+      out[0] = (int) Math.round((cellMin - heatMin) / heatCellLen);
+    }
+    if (heatMax <= cellMax) {
+      out[1] = heatLen - 1;
+    } else {
+      out[1] = (int) Math.round((cellMax - heatMin) / heatCellLen) - 1;
+    }
+  }
+
+  private static void incrementRange(Heatmap heatmap, int startColumn, int endColumn, int startRow, int endRow,
+                                     int count) {
+    //startColumn & startRow are not necessarily within the heatmap range; likewise numRows/columns may overlap.
+    if (startColumn < 0) {
+      endColumn += startColumn;
+      startColumn = 0;
+    }
+    endColumn = Math.min(heatmap.columns-1, endColumn);
+
+    if (startRow < 0) {
+      endRow += startRow;
+      startRow = 0;
+    }
+    endRow = Math.min(heatmap.rows-1, endRow);
+
+    if (startRow > endRow) {
+      return;//short-circuit
+    }
+    for (int c = startColumn; c <= endColumn; c++) {
+      int cBase = c * heatmap.rows;
+      for (int r = startRow; r <= endRow; r++) {
+        heatmap.counts[cBase + r] += count;
+      }
+    }
+  }
+
+  /** Computes the number of intervals (rows or columns) to cover a range given the sizes. */
+  private static int calcRowsOrCols(double cellRange, double cellMin, double requestRange, double requestMin,
+                                    double worldRange) {
+    assert requestMin >= cellMin;
+    //Idealistically this wouldn't be so complicated but we concern ourselves with overflow and edge cases
+    double range = (requestRange + (requestMin - cellMin));
+    if (range == 0) {
+      return 1;
+    }
+    final double intervals = Math.ceil(range / cellRange);
+    if (intervals > Integer.MAX_VALUE) {
+      return Integer.MAX_VALUE;//should result in an error soon (exceed thresholds)
+    }
+    // ensures we don't have more intervals than world bounds (possibly due to rounding/edge issue)
+    final long intervalsMax = Math.round(worldRange / cellRange);
+    if (intervalsMax > Integer.MAX_VALUE) {
+      //just return intervals
+      return (int) intervals;
+    }
+    return Math.min((int)intervalsMax, (int)intervals);
+  }
+
+  private HeatmapFacetCounter() {
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
new file mode 100644
index 0000000..ccb0f89
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
@@ -0,0 +1,95 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.BitDocIdSet;
+import org.apache.lucene.util.FixedBitSet;
+
+/**
+ * A Query matching documents that have an {@link SpatialRelation#INTERSECTS}
+ * (i.e. not DISTINCT) relationship with a provided query shape.
+ *
+ * @lucene.internal
+ */
+public class IntersectsPrefixTreeQuery extends AbstractVisitingPrefixTreeQuery {
+
+  public IntersectsPrefixTreeQuery(Shape queryShape, String fieldName,
+                                   SpatialPrefixTree grid, int detailLevel,
+                                   int prefixGridScanLevel) {
+    super(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel);
+  }
+
+  @Override
+  protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
+    /* Possible optimizations (in IN ADDITION TO THOSE LISTED IN VISITORTEMPLATE):
+
+    * If docFreq is 1 (or < than some small threshold), then check to see if we've already
+      collected it; if so short-circuit. Don't do this just for point data, as there is
+      no benefit, or only marginal benefit when multi-valued.
+
+    * Point query shape optimization when the only indexed data is a point (no leaves).  Result is a term query.
+
+     */
+    return new VisitorTemplate(context) {
+      private FixedBitSet results;
+
+      @Override
+      protected void start() {
+        results = new FixedBitSet(maxDoc);
+      }
+
+      @Override
+      protected DocIdSet finish() {
+        return new BitDocIdSet(results);
+      }
+
+      @Override
+      protected boolean visitPrefix(Cell cell) throws IOException {
+        if (cell.getShapeRel() == SpatialRelation.WITHIN || cell.getLevel() == detailLevel) {
+          collectDocs(results);
+          return false;
+        }
+        return true;
+      }
+
+      @Override
+      protected void visitLeaf(Cell cell) throws IOException {
+        collectDocs(results);
+      }
+
+    }.getDocIdSet();
+  }
+
+  @Override
+  public String toString(String field) {
+    return getClass().getSimpleName() + "(" +
+        "fieldName=" + fieldName + "," +
+        "queryShape=" + queryShape + "," +
+        "detailLevel=" + detailLevel + "," +
+        "prefixGridScanLevel=" + prefixGridScanLevel +
+        ")";
+  }
+
+}


[53/87] [abbrv] lucene-solr git commit: SOLR-8586: add index fingerprinting and use it in peersync

Posted by nk...@apache.org.
SOLR-8586: add index fingerprinting and use it in peersync


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/629767be
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/629767be
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/629767be

Branch: refs/heads/lucene-6997
Commit: 629767be0686d39995f2afc1f1f267f9d1a68cef
Parents: eee6fa0
Author: yonik <yo...@apache.org>
Authored: Thu Feb 4 14:54:08 2016 -0500
Committer: yonik <yo...@apache.org>
Committed: Thu Feb 4 14:55:13 2016 -0500

----------------------------------------------------------------------
 solr/CHANGES.txt                                |   5 +
 .../org/apache/solr/cloud/SyncStrategy.java     |   2 +-
 .../handler/component/RealTimeGetComponent.java |   8 +
 .../apache/solr/update/IndexFingerprint.java    | 232 +++++++++++++++++++
 .../java/org/apache/solr/update/PeerSync.java   |  78 +++++--
 .../java/org/apache/solr/update/UpdateLog.java  |   4 +-
 .../org/apache/solr/update/PeerSyncTest.java    |  23 ++
 7 files changed, 334 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ef22a2f..c396d39 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -344,6 +344,10 @@ New Features
 * SOLR-8560: Added RequestStatusState enum which can be used when comparing states of 
   asynchronous requests. (Shai Erera)
 
+* SOLR-8586: added index fingerprint, a hash over all versions currently in the index.
+  PeerSync now uses this to check if replicas are in sync. (yonik)
+
+
 Bug Fixes
 ----------------------
 
@@ -440,6 +444,7 @@ Bug Fixes
 
 * SOLR-8607: The Schema API refuses to add new fields that match existing dynamic fields.
   (Jan Høydahl, Steve Rowe)
+
   
 Optimizations
 ----------------------

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java b/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
index 7a16598..d811f5c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
@@ -173,7 +173,7 @@ public class SyncStrategy {
     // if we can't reach a replica for sync, we still consider the overall sync a success
     // TODO: as an assurance, we should still try and tell the sync nodes that we couldn't reach
     // to recover once more?
-    PeerSync peerSync = new PeerSync(core, syncWith, core.getUpdateHandler().getUpdateLog().getNumRecordsToKeep(), true, true, peerSyncOnlyWithActive);
+    PeerSync peerSync = new PeerSync(core, syncWith, core.getUpdateHandler().getUpdateLog().getNumRecordsToKeep(), true, true, peerSyncOnlyWithActive, false);
     return peerSync.sync();
   }
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
index 2e1f729..2f71b3e 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
@@ -66,6 +66,7 @@ import org.apache.solr.search.SolrIndexSearcher;
 import org.apache.solr.search.SolrReturnFields;
 import org.apache.solr.search.SyntaxError;
 import org.apache.solr.update.DocumentBuilder;
+import org.apache.solr.update.IndexFingerprint;
 import org.apache.solr.update.PeerSync;
 import org.apache.solr.update.UpdateLog;
 import org.apache.solr.util.RefCounted;
@@ -596,6 +597,8 @@ public class RealTimeGetComponent extends SearchComponent
     int nVersions = params.getInt("getVersions", -1);
     if (nVersions == -1) return;
 
+    boolean doFingerprint = params.getBool("fingerprint", false);
+
     String sync = params.get("sync");
     if (sync != null) {
       processSync(rb, nVersions, sync);
@@ -608,6 +611,11 @@ public class RealTimeGetComponent extends SearchComponent
     try (UpdateLog.RecentUpdates recentUpdates = ulog.getRecentUpdates()) {
       rb.rsp.add("versions", recentUpdates.getVersions(nVersions));
     }
+
+    if (doFingerprint) {
+      IndexFingerprint fingerprint = IndexFingerprint.getFingerprint(req.getCore(), Long.MAX_VALUE);
+      rb.rsp.add("fingerprint", fingerprint.toObject());
+    }
   }
 
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java b/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java
new file mode 100644
index 0000000..c73b57b
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java
@@ -0,0 +1,232 @@
+package org.apache.solr.update;
+
+/*
+ * 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.
+ */
+
+import java.io.IOException;
+import java.lang.invoke.MethodHandles;
+import java.net.ConnectException;
+import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.http.NoHttpResponseException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.conn.ConnectTimeoutException;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.util.Bits;
+import org.apache.lucene.util.BytesRef;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.cloud.ZkController;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.util.Hash;
+import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.StrUtils;
+import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.component.HttpShardHandlerFactory;
+import org.apache.solr.handler.component.ShardHandler;
+import org.apache.solr.handler.component.ShardHandlerFactory;
+import org.apache.solr.handler.component.ShardRequest;
+import org.apache.solr.handler.component.ShardResponse;
+import org.apache.solr.logging.MDCLoggingContext;
+import org.apache.solr.request.LocalSolrQueryRequest;
+import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.schema.SchemaField;
+import org.apache.solr.search.SolrIndexSearcher;
+import org.apache.solr.update.processor.UpdateRequestProcessor;
+import org.apache.solr.update.processor.UpdateRequestProcessorChain;
+import org.apache.solr.util.RefCounted;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.apache.solr.update.processor.DistributedUpdateProcessor.DistribPhase.FROMLEADER;
+import static org.apache.solr.update.processor.DistributingUpdateProcessorFactory.DISTRIB_UPDATE_PARAM;
+
+/** @lucene.internal */
+public class IndexFingerprint {
+  private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
+  private long maxVersionSpecified;
+  private long maxVersionEncountered;
+  private long maxInHash;
+  private long versionsHash;
+  private long numVersions;
+  private long numDocs;
+  private long maxDoc;
+
+  public long getMaxVersionSpecified() {
+    return maxVersionSpecified;
+  }
+
+  public long getMaxVersionEncountered() {
+    return maxVersionEncountered;
+  }
+
+  public long getMaxInHash() {
+    return maxInHash;
+  }
+
+  public long getVersionsHash() {
+    return versionsHash;
+  }
+
+  public long getNumVersions() {
+    return numVersions;
+  }
+
+  public long getNumDocs() {
+    return numDocs;
+  }
+
+  public long getMaxDoc() {
+    return maxDoc;
+  }
+
+  /** Opens a new realtime searcher and returns it's fingerprint */
+  public static IndexFingerprint getFingerprint(SolrCore core, long maxVersion) throws IOException {
+    core.getUpdateHandler().getUpdateLog().openRealtimeSearcher();
+    RefCounted<SolrIndexSearcher> newestSearcher = core.getUpdateHandler().getUpdateLog().uhandler.core.getRealtimeSearcher();
+    try {
+      return getFingerprint(newestSearcher.get(), maxVersion);
+    } finally {
+      if (newestSearcher != null) {
+        newestSearcher.decref();
+      }
+    }
+  }
+
+  public static IndexFingerprint getFingerprint(SolrIndexSearcher searcher, long maxVersion) throws IOException {
+    long start = System.currentTimeMillis();
+
+    SchemaField versionField = VersionInfo.getAndCheckVersionField(searcher.getSchema());
+
+    IndexFingerprint f = new IndexFingerprint();
+    f.maxVersionSpecified = maxVersion;
+    f.maxDoc = searcher.maxDoc();
+
+    // TODO: this could be parallelized, or even cached per-segment if performance becomes an issue
+    ValueSource vs = versionField.getType().getValueSource(versionField, null);
+    Map funcContext = ValueSource.newContext(searcher);
+    vs.createWeight(funcContext, searcher);
+    for (LeafReaderContext ctx : searcher.getTopReaderContext().leaves()) {
+      int maxDoc = ctx.reader().maxDoc();
+      f.numDocs += ctx.reader().numDocs();
+      Bits liveDocs = ctx.reader().getLiveDocs();
+      FunctionValues fv = vs.getValues(funcContext, ctx);
+      for (int doc = 0; doc < maxDoc; doc++) {
+        if (liveDocs != null && !liveDocs.get(doc)) continue;
+        long v = fv.longVal(doc);
+        f.maxVersionEncountered = Math.max(v, f.maxVersionEncountered);
+        if (v <= f.maxVersionSpecified) {
+          f.maxInHash = Math.max(v, f.maxInHash);
+          f.versionsHash += Hash.fmix64(v);
+          f.numVersions++;
+        }
+      }
+    }
+
+    long end = System.currentTimeMillis();
+    log.info("IndexFingerprint millis:" + (end-start) + " result:" + f);
+
+    return f;
+  }
+
+  /** returns 0 for equal, negative if f1 is less recent than f2, positive if more recent */
+  public static int compare(IndexFingerprint f1, IndexFingerprint f2) {
+    int cmp;
+
+    // NOTE: some way want number of docs in index to take precedence over highest version (add-only systems for sure)
+
+    // if we're comparing all of the versions in the index, then go by the highest encountered.
+    if (f1.maxVersionSpecified == Long.MAX_VALUE) {
+      cmp = Long.compare(f1.maxVersionEncountered, f2.maxVersionEncountered);
+      if (cmp != 0) return cmp;
+    }
+
+    // Go by the highest version under the requested max.
+    cmp = Long.compare(f1.maxInHash, f2.maxInHash);
+    if (cmp != 0) return cmp;
+
+    // go by who has the most documents in the index
+    cmp = Long.compare(f1.numVersions, f2.numVersions);
+    if (cmp != 0) return cmp;
+
+    // both have same number of documents, so go by hash
+    cmp = Long.compare(f1.versionsHash, f2.versionsHash);
+    return cmp;
+  }
+
+  /**
+   * Create a generic object suitable for serializing with ResponseWriters
+   */
+  public Object toObject() {
+    Map<String,Object> map = new LinkedHashMap<>();
+    map.put("maxVersionSpecified", maxVersionSpecified);
+    map.put("maxVersionEncountered", maxVersionEncountered);
+    map.put("maxInHash", maxInHash);
+    map.put("versionsHash", versionsHash);
+    map.put("numVersions", numVersions);
+    map.put("numDocs", numDocs);
+    map.put("maxDoc", maxDoc);
+    return map;
+  }
+
+  private static long getLong(Object o, String key, long def) {
+    long v = def;
+
+    Object oval = null;
+    if (o instanceof Map) {
+      oval = ((Map)o).get(key);
+    } else if (o instanceof NamedList) {
+      oval = ((NamedList)o).get(key);
+    }
+
+    return oval != null ? ((Number)oval).longValue() : def;
+  }
+
+  /**
+   * Create an IndexFingerprint object from a deserialized generic object (Map or NamedList)
+   */
+  public static IndexFingerprint fromObject(Object o) {
+    IndexFingerprint f = new IndexFingerprint();
+    f.maxVersionSpecified = getLong(o, "maxVersionSpecified", Long.MAX_VALUE);
+    f.maxVersionEncountered = getLong(o, "maxVersionEncountered", -1);
+    f.maxInHash = getLong(o, "maxInHash", -1);
+    f.versionsHash = getLong(o, "versionsHash", -1);
+    f.numVersions = getLong(o, "numVersions", -1);
+    f.numDocs = getLong(o, "numDocs", -1);
+    f.maxDoc = getLong(o, "maxDoc", -1);
+    return f;
+  }
+
+  @Override
+  public String toString() {
+    return toObject().toString();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/core/src/java/org/apache/solr/update/PeerSync.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/PeerSync.java b/solr/core/src/java/org/apache/solr/update/PeerSync.java
index dacb470..ea71783 100644
--- a/solr/core/src/java/org/apache/solr/update/PeerSync.java
+++ b/solr/core/src/java/org/apache/solr/update/PeerSync.java
@@ -68,6 +68,7 @@ public class PeerSync  {
   private UpdateLog ulog;
   private HttpShardHandlerFactory shardHandlerFactory;
   private ShardHandler shardHandler;
+  private List<SyncShardRequest> requests = new ArrayList<>();
 
   private List<Long> startingVersions;
 
@@ -76,8 +77,10 @@ public class PeerSync  {
   private Set<Long> requestedUpdateSet;
   private long ourLowThreshold;  // 20th percentile
   private long ourHighThreshold; // 80th percentile
+  private long ourHighest;  // currently just used for logging/debugging purposes
   private final boolean cantReachIsSuccess;
   private final boolean getNoVersionsIsSuccess;
+  private final boolean doFingerprint;
   private final HttpClient client;
   private final boolean onlyIfActive;
   private SolrCore core;
@@ -116,6 +119,8 @@ public class PeerSync  {
 
   private static class SyncShardRequest extends ShardRequest {
     List<Long> reportedVersions;
+    IndexFingerprint fingerprint;
+    boolean doFingerprintComparison;
     List<Long> requestedUpdates;
     Exception updateException;
   }
@@ -125,16 +130,17 @@ public class PeerSync  {
   }
   
   public PeerSync(SolrCore core, List<String> replicas, int nUpdates, boolean cantReachIsSuccess, boolean getNoVersionsIsSuccess) {
-    this(core, replicas, nUpdates, cantReachIsSuccess, getNoVersionsIsSuccess, false);
+    this(core, replicas, nUpdates, cantReachIsSuccess, getNoVersionsIsSuccess, false, true);
   }
   
-  public PeerSync(SolrCore core, List<String> replicas, int nUpdates, boolean cantReachIsSuccess, boolean getNoVersionsIsSuccess, boolean onlyIfActive) {
+  public PeerSync(SolrCore core, List<String> replicas, int nUpdates, boolean cantReachIsSuccess, boolean getNoVersionsIsSuccess, boolean onlyIfActive, boolean doFingerprint) {
     this.core = core;
     this.replicas = replicas;
     this.nUpdates = nUpdates;
     this.maxUpdates = nUpdates;
     this.cantReachIsSuccess = cantReachIsSuccess;
     this.getNoVersionsIsSuccess = getNoVersionsIsSuccess;
+    this.doFingerprint = doFingerprint;
     this.client = core.getCoreDescriptor().getCoreContainer().getUpdateShardHandler().getHttpClient();
     this.onlyIfActive = onlyIfActive;
     
@@ -169,9 +175,8 @@ public class PeerSync  {
     return "PeerSync: core="+uhandler.core.getName()+ " url="+myURL +" ";
   }
 
-  /** Returns true if peer sync was successful, meaning that this core may not be considered to have the latest updates
-   *  when considering the last N updates between it and its peers.
-   *  A commit is not performed.
+  /** Returns true if peer sync was successful, meaning that this core may be considered to have the latest updates.
+   * It does not mean that the remote replica is in sync with us.
    */
   public boolean sync() {
     if (ulog == null) {
@@ -210,7 +215,7 @@ public class PeerSync  {
         
         ourLowThreshold = percentile(startingVersions, 0.8f);
         ourHighThreshold = percentile(startingVersions, 0.2f);
-        
+
         // now make sure that the starting updates overlap our updates
         // there shouldn't be reorders, so any overlap will do.
         
@@ -231,6 +236,7 @@ public class PeerSync  {
         }
         
         ourUpdates = newList;
+        Collections.sort(ourUpdates, absComparator);
       } else {
         
         if (ourUpdates.size() > 0) {
@@ -243,9 +249,10 @@ public class PeerSync  {
           return false;
         }
       }
-      
+
+      ourHighest = ourUpdates.get(0);
       ourUpdateSet = new HashSet<>(ourUpdates);
-      requestedUpdateSet = new HashSet<>(ourUpdates);
+      requestedUpdateSet = new HashSet<>();
       
       for (;;) {
         ShardResponse srsp = shardHandler.takeCompletedOrError();
@@ -257,9 +264,18 @@ public class PeerSync  {
           return false;
         }
       }
-      
-      log.info(msg() + "DONE. sync succeeded");
-      return true;
+
+      // finish up any comparisons with other shards that we deferred
+      boolean success = true;
+      for (SyncShardRequest sreq : requests) {
+        if (sreq.doFingerprintComparison) {
+          success = compareFingerprint(sreq);
+          if (!success) break;
+        }
+      }
+
+      log.info(msg() + "DONE. sync " + (success ? "succeeded" : "failed"));
+      return success;
     } finally {
       MDCLoggingContext.clear();
     }
@@ -267,6 +283,7 @@ public class PeerSync  {
   
   private void requestVersions(String replica) {
     SyncShardRequest sreq = new SyncShardRequest();
+    requests.add(sreq);
     sreq.purpose = 1;
     sreq.shards = new String[]{replica};
     sreq.actualShards = sreq.shards;
@@ -274,6 +291,7 @@ public class PeerSync  {
     sreq.params.set("qt","/get");
     sreq.params.set("distrib",false);
     sreq.params.set("getVersions",nUpdates);
+    sreq.params.set("fingerprint",doFingerprint);
     shardHandler.submit(sreq, replica, sreq.params);
   }
 
@@ -355,7 +373,12 @@ public class PeerSync  {
     SyncShardRequest sreq = (SyncShardRequest) srsp.getShardRequest();
     sreq.reportedVersions =  otherVersions;
 
-    log.info(msg() + " Received " + otherVersions.size() + " versions from " + sreq.shards[0] );
+    Object fingerprint = srsp.getSolrResponse().getResponse().get("fingerprint");
+
+    log.info(msg() + " Received " + otherVersions.size() + " versions from " + sreq.shards[0] + " fingerprint:" + fingerprint );
+    if (fingerprint != null) {
+      sreq.fingerprint = IndexFingerprint.fromObject(fingerprint);
+    }
 
     if (otherVersions.size() == 0) {
       return getNoVersionsIsSuccess; 
@@ -371,13 +394,14 @@ public class PeerSync  {
     
     long otherHigh = percentile(otherVersions, .2f);
     long otherLow = percentile(otherVersions, .8f);
+    long otherHighest = otherVersions.get(0);
 
     if (ourHighThreshold < otherLow) {
       // Small overlap between version windows and ours is older
       // This means that we might miss updates if we attempted to use this method.
       // Since there exists just one replica that is so much newer, we must
       // fail the sync.
-      log.info(msg() + " Our versions are too old. ourHighThreshold="+ourHighThreshold + " otherLowThreshold="+otherLow);
+      log.info(msg() + " Our versions are too old. ourHighThreshold="+ourHighThreshold + " otherLowThreshold="+otherLow + " ourHighest=" + ourHighest + " otherHighest=" + otherHighest);
       return false;
     }
 
@@ -385,7 +409,10 @@ public class PeerSync  {
       // Small overlap between windows and ours is newer.
       // Using this list to sync would result in requesting/replaying results we don't need
       // and possibly bringing deleted docs back to life.
-      log.info(msg() + " Our versions are newer. ourLowThreshold="+ourLowThreshold + " otherHigh="+otherHigh);
+      log.info(msg() + " Our versions are newer. ourLowThreshold="+ourLowThreshold + " otherHigh="+otherHigh+ " ourHighest=" + ourHighest + " otherHighest=" + otherHighest);
+
+      // Because our versions are newer, IndexFingerprint with the remote would not match us.
+      // We return true on our side, but the remote peersync with us should fail.
       return true;
     }
     
@@ -408,9 +435,15 @@ public class PeerSync  {
     sreq.requestedUpdates = toRequest;
     
     if (toRequest.isEmpty()) {
-      log.info(msg() + " Our versions are newer. ourLowThreshold="+ourLowThreshold + " otherHigh="+otherHigh);
+      log.info(msg() + " No additional versions requested. ourLowThreshold="+ourLowThreshold + " otherHigh="+otherHigh+ " ourHighest=" + ourHighest + " otherHighest=" + otherHighest);
 
       // we had (or already requested) all the updates referenced by the replica
+
+      // If we requested updates from another replica, we can't compare fingerprints yet with this replica, we need to defer
+      if (doFingerprint) {
+        sreq.doFingerprintComparison = true;
+      }
+
       return true;
     }
     
@@ -422,6 +455,19 @@ public class PeerSync  {
     return requestUpdates(srsp, toRequest);
   }
 
+  private boolean compareFingerprint(SyncShardRequest sreq) {
+    if (sreq.fingerprint == null) return true;
+    try {
+      IndexFingerprint ourFingerprint = IndexFingerprint.getFingerprint(core, Long.MAX_VALUE);
+      int cmp = IndexFingerprint.compare(ourFingerprint, sreq.fingerprint);
+      log.info("Fingerprint comparison: " + cmp);
+      return cmp == 0;  // currently, we only check for equality...
+    } catch(IOException e){
+      log.error(msg() + "Error getting index fingerprint", e);
+      return false;
+    }
+  }
+
   private boolean requestUpdates(ShardResponse srsp, List<Long> toRequest) {
     String replica = srsp.getShardRequest().shards[0];
 
@@ -556,7 +602,7 @@ public class PeerSync  {
       }
     }
 
-    return true;
+    return compareFingerprint(sreq);
   }
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/core/src/java/org/apache/solr/update/UpdateLog.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateLog.java b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
index c63d807..78c30b9 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateLog.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
@@ -505,7 +505,9 @@ public class UpdateLog implements PluginInfoInitialized {
     }
   }
 
-  /** Opens a new realtime searcher and clears the id caches */
+  /** Opens a new realtime searcher and clears the id caches.
+   * This may also be called when we updates are being buffered (from PeerSync/IndexFingerprint)
+   */
   public void openRealtimeSearcher() {
     synchronized (this) {
       // We must cause a new IndexReader to be opened before anything looks at these caches again

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/629767be/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
index 8083ad0..bcaf846 100644
--- a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
+++ b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
@@ -168,6 +168,29 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
 
     assertSync(client1, numVersions, true, shardsArr[0]);
     client0.commit(); client1.commit(); queryAndCompare(params("q", "*:*", "sort","_version_ desc"), client0, client1);
+
+    // now lets check fingerprinting causes appropriate fails
+    v = 4000;
+    add(client0, seenLeader, sdoc("id",Integer.toString((int)v),"_version_",v));
+    toAdd = numVersions+10;
+    for (int i=0; i<toAdd; i++) {
+      add(client0, seenLeader, sdoc("id",Integer.toString((int)v+i+1),"_version_",v+i+1));
+      add(client1, seenLeader, sdoc("id",Integer.toString((int)v+i+1),"_version_",v+i+1));
+    }
+
+    // client0 now has an additional add beyond our window and the fingerprint should cause this to fail
+    assertSync(client1, numVersions, false, shardsArr[0]);
+
+    // lets add the missing document and verify that order doesn't matter
+    add(client1, seenLeader, sdoc("id",Integer.toString((int)v),"_version_",v));
+    assertSync(client1, numVersions, true, shardsArr[0]);
+
+    // lets do some overwrites to ensure that repeated updates and maxDoc don't matter
+    for (int i=0; i<10; i++) {
+      add(client0, seenLeader, sdoc("id", Integer.toString((int) v + i + 1), "_version_", v + i + 1));
+    }
+    assertSync(client1, numVersions, true, shardsArr[0]);
+
   }
 
 


[47/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.java
index 137d280..8c2b131 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilterFactory.java
index 01ef9e2..1873c8d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/SetKeywordMarkerFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/SetKeywordMarkerFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/SetKeywordMarkerFilter.java
index bd5df3c..c4dbf78 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/SetKeywordMarkerFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/SetKeywordMarkerFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.java
index 1b17388..e78137e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilterFactory.java
index 450af5c..87f6a85 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilter.java
index 2080320..55ce6f0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
index 58c400b..aa3e8bd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.java
index 63e4cc0..5c9304e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterFactory.java
index af3e40c..7968036 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java
index 4fa2640..e2e7074 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.java
@@ -13,8 +13,7 @@
  * 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.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
index a7bd468..a7e58bf 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterIterator.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterIterator.java
index faa8b4c..0367dab 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterIterator.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/WordDelimiterIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import static org.apache.lucene.analysis.miscellaneous.WordDelimiterFilter.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/package-info.java
index 200ed6f..297d1a5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Miscellaneous Tokenstreams.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramFilterFactory.java
index fddf7cd..020b85b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
index ed6db2e..2c10778 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
index 796aca3..5356c9a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerFactory.java
index c751fcd..fcdcd4d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.util.TokenizerFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramFilterFactory.java
index 9626da4..2064716 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
index e673499..5a84bff 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
index 0c6668cde5..1c8aa7c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizerFactory.java
index b48a54b..e50e03a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/NGramTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/package-info.java
index 3571be2..2884eb5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ngram/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Character n-gram tokenizers and filters.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
index a9b5409..e955067 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.nl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.nl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.nl;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.core.LowerCaseFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/package-info.java
index e62f8c7..cc622ad 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/nl/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Dutch.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianAnalyzer.java
index 0dd8125..4110da3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilter.java
index 311c850..d3b5054 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilterFactory.java
index 3446825..0a5122b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
index d18de32..078473c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilter.java
index 9d4fcfb..b19f846 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilterFactory.java
index 14a06a7..1677272 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
index bc08548..cdf0ba0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/package-info.java
index 9d162ca..386f8f5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Norwegian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizer.java
index d616321..251884e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizer.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.path;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.path;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.path;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizerFactory.java
index 17c834a..bdcc68e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/PathHierarchyTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.path;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.path;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.path;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/ReversePathHierarchyTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/ReversePathHierarchyTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/ReversePathHierarchyTokenizer.java
index 03c86b7..a9f3e0a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/ReversePathHierarchyTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/ReversePathHierarchyTokenizer.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.path;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.path;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.path;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/package-info.java
index 0482a7f..70d5262 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/path/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analysis components for path-like strings such as filenames.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupFilterFactory.java
index 4ba68ab..ea8cd42 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import java.util.Map;
 import java.util.regex.Pattern;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
index a920608..5563c23 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.java
index 398f67b..971a734 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.pattern;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilterFactory.java
index a0f3de1..70e9728 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import java.io.Reader;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilter.java
index 437e87c..5e3ff11 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.pattern;
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilterFactory.java
index dc7609d..57e5e11 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternReplaceFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizer.java
index e25a7b9..4dabf24 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.pattern;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizerFactory.java
index 42ea022..b919dae 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import java.util.Map;
 import java.util.regex.Pattern;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/package-info.java
index e9d49cf..8b3dd82 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Set of components for pattern-based (regex) analysis.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/AbstractEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/AbstractEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/AbstractEncoder.java
index f7ddd55..30c348e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/AbstractEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/AbstractEncoder.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
-import org.apache.lucene.util.BytesRef;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.BytesRef;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
+import org.apache.lucene.util.BytesRef;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilter.java
index cf59717..e3bdfbd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterFactory.java
index d56f11a..02964db 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.ResourceLoader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
index 41ced04..f94e0a0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
-import org.apache.lucene.util.BytesRef;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.BytesRef;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
+import org.apache.lucene.util.BytesRef;
+
 
 /**
  * Encode a character array Float as a {@link BytesRef}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
index 721ecbf..a60d2a2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
index a6228f4..8713912 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java
index 54c356e..9f9eec6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterFactory.java
index 089a4b7..98783b0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadEncoder.java
index 11eb2a9..9798ce4 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadEncoder.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
-import org.apache.lucene.util.BytesRef;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.BytesRef;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
+import org.apache.lucene.util.BytesRef;
+
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadHelper.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadHelper.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadHelper.java
index f7c57bf..e21478e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadHelper.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/PayloadHelper.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilter.java
index 5d808c0..91dd1b0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterFactory.java
index 1162818..56c38da 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilter.java
index e513f60..92fc76a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterFactory.java
index 43a3e83..a0c5989 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/package-info.java
index f7b7731..411d1e4 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Provides various convenience classes for creating payloads on Tokens.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseAnalyzer.java
index fde61d6..ecdb944 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilter.java
index 47779a0..5dda3f7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilterFactory.java
index e753239..479c2fd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
index aa60f5d..50edc8a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilter.java
index d0be82b..202ea3c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilterFactory.java
index 73174a0..d782366 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
index b1796a0..202ce9f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 /**
  * Minimal Stemmer for Portuguese

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilter.java
index 19f605b..726c53a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilterFactory.java
index 355dc76..cccfea3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
index a03e7d1..24b5d21 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/RSLPStemmerBase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/RSLPStemmerBase.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/RSLPStemmerBase.java
index 54ecdff..f24cf2a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/RSLPStemmerBase.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/RSLPStemmerBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/package-info.java
index 1f8caa9..e352eb3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Portuguese.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
index 52e5ee4..3ba7927 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.query;
 
 import java.io.IOException;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/package-info.java
index 11b89a4..c4cd7ab 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/query/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Automatically filter high-frequency stopwords.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java
index 9e3e3d5..b2e2358 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.reverse;
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilterFactory.java
index 33cfc97..310fc91 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/ReverseStringFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.reverse;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.reverse;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.reverse;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/package-info.java
index d0b46f8..2e63649 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/reverse/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Filter to reverse token text.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/RomanianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/RomanianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/RomanianAnalyzer.java
index cca18c6..7436243 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/RomanianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/RomanianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ro;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ro;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ro;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/package-info.java
index 9b7426b..7e340fd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ro/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Romanian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java
index 7dd1406..db2df8a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilter.java
index 5efe1ea..c08a1e8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilterFactory.java
index 8f4fca8..e71f5af 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 import java.util.Map;
 


[38/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Points.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Points.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Points.java
index a12b6ff..fccf489 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Points.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Points.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.stats;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.stats;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.stats;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Report.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Report.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Report.java
index 8f5c6c7..1260c2a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Report.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/Report.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.stats;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.stats;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.stats;
+
 
 /**
  * Textual report of current statistics.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/TaskStats.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/TaskStats.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/TaskStats.java
index 05ae92b..ab116a9 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/TaskStats.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/TaskStats.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.stats;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.stats;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.stats;
+
 
 import org.apache.lucene.benchmark.byTask.tasks.PerfTask;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/package-info.java
index 2bc0751..f32e847 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/stats/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Statistics maintained when running benchmark tasks.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddDocTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddDocTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddDocTask.java
index b40c76f..1737282 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddDocTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddDocTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java
index 5063e0a..3182afe 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddFacetedDocTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
index ddc72f0..8e89c91 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AddIndexesTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.nio.file.Paths;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AnalyzerFactoryTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AnalyzerFactoryTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AnalyzerFactoryTask.java
index 672ea0d..051a8fc 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AnalyzerFactoryTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/AnalyzerFactoryTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.analysis.util.AbstractAnalysisFactory;
 import org.apache.lucene.analysis.util.CharFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/BenchmarkHighlighter.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/BenchmarkHighlighter.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/BenchmarkHighlighter.java
index fd229d0..e00cc38 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/BenchmarkHighlighter.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/BenchmarkHighlighter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ClearStatsTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ClearStatsTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ClearStatsTask.java
index ad01fe4..4a437e7 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ClearStatsTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ClearStatsTask.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.benchmark.byTask.PerfRunData;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+
 
 /**
  * Clear statistics data.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java
index 8bd1750..fce6b7d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseReaderTask.java
index 8bac4f4..759b06b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseReaderTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java
index 935051f..5b7ec0b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java
index bd455fb..7decc38 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseTaxonomyReaderTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java
index d6b2e9e..fda4994 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java
index 9a74ea3..5273c6b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitTaxonomyIndexTask.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.facet.taxonomy.TaxonomyWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ConsumeContentSourceTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ConsumeContentSourceTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ConsumeContentSourceTask.java
index f139519..715d1d8 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ConsumeContentSourceTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ConsumeContentSourceTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.feeds.ContentSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTask.java
index 53587b5..74486d6 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.BufferedOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java
index a257578..12f112c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateTaxonomyIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ForceMergeTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ForceMergeTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ForceMergeTask.java
index 5f7a921..40a3637 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ForceMergeTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ForceMergeTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.index.IndexWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
index 4affd10..cbc7db7 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.index.DirectoryReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewAnalyzerTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewAnalyzerTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewAnalyzerTask.java
index 074fb5a..b008e70 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewAnalyzerTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewAnalyzerTask.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.benchmark.byTask.tasks;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,6 +14,7 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.benchmark.byTask.PerfRunData;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewCollationAnalyzerTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewCollationAnalyzerTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewCollationAnalyzerTask.java
index aa90c2e..95cf8b2 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewCollationAnalyzerTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewCollationAnalyzerTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
index 6cdcadf..4cdcb7c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.Locale;
 import java.util.StringTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewRoundTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewRoundTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewRoundTask.java
index cb61922..0d53a59 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewRoundTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewRoundTask.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.benchmark.byTask.PerfRunData;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenIndexTask.java
index b2f2898..9756292 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.utils.Config;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
index 63a7b46..19cb97b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java
index 1882cac..9af531e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java
index 5e15446..d68c305 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenTaxonomyReaderTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java
index d7a39ff..bad3398 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PrintReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PrintReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PrintReaderTask.java
index 211c603..c164012 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PrintReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PrintReaderTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.index.DirectoryReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
index cf212bb..a60859d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTokensTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTokensTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTokensTask.java
index 8b49eb0..4950d41 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTokensTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTokensTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.Reader;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
index 2cd46d6..6add27c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
index bac4f3d..1e5069a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
index 64ab949..779f273 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameRoundTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameRoundTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameRoundTask.java
index 731e3ef..129e17e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameRoundTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameRoundTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.LinkedHashMap;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameTask.java
index 2da03ec..151419a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByNameTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.LinkedHashMap;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefRoundTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefRoundTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefRoundTask.java
index 7cebb1e..c5b2a4d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefRoundTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefRoundTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.LinkedHashMap;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefTask.java
index 241f252..b4ab6ae 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSumByPrefTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.stats.Report;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
index 6cbc5e6..844fbce 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import java.util.LinkedHashMap;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-import org.apache.lucene.benchmark.byTask.stats.Report;
-import org.apache.lucene.benchmark.byTask.stats.TaskStats;
-import org.apache.lucene.benchmark.byTask.utils.Format;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,15 @@ import org.apache.lucene.benchmark.byTask.utils.Format;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import java.util.LinkedHashMap;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+import org.apache.lucene.benchmark.byTask.stats.Report;
+import org.apache.lucene.benchmark.byTask.stats.TaskStats;
+import org.apache.lucene.benchmark.byTask.utils.Format;
+
 
 /**
  * Report (abstract) task - all report tasks extend this task.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetInputsTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetInputsTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetInputsTask.java
index 2134f89..3029c78 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetInputsTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetInputsTask.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.benchmark.byTask.PerfRunData;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemEraseTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemEraseTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemEraseTask.java
index 04c4944..9cd72ea 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemEraseTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemEraseTask.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.benchmark.byTask.PerfRunData;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemSoftTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemSoftTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemSoftTask.java
index d10b7c6..3978fc0 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemSoftTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ResetSystemSoftTask.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.benchmark.byTask.PerfRunData;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
index d44f88e..53a1ac5 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTask.java
index ff4cd76..278e639 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.feeds.QueryMaker;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetHighlightTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetHighlightTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetHighlightTask.java
index 4832d81..f017177 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetHighlightTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetHighlightTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.Collection;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetLoadFieldSelectorTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetLoadFieldSelectorTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetLoadFieldSelectorTask.java
index 68a82d0..ada3f71 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetLoadFieldSelectorTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetLoadFieldSelectorTask.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.benchmark.byTask.tasks;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,7 +14,7 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.benchmark.byTask.tasks;
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetTask.java
index 778949b..97ae738 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetVectorHighlightTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetVectorHighlightTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetVectorHighlightTask.java
index d70a3c9..15a13ca 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetVectorHighlightTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravRetVectorHighlightTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.benchmark.byTask.PerfRunData;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravTask.java
index 535e946..f96efbd 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchTravTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.feeds.QueryMaker;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithCollectorTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithCollectorTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithCollectorTask.java
index 3278163..0826c86 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithCollectorTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithCollectorTask.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.feeds.QueryMaker;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
index 91fc485..8361ab3 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
index 0683461..acf52c7 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
-import org.apache.lucene.benchmark.byTask.PerfRunData;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.benchmark.byTask.PerfRunData;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
+import org.apache.lucene.benchmark.byTask.PerfRunData;
+
 
 /**
  * Set a performance test configuration property.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/TaskSequence.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/TaskSequence.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/TaskSequence.java
index 9ee2ab1..c57845d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/TaskSequence.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/TaskSequence.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/UpdateDocTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/UpdateDocTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/UpdateDocTask.java
index 0ff3ff2..88b5f60 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/UpdateDocTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/UpdateDocTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.feeds.DocMaker;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitTask.java
index 4fa47d5..c741954 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WarmTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WarmTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WarmTask.java
index 64c3f50..07bbc5c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WarmTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WarmTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;
 import org.apache.lucene.benchmark.byTask.feeds.QueryMaker;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
index 4a46e04..01b549e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteEnwikiLineDocTask.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.benchmark.byTask.tasks;
 
 import java.io.BufferedWriter;
@@ -15,22 +31,6 @@ import org.apache.lucene.benchmark.byTask.utils.StreamUtils;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexableField;
 
-/*
- * 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.
- */
 
 /**
  * A {@link WriteLineDocTask} which for Wikipedia input, will write category pages 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.java
index afaca5e..3bf9695 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.tasks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.tasks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.tasks;
+
 
 import java.io.BufferedWriter;
 import java.io.OutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/package-info.java
index d06f484..c7446cb 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Extendable benchmark tasks.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java
index d6cd82a..821db38 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import java.io.StreamTokenizer;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/AnalyzerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/AnalyzerFactory.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/AnalyzerFactory.java
index 149f6e6..c91f873 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/AnalyzerFactory.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/AnalyzerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
index b684158..b7afcf2 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Format.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Format.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Format.java
index e023df0..a4636de 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Format.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Format.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import java.text.NumberFormat;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/StreamUtils.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/StreamUtils.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/StreamUtils.java
index 2f9fb31..f51680d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/StreamUtils.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/StreamUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.utils;
+
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/package-info.java
index 4066a7a..57d188c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Utilities used for the benchmark, and for the reports.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/package-info.java
index 2df570b..ec90d75 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Lucene Benchmarking Package
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/package-info.java
index de19b3c..df1428b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Search Quality Benchmarking.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java
index 4be5334..1240d47 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.quality.trec;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.quality.trec;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.quality.trec;
+
 
 import org.apache.lucene.benchmark.quality.utils.SimpleQQParser;
 import org.apache.lucene.benchmark.quality.utils.SubmissionReport;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/package-info.java
index 45ddec8..052290a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Utilities for Trec related quality benchmarking, feeding from Trec Topics and QRels inputs.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/package-info.java
index 56d721d..1aa19b9 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Miscellaneous utilities for search quality benchmarking: query parsing, submission reports.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractReuters.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractReuters.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractReuters.java
index 1079bce..4e90d37 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractReuters.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractReuters.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.benchmark.utils;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,7 +14,7 @@ package org.apache.lucene.benchmark.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.benchmark.utils;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
@@ -30,7 +30,6 @@ import java.util.regex.Pattern;
 
 import org.apache.lucene.util.IOUtils;
 
-
 /**
  * Split the Reuters SGML documents into Simple Text files containing: Title, Date, Dateline, Body
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractWikipedia.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractWikipedia.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractWikipedia.java
index e85656a..9c76b92 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractWikipedia.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractWikipedia.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.utils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.utils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.utils;
+
 
 import java.io.IOException;
 import java.io.Writer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/package-info.java
index 956b84f..287e206 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/utils/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Benchmark Utility functions.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/test/conf/ConfLoader.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/conf/ConfLoader.java b/lucene/benchmark/src/test/conf/ConfLoader.java
index 3d03414..97c02ac 100644
--- a/lucene/benchmark/src/test/conf/ConfLoader.java
+++ b/lucene/benchmark/src/test/conf/ConfLoader.java
@@ -1,5 +1,3 @@
-package conf;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package conf;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package conf;
 
 public class ConfLoader {
   // don't mind me, I load .alg files


[62/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/countries-poly.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/countries-poly.txt b/lucene/spatial/src/test-files/data/countries-poly.txt
deleted file mode 100644
index 8192df2..0000000
--- a/lucene/spatial/src/test-files/data/countries-poly.txt
+++ /dev/null
@@ -1,249 +0,0 @@
-#id	name	shape	
-FLK	Falkland Is.	MULTIPOLYGON (((-59.348063887634126 -52.34305496492924, -59.37944588766335 -52.32778196491501, -59.57444588784496 -52.21528196481024, -59.71611788797689 -52.11737296471905, -59.56667288783771 -51.91749996453291, -59.51805488779243 -51.87528196449359, -59.2883358875785 -51.746944964374066, -59.221254887516025 -51.71709096434626, -59.13306388743389 -51.69444496432517, -59.055554887361694 -51.691672964322585, -59.03087288733872 -51.7643819643903, -59.04139088734851 -51.81520896443764, -59.00083588731074 -51.8100089644328, -58.99472688730505 -51.80667296442969, -58.9826458872938 -51.79534496441914, -59.02389988733222 -51.67694496430887, -59.07833588738292 -51.631954964266974, -59.168263887466665 -51.585281964223505, -59.10860888741111 -51.513890964157014, -59.08416388738834 -51.53722696417875, -59.06986388737502 -51.557363964197506, -59.039308887346564 -51.58396396422228, -59.01430888732328 -51.575835964214704, -58.989445887300135 -51.50417296414796, -59.0461088873529 -
 51.47889096412442, -59.074726887379555 -51.469863964116016, -59.08472688738887 -51.41166396406181, -58.99110888730168 -51.40555496405612, -58.868754887187734 -51.37007296402307, -58.88430888720221 -51.33083596398653, -58.84861788716897 -51.291390963949794, -58.75403588708089 -51.32639096398239, -58.69667288702746 -51.336672963991965, -58.614508886950944 -51.3294089639852, -58.57972688691855 -51.30944496396661, -58.5444458868857 -51.30569996396312, -58.4673638868139 -51.307363963964676, -58.41250888676282 -51.32340896397962, -58.34361788669865 -51.36903596402211, -58.32459088668094 -51.416081964065924, -58.36194588671573 -51.44445496409235, -58.44389088679205 -51.45361796410088, -58.45917288680627 -51.43020896407908, -58.47597288682192 -51.39999996405095, -58.49610888684067 -51.39631796404752, -58.55028188689113 -51.43361796408225, -58.51833588686138 -51.47610896412183, -58.49889088684327 -51.50028196414434, -58.420563886770324 -51.556672964196856, -58.36249988671625 -51.567217964206
 684, -58.33583588669141 -51.56667296420617, -58.28167288664096 -51.606808964243555, -58.241390886603455 -51.65014496428391, -58.21743588658114 -51.65069996428443, -58.18278188654887 -51.60917296424575, -58.188899886554566 -51.585281964223505, -58.2572268866182 -51.53055496417254, -58.31409988667117 -51.50041796414447, -58.345554886700455 -51.509099964152554, -58.27479988663457 -51.413754964063756, -58.25028188661173 -51.40097296405185, -58.21736388658107 -51.39528196404655, -57.94445488632691 -51.371808964024694, -57.91541788629986 -51.37528196402793, -57.89680888628253 -51.3841729640362, -57.873890886261194 -51.4016729640525, -57.768054886162616 -51.50403596414784, -57.77291788616715 -51.54375496418483, -57.81389988620532 -51.54972696419039, -57.87861788626559 -51.54610896418702, -57.90472688628991 -51.543335964184436, -57.93028188631371 -51.539999964181334, -57.95360888633543 -51.53486396417655, -57.9794458863595 -51.52389096416633, -58.00417288638252 -51.50778196415133, -58.03541
 788641162 -51.50209096414603, -58.138963886508066 -51.54986396419052, -58.109308886480434 -51.570563964209796, -58.039235886415184 -51.59014496422803, -58.0087548863868 -51.59319996423088, -57.983545886363316 -51.58805496422609, -57.87694588626404 -51.60000896423722, -57.79764588619018 -51.61180896424821, -57.77528188616935 -51.621735964257454, -57.733199886130166 -51.69444496432517, -57.83444588622446 -51.723617964352336, -57.973890886354326 -51.74860896437561, -58.0324998864089 -51.7575089643839, -58.1119458864829 -51.76333596438933, -58.19778188656284 -51.761944964388036, -58.249172886610694 -51.7573999643838, -58.21389088657784 -51.78110896440588, -58.17361788654033 -51.796672964420374, -58.200008886564916 -51.793890964417784, -58.24680888660849 -51.79333596441727, -58.35833588671237 -51.82666396444831, -58.33778188669322 -51.83278196445401, -58.31514588667214 -51.83444496445556, -58.28528188664433 -51.82722696444883, -58.234726886597244 -51.83278196445401, -58.39291788674457 -5
 1.89583596451273, -58.4199998867698 -51.90069996451726, -58.60639088694339 -51.90028196451687, -58.76812688709401 -51.89125496450846, -58.88945488720701 -51.84472696446513, -58.90917288722537 -51.83583596445685, -58.92347288723869 -51.820281964442366, -58.935554887249936 -51.80125496442464, -58.96243588727498 -51.81764496443991, -58.97382688728558 -51.85146396447141, -58.926672887241665 -51.87806396449618, -58.82389088714595 -51.91528196453084, -58.720626887049775 -51.94784496456116, -58.63396388696907 -51.96451796457669, -58.60389088694106 -52.001399964611046, -58.64694588698116 -52.067217964672345, -58.6802818870122 -52.090835964694335, -58.734726887062905 -52.046672964653204, -58.78791788711244 -52.03417296464156, -58.82500888714699 -52.047226964653724, -58.856526887176344 -52.0688909646739, -58.918890887234426 -52.099999964702874, -58.981108887292365 -52.06958196467454, -59.03333588734101 -52.02444496463251, -59.14236388744254 -51.985281964596034, -59.251672887544345 -51.9911089
 6460146, -59.29430888758405 -52.0097269646188, -59.279654887570416 -52.02493596463297, -59.24444588753762 -52.01944496462785, -59.21959088751447 -52.0234729646316, -59.19180888748859 -52.029444964637165, -59.12222688742379 -52.063335964668724, -59.03625488734373 -52.1408359647409, -59.05069988735718 -52.217499964812305, -59.0720908873771 -52.231535964825376, -59.19389088749054 -52.206672964802216, -59.24083588753426 -52.18639096478333, -59.29249988758238 -52.157499964756425, -59.37951788766341 -52.11923596472079, -59.44979088772887 -52.1467359647464, -59.428408887708954 -52.21389096480894, -59.38444588766801 -52.22722696482136, -59.343472887629844 -52.25215496484458, -59.33805488762479 -52.324444964911905, -59.348063887634126 -52.34305496492924)), ((-60.34528188856285 -51.86083596448013, -60.310835888530775 -51.81139096443408, -60.25749988848111 -51.77486396440007, -60.222781888448765 -51.7877819644121, -60.18284588841158 -51.75785496438422, -60.178481888407504 -51.71222696434173, -
 60.201117888428584 -51.70333596433345, -60.22749988845317 -51.70028196433061, -60.35610888857293 -51.711317964340886, -60.38556388860037 -51.744726964372, -60.445281888655984 -51.76249996438855, -60.5561178887592 -51.77555496440071, -60.63437288883209 -51.72499996435363, -60.638408888835855 -51.67972696431146, -60.61389088881302 -51.671108964303436, -60.57722688877887 -51.68528196431664, -60.55722688876024 -51.69306396432388, -60.52472688872997 -51.69944496432983, -60.48861788869634 -51.702781964332935, -60.45722688866711 -51.70222696433242, -60.43625488864758 -51.697090964327636, -60.39939088861324 -51.67999996431172, -60.36472688858096 -51.66749996430008, -60.34389088856156 -51.66528196429801, -60.248890888473085 -51.665554964298266, -60.163608888393654 -51.67111796430344, -60.29444588851551 -51.59861796423592, -60.40444588861796 -51.55139096419194, -60.390626888605084 -51.4922909641369, -60.40391788861746 -51.46865496411488, -60.448126888658635 -51.44507296409292, -60.50555488871
 211 -51.43652696408496, -60.55500888875818 -51.437435964085815, -60.62201788882058 -51.41152696406168, -60.643617888840694 -51.358054964011885, -60.60694588880655 -51.34861796400309, -60.48360888869168 -51.38528196403724, -60.39744588861143 -51.42349996407283, -60.333617888551984 -51.45555496410269, -60.3133358885331 -51.46333596410993, -60.25583588847955 -51.48111796412649, -60.22264588844864 -51.486672964131664, -60.12722688835977 -51.49472696413917, -59.992363888234166 -51.46562696411207, -60.04291788828125 -51.45069996409816, -60.0624998882995 -51.42083596407035, -60.023199888262894 -51.38125496403349, -59.89417288814272 -51.37236396402521, -59.87028188812047 -51.38110896403335, -59.825835888079084 -51.40722696405768, -59.82389088807727 -51.43322696408189, -59.777781888034326 -51.44694496409467, -59.750835888009235 -51.44917296409674, -59.5136178877883 -51.46194496410864, -59.45861788773708 -51.45806396410502, -59.39535488767817 -51.43104496407986, -59.41667288769801 -51.4141729
 6406414, -59.442154887721756 -51.40479096405541, -59.44889088772803 -51.35833596401214, -59.399799887682306 -51.33764496399287, -59.21167288750709 -51.40819996405858, -59.39833588768094 -51.60264496423967, -59.431945887712246 -51.62333596425894, -59.454235887733006 -51.62104496425681, -59.57778188784806 -51.68833596431948, -59.67361788793731 -51.771663964397085, -59.83167288808451 -51.8933359645104, -59.93194588817791 -51.968608964580504, -59.953054888197556 -51.98306396459397, -60.06486388830169 -51.940563964554386, -60.18999988841824 -51.97833596458956, -60.27250888849508 -52.04361796465036, -60.26451788848763 -52.07089996467577, -60.280554888502564 -52.09611796469925, -60.31444588853414 -52.1294449647303, -60.368054888584055 -52.15917296475798, -60.598617888798785 -52.24222696483533, -60.62458188882297 -52.243199964836236, -60.657363888853496 -52.22778196482188, -60.73528188892607 -52.17778196477531, -60.86278188904481 -52.119444964720984, -60.98083588915476 -52.06195496466744, -
 60.91111788908982 -52.03110896463871, -60.82020888900516 -52.033754964641176, -60.75041788894016 -52.00659996461589, -60.813408888998836 -51.99264496460289, -60.84403588902735 -51.9619449645743, -60.76611788895478 -51.95583596456861, -60.70722688889994 -51.96167296457404, -60.67583588887071 -51.968890964580766, -60.64110888883836 -51.975008964586465, -60.53389088873851 -51.97749996458879, -60.45972688866944 -51.97083596458258, -60.43972688865081 -51.96208196457442, -60.40649988861986 -51.92409996453905, -60.42444588863658 -51.911944964527734, -60.44944588865987 -51.88305496450083, -60.45403588866414 -51.80583596442891, -60.44034588865139 -51.782844964407495, -60.38125488859636 -51.76653596439231, -60.363199888579544 -51.8064639644295, -60.37610888859156 -51.83459096445569, -60.34528188856285 -51.86083596448013)), ((-60.99305488916613 -51.96583596457792, -61.02944588920003 -51.94722696456059, -61.112154889277065 -51.89541796451234, -61.14805488931049 -51.84639096446668, -61.139163889
 30221 -51.835281964456335, -61.12264588928683 -51.821390964443395, -61.01306388918478 -51.779726964404595, -60.99917288917183 -51.77847296440343, -60.96805488914285 -51.78110896440588, -60.938545889115375 -51.80680896442982, -60.945554889121894 -51.81917296444133, -60.95667288913225 -51.826117964447796, -60.994172889167174 -51.83861796445944, -61.01389088918555 -51.84806396446824, -61.03076388920125 -51.86590896448486, -61.01639988918788 -51.869726964488414, -60.97278188914726 -51.86028196447962, -60.94944588912553 -51.853335964473146, -60.92694588910457 -51.84528196446565, -60.9072268890862 -51.836390964457365, -60.89083588907094 -51.825835964447535, -60.87528188905645 -51.83999996446073, -60.86847288905011 -51.906108964522296, -60.88110888906188 -51.93444496454869, -60.91222688909086 -51.94389096455748, -60.96805488914285 -51.95972696457223, -60.99305488916613 -51.96583596457792)), ((-60.28526388850696 -51.37564496402826, -60.27944588850154 -51.36361796401706, -60.28917288851059 -
 51.28583596394462, -60.299172888519905 -51.274444963934016, -60.29097288851227 -51.26652696392664, -60.273199888495725 -51.26514496392535, -60.07944588831528 -51.30083596395859, -60.06806388830468 -51.3074999639648, -60.0483358882863 -51.33333596398886, -60.05278188829044 -51.34667296400128, -60.11360888834709 -51.40680896405729, -60.24986388847398 -51.403199964053925, -60.268335888491194 -51.39805496404914, -60.285135888506844 -51.38403596403608, -60.28526388850696 -51.37564496402826)), ((-59.791390888047005 -51.24945496391074, -59.73194588799164 -51.2530639639141, -59.58361788785349 -51.25750896391824, -59.48319988775998 -51.26389096392418, -59.47306388775054 -51.26778196392781, -59.45083588772984 -51.30555496396299, -59.44555488772491 -51.320281963976704, -59.467781887745616 -51.335281963990674, -59.50833588778339 -51.33749996399274, -59.53833588781133 -51.33749996399274, -59.55749988782918 -51.336672963991965, -59.57361788784418 -51.33361796398912, -59.802363888057215 -51.274590
 96393415, -59.81110888806536 -51.26972696392962, -59.80514588805981 -51.25499996391591, -59.791390888047005 -51.24945496391074)))	
-GUF	French Guiana	MULTIPOLYGON (((-54.60378188321566 2.3291910859882705, -54.499172883118234 2.3650000860216096, -54.420563883045034 2.434718086086548, -54.365908882994134 2.49660008614417, -54.35195488298113 2.5238910861695985, -54.32180888295305 2.5984730862390535, -54.31513588294685 2.629164086267636, -54.25695488289266 2.7188910863512064, -54.222917882860955 2.755554086385345, -54.20459088284389 2.775000086403452, -54.19528188283522 2.796245086423241, -54.16083588280314 2.9536090865697986, -54.176117882817366 3.043891086653886, -54.19574588283565 3.096200086702595, -54.2084728828475 3.124309086728772, -54.206117882845305 3.14528208674831, -54.187226882827716 3.1948640867944818, -54.11875488276395 3.27778208687171, -54.09445488274132 3.2950000868877396, -54.07110888271957 3.3127820869043063, -54.00110888265438 3.4483360870305546, -53.986117882640414 3.601527087173224, -53.99778188265128 3.626945087196887, -54.12764588277223 3.788609087347453, -54.14639088278969 3.7977820873559978
 , -54.18868188282907 3.808745087366205, -54.29028188292369 3.9338910874827633, -54.36076388298933 4.042427087583846, -54.365008882993294 4.163609087696699, -54.39389088302019 4.237218087765257, -54.43139988305512 4.369164087888137, -54.44023588306335 4.410645087926767, -54.45180888307412 4.512364088021499, -54.442917883065846 4.530691088038566, -54.42326388304754 4.5643090880698765, -54.42209088304645 4.601527088104547, -54.439726883062875 4.669164088167534, -54.47333588309418 4.734582088228464, -54.47778188309832 4.7541640882466965, -54.47610888309676 4.867773088352507, -54.45528188307736 5.004027088479404, -54.448063883070645 5.0241640884981535, -54.4086178830339 5.08055408855067, -54.37889088300622 5.112218088580164, -54.347781882977245 5.148336088613803, -54.317326882948876 5.208627088669942, -54.28348188291736 5.254864088713006, -54.244999882881515 5.2850000887410715, -54.19333588283341 5.315273088769274, -54.17069988281233 5.342218088794368, -54.16668188280859 5.34740008879919
 1, -54.1398638827836 5.357782088808861, -54.091663882738715 5.3919450888406715, -54.06959088271816 5.4180540888649915, -54.058199882707555 5.437364088882973, -54.006735882659626 5.5447910889830325, -54.003890882656975 5.575691089011798, -54.0111178826637 5.605973089040006, -54.00569988265866 5.641527089073122, -53.99222688264611 5.673054089102479, -53.981672882636275 5.690554089118777, -53.93972688259721 5.7447180891692255, -53.91139088257083 5.750282089174405, -53.858608882521665 5.755418089179187, -53.7508358824213 5.731391089156816, -53.63667288231497 5.673054089102479, -53.52236388220851 5.60471808903884, -53.49917288218691 5.58028208901608, -53.49433588218241 5.572345089008692, -53.48360888217242 5.56805408900469, -53.40833588210232 5.548891088986849, -53.30278188200401 5.52305408896278, -53.18639088189562 5.499164088940532, -53.084445881800676 5.483336088925796, -52.97319988169707 5.473054088916214, -52.93778188166408 5.458336088902513, -52.88652688161635 5.420282088867069, -5
 2.799726881535506 5.341945088794105, -52.78750888152413 5.321945088775479, -52.736390881476524 5.260554088718308, -52.611117881359846 5.129445088596199, -52.56750888131924 5.096664088565674, -52.42222688118393 4.99250008846866, -52.330699881098695 4.948891088428056, -52.28972688106053 4.938400088418277, -52.06444588085073 4.733891088227821, -52.02347288081256 4.685691088182921, -51.99694588078785 4.6430540881432165, -51.985281880776995 4.613609088115794, -51.97805488077026 4.586945088090957, -51.95625488074995 4.492364088002873, -51.950835880744904 4.456664087969628, -51.950835880744904 4.423891087939111, -51.96041788075385 4.400136087916977, -52.001254880791876 4.368891087887889, -52.029035880817744 4.352364087872488, -52.04069988082861 4.334582087855935, -51.99194588078319 4.348191087868599, -51.951181880745224 4.372636087891365, -51.92819988072384 4.400836087917639, -51.923617880719576 4.4270820879420825, -51.92639088072215 4.465282087977656, -51.929308880724875 4.486809087997699
 , -51.931399880726815 4.529164088037149, -51.931399880726815 4.570000088075176, -51.92444588072033 4.620973088122653, -51.91555488071205 4.646527088146456, -51.900008880697584 4.66180908816068, -51.8615998806618 4.659309088158352, -51.794445880599255 4.605554088108292, -51.76701788057372 4.5376360880450335, -51.75917288056641 4.500282088010252, -51.75639088056383 4.477218087988774, -51.75249988056021 4.455282087968342, -51.74417288055244 4.4211090879365145, -51.71389088052425 4.3129180878357545, -51.70249988051364 4.287082087811697, -51.6744458804875 4.253336087780269, -51.65569988047005 4.225418087754264, -51.648472880463316 4.200282087730855, -51.64805488046292 4.167218087700064, -51.65222688046683 4.1372180876721245, -51.66104588047503 4.081109087619865, -51.6744458804875 4.049445087590371, -51.68406388049647 4.034164087576144, -51.70417288051519 4.026109087568642, -51.728335880537685 4.01583608755908, -51.7538908805615 4.000554087544842, -51.77180888057819 3.9834730875289353, -5
 1.78361788058919 3.961109087508106, -51.79389088059875 3.916664087466714, -51.81232688061593 3.876818087429612, -51.906390880703526 3.7908360873495326, -51.927081880722795 3.7769450873365855, -51.98104588077305 3.7000000872649252, -51.9900088807814 3.657500087225344, -51.995835880786814 3.6258360871958644, -52.1002818808841 3.448891087031072, -52.16528188094463 3.342218086931723, -52.226745881001875 3.253054086848678, -52.24965488102322 3.2437450868400077, -52.27360888104552 3.2410450868375023, -52.34493588111195 3.157400086759594, -52.353054881119505 3.1316640867356256, -52.34486388111188 3.0884730866954015, -52.35195488111849 3.0400000866502523, -52.37917288114383 2.9741640865889423, -52.40861788117125 2.9222180865405676, -52.46417288122299 2.8133360864391648, -52.519726881274735 2.697782086331543, -52.55278188130552 2.6212450862602594, -52.539863881293485 2.586391086227806, -52.54222688129569 2.565554086208394, -52.563754881315745 2.522082086167913, -52.59445488134433 2.473891086
 1230323, -52.67562688141993 2.3741640860301487, -52.78945488152594 2.3033360859641903, -52.88278188161286 2.22471808589097, -52.89646388162561 2.2068090858742835, -52.95472688167986 2.176182085845767, -52.99430888171672 2.175691085845301, -53.054863881773116 2.1869450858557826, -53.06959088178684 2.2030540858707894, -53.087363881803384 2.2194450858860506, -53.11180888182615 2.222500085888896, -53.196108881904664 2.21360908588062, -53.23917288194477 2.2083360858757146, -53.2261088819326 2.26444508592796, -53.296535881998196 2.3190090859787773, -53.319863882019916 2.3479820860057714, -53.340563882039206 2.3496540860073196, -53.34833588204644 2.3227090859822255, -53.45861788214914 2.2575000859214924, -53.52778188221356 2.249509085914056, -53.7016638823755 2.3102820859706554, -53.72153588239401 2.3417360859999548, -53.74610888241689 2.3709730860271776, -53.77680888244548 2.3645820860212297, -53.79944588246657 2.3523640860098425, -53.91028188256979 2.2772180859398645, -53.92806388258636 
 2.2527820859171044, -53.93263588259062 2.2280540858940725, -54.10965488275548 2.113473085787362, -54.32055488295188 2.1615270858321196, -54.4646548830861 2.211736085878883, -54.51861788313634 2.2575000859214924, -54.527226883144365 2.2893090859511176, -54.541326883157495 2.3152090859752406, -54.57389088318783 2.3252820859846253, -54.59361788320619 2.329718085988759, -54.60378188321566 2.3291910859882705)))	
-GUY	Guyana	MULTIPOLYGON (((-58.1726178865394 6.812218090163412, -58.154935886522935 6.828191090178279, -58.03889088641486 6.815554090166515, -57.98639088636597 6.790554090143232, -57.966672886347595 6.775418090129136, -57.94333588632587 6.750554090105979, -57.92778188631138 6.731664090088387, -57.91445488629897 6.711109090069243, -57.897917886283565 6.689864090049454, -57.88250888626922 6.674164090034836, -57.757781886153055 6.570000089937821, -57.64069988604402 6.485136089858784, -57.5943088860008 6.4345820898117125, -57.5213908859329 6.290345089677373, -57.519190885930854 6.270764089659139, -57.498617885911685 6.338682089722397, -57.469717885884776 6.34027308972388, -57.363617885785956 6.290000089677051, -57.33667288576086 6.2747180896628265, -57.261117885690496 6.2113910896038504, -57.22028188565247 6.169164089564518, -57.194308885628274 6.1393090895367095, -57.17778188561289 6.108336089507873, -57.16236388559852 6.056945089460001, -57.13576388557375 5.954100089364232, -57.175281
 88561056 5.637500089069363, -57.182781885617544 5.600691089035081, -57.195563885629454 5.568891089005476, -57.24850888567876 5.486109088928373, -57.27159988570027 5.384864088834078, -57.2994458857262 5.359718088810666, -57.32444588574948 5.303609088758407, -57.282781885710676 5.226391088686498, -57.26222688569153 5.22166408868209, -57.23520888566637 5.259945088717743, -57.20750888564058 5.223609088683901, -57.19104588562524 5.172009088635846, -57.231526885662944 5.146454088612046, -57.25055488568066 5.172636088636423, -57.27209088570072 5.177082088640574, -57.292363885719595 5.166245088630475, -57.321945885747155 5.075973088546405, -57.32722688575207 5.026109088499965, -57.41709088583576 4.989445088465814, -57.4736178858884 4.989164088465557, -57.61098188601633 4.992218088468405, -57.63417288603793 5.000282088475913, -57.67625488607713 5.011527088486389, -57.84111788623066 4.927782088408392, -57.901390886286805 4.855554088341123, -57.92333588630724 4.821945088309818, -57.92486388630
 866 4.796391088286029, -57.909026886293915 4.777782088268694, -57.88778188627413 4.7683360882599, -57.84035488622996 4.669027088167411, -57.8469458862361 4.6288910881300325, -57.902781886288096 4.503609088013349, -57.94861788633078 4.349164087869511, -57.9491728863313 4.317218087839763, -57.954517886336276 4.288336087812866, -58.00278188638123 4.239718087767585, -58.039172886415116 4.211391087741205, -58.0618088864362 4.180136087712086, -58.071399886445136 4.15569108768932, -58.04375488641939 4.001527087545753, -58.01639988639391 3.9636090875104344, -57.96889088634967 3.9291640874783553, -57.95041788633246 3.913191087463474, -57.93194588631526 3.8906910874425193, -57.876672886263776 3.8091640873665966, -57.86749988625523 3.7908360873495326, -57.85945488624775 3.771664087331672, -57.84930888623829 3.7388910873011554, -57.84597288623519 3.692636087258066, -57.83848188622821 3.6693090872363427, -57.8166728862079 3.6502820872186277, -57.76056388615565 3.624164087194302, -57.740835886137
 276 3.613745087184597, -57.66861788607001 3.5383360871143736, -57.65444588605682 3.518609087095996, -57.63840888604189 3.457009087038628, -57.65778188605992 3.4138910869984755, -57.642226886045435 3.3563910869449245, -57.61041788601581 3.3600000869482756, -57.53055488594143 3.3463910869356113, -57.42945488584728 3.3472180869363797, -57.304172885730594 3.380418086967296, -57.28354588571139 3.318682086909803, -57.29249988571972 3.2673640868620026, -57.28999988571739 3.181391086781943, -57.28361788571145 3.140973086744296, -57.255008885684816 3.103609086709497, -57.22028188565247 3.0650000866735354, -57.210281885643155 3.035836086646384, -57.207217885640304 3.004236086616956, -57.213335885646 2.878891086500218, -57.20083588563436 2.8228450864480124, -57.11688188555617 2.757191086386868, -56.94472688539584 2.4830540861315598, -56.917781885370744 2.428054086080337, -56.853890885311245 2.283336085945564, -56.810563885270895 2.1933360858617448, -56.77499988523776 2.1408360858128503, -56.68
 209088515124 2.0267640857066027, -56.64611788511773 2.028054085707808, -56.579726885055905 2.0273640857071626, -56.55597288503378 2.020554085700823, -56.47736388496057 1.9620820856463723, -56.470635884954305 1.944500085629997, -56.52555488500545 1.9225000856094994, -56.57791788505422 1.9216640856087253, -56.59499988507012 1.9322180856185582, -56.628199885101054 1.9394450856252803, -56.73500888520053 1.9141000856016746, -56.75209088521643 1.896945085585699, -56.77069088523376 1.8756270855658528, -56.87389088532987 1.8916640855807856, -57.00389088545094 1.9229180856098935, -57.050835885494664 1.9522180856371847, -57.06083588550398 1.984164085666933, -57.07423588551646 2.015764085696361, -57.10020888554064 2.0227820857029, -57.163063885599186 1.9966640856785745, -57.199172885632805 1.9711090856547742, -57.235345885666504 1.9497910856349279, -57.27667288570498 1.979509085662599, -57.298190885725035 1.9819450856648615, -57.33194588575647 1.9722180856558111, -57.42549088584359 1.901391085
 5898501, -57.42805488584597 1.8712450855617675, -57.450908885867264 1.8111090855057626, -57.512363885924486 1.730836085431008, -57.52806388593912 1.7158360854170382, -57.55930888596821 1.6997180854020257, -57.63333588603716 1.6927820853955637, -57.65361788605604 1.6966640853991777, -57.68749988608759 1.707500085409265, -57.72249988612019 1.7175000854185782, -57.75944588615461 1.717845085418901, -57.87610888626325 1.6650000853696838, -57.97249988635302 1.6134730853217008, -57.98291788636273 1.5723640852834109, -58.00715488638531 1.5156910852306282, -58.127781886497644 1.5177820852325823, -58.26833588662855 1.570554085281728, -58.29722688665545 1.5827820852931183, -58.387290886739336 1.4778450851953835, -58.50229088684644 1.454673085173809, -58.46930888681571 1.3584730850842135, -58.46764588681417 1.3376360850648013, -58.47514588682115 1.3140270850428237, -58.51961788686258 1.2696180850014542, -58.57249988691183 1.2752820850067366, -58.69299088702404 1.2847180850155269, -58.7088908870
 3885 1.2629180849952206, -58.722917887051906 1.2323640849667612, -58.751945887078946 1.209582084945552, -58.810699887133666 1.1868730849244002, -58.8363998871576 1.1902820849275741, -58.86959088718851 1.2050000849412754, -58.89840888721535 1.2311090849655955, -58.89736388721437 1.261836084994215, -58.92486388723998 1.2993090850291082, -58.95750888727039 1.3144450850432037, -58.97278188728461 1.3197180850481232, -59.104726887407494 1.3447180850714062, -59.24396388753718 1.3865270851103446, -59.41445488769595 1.5633360852750116, -59.48361788776036 1.6505540853562337, -59.50750888778262 1.6875000853906386, -59.6054178878738 1.7194450854203893, -59.64576388791137 1.735136085435002, -59.675281887938866 1.7670820854647644, -59.653617887918685 1.8022180854974863, -59.632472887899 1.8422360855347506, -59.7263178879864 1.854164085545861, -59.74902688800755 1.8613910855525972, -59.75625488801428 1.908891085596835, -59.743617888002504 2.0727820857494663, -59.727017887987046 2.241245085906357, 
 -59.73549088799494 2.2847180859468494, -59.79319988804869 2.297782085959014, -59.84972688810133 2.330554085989533, -59.893263888141874 2.3641000860207697, -59.901672888149704 2.384445086039719, -59.88889088813781 2.407082086060811, -59.89278188814143 2.4544450861049114, -59.925563888171965 2.567782086210471, -59.9541728881986 2.616391086255746, -59.98847288823055 2.688191086322604, -59.98278188822525 2.860282086482883, -59.97889088822163 2.899164086519093, -59.96278188820662 3.025836086637071, -59.949717888194456 3.071945086680003, -59.90472688815255 3.2041640868031465, -59.869726888119956 3.2763910868704187, -59.85611788810728 3.2977820868903365, -59.83569988808827 3.322082086912971, -59.810835888065114 3.3595820869478956, -59.81444588806848 3.498745087077495, -59.831945888084775 3.5241640871011697, -59.786117888042085 3.620554087190939, -59.6655548879298 3.711391087275544, -59.56860888783952 3.8994450874506725, -59.58167288785168 3.9988910875432992, -59.70861788796991 4.1706910877
 0329, -59.722226887982586 4.191391087722579, -59.73110888799086 4.219164087748439, -59.73083588799061 4.293336087817522, -59.675281887938866 4.373336087892028, -59.67444588793809 4.385136087903007, -59.71722688797793 4.414164087930047, -59.79111788804674 4.456109087969111, -59.94180888818708 4.508054088017488, -59.96778188821128 4.501945088011794, -60.045281888283455 4.4940270880044295, -60.13069988836301 4.509718088019042, -60.14847288837956 4.52000008802861, -60.152226888383055 4.5733360880782925, -60.12389088835667 4.596664088100013, -60.09152688832653 4.600691088103758, -60.07209088830842 4.618473088120325, -60.02583588826535 4.707218088202978, -60.02056388826044 4.734445088228327, -60.00583588824672 4.8369450883237874, -59.983063888225516 5.022500088496599, -60.013890888254224 5.11000008857809, -60.080872888316605 5.161509088626062, -60.081945888317605 5.1730540886368175, -60.09833588833287 5.217218088677953, -60.114581888348 5.245691088704461, -60.202363888429744 5.27270908872
 9627, -60.24999988847412 5.2584730887163715, -60.268408888491265 5.235282088694774, -60.317845888537306 5.197636088659706, -60.54639088875015 5.191391088653901, -60.5738268887757 5.197154088659261, -60.597426888797685 5.211945088673033, -60.689445888883384 5.216109088676916, -60.730372888921494 5.2048000886663885, -60.748890888938746 5.222500088682864, -60.781108888968745 5.2583360887162485, -60.86028188904248 5.348054088799799, -61.11610888928074 5.63471808906678, -61.38972688953557 5.940000089351088, -61.37345488952042 5.960973089370626, -61.3378908894873 5.972782089381624, -61.32306388947349 5.992500089399982, -61.282817889436004 6.056336089459435, -61.270281889424325 6.086391089487435, -61.26278188941734 6.107782089507353, -61.160145889321754 6.1825000895769335, -61.1386178893017 6.29916408968559, -61.140008889303004 6.408609089787518, -61.19652688935564 6.533682089904005, -61.20472688936327 6.5779180899452, -61.174445889335075 6.658745090020474, -61.12510888928912 6.71477309007
 2654, -61.05472688922357 6.72889109008581, -61.03597288920611 6.719718090077265, -60.93965488911641 6.724582090081796, -60.89368188907359 6.765000090119429, -60.81611788900135 6.788336090141172, -60.71917288891106 6.759027090113875, -60.69778188889114 6.766664090120983, -60.676390888871225 6.790000090142712, -60.66499988886062 6.80750009015901, -60.63778188883526 6.834927090184564, -60.590835888791545 6.85083609019938, -60.526945888732044 6.87471809022162, -60.498890888705915 6.8877820902337845, -60.463617888673056 6.906664090251368, -60.40833588862158 6.947500090289395, -60.29125488851254 7.056600090391015, -60.28139088850335 7.090000090422109, -60.278054888500236 7.118745090448883, -60.309035888529095 7.143473090471915, -60.33667288855483 7.155282090482913, -60.36049088857702 7.176245090502434, -60.45611788866607 7.195836090520686, -60.50576388871231 7.17270909049914, -60.51499988872092 7.142982090471463, -60.5380638887424 7.124445090454188, -60.61749988881638 7.19444509051938, -6
 0.6308358888288 7.221945090544992, -60.63423588883197 7.254309090575134, -60.61861788881741 7.2840270906028195, -60.595354888795754 7.30610909062338, -60.59139088879206 7.336391090651588, -60.6099998888094 7.381945090694003, -60.66083588885674 7.447218090754802, -60.688263888882275 7.453473090760625, -60.714026888906275 7.500973090804862, -60.71666388890873 7.540000090841204, -60.691108888884926 7.567082090866435, -60.662090888857904 7.566527090865918, -60.58875488878961 7.639309090933693, -60.57458188877641 7.7152090910043825, -60.533335888737994 7.803891091086982, -60.51319988871924 7.818191091100289, -60.31972688853905 7.877500091155525, -60.25754588848115 7.921573091196578, -60.23722688846222 7.946391091219695, -60.12486388835757 8.028327091296006, -60.09360888832846 8.041245091308028, -60.03778188827647 8.037009091304085, -60.0111818882517 8.059236091324792, -59.98701788822919 8.1469820914065, -59.9797268882224 8.174864091432468, -59.94618188819116 8.199991091455871, -59.922226
 88816885 8.211109091466227, -59.88889088813781 8.218609091473212, -59.83285488808562 8.231527091485248, -59.80305488805786 8.2833360915335, -59.81209088806628 8.306109091554703, -59.88611788813522 8.40083609164293, -59.98111788822369 8.518327091752354, -59.99028188823223 8.535273091768133, -59.95819988820236 8.514027091748346, -59.92930888817544 8.48416409172053, -59.902572888150544 8.445764091684765, -59.88945488813833 8.421664091662322, -59.87250888812255 8.397218091639559, -59.85583588810702 8.379445091622998, -59.83167288808451 8.361664091606443, -59.78625488804222 8.340973091587173, -59.76472688802217 8.349027091594678, -59.77930888803574 8.380973091624426, -59.764208888021685 8.407364091649, -59.6683358879324 8.360000091604888, -59.6508358879161 8.349445091595058, -59.35583588764136 8.173891091431571, -59.15472688745406 8.05639109132214, -59.12930888743038 8.040000091306865, -59.109445887411894 8.018473091286822, -59.09347288739701 7.987009091257519, -59.07583588738059 7.96916
 40912408985, -58.94389088725771 7.851109091130951, -58.80694588713017 7.730554091018675, -58.76889088709473 7.679718090971335, -58.751399887078435 7.6361090909307165, -58.71736388704673 7.59437309089185, -58.6419458869765 7.569445090868626, -58.48528188683059 7.368609090681588, -58.46854588681501 7.337573090652683, -58.465563886812234 7.135836090464807, -58.46666388681325 7.115000090445392, -58.4815268868271 7.009927090347546, -58.497508886841985 6.989445090328459, -58.51074588685431 6.980254090319903, -58.53709088687884 6.96069109030168, -58.55569988689618 6.937500090280082, -58.56305488690302 6.916391090260433, -58.59403588693188 6.801809090153711, -58.598608886936134 6.774309090128099, -58.60917288694597 6.656664090018538, -58.619090886955206 6.489491089862852, -58.637090886971976 6.421945089799934, -58.600726886938105 6.413945089792492, -58.59333588693123 6.420000089798123, -58.58132688692004 6.464973089840015, -58.574026886913245 6.509864089881816, -58.57278188691208 6.53250008
 9902896, -58.576117886915185 6.562218089930582, -58.57319988691248 6.602636089968215, -58.54972688689061 6.6782640900386525, -58.47944588682516 6.794445090146851, -58.45695488680421 6.827782090177905, -58.41972688676954 6.870282090217486, -58.39833588674962 6.879309090225888, -58.3165998866735 6.894236090239801, -58.25569988661678 6.876109090222911, -58.208617886572924 6.843054090192126, -58.1726178865394 6.812218090163412)))	
-PCN	Pitcairn Is.	MULTIPOLYGON (((-128.33221795188064 -24.32726393883749, -128.3269359518757 -24.326117938836433, -128.31042695186034 -24.325835938836164, -128.30168195185217 -24.334445938844183, -128.29388195184492 -24.352499938861, -128.2866819518382 -24.38639093889256, -128.2861179518377 -24.40166393890678, -128.29111795184235 -24.411390938915844, -128.30156395185207 -24.411672938916112, -128.3130819518628 -24.404717938909627, -128.3278179518765 -24.390554938896443, -128.34308195189075 -24.367217938874703, -128.34695495189436 -24.353617938862044, -128.34600895189345 -24.33819993884768, -128.336945951885 -24.329163938839258, -128.33221795188064 -24.32726393883749)), ((-130.08139095350967 -25.082226939540604, -130.09068195351833 -25.080699939539187, -130.10262695352944 -25.074445939533362, -130.1050549535317 -25.061463939521275, -130.0905639535182 -25.055699939515904, -130.06384595349334 -25.06826393952761, -130.0769359535055 -25.079726939538276, -130.08139095350967 -25.082226939540
 604)))	
-SGS	South Georgia & the South Sandwich Is.	MULTIPOLYGON (((-36.99139086681285 -54.35056396679887, -36.99972686682062 -54.348617966797065, -37.05944586687622 -54.329999966779724, -37.08375486689886 -54.31881796676931, -37.08222686689746 -54.29389096674609, -37.146117866956956 -54.26139096671582, -37.241808867046075 -54.247363966702764, -37.266254867068824 -54.25875496671337, -37.365835867161564 -54.271944966725655, -37.408335867201146 -54.26493596671913, -37.403472867196626 -54.18500896664469, -37.367226867162884 -54.17556396663589, -37.33555486713337 -54.17361796663408, -37.25208186705564 -54.15229096661422, -37.48986386727708 -54.12944496659294, -37.56118186734349 -54.14607296660843, -37.52944586731394 -54.16250896662373, -37.56222686734449 -54.170563966631235, -37.58944586736982 -54.17528196663563, -37.650417867426626 -54.18167296664158, -37.68528186745908 -54.17528196663563, -37.71917286749064 -54.140563966603295, -37.71757286748917 -54.09416396656008, -37.676390867450806 -54.074
 717966541975, -37.653826867429785 -54.072154966539586, -37.61979086739808 -54.04611796651534, -37.69221786746553 -54.034999966504984, -37.89778186765699 -54.04722696651637, -38.02257286777322 -54.054726966523354, -38.0237548677743 -54.00743596647931, -37.93361786769037 -53.99222696646515, -37.91028186766863 -53.98972696646282, -37.74721786751675 -53.99499996646773, -37.49499986728188 -54.01056396648222, -37.46139986725058 -54.036117966506026, -37.37389086716908 -54.04805496651714, -37.27028186707258 -54.050281966519215, -37.162781866972466 -54.03139096650162, -37.02778186684674 -54.05611796652465, -36.80944586664339 -54.08833596655465, -36.65639086650086 -54.107781966572766, -36.62375486647045 -54.120699966584795, -36.584163866433585 -54.20889096666693, -36.66757286651128 -54.24409996669972, -36.662645866506665 -54.27514496672863, -36.62667286647317 -54.28361796673653, -36.604026866452074 -54.26611796672023, -36.55680886640812 -54.245563966701084, -36.517081866371115 -54.23445496669
 074, -36.47889086633555 -54.23889096669487, -36.47263586632971 -54.26513596671931, -36.456117866314344 -54.3275089667774, -36.36999986623414 -54.35499996680301, -36.33667286620309 -54.35229096680048, -36.362090866226765 -54.293054966745316, -36.38368186624686 -54.27826396673154, -36.394799866257216 -54.24917296670444, -36.290208866159816 -54.26583596671996, -36.257226866129116 -54.28666396673936, -36.22917286610297 -54.33778196678697, -36.25610886612807 -54.36847296681555, -36.15999986603856 -54.44472696688657, -36.09680886597971 -54.54959096698423, -36.06389086594905 -54.57153596700467, -35.979726865870674 -54.57889096701152, -35.93471786582873 -54.62306396705266, -35.933890865827976 -54.700563967124836, -35.917363865812575 -54.715144967138414, -35.85667286575605 -54.74305496716441, -35.8280548657294 -54.75083596717165, -35.79396386569766 -54.76020896718038, -35.82778186572915 -54.79278196721072, -35.914172865809604 -54.81347296722999, -35.95944586585176 -54.81110896722779, -35.979
 726865870674 -54.80917296722598, -36.0006998658902 -54.80083596721822, -36.02528186591309 -54.787781967206065, -36.04583586593222 -54.77889096719778, -36.074717865959116 -54.768054967187695, -36.095308865978296 -54.76993596718945, -36.02111786590922 -54.81721796723348, -35.98972686587999 -54.8305549672459, -35.96430886585631 -54.83167296724694, -35.923617865818414 -54.8504179672644, -35.96139986585359 -54.86944496728212, -36.07639086596069 -54.890281967301526, -36.10472686598709 -54.88923596730055, -36.131463866011984 -54.8688909672816, -36.19917286607503 -54.80917296722598, -36.29749986616662 -54.733335967155355, -36.30250886617128 -54.71305496713647, -36.31721786618496 -54.686954967112165, -36.46860886632598 -54.52889096696495, -36.525908866379325 -54.497081966935326, -36.582226866431796 -54.49986396693792, -36.65555486650007 -54.491108966929765, -36.736945866575866 -54.47028196691037, -36.809799866643715 -54.44541796688721, -36.801108866635644 -54.41118196685533, -36.864935866695
 08 -54.34652696679511, -36.92528186675128 -54.337917966787096, -36.99139086681285 -54.35056396679887)), ((-26.248890856808117 -58.49860897066204, -26.264163856822336 -58.48806397065222, -26.290972856847304 -58.47861797064343, -26.37167285692246 -58.46305497062893, -26.389726856939262 -58.45972697062583, -26.406526856954912 -58.45944497062557, -26.41999985696748 -58.45667297062299, -26.458199857003052 -58.430699970598795, -26.433608856980157 -58.38916397056011, -26.416663856964362 -58.38360897055494, -26.403890856952472 -58.382508970553914, -26.39305485694237 -58.38278197055417, -26.317781856872273 -58.38639097055753, -26.29152685684781 -58.38806397055909, -26.265699856823773 -58.39417297056478, -26.246672856806043 -58.404444970574346, -26.241390856801132 -58.47167297063696, -26.243617856803212 -58.49472697065843, -26.248890856808117 -58.49860897066204)))	
-SHN	St. Helena	MULTIPOLYGON (((-5.712972837682543 -15.992863931075476, -5.729163837697627 -16.005490931087238, -5.768472837734237 -16.021945931102564, -5.787217837751683 -16.009163931090654, -5.792781837756877 -15.991108931073839, -5.768890837734631 -15.94736393103311, -5.748608837715722 -15.929163931016149, -5.728890837697378 -15.91389093100193, -5.716390837685736 -15.905281930993908, -5.699517837670015 -15.903754930992491, -5.671390837643827 -15.90944593099779, -5.645281837619507 -15.93999993102625, -5.646390837620544 -15.958335931043322, -5.660417837633588 -15.985690931068802, -5.700417837670841 -16.003754931085624, -5.7105548376802915 -15.996390931078764, -5.712972837682543 -15.992863931075476)))	
-SUR	Suriname	MULTIPOLYGON (((-55.12796388370384 5.82217308924136, -55.10444588368195 5.839445089257438, -55.01610888359967 5.850418089267663, -54.946672883535 5.846109089263649, -54.86444588345843 5.855136089272051, -54.88729088347971 5.879545089294794, -54.9688908835557 5.873336089289012, -54.99534588358034 5.865764089281953, -55.10625488368363 5.904582089318112, -55.14472688371946 5.934164089345657, -55.15944588373317 5.9634000893728825, -55.047363883628776 6.001809089408653, -54.97028188355699 5.988054089395845, -54.87694588347007 5.985282089393266, -54.77944588337927 5.982500089390669, -54.70994588331453 5.962436089371991, -54.639163883248614 5.954718089364803, -54.34445488297415 5.906945089320303, -54.29861788293145 5.898054089312026, -54.204726882844014 5.879718089294954, -54.17860888281969 5.871391089287201, -54.02556388267716 5.818609089238038, -53.990208882644225 5.746945089171291, -54.00652688265943 5.721245089147359, -54.04646388269663 5.653536089084298, -54.0515358827013
 44 5.590209089025322, -54.05180888270159 5.527082088966537, -54.067781882716474 5.491527088933424, -54.095835882742605 5.458054088902244, -54.120490882765566 5.431600088877616, -54.142226882785806 5.39527308884378, -54.16668188280859 5.347400088799191, -54.17069988281233 5.342218088794368, -54.19333588283341 5.315273088769274, -54.244999882881515 5.2850000887410715, -54.28348188291736 5.254864088713006, -54.317326882948876 5.208627088669942, -54.347781882977245 5.148336088613803, -54.37889088300622 5.112218088580164, -54.4086178830339 5.08055408855067, -54.448063883070645 5.0241640884981535, -54.45528188307736 5.004027088479404, -54.47610888309676 4.867773088352507, -54.47778188309832 4.7541640882466965, -54.47333588309418 4.734582088228464, -54.439726883062875 4.669164088167534, -54.42209088304645 4.601527088104547, -54.42326388304754 4.5643090880698765, -54.442917883065846 4.530691088038566, -54.45180888307412 4.512364088021499, -54.44023588306335 4.410645087926767, -54.4313998830
 5512 4.369164087888137, -54.39389088302019 4.237218087765257, -54.365008882993294 4.163609087696699, -54.36076388298933 4.042427087583846, -54.29028188292369 3.9338910874827633, -54.18868188282907 3.808745087366205, -54.14639088278969 3.7977820873559978, -54.12764588277223 3.788609087347453, -53.99778188265128 3.626945087196887, -53.986117882640414 3.601527087173224, -54.00110888265438 3.4483360870305546, -54.07110888271957 3.3127820869043063, -54.09445488274132 3.2950000868877396, -54.11875488276395 3.27778208687171, -54.187226882827716 3.1948640867944818, -54.206117882845305 3.14528208674831, -54.2084728828475 3.124309086728772, -54.19574588283565 3.096200086702595, -54.176117882817366 3.043891086653886, -54.16083588280314 2.9536090865697986, -54.19528188283522 2.796245086423241, -54.20459088284389 2.775000086403452, -54.222917882860955 2.755554086385345, -54.25695488289266 2.7188910863512064, -54.31513588294685 2.629164086267636, -54.32180888295305 2.5984730862390535, -54.3519548
 8298113 2.5238910861695985, -54.365908882994134 2.49660008614417, -54.420563883045034 2.434718086086548, -54.499172883118234 2.3650000860216096, -54.60378188321566 2.3291910859882705, -54.63472688324448 2.3200730859797716, -54.687499883293626 2.3255540859848765, -54.709099883313755 2.3879180860429585, -54.69020888329615 2.3995090860537545, -54.68986388329583 2.4516000861022604, -54.75312688335475 2.4706270861199897, -54.77538188337547 2.456845086107151, -54.80375488340191 2.4380540860896502, -54.84749988344264 2.436109086087839, -54.86916388346282 2.44194508609327, -54.96944588355622 2.550554086194424, -55.091945883670306 2.53471808617968, -55.11194588368893 2.527218086172695, -55.50333588405344 2.438891086090436, -55.71368188424934 2.4001360860543315, -55.86409988438943 2.471454086120758, -55.88639088441019 2.49708208614463, -55.91750888443917 2.5206910861666074, -55.94180888446179 2.5305540861757976, -55.96278188448133 2.533054086178126, -55.98249988449969 2.522082086167913, -56.0
 0041788451638 2.4508360861015603, -56.08444588459464 2.3575000860146247, -56.11583588462388 2.2491640859137334, -56.03639088454989 2.208891085876232, -55.90396388442656 2.0477820857261833, -55.90173588442448 1.90104508558953, -55.94264588446258 1.856109085547672, -55.96583588448418 1.8452820855375904, -55.99597288451224 1.8376360855304625, -56.0274998845416 1.8362450855291712, -56.06806388457939 1.8455540855378416, -56.11333588462155 1.863609085554657, -56.201663884703805 1.8916640855807856, -56.326954884820495 1.9252820856120962, -56.426390884913104 1.9341640856203668, -56.470635884954305 1.944500085629997, -56.47736388496057 1.9620820856463723, -56.55597288503378 2.020554085700823, -56.579726885055905 2.0273640857071626, -56.64611788511773 2.028054085707808, -56.68209088515124 2.0267640857066027, -56.77499988523776 2.1408360858128503, -56.810563885270895 2.1933360858617448, -56.853890885311245 2.283336085945564, -56.917781885370744 2.428054086080337, -56.94472688539584 2.483054086
 1315598, -57.11688188555617 2.757191086386868, -57.20083588563436 2.8228450864480124, -57.213335885646 2.878891086500218, -57.207217885640304 3.004236086616956, -57.210281885643155 3.035836086646384, -57.22028188565247 3.0650000866735354, -57.255008885684816 3.103609086709497, -57.28361788571145 3.140973086744296, -57.28999988571739 3.181391086781943, -57.29249988571972 3.2673640868620026, -57.28354588571139 3.318682086909803, -57.304172885730594 3.380418086967296, -57.42945488584728 3.3472180869363797, -57.53055488594143 3.3463910869356113, -57.61041788601581 3.3600000869482756, -57.642226886045435 3.3563910869449245, -57.65778188605992 3.4138910869984755, -57.63840888604189 3.457009087038628, -57.65444588605682 3.518609087095996, -57.66861788607001 3.5383360871143736, -57.740835886137276 3.613745087184597, -57.76056388615565 3.624164087194302, -57.8166728862079 3.6502820872186277, -57.83848188622821 3.6693090872363427, -57.84597288623519 3.692636087258066, -57.84930888623829 3.738
 8910873011554, -57.85945488624775 3.771664087331672, -57.86749988625523 3.7908360873495326, -57.876672886263776 3.8091640873665966, -57.93194588631526 3.8906910874425193, -57.95041788633246 3.913191087463474, -57.96889088634967 3.9291640874783553, -58.01639988639391 3.9636090875104344, -58.04375488641939 4.001527087545753, -58.071399886445136 4.15569108768932, -58.0618088864362 4.180136087712086, -58.039172886415116 4.211391087741205, -58.00278188638123 4.239718087767585, -57.954517886336276 4.288336087812866, -57.9491728863313 4.317218087839763, -57.94861788633078 4.349164087869511, -57.902781886288096 4.503609088013349, -57.8469458862361 4.6288910881300325, -57.84035488622996 4.669027088167411, -57.88778188627413 4.7683360882599, -57.909026886293915 4.777782088268694, -57.92486388630866 4.796391088286029, -57.92333588630724 4.821945088309818, -57.901390886286805 4.855554088341123, -57.84111788623066 4.927782088408392, -57.67625488607713 5.011527088486389, -57.63417288603793 5.0002
 82088475913, -57.61098188601633 4.992218088468405, -57.4736178858884 4.989164088465557, -57.41709088583576 4.989445088465814, -57.32722688575207 5.026109088499965, -57.321945885747155 5.075973088546405, -57.292363885719595 5.166245088630475, -57.27209088570072 5.177082088640574, -57.25055488568066 5.172636088636423, -57.231526885662944 5.146454088612046, -57.19104588562524 5.172009088635846, -57.20750888564058 5.223609088683901, -57.23520888566637 5.259945088717743, -57.26222688569153 5.22166408868209, -57.282781885710676 5.226391088686498, -57.32444588574948 5.303609088758407, -57.2994458857262 5.359718088810666, -57.27159988570027 5.384864088834078, -57.24850888567876 5.486109088928373, -57.18430888561896 5.51889108895891, -57.16742688560325 5.541391088979864, -57.13889088557667 5.671664089101185, -57.13597288557395 5.6925000891205855, -57.13249988557071 5.767500089190435, -57.06791788551057 5.941736089352716, -56.992499885440324 5.989445089397137, -56.96444588541421 5.99708208940
 4259, -56.70056388516845 5.965554089374891, -56.60361788507815 5.940500089351559, -56.55445488503237 5.948336089358861, -56.48000888496304 5.945418089356139, -56.26056388475867 5.889164089303748, -56.01778188453255 5.818336089237789, -55.910554884432685 5.778364089200565, -55.89444588441769 5.730273089155773, -55.89860888442156 5.67444508910377, -55.89955488442244 5.671909089101419, -55.885972884409796 5.683054089111792, -55.87778188440217 5.717636089143994, -55.89110888441458 5.775836089198208, -55.922717884444026 5.876073089291552, -55.85583588438173 5.948891089359378, -55.8277818843556 5.958336089368174, -55.76806388429999 5.967218089376445, -55.62028188416235 5.974445089383167, -55.548617884095606 5.977782089386281, -55.4127818839691 5.964164089373597, -55.37722688393599 5.960000089369714, -55.33902688390042 5.950136089360527, -55.266672883833024 5.923609089335827, -55.25389088382113 5.915836089328593, -55.230563883799405 5.898054089312026, -55.174999883747645 5.9072180893205655
 , -55.11555488369228 5.876982089292397, -55.11402688369087 5.8400000892579556, -55.12796388370384 5.82217308924136)))	
-TTO	Trinidad & Tobago	MULTIPOLYGON (((-61.0794458892466 10.824164093899824, -61.075563889242986 10.826109093901636, -61.02541788919628 10.840273093914831, -60.92833588910587 10.838609093913277, -60.90923588908808 10.827009093902475, -60.92305488910094 10.797218093874733, -60.94445488912088 10.762218093842137, -60.96305488913819 10.739164093820662, -60.98722688916071 10.714718093797899, -61.01791788918929 10.698473093782766, -61.03417288920443 10.678191093763871, -61.0454178892149 10.489164093587831, -61.02097288919214 10.392218093497547, -60.99860888917131 10.351600093459723, -61.00444588917675 10.149582093271576, -61.083617889250476 10.102773093227981, -61.10722688927247 10.091945093217888, -61.15222688931438 10.075554093202626, -61.202917889361586 10.069164093196676, -61.405281889550054 10.066945093194605, -61.526672889663104 10.06833609319591, -61.67708188980319 10.076109093203144, -61.7055548898297 10.07889109320574, -61.80611788992336 10.0811090932078, -61.83361788994897 10.071
 391093198756, -61.858335889972 10.06221809319021, -61.88028188999243 10.042500093171839, -61.90951789001966 10.040345093169833, -61.92159989003092 10.064864093192668, -61.817781889934224 10.127773093251264, -61.6477818897759 10.19721809331594, -61.50409988964209 10.237636093353572, -61.46139088960231 10.274309093387728, -61.4537548895952 10.294164093406224, -61.46305488960385 10.571245093664274, -61.47361788961369 10.597773093688986, -61.49583588963439 10.63527309372391, -61.54625488968135 10.669445093755726, -61.60125488973257 10.684582093769833, -61.62291788975274 10.678891093764534, -61.65778188978521 10.680064093765623, -61.662017889789155 10.708400093792008, -61.60278188973399 10.74221809382351, -61.47999988961965 10.75055409383127, -61.42854588957172 10.753954093834437, -61.384590889530784 10.779718093858435, -61.24249988939846 10.790273093868265, -61.19639988935552 10.789445093867485, -61.17180888933261 10.79910009387649, -61.1433358893061 10.815273093891548, -61.079445889246
 6 10.824164093899824)), ((-60.79749988898402 11.14166409419552, -60.84493588902819 11.157218094210009, -60.847226889030324 11.176945094228373, -60.756672888945985 11.242218094289171, -60.70083588889399 11.275836094320482, -60.65778188885389 11.301391094344282, -60.5295908887345 11.345554094385406, -60.52083588872635 11.330554094371436, -60.52472688872997 11.273891094318671, -60.53180888873656 11.259027094304827, -60.64180888883901 11.202218094251919, -60.66889088886424 11.198891094248822, -60.68778188888183 11.201945094251656, -60.73875488892931 11.182636094233672, -60.758199888947416 11.171245094223067, -60.79749988898402 11.14166409419552)))	
-VEN	Venezuela	MULTIPOLYGON (((-66.3102908941182 10.626018093715288, -66.28309089409287 10.64465409373264, -66.22987289404331 10.640554093728824, -66.0816818939053 10.576664093669322, -66.11972689394072 10.500000093597919, -65.95861789379067 10.356664093464431, -65.93573589376938 10.298300093410077, -65.81445489365642 10.228336093344922, -65.0813908929737 10.060554093188657, -64.76445489267853 10.097218093222807, -64.73279089264904 10.113473093237943, -64.71473589263222 10.179718093299641, -64.62597289254956 10.246664093361986, -64.57972689250649 10.25860909337311, -64.48250889241595 10.238054093353966, -64.37854589231912 10.301109093412691, -64.39584589233523 10.337218093446324, -64.36805489230936 10.384164093490043, -64.18205489213612 10.456545093557452, -63.80944589178911 10.442218093544113, -63.697499891684856 10.485554093584469, -63.83889089181653 10.551664093646039, -63.966390891935276 10.578473093671008, -64.14868189210505 10.570000093663111, -64.20098189215375 10.550273093644
 748, -64.23569089218608 10.514373093611312, -64.29959089224559 10.626527093715765, -64.264590892213 10.657773093744865, -64.1468088921033 10.617918093707743, -63.84278189182015 10.645827093733743, -63.534445891533 10.627082093716282, -63.25306389127094 10.678336093764017, -63.17222689119565 10.719718093802555, -62.99375489102944 10.716391093799459, -62.90667289094833 10.695836093780315, -62.697499890753534 10.747773093828684, -62.19250889028322 10.694164093778753, -61.87959088999179 10.728327093810577, -61.88333588999528 10.694718093779272, -61.9530548900602 10.648891093736594, -62.0855548901836 10.627218093716408, -62.249172890335984 10.627009093716211, -62.331108890412295 10.531664093627413, -62.527226890594946 10.540418093635566, -62.64972689070903 10.568191093661426, -62.91229989095358 10.528745093624693, -63.0042358910392 10.45298209355414, -62.87250889091652 10.524445093620685, -62.83860889088494 10.511664093608786, -62.8377088908841 10.397291093502275, -62.87180889091586 10.3
 89864093495348, -62.934308890974066 10.418473093521996, -63.00368189103868 10.394164093499356, -62.998408891033776 10.271600093385217, -62.93417289097394 10.279309093392385, -62.946663890985576 10.400900093505626, -62.8847358909279 10.374391093480938, -62.790090890839764 10.401336093506032, -62.73639089078975 10.37381809348041, -62.66639089072456 10.280554093393548, -62.630626890691246 10.107154093232054, -62.669308890727265 10.075000093202107, -62.82917289087615 10.053609093182189, -62.95694589099516 10.104309093229404, -63.015972891050126 10.095691093221376, -62.983854891020215 10.068918093196444, -62.91056389095196 10.076945093203918, -62.805281890853905 10.00860909314028, -62.66278189072119 10.059164093187363, -62.6157638906774 10.093191093219048, -62.605417890667766 10.127218093250747, -62.62333589068446 10.188609093307917, -62.60944589067152 10.223954093340836, -62.577499890641775 10.22513609334193, -62.48889089055925 10.153054093274804, -62.42694589050156 9.979164093112857, -
 62.31518189039747 9.752845092902078, -62.32264589040442 9.712082092864122, -62.277226890362115 9.747500092897099, -62.23680889032447 9.855000092997216, -62.25049089033722 9.967009093101538, -62.205699890295506 9.914027093052198, -62.165345890257925 9.715282092867099, -62.19610889028657 9.641664092798536, -62.17076389026296 9.657427092813222, -62.130008890225014 9.752109092901392, -62.133499890228265 9.82644509297063, -62.02743589012948 9.866418093007852, -62.11222689020845 9.929445093066548, -62.20153589029162 9.938336093074838, -62.231735890319754 9.964718093099407, -62.2092358902988 10.011036093142536, -62.17889089027054 10.014718093145973, -62.05389089015412 9.977500093111303, -61.96222689006875 9.91194509305025, -61.81167288992853 9.757891092906789, -61.73583588985791 9.600936092760605, -61.73333588985558 9.698745092851695, -61.80091788991852 9.812273092957426, -61.79278188991094 9.83110909297497, -61.77194588989154 9.830273092974195, -61.59770888972926 9.782773092929958, -61.57
 458188970773 9.800691092946636, -61.64805488977615 9.897364093036671, -61.619863889749894 9.90528209304405, -61.48056388962017 9.823609092967985, -61.407226889551865 9.704718092857263, -61.255981889411004 9.588891092749392, -61.04333588921297 9.575554092736965, -60.98757288916103 9.551809092714848, -60.85361788903627 9.444445092614856, -60.79819988898467 9.379309092554195, -60.78361788897108 9.305000092484988, -60.81889088900394 9.26889109245137, -60.987781889161226 9.188609092376595, -61.08459088925139 9.097500092291739, -61.098126889263995 9.043954092241876, -60.972708889147185 9.175209092364113, -60.9504908891265 9.175136092364042, -61.031535889201976 9.032082092230823, -61.09778188926367 8.963336092166799, -61.183335889343354 8.727782091947418, -61.210208889368374 8.595136091823875, -61.25090888940629 8.581454091811139, -61.436672889579285 8.60166409182996, -61.51972688965664 8.590418091819487, -61.59541788972713 8.616945091844187, -61.59889088973037 8.555000091786496, -61.39389
 088953945 8.474445091711473, -61.32917288947917 8.430827091670864, -61.16847288932951 8.495764091731331, -61.0775088892448 8.493054091728808, -61.0861088892528 8.421391091662073, -61.0735458892411 8.402918091644864, -61.017781889189166 8.46916409170656, -60.98125488915515 8.564445091795292, -60.71583588890796 8.604582091832683, -60.62716388882538 8.551182091782948, -60.46583588867513 8.5282640917616, -60.40875488862197 8.621600091848535, -60.23611788846118 8.627500091854017, -59.99028188823223 8.535273091768133, -59.80305488805786 8.2833360915335, -59.83285488808562 8.231527091485248, -59.92222688816885 8.211109091466227, -59.9797268882224 8.174864091432468, -60.0111818882517 8.059236091324792, -60.03778188827647 8.037009091304085, -60.12486388835757 8.028327091296006, -60.31972688853905 7.877500091155525, -60.533335888737994 7.803891091086982, -60.58875488878961 7.639309090933693, -60.662090888857904 7.566527090865918, -60.691108888884926 7.567082090866435, -60.71666388890873 7.540
 000090841204, -60.688263888882275 7.453473090760625, -60.66083588885674 7.447218090754802, -60.59139088879206 7.336391090651588, -60.63423588883197 7.254309090575134, -60.61749988881638 7.19444509051938, -60.5380638887424 7.124445090454188, -60.50576388871231 7.17270909049914, -60.45611788866607 7.195836090520686, -60.36049088857702 7.176245090502434, -60.278054888500236 7.118745090448883, -60.29125488851254 7.056600090391015, -60.463617888673056 6.906664090251368, -60.63778188883526 6.834927090184564, -60.69778188889114 6.766664090120983, -60.81611788900135 6.788336090141172, -60.89368188907359 6.765000090119429, -60.93965488911641 6.724582090081796, -61.12510888928912 6.714773090072654, -61.174445889335075 6.658745090020474, -61.20472688936327 6.5779180899452, -61.140008889303004 6.408609089787518, -61.160145889321754 6.1825000895769335, -61.26278188941734 6.107782089507353, -61.3378908894873 5.972782089381624, -61.38972688953557 5.940000089351088, -60.748890888938746 5.2225000886
 82864, -60.65520888885149 5.181318088644517, -60.5785458887801 4.952636088431532, -60.649308888845994 4.842918088329355, -60.7202818889121 4.776109088267134, -60.88652688906693 4.709718088205307, -60.92986388910728 4.591873088095554, -60.987090889160584 4.519309088027967, -61.163890889325245 4.494309088004684, -61.313608889464675 4.506664088016194, -61.50736388964512 4.390554087908058, -61.51069988964824 4.3034730878269585, -61.55438188968891 4.248818087776058, -61.69917288982376 4.259027087785569, -61.76291788988313 4.2430540877706875, -61.8488908899632 4.160554087693853, -61.914863890024634 4.146945087681175, -61.987499890092295 4.169582087702267, -62.05319989015348 4.150136087684146, -62.14264589023678 4.093191087631112, -62.440135890513844 4.1826730877144485, -62.539935890606785 4.112291087648913, -62.6041638906666 4.041945087583386, -62.72833589078225 4.038609087580284, -62.75778189080967 4.020273087563211, -62.78041789083075 3.9087450874593372, -62.72749989078147 3.73110908729
 3902, -62.73402689078755 3.6765270872430733, -62.78125489083153 3.604309087175807, -62.878054890921675 3.5601360871346657, -62.99056389102647 3.604309087175807, -63.24229089126091 3.8981270874494527, -63.335554891347755 3.9580540875052606, -63.419099891425574 3.967082087513674, -63.45819989146199 3.866454087419953, -63.491526891493024 3.857782087411877, -63.530135891528985 3.8672180874206674, -63.61417289160724 3.9448640874929737, -63.64445489163545 3.9486090874964646, -63.84806389182508 3.9588910875060463, -63.95625489192584 3.891245087443039, -64.01779089198314 3.886109087438257, -64.05270889201566 3.9084360874590516, -64.12639089208429 4.1095820876463875, -64.24889989219838 4.148054087682212, -64.33555489227909 4.154164087687903, -64.59201789251793 4.1277730876633285, -64.67472689259496 4.257500087784138, -64.74626389266159 4.287218087811823, -64.78167289269456 4.2863910878110545, -64.80000889271165 4.265073087791194, -64.80195489271345 4.210836087740688, -64.71313589263073 4.144
 027087678467, -64.62668189255022 3.9655540875122455, -64.44632689238225 3.7870090873459645, -64.30806389225349 3.7183360872820117, -64.19021789214374 3.5896540871621596, -64.18471789213861 3.5277820871045407, -64.23569989218609 3.432782087016065, -64.20529089215776 3.1933360867930674, -64.15889089211456 3.060836086669667, -63.987854891955266 2.718609086350938, -63.995417891962305 2.623054086261945, -64.04646389200985 2.509445086156134, -64.03403589199827 2.4713180861206325, -63.821808891800615 2.4258360860782773, -63.58167289157697 2.434718086086548, -63.36541789137557 2.4200000860728323, -63.346390891357856 2.4061090860598995, -63.360763891371235 2.259100085922981, -63.39944589140727 2.149509085820924, -63.60709089160065 2.105973085780377, -63.739172891723655 2.003054085684525, -63.825008891803606 1.9777820856609907, -63.93652689190746 1.9768090856600793, -64.00236389196877 1.9498640856349851, -64.0518908920149 1.8904820855796913, -64.07799089203921 1.6354180853421383, -64.11320889
 207201 1.5829180852932438, -64.26445489221287 1.4761090851937695, -64.3943088923338 1.5118090852270143, -64.52972689245992 1.4336090851541883, -64.59529089252098 1.3300000850576907, -64.69750889261618 1.262782084995095, -64.7572358926718 1.2443090849778855, -64.8190728927294 1.2794820850106419, -65.00695489290437 1.1658360849048108, -65.1362638930248 1.118473084860696, -65.16584589305235 0.9694450847218974, -65.19250889307719 0.9266640846820593, -65.32167289319747 0.9119450846683463, -65.38584589325724 0.8370820845986344, -65.40028189327069 0.7539540845212116, -65.43610889330405 0.6952820844665695, -65.52166389338373 0.6491640844236173, -65.55861789341814 0.6661090844393982, -65.58257289344046 0.7297910844987143, -65.5111178933739 0.8388910846003199, -65.510135893373 0.9019450846590331, -65.55944589341892 0.9711090847234516, -65.59542689345243 0.9904180847414352, -65.73529089358269 0.9827820847343247, -65.87083589370893 0.9083360846649953, -65.97959089381021 0.798745084562924, -66.1
 2709089394758 0.7341640845027797, -66.31472689412233 0.7513910845188292, -66.87045489463989 1.2209270849561165, -66.89168189465967 1.2513910849844905, -66.92639089469199 1.4597180851785083, -66.99167289475278 1.6958360853984118, -67.21153589495755 2.2436090859085596, -67.21694589496259 2.275282085938059, -67.17418189492277 2.336527085995101, -67.19250889493983 2.392500086047221, -67.32520889506341 2.474027086123158, -67.48556389521276 2.653336086290153, -67.53528189525906 2.680000086314976, -67.60583589532477 2.7933360864205383, -67.76583589547378 2.832500086457003, -67.82361789552759 2.8270820864519663, -67.8330728955364 2.8766640864981383, -67.4355638951662 3.253891086849464, -67.34639989508315 3.313682086905146, -67.29285489503329 3.3960450869818573, -67.30659989504609 3.4527820870346915, -67.38111789511548 3.4859730870656023, -67.43709089516761 3.648336087216819, -67.49104589521787 3.7243090872875655, -67.59987289531922 3.740691087302821, -67.63514589535207 3.797636087355855, -6
 7.7085088954204 4.0469540875880625, -67.78667289549318 4.166527087699421, -67.80625489551143 4.231809087760212, -67.78479989549145 4.334754087856098, -67.85875489556032 4.561245088067025, -67.80158189550707 4.973236088450719, -67.8486358955509 5.306518088761123, -67.80389089550923 5.38326408883259, -67.64944589536539 5.478336088921139, -67.61590889533416 5.5481910889861865, -67.65167289536745 5.683191089111915, -67.61999989533797 5.792218089213463, -67.4139818951461 5.995536089402819, -67.49252689521924 6.121409089520043, -67.48924589521619 6.153745089550156, -67.45445489518379 6.1930540895867665, -67.49626389522273 6.2054180895982824, -67.56361789528545 6.262500089651439, -67.6352818953522 6.28513608967252, -67.83118189553464 6.30757308969342, -67.91812689561561 6.238191089628799, -67.99792689568993 6.207218089599962, -68.15515489583636 6.222773089614449, -68.31945489598938 6.1680540895634834, -68.45389989611459 6.190554089584438, -68.63840889628644 6.135482089533156, -68.827790896
 4628 6.186391089580567, -69.05639989667571 6.2161090896082385, -69.19520889680498 6.100418089500494, -69.24174589684833 6.084100089485304, -69.2707088968753 6.090973089491698, -69.31611789691759 6.148609089545374, -69.42945489702315 6.1186090895174345, -70.11917289766549 6.975836090315795, -70.2218178977611 6.9740270903141095, -70.294726897829 6.9384730902809935, -70.55250889806908 7.058336090392629, -70.7197268982248 7.098054090429613, -70.88653589838016 7.07507309040821, -71.02500889850913 6.984445090323803, -71.18126389865465 6.9634730903042765, -71.33250889879551 7.022364090359119, -71.46389989891787 7.023336090360033, -71.60139089904592 7.057918090392235, -71.70195489913958 7.046391090381505, -71.83278189926142 6.987218090326394, -71.99236389941004 7.016245090353422, -72.06609989947871 7.06241809039642, -72.13292689954095 7.173336090499731, -72.16459989957045 7.262500090582762, -72.15472689956125 7.325282090641238, -72.26250889966164 7.389445090700988, -72.40167289979124 7.4072
 18090717549, -72.47244589985715 7.497982090802083, -72.45972689984531 7.920554091195626, -72.38938189977979 8.047564091313916, -72.3286178997232 8.061809091327177, -72.3366728997307 8.151945091411122, -72.3881998997787 8.369445091613684, -72.66446390003598 8.641109091866696, -72.77972690014333 9.080273092275704, -72.8855639002419 9.11916409231192, -72.96250890031357 9.178054092366764, -72.9811269003309 9.260827092443861, -73.0099999003578 9.302009092482209, -73.22195490055519 9.171109092360297, -73.37806390070058 9.171391092360565, -73.36389090068738 9.225827092411265, -73.24514590057679 9.40847309258136, -73.08168190042456 9.609445092768524, -73.00472690035288 9.768327092916508, -72.97750890032754 10.001945093134069, -72.93889990029157 10.11645409324072, -72.90354590025865 10.444445093546179, -72.49125489987468 11.12277309417793, -72.31764589971299 11.164509094216797, -72.20935489961214 11.25000009429641, -71.9684818993878 11.666245094684072, -71.7697268992027 11.700836094716294, -
 71.40333589886147 11.812773094820542, -71.32471789878825 11.853054094858052, -71.37861789883844 11.753336094765189, -71.44584589890106 11.723891094737766, -71.76583589919908 11.662364094680456, -71.95417289937447 11.594718094617463, -71.96639989938586 11.506391094535203, -71.93278189935455 11.363054094401704, -71.7408458991758 11.034164094095402, -71.763617899197 11.013745094076384, -71.69111789912948 10.834164093909138, -71.6618088991022 10.77750009385636, -71.57792689902406 10.71610909379919, -71.58168189902757 10.674718093760646, -71.64889989909017 10.442500093544368, -71.75569989918964 10.369718093476592, -71.79444589922572 10.321809093431966, -71.8411268992692 10.218891093336126, -72.1253548995339 9.818191092962934, -72.07792689948973 9.735554092885977, -71.97917289939775 9.623336092781472, -71.91084589933412 9.493609092660648, -71.73319989916868 9.375691092550824, -71.72361789915975 9.345000092522241, -71.75945489919313 9.118327092311148, -71.7148638991516 9.077918092273507, -
 71.62389089906688 9.043054092241036, -71.55278189900065 9.040836092238976, -71.3136088987779 9.1105540923039, -71.24139089871065 9.155418092345684, -71.16541789863989 9.273745092455883, -71.07486389855555 9.312500092491973, -71.05597289853796 9.338745092516419, -71.08917289856888 9.536600092700695, -71.05334589853551 9.703609092856226, -71.07339989855419 9.851109092993596, -71.26945489873678 10.150136093272081, -71.38556389884492 10.282773093395619, -71.43667289889251 10.36944509347633, -71.45861789891295 10.460000093560666, -71.54570889899406 10.568327093661566, -71.52639989897608 10.726945093809277, -71.44667289890182 10.795554093873179, -71.45167289890648 10.916391093985723, -71.49285489894484 10.961036094027293, -71.4119548988695 10.984164094048836, -71.28110889874763 10.989164094053493, -70.82556389832338 11.211391094260463, -70.50847289802806 11.248191094294725, -70.4466728979705 11.290000094333664, -70.23918189777727 11.353054094392391, -70.14249989768723 11.418336094453196, 
 -70.03486389758697 11.441318094474596, -70.02389989757677 11.491391094521234, -70.04779089759901 11.517773094545802, -69.987645897543 11.514718094542957, -69.87402689743719 11.426527094460823, -69.80139089736954 11.427218094461466, -69.7423998973146 11.499200094528504, -69.81653589738364 11.690973094707104, -70.18000889772216 11.603609094625739, -70.23598189777428 11.62889109464929, -70.24389989778166 11.775273094785618, -70.29403589782835 11.861664094866072, -70.28666389782148 11.92027309492066, -70.18749989772914 12.107773095095283, -70.01430889756783 12.197500095178839, -69.93471789749371 12.169718095152973, -69.85945489742362 12.071945095061906, -69.82375489739037 11.98805409498378, -69.81688189738396 11.850973094856116, -69.75778189732893 11.661391094679558, -69.7061178972808 11.548891094574785, -69.6318088972116 11.467636094499099, -69.5795178971629 11.46410009449582, -69.50695489709533 11.506945094535709, -69.36021789695867 11.493327094523039, -69.27487289687919 11.5339540945
 60869, -68.95389989658025 11.45166409448423, -68.8436818964776 11.447082094479967, -68.66042689630693 11.349864094389417, -68.60196389625249 11.290554094334183, -68.41833589608147 11.180000094231218, -68.24250889591772 10.874373093946588, -68.25195489592652 10.856664093930092, -68.32529089599481 10.843609093917934, -68.3280638959974 10.767500093847048, -68.25361789592806 10.588891093680715, -68.16514589584567 10.498891093596896, -67.86798189556892 10.464873093565217, -67.79610889550197 10.491945093590417, -67.54333589526657 10.53277309362845, -67.28029089502158 10.546664093641382, -67.00222689476261 10.610282093700633, -66.47056389426747 10.629164093718217, -66.34299089414866 10.604718093695453, -66.3102908941182 10.626018093715288)), ((-64.05555489201832 10.857218093930612, -64.1363998920936 10.945000094012357, -64.17403589212866 10.960418094026721, -64.22792689217884 10.93124509399955, -64.40569989234442 10.970136094035766, -64.37834589231893 11.056945094116614, -64.20180889215452
  11.08778209414534, -64.17584589213034 11.031664094093074, -64.10583589206514 10.995282094059192, -64.04278189200642 10.987636094052064, -63.98749989195494 11.076109094134466, -63.88493589185941 11.175618094227147, -63.84486389182209 11.127082094181944, -63.80472689178471 11.021391094083512, -63.81499989179429 10.978054094043145, -63.89000889186414 10.904445093974587, -64.05555489201832 10.857218093930612)), ((-61.163608889324976 8.68832709191068, -61.16499988932628 8.71527309193577, -61.042499889212195 8.821109092034334, -60.86055488904273 8.853336092064353, -60.97610888915035 8.725827091945604, -61.163608889324976 8.68832709191068)), ((-61.246945889402596 8.474718091711736, -61.2943088894467 8.493327091729071, -61.405281889550054 8.485836091722092, -61.543545889678825 8.54868209178062, -61.42639088956972 8.58332709181289, -61.279445889432864 8.569718091800212, -61.26149988941614 8.552964091784602, -61.27829988943179 8.516736091750872, -61.2635998894181 8.499927091735216, -61.18507
 2889344966 8.496736091732245, -61.246945889402596 8.474718091711736)), ((-61.1291728892929 8.501664091736828, -61.26368188941818 8.510209091744784, -61.253063889408295 8.545273091777446, -61.21750888937518 8.572500091802794, -61.14912688931149 8.54089109177336, -61.083617889250476 8.609718091837465, -60.99806388917081 8.59694509182556, -60.99860888917131 8.557782091789093, -61.04055488921037 8.51416409174847, -61.1291728892929 8.501664091736828)), ((-60.91028188908905 8.894164092102372, -61.01972688919098 8.846945092058391, -61.046390889215814 8.843891092055557, -60.94167288911828 9.011664092211802, -60.880345889061175 9.026527092225649, -60.840563889024125 8.99832709219939, -60.85625488903874 8.947364092151915, -60.91028188908905 8.894164092102372)), ((-65.2811088931597 10.88028209395209, -65.39334589326423 10.906945093976915, -65.41611789328543 10.927218093995805, -65.36445489323732 10.969164094034866, -65.30445489318144 10.976109094041334, -65.21215489309549 10.954164094020896, -
 65.19959089308378 10.898336093968908, -65.2811088931597 10.88028209395209)), ((-61.048054889217354 8.639718091865404, -61.146945889309464 8.654445091879111, -61.17722688933766 8.67666409189981, -60.93778188911466 8.721245091941327, -60.99680888916963 8.652636091877426, -61.048054889217354 8.639718091865404)), ((-60.85831788904065 9.06495409226143, -60.94333588911984 9.022218092221635, -61.061390889229784 8.896945092104957, -61.096672889262635 8.89090009209933, -61.07062688923838 8.97131809217423, -60.947226889123456 9.054718092251903, -60.850417889033295 9.092982092287542, -60.85831788904065 9.06495409226143)), ((-60.92333588910121 8.618327091845487, -60.988617889162 8.635554091861522, -60.84159988902509 8.726945091946632, -60.80944588899514 8.716945091937319, -60.82333588900808 8.652364091877175, -60.92333588910121 8.618327091845487)))	
-ASM	American Samoa	MULTIPOLYGON (((-170.74389999137958 -14.375554929569248, -170.74941799138472 -14.373890929567693, -170.7664449914006 -14.363608929558112, -170.82322699145345 -14.323754929521002, -170.80917299144036 -14.308054929506383, -170.79765499142965 -14.299308929498238, -170.68167299132162 -14.258054929459817, -170.6640269913052 -14.255417929457352, -170.5679179912157 -14.254308929456329, -170.56187299121007 -14.269999929470941, -170.57861799122566 -14.279163929479466, -170.63726399128026 -14.289445929489048, -170.74389999137958 -14.375554929569248)))	
-COK	Cook Is.	MULTIPOLYGON (((-159.7469819811379 -21.25667293597779, -159.79363598118135 -21.252781935974156, -159.83251798121756 -21.248472935970142, -159.84000898122454 -21.23916393596147, -159.83471798121963 -21.199308935924364, -159.82723598121265 -21.189863935915568, -159.7883269811764 -21.187499935913365, -159.75613598114643 -21.192363935917896, -159.73292698112482 -21.22624593594945, -159.73916398113062 -21.2524999359739, -159.7469819811379 -21.25667293597779)), ((-157.92889097944467 -21.94083593661496, -157.94696397946151 -21.93958193661379, -157.96376397947716 -21.92041793659594, -157.96363597947703 -21.90819093658456, -157.95751797947133 -21.89528193657253, -157.94778197946226 -21.88805493656581, -157.921735979438 -21.88146393655967, -157.88384497940274 -21.925208936600413, -157.88766397940628 -21.936808936611214, -157.92889097944467 -21.94083593661496)), ((-158.11667297961955 -20.019172934825278, -158.12668197962887 -20.009445934816213, -158.13041797963237 -19.995281934803
 018, -158.1253999796277 -19.978472934787362, -158.11152697961478 -19.9713179347807, -158.09475497959914 -19.97417293478337, -158.0836359795888 -19.98444593479293, -158.0813909795867 -19.996390934804054, -158.08876397959358 -20.01069993481738, -158.0983549796025 -20.016108934822412, -158.11667297961955 -20.019172934825278)), ((-157.71304497924365 -19.857226934674443, -157.71887297924908 -19.85166393466926, -157.7408179792695 -19.817645934637582, -157.73919997926802 -19.807508934628146, -157.71229997924297 -19.77312693459612, -157.70376397923502 -19.836808934655437, -157.70864497923955 -19.853054934670567, -157.71304497924365 -19.857226934674443)), ((-163.16946398432535 -18.091945933030402, -163.17128198432704 -18.08417293302317, -163.15472698431162 -18.06145493300201, -163.15725498431397 -18.080554933019798, -163.1633269843196 -18.089445933028074, -163.16946398432535 -18.091945933030402)), ((-165.84167298681402 -10.890835926323845, -165.84834498682025 -10.8842359263177, -165.82765498
 680098 -10.881317926314978, -165.84167298681402 -10.890835926323845)))	
-PYF	French Polynesia	MULTIPOLYGON (((-149.1791999712959 -17.870835932824477, -149.25809097136937 -17.85278193280766, -149.27570897138577 -17.84631793280164, -149.28893597139808 -17.833054932789295, -149.29795497140648 -17.82083593277791, -149.3694729714731 -17.738890932701594, -149.3785999714816 -17.743608932705982, -149.42086397152096 -17.756108932717623, -149.47168197156827 -17.766390932727205, -149.48763597158313 -17.76597293272681, -149.59057297167902 -17.711390932675982, -149.63891797172403 -17.625972932596426, -149.64169097172663 -17.611945932583367, -149.64141797172636 -17.592781932565515, -149.63559097172094 -17.561672932536553, -149.63250897171807 -17.54999993252568, -149.62388197171003 -17.540699932517015, -149.58739097167606 -17.516181932494177, -149.4921089715873 -17.493754932473294, -149.44998197154808 -17.499445932478594, -149.41473597151526 -17.509172932487658, -149.37362697147697 -17.526945932504205, -149.3591639714635 -17.534454932511196, -149.34861797145368 -17.542
 090932518306, -149.3327639714389 -17.57028193254456, -149.32666397143322 -17.592226932564998, -149.32333597143014 -17.65249993262114, -149.3230909714299 -17.67110893263846, -149.3240359714308 -17.68778193265399, -149.32014497142717 -17.702154932667383, -149.3075089714154 -17.712635932677145, -149.29306397140192 -17.717499932681676, -149.2305639713437 -17.730281932693572, -149.2077909713225 -17.734172932697206, -149.18473597130105 -17.73139093269461, -149.1747089712917 -17.736117932699017, -149.1622269712801 -17.751390932713235, -149.1547269712731 -17.764445932725394, -149.14837297126718 -17.781954932741698, -149.1466819712656 -17.805699932763815, -149.15221797127077 -17.83361793278982, -149.15780897127598 -17.849726932804813, -149.16559097128322 -17.86360893281774, -149.1741639712912 -17.869163932822914, -149.1791999712959 -17.870835932824477)), ((-139.05474496186676 -9.859999925363809, -139.1089179619172 -9.846945925351648, -139.11913596192673 -9.843608925348533, -139.1289089619358
 2 -9.838890925344145, -139.1411089619472 -9.830835925336643, -139.15142696195682 -9.820554925327073, -139.16879096197297 -9.79375492530211, -139.1722549619762 -9.772917925282698, -139.16726396197154 -9.759999925270677, -139.04444496185715 -9.69541792521052, -139.00472696182018 -9.69694592521195, -138.97568196179313 -9.708608925222805, -138.9687639617867 -9.722363925235626, -138.9570729617758 -9.741390925253341, -138.8903179617136 -9.757226925268085, -138.85058196167662 -9.756108925267043, -138.83611796166315 -9.749863925261238, -138.82531796165307 -9.740272925252299, -138.81251796164116 -9.737917925250102, -138.8097549616386 -9.748054925259552, -138.81558196164403 -9.759445925270157, -138.8319729616593 -9.770835925280764, -138.84915496167528 -9.781117925290346, -138.89585496171878 -9.806254925313752, -138.91085496173275 -9.808335925315689, -138.9794269617966 -9.8149999253219, -138.99999996181577 -9.8149999253219, -139.01319996182806 -9.811390925318534, -139.02973596184347 -9.8072269
 25314652, -139.04862696186106 -9.808199925315563, -139.06133596187289 -9.818890925325519, -139.05474496186676 -9.859999925363809)), ((-140.17782696291272 -8.956390924522253, -140.18945496292355 -8.954163924520174, -140.2058359629388 -8.944726924511386, -140.22584496295744 -8.930417924498059, -140.2305639629618 -8.921390924489657, -140.25613596298564 -8.827363924402093, -140.25339096298308 -8.813054924388766, -140.2497549629797 -8.80278192437919, -140.2450269629753 -8.793890924370913, -140.2366639629675 -8.7838909243616, -140.2251449629568 -8.778190924356295, -140.06890896281126 -8.81167292438748, -140.04281796278696 -8.830281924404801, -140.01599096276198 -8.852845924425822, -140.01196396275824 -8.870972924442697, -140.01515496276122 -8.888472924458995, -140.0226639627682 -8.898054924467928, -140.07781796281955 -8.918054924486555, -140.0908359628317 -8.9220819244903, -140.10487296284475 -8.918754924487203, -140.1197179628586 -8.918890924487329, -140.1669639629026 -8.933054924500524,
  -140.17683596291178 -8.940135924507118, -140.17782696291272 -8.956390924522253)), ((-151.4444909734056 -16.904445931924457, -151.46543597342512 -16.902917931923028, -151.47512697343413 -16.89749993191799, -151.49169997344958 -16.849172931872985, -151.49777297345523 -16.784026931812306, -151.49136397344927 -16.759999931789935, -151.48751797344568 -16.7494459317801, -151.4725179734317 -16.73971793177104, -151.43098197339302 -16.745554931776482, -151.35111797331865 -16.84583593186987, -151.3509819733185 -16.860345931883387, -151.40032697336449 -16.888335931909452, -151.4444909734056 -16.904445931924457)), ((-149.85442697192474 -17.574445932548443, -149.86834497193772 -17.56833593254275, -149.87805497194674 -17.563617932538364, -149.9250449719905 -17.52528193250265, -149.93808197200266 -17.509726932488164, -149.941681972006 -17.497217932476516, -149.93725497200188 -17.484163932464355, -149.9227909719884 -17.477781932458413, -149.91113597197756 -17.476108932456853, -149.79462697186906 -
 17.466799932448183, -149.78529097186035 -17.47125493245234, -149.78321797185842 -17.487781932467726, -149.79849097187264 -17.52778193250498, -149.84596397191686 -17.572499932546634, -149.85442697192474 -17.574445932548443)))	
-UMI	Jarvis I.	MULTIPOLYGON (((-160.02114498139323 -0.3980549165516862, -160.02810898139973 -0.3980549165516862, -160.04349098141404 -0.3922179165462438, -160.0451639814156 -0.3801359165349964, -160.03391798140512 -0.3743089165295714, -160.0177909813901 -0.3747179165299457, -160.00946398138237 -0.3847179165392589, -160.0129269813856 -0.3958359165496148, -160.02114498139323 -0.3980549165516862)))	
-NIU	Niue	MULTIPOLYGON (((-169.89389099058795 -19.145554934011656, -169.9308819906224 -19.124445933991993, -169.9522359906423 -19.073335933944392, -169.93028199062184 -19.01360893388876, -169.89474499058875 -18.970281933848412, -169.88476399057944 -18.963335933841947, -169.86889999056467 -18.963617933842215, -169.8151359905146 -18.970272933848406, -169.78155499048333 -19.065281933936888, -169.79809999049874 -19.087226933957325, -169.82443599052326 -19.110835933979317, -169.85028199054733 -19.125835933993287, -169.8591639905556 -19.130554933997686, -169.88806399058254 -19.14444593401062, -169.89389099058795 -19.145554934011656)))	
-WSM	Samoa	MULTIPOLYGON (((-172.59649999310494 -13.509108928762302, -172.55193599306344 -13.497217928751226, -172.47528199299205 -13.479717928734928, -172.39111799291368 -13.464172928720458, -172.36083599288548 -13.460554928717087, -172.34835499287385 -13.461390928717861, -172.303417992832 -13.472154928727889, -172.28779999281744 -13.484163928739065, -172.22249999275664 -13.563054928812548, -172.20306399273855 -13.59194592883945, -172.1933639927295 -13.613335928859371, -172.1683549927062 -13.680972928922358, -172.16781799270572 -13.691390928932066, -172.21235499274718 -13.806526929039293, -172.225035992759 -13.808890929041496, -172.25849999279018 -13.804308929037234, -172.39333599291575 -13.791672929025466, -172.48599099300202 -13.806808929039562, -172.50890899302337 -13.806663929039416, -172.5279269930411 -13.802708929035745, -172.5744359930844 -13.765835929001398, -172.59002699309892 -13.739717928977072, -172.69109999319306 -13.626108928871261, -172.7516909932495 -13.57402692882276
 , -172.77282699326918 -13.54999992880039, -172.78002699327587 -13.532572928784148, -172.7725359932689 -13.517499928770121, -172.75558199325312 -13.51028192876339, -172.73890899323757 -13.508472928761705, -172.728635993228 -13.513335928766239, -172.65527299315968 -13.519172928771681, -172.59649999310494 -13.509108928762302)), ((-171.44198199202972 -14.057499929273035, -171.4652729920514 -14.052781929268633, -171.47998199206512 -14.050554929266568, -171.52055499210292 -14.047781929263977, -171.5461089921267 -14.050281929266305, -171.5889269921666 -14.052499929268379, -171.64837299222194 -14.050281929266305, -171.76809999233345 -14.035835929252855, -171.91113599246665 -14.012499929231126, -172.05059999259655 -13.912499929137994, -172.0584999926039 -13.903190929129323, -172.06475499260972 -13.87819092910604, -172.05975499260506 -13.866945929095564, -172.02932699257673 -13.840272929070721, -171.90670899246254 -13.806663929039416, -171.8839089924413 -13.805554929038394, -171.8222639923838
 8 -13.807499929040205, -171.7480819923148 -13.83167292906272, -171.6191359921947 -13.87860892910642, -171.44418199203176 -13.984445929204995, -171.43070899201922 -14.002363929221687, -171.42919999201783 -14.01625492923462, -171.44198199202972 -14.057499929273035)))	
-TKL	Tokelau	MULTIPOLYGON (((-171.84805499240792 -9.218890924766725, -171.85885499241797 -9.209654924758127, -171.86271799242155 -9.18089992473135, -171.85243599241198 -9.170626924721773, -171.84419099240432 -9.191108924740846, -171.84376399240392 -9.210835924759223, -171.84805499240792 -9.218890924766725)))	
-TON	Tonga	MULTIPOLYGON (((-175.1452909954787 -21.268063935988394, -175.18639999551698 -21.252781935974156, -175.31445499563625 -21.17999993590638, -175.3236359956448 -21.174445935901204, -175.33642699565672 -21.161672935889314, -175.35140899567065 -21.14333593587223, -175.35748199567632 -21.131663935861354, -175.35999999567866 -21.10083593583265, -175.35319999567233 -21.0887549358214, -175.34112699566109 -21.074863935808466, -175.3142999956361 -21.06417293579851, -175.3035549956261 -21.069726935803672, -175.27667299560105 -21.124999935855158, -175.2452359955718 -21.12978193585961, -175.1490359954822 -21.17680893590341, -175.13836399547225 -21.175835935902498, -175.1319549954663 -21.159163935886966, -175.12945499546396 -21.14472693587352, -175.12139999545644 -21.13375493586331, -175.10723599544326 -21.12806393585801, -175.09362699543058 -21.124999935855158, -175.06542699540432 -21.125835935855932, -175.0487639953888 -21.13694593586628, -175.0459909953862 -21.149163935877652, -175.051
 69999539154 -21.161672935889314, -175.12083599545593 -21.262090935982826, -175.13503599546914 -21.267781935988125, -175.1452909954787 -21.268063935988394)), ((-173.93920899435545 -18.56889093347459, -173.93362699435025 -18.573054933478474, -173.9166909943345 -18.599726933503305, -173.9068269943253 -18.62375493352569, -173.90890899432722 -18.635563933536687, -173.98697299439993 -18.684172933581962, -174.05444499446276 -18.669726933568498, -174.06308199447082 -18.659299933558785, -174.07030899447756 -18.63597293353706, -174.06527299447285 -18.62499993352685, -174.05334499446175 -18.621117933523237, -174.03737299444688 -18.621117933523237, -174.0252999944356 -18.616672933519098, -174.01724499442813 -18.603054933506414, -174.01306399442424 -18.589726933493992, -174.00321799441505 -18.578199933483262, -173.99249099440507 -18.572226933477694, -173.9675269943818 -18.568054933473817, -173.93920899435545 -18.56889093347459)))	
-WLF	Wallis & Futuna	MULTIPOLYGON (((-178.06081799819398 -14.323890929521127, -178.13739099826532 -14.317081929514785, -178.15389999828068 -14.308054929506383, -178.17110899829672 -14.287781929487494, -178.1793549983044 -14.275417929475978, -178.18832699831276 -14.256108929457994, -178.19027299831455 -14.239726929442739, -178.18169999830658 -14.232363929435891, -178.12733599825594 -14.24860892945101, -178.04301799817742 -14.31749992951518, -178.06081799819398 -14.323890929521127)), ((-176.1650359964284 -13.35305492861697, -176.16906399643216 -13.351945928615933, -176.17724499643978 -13.341390928606103, -176.18808199644988 -13.313608928580223, -176.1910999964527 -13.286945928555397, -176.18581799644775 -13.257781928528232, -176.18307299644522 -13.24360892851503, -176.1783449964408 -13.232226928504431, -176.1583549964222 -13.21486392848827, -176.14809099641263 -13.216108928489419, -176.12193599638826 -13.258608928529, -176.14202699640697 -13.34381792860836, -176.16143599642507 -13.3527
 72928616702, -176.1650359964284 -13.35305492861697)))	
-ARG	Argentina	MULTIPOLYGON (((-71.85916389928599 -41.0112819543757, -71.85028189927772 -40.91250895428371, -71.95014589937072 -40.72694595411089, -71.85930889928613 -40.64347295403315, -71.77987289921215 -40.40896395381475, -71.71569989915238 -40.42361795382839, -71.6639638991042 -40.33451795374541, -71.66861789910853 -40.29694595371042, -71.7027178991403 -40.27895495369366, -71.719590899156 -40.302363953715464, -71.81806389924772 -40.20459095362441, -71.79139989922288 -40.11500895354098, -71.66694589910698 -40.04749995347811, -71.63334589907568 -39.95056395338783, -71.70500889914243 -39

<TRUNCATED>

[39/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
index 76bceb7..54e71d7 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
index 0de1fa4..5cb4a01 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMABaseAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Analyzer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzer.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzer.java
index 0a9c73c..9d3a7d7 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzer.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Analyzer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizer.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizer.java
index fbf1d8e..870086a 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizer.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
index f3dabed..b1a6d20 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMATypeAwareAnnotationsTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProvider.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProvider.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProvider.java
index ba102d2..12dc2f0 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProvider.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import org.apache.uima.analysis_engine.AnalysisEngine;
 import org.apache.uima.resource.ResourceInitializationException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProviderFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProviderFactory.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProviderFactory.java
index 1a3e2be..cfa642f 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProviderFactory.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/AEProviderFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/BasicAEProvider.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/BasicAEProvider.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/BasicAEProvider.java
index 300201d..d553322 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/BasicAEProvider.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/BasicAEProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProvider.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProvider.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProvider.java
index e740706..67ccb7a 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProvider.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import org.apache.uima.analysis_engine.AnalysisEngineDescription;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/package-info.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/package-info.java
index e08da29..f883099 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/package-info.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/ae/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Integration with UIMA's AnalysisEngine.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/package-info.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/package-info.java
index 0baa0fc..ffa5b48 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/package-info.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Classes that integrate UIMA with Lucene's analysis API.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMABaseAnalyzerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMABaseAnalyzerTest.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMABaseAnalyzerTest.java
index eb13746..5ad24ae 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMABaseAnalyzerTest.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMABaseAnalyzerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
index 96e30da..1ba717b 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/UIMATypeAwareAnalyzerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/AEProviderFactoryTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/AEProviderFactoryTest.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/AEProviderFactoryTest.java
index 66f15c2..047e119 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/AEProviderFactoryTest.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/AEProviderFactoryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/BasicAEProviderTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/BasicAEProviderTest.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/BasicAEProviderTest.java
index 3fe46ad..1d8b251 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/BasicAEProviderTest.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/BasicAEProviderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import org.apache.uima.analysis_engine.AnalysisEngine;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProviderTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProviderTest.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProviderTest.java
index ee0f4b5..8f7e111 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProviderTest.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/ae/OverridingParamsAEProviderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.ae;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.ae;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.ae;
+
 
 import org.apache.uima.analysis_engine.AnalysisEngine;
 import org.apache.uima.resource.ResourceInitializationException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleEntityAnnotator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleEntityAnnotator.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleEntityAnnotator.java
index 319380b..9189ba1 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleEntityAnnotator.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleEntityAnnotator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.an;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.an;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.an;
+
 
 import org.apache.uima.TokenAnnotation;
 import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SamplePoSTagger.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SamplePoSTagger.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SamplePoSTagger.java
index 6ff1468..520b1a9 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SamplePoSTagger.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SamplePoSTagger.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.an;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.an;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.an;
+
 
 import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleWSTokenizerAnnotator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleWSTokenizerAnnotator.java b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleWSTokenizerAnnotator.java
index 8f713b3..3e0da24 100644
--- a/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleWSTokenizerAnnotator.java
+++ b/lucene/analysis/uima/src/test/org/apache/lucene/analysis/uima/an/SampleWSTokenizerAnnotator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima.an;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima.an;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima.an;
+
 
 import org.apache.uima.UimaContext;
 import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/Placeholder.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/Placeholder.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/Placeholder.java
index 86b2351..b0c292b 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/Placeholder.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/Placeholder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 /** Remove this file when adding back compat codecs */
 public class Placeholder {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50Codec.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50Codec.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50Codec.java
index 9579674..08ea3e9 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50Codec.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50Codec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesConsumer.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesConsumer.java
index 7c87822..59ce73a 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesConsumer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.Closeable; // javadocs
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesFormat.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesFormat.java
index 3ad8024..7258a71 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesFormat.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java
index d926768..c323d6e 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsFormat.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsFormat.java
index 06a50ce..786dcf2 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsFormat.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java
index c4495f8..e087e27 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import static org.apache.lucene.codecs.lucene50.Lucene50NormsFormat.CONST_COMPRESSED;
 import static org.apache.lucene.codecs.lucene50.Lucene50NormsFormat.DELTA_COMPRESSED;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene53/Lucene53Codec.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene53/Lucene53Codec.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene53/Lucene53Codec.java
index 1ec1406..ab90306 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene53/Lucene53Codec.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene53/Lucene53Codec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene53;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene53;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene53;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene54/Lucene54Codec.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene54/Lucene54Codec.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene54/Lucene54Codec.java
index 4ca2521..62ef89c 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene54/Lucene54Codec.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene54/Lucene54Codec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene54;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene54;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene54;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50NormsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50NormsConsumer.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50NormsConsumer.java
index 119fbda..5c779de 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50NormsConsumer.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50NormsConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWCodec.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWCodec.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWCodec.java
index 5737d87..359e2ec 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWCodec.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.NormsFormat;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWNormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWNormsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWNormsFormat.java
index 22a80ca..fcf07ef 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWNormsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWNormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java
index 0112ecb..2c38728 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50NormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50NormsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50NormsFormat.java
index 6e41e84..5ea076d 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50NormsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/TestLucene50NormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.util.HashMap;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
index f61599d..ce4fad5 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/backward-codecs/src/test/org/apache/lucene/index/TestMaxPositionInOldIndex.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestMaxPositionInOldIndex.java b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestMaxPositionInOldIndex.java
index f5aafbd..37f8c21 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestMaxPositionInOldIndex.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestMaxPositionInOldIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.InputStream;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/Constants.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/Constants.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/Constants.java
index 750ab5b..b03cdcd 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/Constants.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/Constants.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.benchmark;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,14 +14,13 @@ package org.apache.lucene.benchmark;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.lucene.benchmark;
 
 /**
  * Various benchmarking constants (mostly defaults)
  **/
-public class Constants
-{
+public class Constants {
+  
     public static final int DEFAULT_RUN_COUNT = 5;
     public static final int DEFAULT_SCALE_UP = 5;
     public static final int DEFAULT_LOG_STEP = 1000;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/Benchmark.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/Benchmark.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/Benchmark.java
index be627f4..1ea4cab 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/Benchmark.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/Benchmark.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask;
+
 
 import java.io.Reader;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
index 0202ff6..1d4b643 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/AbstractQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/AbstractQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/AbstractQueryMaker.java
index 88103f2..b40f4a9 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/AbstractQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/AbstractQueryMaker.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.benchmark.byTask.feeds;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,6 +14,7 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
 
 import org.apache.lucene.benchmark.byTask.utils.Config;
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
index 459b1ef..7e15083 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentSource.java
index 86efbf6..831e021 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java
index 1f76f8c..a1e6a3c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DemoHTMLParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DirContentSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DirContentSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DirContentSource.java
index 3950f9b..9eb54ea 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DirContentSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DirContentSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import org.apache.lucene.benchmark.byTask.utils.Config;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocData.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocData.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocData.java
index 557b386..9b1448a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocData.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocData.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.Date;
 import java.util.Properties;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
index bca057b..f2c863c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSource.java
index 768a253..a933e56 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
index 374cce6..2e070c9 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java
index 1e94543..b6dec7c 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FacetSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
index a10648d..6e24947 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
@@ -1,19 +1,19 @@
 /*
- * Copyright 2004 The Apache Software Foundation
- * <p/>
- * Licensed 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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ * 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.lucene.benchmark.byTask.feeds;
 
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/GeonamesLineParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/GeonamesLineParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/GeonamesLineParser.java
index b750131..9386712 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/GeonamesLineParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/GeonamesLineParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 /**
  * A line parser for Geonames.org data.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/HTMLParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/HTMLParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/HTMLParser.java
index 25fe210..9e3090a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/HTMLParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/HTMLParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocSource.java
index 9d70acf..cb16495 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LineDocSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishContentSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishContentSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishContentSource.java
index 7d33d0c..0926452 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishContentSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishContentSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java
index 731155a..35c079b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/NoMoreDataException.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/NoMoreDataException.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/NoMoreDataException.java
index 11e48ea..da095fe 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/NoMoreDataException.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/NoMoreDataException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 /**
  * Exception indicating there is no more data.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/QueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/QueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/QueryMaker.java
index cf37ea6..92ca88b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/QueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/QueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 
 import org.apache.lucene.benchmark.byTask.utils.Config;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java
index 9800075..61db19a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/RandomFacetSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersContentSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersContentSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersContentSource.java
index 31d41a1..64d5e6e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersContentSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersContentSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
index 1a57a05..3425f42 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
index 7e11a65..824c76b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleSloppyPhraseQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleSloppyPhraseQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleSloppyPhraseQueryMaker.java
index 9e18f79..5cd6218 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleSloppyPhraseQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleSloppyPhraseQueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.ArrayList;
 import java.util.StringTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SingleDocSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SingleDocSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SingleDocSource.java
index f24db31..f5c8af4 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SingleDocSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SingleDocSource.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.IOException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
+import java.io.IOException;
+
 
 /**
  * Creates the same document each time {@link #getNextDocData(DocData)} is called.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SortableSingleDocSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SortableSingleDocSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SortableSingleDocSource.java
index ec4ca98..8e8f5e1 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SortableSingleDocSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SortableSingleDocSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.Properties;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialDocMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialDocMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialDocMaker.java
index b349159..b7f04d1 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialDocMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialDocMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.AbstractMap;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialFileQueryMaker.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialFileQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialFileQueryMaker.java
index c6d094d..c99de3d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialFileQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SpatialFileQueryMaker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java
index 0790035..6ceb922 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecDocParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecDocParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecDocParser.java
index 163020e..19d0dd7 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecDocParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecDocParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFBISParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFBISParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFBISParser.java
index 1b58590..20ad0c2 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFBISParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFBISParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFR94Parser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFR94Parser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFR94Parser.java
index 771033d..df78b6a 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFR94Parser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFR94Parser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFTParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFTParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFTParser.java
index 58a3aa9..0dd25b3 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFTParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecFTParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecGov2Parser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecGov2Parser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecGov2Parser.java
index 231baca..36a6a0f 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecGov2Parser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecGov2Parser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecLATimesParser.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecLATimesParser.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecLATimesParser.java
index 7a3ff27..4b01dc2 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecLATimesParser.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecLATimesParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecParserByPath.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecParserByPath.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecParserByPath.java
index 6f2e009..f2acd0e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecParserByPath.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecParserByPath.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.benchmark.byTask.feeds;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.benchmark.byTask.feeds;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.feeds;
+
 
 import java.io.IOException;
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/package-info.java
index 8df0337..17f8830 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Sources for benchmark inputs: documents and queries.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/package-info.java
index 465557a..430810b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Benchmarking Lucene By Tasks
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/Sample.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/Sample.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/Sample.java
index aa5b8bb..a9f26e9 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/Sample.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/Sample.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.benchmark.byTask.programmatic;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,8 +14,8 @@ package org.apache.lucene.benchmark.byTask.programmatic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.benchmark.byTask.programmatic;
 
-import java.io.IOException;
 import java.util.Properties;
 
 import org.apache.lucene.benchmark.byTask.PerfRunData;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/package-info.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/package-info.java
index d9dfd44..ecc7413 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/package-info.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/programmatic/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Sample performance test written programmatically - no algorithm file is needed here.
  */


[40/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
index 5a68a14..955d3d9 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
index 00d29f5..fe5ae66 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
index 9720f61..bd14be3 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
index a599271..6a112e7 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
index b04364d..27cef33 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
index 6e66267..44e3234 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
index ec7f16e..979fd7f 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
index dfc6d13..d993b3b 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
index bf4ba4c..1b12ec1 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
index a707dc7..eb3a2c8 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
index 1d63c6f..45bf603 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
index 17f8269..ee47f91 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
index 3caa14f..eab4ec3 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import org.apache.lucene.analysis.ja.util.ToStringUtil;
 import org.apache.lucene.util.IntsRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/UserDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/UserDictionaryTest.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/UserDictionaryTest.java
index 75177f9..88a366f 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/UserDictionaryTest.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/UserDictionaryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
index 57a759b..59e972f 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/BinaryDictionaryWriter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/BinaryDictionaryWriter.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/BinaryDictionaryWriter.java
index 5c6a260..a6d48cc 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/BinaryDictionaryWriter.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/BinaryDictionaryWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.BufferedOutputStream;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/CharacterDefinitionWriter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/CharacterDefinitionWriter.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/CharacterDefinitionWriter.java
index 678d24d..deed5af 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/CharacterDefinitionWriter.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/CharacterDefinitionWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.BufferedOutputStream;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsBuilder.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsBuilder.java
index bdabdb6..e30d555 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsBuilder.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.FileInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsWriter.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsWriter.java
index 0fbc0bb..54382ed 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsWriter.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/ConnectionCostsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.BufferedOutputStream;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/DictionaryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/DictionaryBuilder.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/DictionaryBuilder.java
index ea36629..ed9868b 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/DictionaryBuilder.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/DictionaryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.File;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryBuilder.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryBuilder.java
index 70bca2e..61d6f27 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryBuilder.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.BufferedReader;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryWriter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryWriter.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryWriter.java
index 315ace9..6c2a28c 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryWriter.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/TokenInfoDictionaryWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryBuilder.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryBuilder.java
index d1dced9..f4b7e13 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryBuilder.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.File;
 import java.io.FileInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryWriter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryWriter.java b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryWriter.java
index 4c3a616..a5819f9 100644
--- a/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryWriter.java
+++ b/lucene/analysis/kuromoji/src/tools/java/org/apache/lucene/analysis/ja/util/UnknownDictionaryWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/tools/test/org/apache/lucene/analysis/ja/dict/UnknownDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/tools/test/org/apache/lucene/analysis/ja/dict/UnknownDictionaryTest.java b/lucene/analysis/kuromoji/src/tools/test/org/apache/lucene/analysis/ja/dict/UnknownDictionaryTest.java
index bc1b702..299e8c6 100644
--- a/lucene/analysis/kuromoji/src/tools/test/org/apache/lucene/analysis/ja/dict/UnknownDictionaryTest.java
+++ b/lucene/analysis/kuromoji/src/tools/test/org/apache/lucene/analysis/ja/dict/UnknownDictionaryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import org.apache.lucene.analysis.ja.util.CSVUtil;
 import org.apache.lucene.analysis.ja.util.UnknownDictionaryWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikAnalyzer.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikAnalyzer.java
index 3a07351..091acfd 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikAnalyzer.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikAnalyzer.java
@@ -1,6 +1,4 @@
 // -*- c-basic-offset: 2 -*-
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +15,7 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
index f5b5145..ff36dbe 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilterFactory.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilterFactory.java
index e3b6676..d005dc5 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilterFactory.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorfologikFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttribute.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttribute.java
index 117be78..c827d9d 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttribute.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttribute.java
@@ -1,6 +1,4 @@
 // -*- c-basic-offset: 2 -*-
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +15,7 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
index a3e724c..c42f56b 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
@@ -1,6 +1,4 @@
 // -*- c-basic-offset: 2 -*-
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +15,7 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/package-info.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/package-info.java
index 9d58e1d..a828fde 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/package-info.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * This package provides dictionary-driven lemmatization ("accurate stemming")
  * filter and analyzer for the Polish Language, driven by the

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
index 1fa4591..d8967c7 100644
--- a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
+++ b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
+
 
 import java.io.IOException;
 import java.util.TreeSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
index e505e18..9a597fc 100644
--- a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
+++ b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.morfologik;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.morfologik;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.morfologik;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilter.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilter.java
index f199108..f0ddc41 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilter.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.io.IOException;
 import java.util.regex.Matcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilterFactory.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilterFactory.java
index 81190b7..5a78204 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilterFactory.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/BeiderMorseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.util.Map;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilter.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilter.java
index a27bebf..5699b86 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilter.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilter.java
@@ -6,7 +6,7 @@
  * (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
+ *     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,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilterFactory.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilterFactory.java
index aa2d3d5..16131f3 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilterFactory.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DaitchMokotoffSoundexFilterFactory.java
@@ -6,7 +6,7 @@
  * (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
+ *     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,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DoubleMetaphoneFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DoubleMetaphoneFilterFactory.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DoubleMetaphoneFilterFactory.java
index 478b123..fdaecb2 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DoubleMetaphoneFilterFactory.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/DoubleMetaphoneFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilter.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilter.java
index be2dabf..9b3893f 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilter.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.phonetic;
 
 import org.apache.commons.codec.Encoder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilterFactory.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilterFactory.java
index 8bf80b8..fc69a61 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilterFactory.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/PhoneticFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/package-info.java b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/package-info.java
index c710c98..5aa2535 100644
--- a/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/package-info.java
+++ b/lucene/analysis/phonetic/src/java/org/apache/lucene/analysis/phonetic/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analysis components for phonetic search.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
index 126f6692..c2af562 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
index ece793f..c29a9b4 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
index ed28022..259ce1f 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
@@ -6,7 +6,7 @@
  * (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
+ *     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,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
index 8dc74e0..b73deb3 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.io.StringReader;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
index ca1ba05..24c8e14 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.io.StringReader;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
index ade1fd9..076a610 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.phonetic;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
index 70b654d..ff20b65 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.phonetic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.phonetic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.phonetic;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java
index 6a6f457..aa2b847 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/AnalyzerProfile.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 import java.io.BufferedReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java
index 81ec4a0..4ad5877 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/CharType.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizer.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizer.java
index ba7e868..573df93 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizer.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cn.smart;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cn.smart;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cn.smart;
+
 
 import java.io.IOException;
 import java.text.BreakIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizerFactory.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizerFactory.java
index 8d537aa..43cb822 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizerFactory.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/HMMChineseTokenizerFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java
index 8113443..bd1fc7b 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/SmartChineseAnalyzer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java
index bd1b006..aca80e7 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/Utility.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 import org.apache.lucene.analysis.cn.smart.hhmm.SegTokenFilter; // for javadoc

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java
index bf88bd4..475238b 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordSegmenter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java
index 57da1ae..9fff971 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/WordType.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java
index 7d3622a..bbce1a8 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/AbstractDictionary.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.io.UnsupportedEncodingException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java
index c3b9186..3307498 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java
index 1a14dd0..11ce03b 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BigramDictionary.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.io.DataInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java
index 14061b9..bd69190 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java
index 573c679..f216f98 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/PathNode.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java
index 9c1f95a..a6f38b3 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java
index d7990c0..e0c7b9d 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegToken.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java
index 9f119ef..01b70b9 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import org.apache.lucene.analysis.cn.smart.Utility;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java
index 8c4ad3e..a943f05 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/SegTokenPair.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java
index 7d7e905..9e5d416 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/WordDictionary.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart.hhmm;
 
 import java.io.DataInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package-info.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package-info.java
index 37d38b0..55ea611 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package-info.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * SmartChineseAnalyzer Hidden Markov Model package.
  * @lucene.experimental

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package-info.java b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package-info.java
index d273a36..a365e1b 100644
--- a/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package-info.java
+++ b/lucene/analysis/smartcn/src/java/org/apache/lucene/analysis/cn/smart/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Simplified Chinese, which indexes words.
  * @lucene.experimental

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
index 619f868..e16a4fe 100644
--- a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
+++ b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cn.smart;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cn.smart;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cn.smart;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
index 940c6c5..6460fbd 100644
--- a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
+++ b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.cn.smart;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/PolishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/PolishAnalyzer.java b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/PolishAnalyzer.java
index 7ac5bc1..999ce86 100644
--- a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/PolishAnalyzer.java
+++ b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/PolishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pl;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/package-info.java b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/package-info.java
index 6a6cc80..733dda4 100644
--- a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/package-info.java
+++ b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/pl/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Polish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelFilter.java b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelFilter.java
index 1ea242f..3af593f 100644
--- a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelFilter.java
+++ b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelFilter.java
@@ -1,19 +1,19 @@
 /*
- * Copyright 2004 The Apache Software Foundation
- * 
- * Licensed 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
- * 
+ * 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.
+ * 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.lucene.analysis.stempel;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelPolishStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelPolishStemFilterFactory.java b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelPolishStemFilterFactory.java
index 0656edd..25cc4bb 100644
--- a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelPolishStemFilterFactory.java
+++ b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelPolishStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.stempel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.stempel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.stempel;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelStemmer.java b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelStemmer.java
index 9c510ec..fc6e198 100644
--- a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelStemmer.java
+++ b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/StempelStemmer.java
@@ -1,19 +1,19 @@
 /*
- * Copyright 2004 The Apache Software Foundation
- * 
- * Licensed 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
- * 
+ * 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.
+ * 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.lucene.analysis.stempel;
 
 import java.io.BufferedInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/package-info.java b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/package-info.java
index db125cd..855a7f8 100644
--- a/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/package-info.java
+++ b/lucene/analysis/stempel/src/java/org/apache/lucene/analysis/stempel/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Stempel: Algorithmic Stemmer
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/java/org/egothor/stemmer/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/java/org/egothor/stemmer/package-info.java b/lucene/analysis/stempel/src/java/org/egothor/stemmer/package-info.java
index 395aa65..f60c1f7 100644
--- a/lucene/analysis/stempel/src/java/org/egothor/stemmer/package-info.java
+++ b/lucene/analysis/stempel/src/java/org/egothor/stemmer/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Egothor stemmer API.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
index 483a980..b0ef008 100644
--- a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
+++ b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pl;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
index 4396444..cfb022b 100644
--- a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
+++ b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.stempel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.stempel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.stempel;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/BaseUIMATokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/BaseUIMATokenizer.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/BaseUIMATokenizer.java
index cd1d376..78b88dc 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/BaseUIMATokenizer.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/BaseUIMATokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.uima.ae.AEProviderFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizer.java b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizer.java
index c0d7389..169be5f 100644
--- a/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizer.java
+++ b/lucene/analysis/uima/src/java/org/apache/lucene/analysis/uima/UIMAAnnotationsTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.uima;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.uima;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.uima;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;


[63/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/LUCENE-4464.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/LUCENE-4464.txt b/lucene/spatial/src/test-files/data/LUCENE-4464.txt
deleted file mode 100644
index dfb5a40..0000000
--- a/lucene/spatial/src/test-files/data/LUCENE-4464.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-#id	name	shape
-poly1	poly1	POLYGON ((-93.17288720912401 45.280265431486754, -93.17232270645628 45.2802724629027, -93.17229737711205 45.279497574052314, -93.1722224854913 45.277577770983854, -93.17218124644266 45.276747010395624, -93.16722650828461 45.276819421108826, -93.16581262076448 45.27684404529939, -93.16363038333625 45.276882054199596, -93.16249244695301 45.276929493877525, -93.16247370542268 45.27641118002343, -93.16246893668628 45.276279382682894, -93.1624671302382 45.274701063846244, -93.16246679905096 45.273381422360785, -93.16247689122851 45.273189685068424, -93.16249146710186 45.27291249464421, -93.16249868565903 45.272467966062614, -93.16247955957382 45.27177209534391, -93.1624787718002 45.27127651548793, -93.16247840794293 45.27104491547271, -93.16247917486976 45.27087000356473, -93.1624817727418 45.270279315147775, -93.16252487154968 45.26996729342093, -93.16254025661699 45.26976826077157, -93.16247902564132 45.269527941604, -93.16242684845764 45.2692774997531, -93.16242126018722 4
 5.26894470083864, -93.16241263011544 45.26769394309626, -93.16246809168283 45.26571736107859, -93.16247263940593 45.26195548919013, -93.16253090997651 45.258615729449964, -93.16256878834184 45.25650987969364, -93.1626048203569 45.2546538608912, -93.16265873943591 45.251876274357876, -93.16275002007988 45.2510418534315, -93.16282237443883 45.25042383853711, -93.16286421513767 45.249181538840595, -93.16288289220509 45.24862697953288, -93.1629601120395 45.248250613185206, -93.16301002807151 45.24802483983211, -93.16301621932013 45.247670020958665, -93.16301519349018 45.247478630666144, -93.16303001333274 45.24727504082362, -93.16303463142393 45.24713931946277, -93.16302280990728 45.2470107542477, -93.16298327344437 45.24685970499298, -93.16294217154733 45.246633449219054, -93.16294315088282 45.246419514713516, -93.16295754265565 45.24621538933992, -93.16296755618336 45.24580786412655, -93.16296268372803 45.245362220836384, -93.16296319568123 45.245046689033444, -93.16297766811293 45.24
 481357093532, -93.16296370759883 45.2445699039253, -93.16294931051515 45.24231310924752, -93.16294559876471 45.24173111255096, -93.16295568091667 45.240776604513705, -93.1629609359182 45.24053954238007, -93.1629658719288 45.24019639978025, -93.1625355179785 45.24018482062359, -93.15847246037083 45.24007549519542, -93.15641780558727 45.24006372373029, -93.15470331938288 45.24002991133718, -93.1515176880772 45.240038275846665, -93.14892151971884 45.24004508944476, -93.14597353408716 45.240012024375574, -93.14198169289922 45.239944427606616, -93.14246140322608 45.21441838866706, -93.14239730934507 45.20842345035032, -93.14240307538512 45.203669567890245, -93.13209436867183 45.20385828388066, -93.13238731320574 45.19696183064252, -93.13244550539693 45.19559178376392, -93.13255875219626 45.19292582294682, -93.12747185962866 45.19303831675316, -93.12741613255534 45.196689407842044, -93.12341724811418 45.196748516850086, -93.12336451543653 45.19630050937325, -93.12233270487748 45.196311891
 79194, -93.12244695905335 45.18943470505876, -93.12752867296823 45.18931969757398, -93.1275981937757 45.18579899512077, -93.12249095182051 45.18589579364393, -93.12250905286206 45.18230218633591, -93.11745336177542 45.182234528897865, -93.11742994994425 45.17494109686777, -93.11234677240823 45.174914625057596, -93.11232755368056 45.178541858988, -93.09142510557425 45.17830768889981, -93.0878908215621 45.18208021181682, -93.04087986544745 45.182020129318005, -93.02011304608662 45.18206919600553, -92.99725469269949 45.18154883703301, -92.9866455346556 45.18162938363265, -92.98002761377205 45.181741313792635, -92.97460481311676 45.1817232745721, -92.95815138711436 45.18159971137449, -92.95832448011389 45.16710586357575, -92.95821211351648 45.15266682925307, -92.94804883291458 45.152678829402525, -92.94820512323935 45.14582287000843, -92.94821449767262 45.14541149629351, -92.93808126859899 45.145435393255234, -92.938064080176 45.1464755574292, -92.93790172782569 45.15630033200825, -92.9
 3776855788026 45.156299483202375, -92.93416458772786 45.15627656196406, -92.92776593175911 45.156235863288074, -92.92779198321185 45.15260820059608, -92.9228643837518 45.15257871636257, -92.91761510291013 45.15254730117589, -92.91755895303478 45.15978011255037, -92.90742527225278 45.15975884768774, -92.90734951861361 45.16700513027527, -92.90243435593408 45.16697925148226, -92.90226994175299 45.16697838648701, -92.90228225598396 45.16960751885433, -92.90228682505473 45.170583562524534, -92.89838293958822 45.17058359192683, -92.89776337384279 45.17058359923907, -92.89720228241329 45.170636798053465, -92.89720546113311 45.171648743169875, -92.89721045187194 45.17323675651512, -92.89721215942521 45.17377958217219, -92.8972133713998 45.17416655315385, -92.89752994284902 45.17416793500262, -92.90230392627396 45.174188700362095, -92.90230695467396 45.17483317173849, -92.90230939234701 45.175352265892315, -92.90231342163983 45.17620891826606, -92.9023378718661 45.18141217320357, -92.898291
 95794003 45.18137903577816, -92.89197067471983 45.181327269964534, -92.86573042754982 45.18111238484799, -92.86537258386163 45.18110945889712, -92.86579788828743 45.16683341076013, -92.85850341291456 45.166840495697045, -92.85576616527777 45.1668651317465, -92.8455814929548 45.16695680639518, -92.8403672382906 45.167003741522834, -92.84037534438275 45.166359277271084, -92.83914257524022 45.166407761467035, -92.83786182101709 45.16655768366541, -92.83762301824869 45.16658563659705, -92.83700510809494 45.16665797101126, -92.83700330475195 45.1670405349812, -92.83520392476423 45.16704646605868, -92.83519998302931 45.1672093811339, -92.83518241658018 45.17114095264113, -92.8351705215998 45.17380185475555, -92.83516823773242 45.17431412368648, -92.82501384033566 45.174380025018145, -92.82373302900695 45.174963166130034, -92.82127603798283 45.17799740439804, -92.81495695139105 45.17798284134312, -92.81498212776123 45.18394380043827, -92.81496335262872 45.20297631525698, -92.81496300732859
  45.2033351264244, -92.8149190887153 45.20460132029917, -92.81473397710002 45.21, -92.8198460035041 45.21, -92.81985864578533 45.21352006541341, -92.81476009958381 45.21350519453624, -92.81473397710002 45.211, -92.79434616877515 45.20979982288059, -92.79434485197183 45.210003888814526, -92.7942994128934 45.217028016258524, -92.79414754531777 45.217027433538036, -92.75950558164095 45.216895251116746, -92.75791266717471 45.216889175072694, -92.75634408090858 45.21737192056616, -92.75539334998972 45.21781096867505, -92.75544275719047 45.219840930849315, -92.75232263931744 45.219847708152834, -92.75345360864661 45.22241622713623, -92.75393100188802 45.22290500013628, -92.75454911801587 45.22425238152991, -92.75465656863904 45.22441872007679, -92.75478824580995 45.22461252606749, -92.75573200183275 45.22594899943625, -92.7559326169467 45.2263989667922, -92.756173357985 45.22677479396459, -92.75628338889855 45.227185737281864, -92.75651400327136 45.22770300256764, -92.75667800355963 45.22
 8069998932774, -92.75745600158125 45.23052599674398, -92.75737071502948 45.23131853178694, -92.75760683805547 45.23212889115611, -92.7575248338702 45.23249816977935, -92.75760900807862 45.233043995948975, -92.75740715667484 45.23498808590038, -92.75739258433605 45.23515457917446, -92.75736004212973 45.235441823970014, -92.75728900664646 45.2361259970008, -92.75750924881613 45.23833187652166, -92.75783421241928 45.239151014730965, -92.75799784052033 45.2401986059374, -92.75814399470411 45.24075700093086, -92.75910499448543 45.24444199845027, -92.75927217262658 45.246363482652335, -92.759708376526 45.24795052230262, -92.76024900009054 45.24960000150479, -92.76026400206055 45.25171699829065, -92.75984499770836 45.25286799832034, -92.75883599655404 45.25442699925451, -92.75592228367496 45.256779108256175, -92.75559993467031 45.25707105760005, -92.75540261715516 45.25725539605134, -92.75458100472993 45.258140999051975, -92.75362100152239 45.25941899619891, -92.75258800661327 45.261786002
 1943, -92.7523530053651 45.26244399793552, -92.7521330910868 45.26318539548715, -92.75199986320791 45.26381589028983, -92.7519440909167 45.26415703570502, -92.75192391851121 45.26559725594415, -92.75247612752318 45.26746623235666, -92.75254008932185 45.26768063816608, -92.75267394173396 45.268130176728555, -92.75287910082022 45.2688320393691, -92.7530104867237 45.26921012533672, -92.75329204456183 45.26980089141646, -92.75414711285153 45.2712720735891, -92.7552129966957 45.27237299947564, -92.75574299378961 45.27288399662051, -92.75678399520334 45.273891998902435, -92.75750199664172 45.27442999825494, -92.75801999923948 45.274822998224586, -92.75866321741752 45.27578539520815, -92.7589271849383 45.27616491445647, -92.75924599787822 45.27671899844492, -92.75941999802778 45.27718649803985, -92.75960999785612 45.27731999914, -92.75978699565532 45.27743849638546, -92.76004300142414 45.277978995119405, -92.76061199738588 45.27882799808139, -92.76117799722955 45.280582999200305, -92.76136
 19999475 45.28220800042353, -92.76167096088638 45.2836803717185, -92.76198517744629 45.2850267976271, -92.76206945308458 45.2853507773657, -92.76202745146396 45.286658659028, -92.76204199858486 45.28698499388888, -92.76201199644161 45.28793199672008, -92.76200399722086 45.28821299803955, -92.76121399640145 45.28913599914764, -92.7603870028136 45.28991599406784, -92.75871000510011 45.29096499709372, -92.75799200634881 45.291140996050984, -92.75687800551285 45.29148399845183, -92.75507700319366 45.2919269952758, -92.75480030147037 45.291986779669465, -92.74569331443023 45.29606484000191, -92.74555580404507 45.29614422445335, -92.74523588498667 45.29631411941847, -92.76071968429389 45.29617634034589, -92.79448651640953 45.29587194744184, -92.82553071142016 45.29634288822895, -92.82523623967 45.28697641600944, -92.8246113114385 45.27459391718561, -92.82414631698042 45.26733414102221, -92.83443181636859 45.267466042102846, -92.83450366471794 45.265666722695805, -92.8395297613521 45.26570
 782145342, -92.83954651660255 45.2675117790906, -92.85488466565545 45.267633226883305, -92.85446380439222 45.260381978642265, -92.8530801070886 45.256940031152055, -92.8746167542768 45.2569553750289, -92.87517983690772 45.26774272327855, -92.88032459143679 45.26775272915376, -92.88028907325248 45.27498539130476, -92.885429695981 45.27499516876503, -92.88541044770409 45.27862274921294, -92.8854460740016 45.28269595676258, -92.8858306795285 45.28583335680999, -92.89095994168375 45.285838365551086, -92.89147668909354 45.290056047991875, -92.89183494474656 45.292995365557246, -92.89287941280966 45.29621886928581, -92.93574219102997 45.296382695230655, -92.9366855829562 45.29639453639271, -92.93730010601949 45.29640233268984, -92.93773633826109 45.296407862218295, -92.95031707870098 45.29656663627082, -92.95732733387652 45.29663267857854, -92.95723233585932 45.305785498930874, -92.95755812361517 45.31807293816823, -92.9575313307762 45.325662873647204, -92.96200814151011 45.32569410734573
 , -92.96201051236334 45.33056403262943, -92.95763365021791 45.330562956294486, -92.95750484414667 45.34006528297348, -92.95740249422305 45.3523406680097, -92.96272753035339 45.352295608902175, -92.96260253143201 45.363259386181184, -92.95732537061275 45.363286992831206, -92.95715614538045 45.36869421119079, -92.97302216756823 45.36904156334545, -92.9731090974606 45.37554810693529, -92.98760985309234 45.37555619312347, -92.98429494637762 45.38215591061988, -92.9924184629002 45.38233326055907, -93.01850137881846 45.38277378724873, -93.01956464133914 45.41174708503911, -93.03973263863047 45.412106304897264, -93.06569776540464 45.412656360563524, -93.08346874844985 45.41297273973574, -93.09263091377308 45.41335460313747, -93.1012213163472 45.413720365424695, -93.10759754754753 45.41373499082408, -93.14214551761233 45.41373101611429, -93.1421802894172 45.40666589187203, -93.14209155741717 45.38498980813781, -93.14398965535287 45.369981475770224, -93.13861914028635 45.36992203894643, -93.
 13946982733188 45.35540022959687, -93.14362673736643 45.35542059147377, -93.14338145836778 45.34816201728363, -93.14259222919002 45.34815677471413, -93.14123737100095 45.34271091215897, -93.14120170425102 45.34166175650565, -93.14159640367895 45.340845226624126, -93.16430988689314 45.34107128935172, -93.1641229508536 45.33731028186903, -93.163783504365 45.32713863170596, -93.16354815472778 45.31568179036097, -93.1634974864936 45.3115083559682, -93.16335415000293 45.30838048844207, -93.16326942872365 45.30653168298998, -93.16286993093225 45.29781375116957, -93.16292479029 45.297483756012355, -93.16251838572086 45.29748043583636, -93.16242411934059 45.29340169752503, -93.16237192435095 45.291513658346155, -93.16125915756838 45.29101148729498, -93.16224903398384 45.290456018307964, -93.16243543883762 45.29031474509565, -93.16248365754952 45.29016960982244, -93.1625270557542 45.28932067928762, -93.16350507037129 45.28940282906675, -93.16413761242012 45.28944739938537, -93.16430369461645
  45.289411531953206, -93.164472138656 45.28937514511818, -93.16431016328954 45.288334379584406, -93.16422830296436 45.28780835028316, -93.16373011428878 45.287807744950875, -93.16348868413621 45.28778563548775, -93.16304669211718 45.28779811404454, -93.16252493722239 45.28781182501286, -93.1625182014603 45.28601279964026, -93.1625127377889 45.28416325442296, -93.1717122152211 45.28391079701647, -93.17291828928865 45.28387769615237, -93.17292468588315 45.28327561174209, -93.1729215958459 45.28269914269899, -93.17290904354249 45.28216703245599, -93.17290447076888 45.281410092382885, -93.17289432485279 45.28068732375472, -93.17288720912401 45.280265431486754))
-poly2	poly2	POLYGON((-93.26592485308495 45.18931973506328, -93.26373519655886 45.18933815615675, -93.2637828223868 45.18660121752107, -93.26280973893772 45.18656958194617, -93.2603275028686 45.186488876325654, -93.25976682936536 45.18646929139094, -93.25877703935303 45.18686109057519, -93.25788401039608 45.18633824889261, -93.25713811973642 45.186864792015704, -93.25660115549654 45.18628640445176, -93.24081325108644 45.18609354693712, -93.2356823133177 45.1860308697061, -93.23474944979115 45.186019474019865, -93.23478565684188 45.18266103967549, -93.23072066106351 45.18267669158043, -93.22480340476464 45.18267437402639, -93.21952101307244 45.18267371221728, -93.21950131879755 45.184689058075534, -93.21950381582634 45.18590104693386, -93.21950547892035 45.186708829298695, -93.21948324866376 45.18808573281868, -93.21947477056304 45.188619717930756, -93.2194751507154 45.1899146284615, -93.22390334137022 45.18991091026497, -93.2245904557543 45.18993775453468, -93.2245784309098 45.190287
 02856576, -93.2245932424241 45.19081834295508, -93.22460314163764 45.19137779927979, -93.22459067695124 45.19162607300785, -93.22458367100289 45.19176562022696, -93.22354968949122 45.191760188521705, -93.22131530006368 45.19175468785821, -93.22018302807493 45.19175762419069, -93.21965635944291 45.19175898704962, -93.21824735047468 45.191762639857636, -93.21840068968908 45.191840907619024, -93.21858279007587 45.191950538176606, -93.21874378970492 45.19205449060312, -93.21893581214327 45.192204972059955, -93.21911499957261 45.19238205879934, -93.21934767139433 45.192628269473076, -93.21954522989743 45.1928508489684, -93.21972003978802 45.19304459976245, -93.21997538064213 45.19332124206717, -93.22011354045264 45.193470928079385, -93.22046875034326 45.19384479955501, -93.2206469058326 45.19404172922978, -93.22079845082156 45.194244494502364, -93.2209416400795 45.19447508772328, -93.22107397875365 45.19474417974581, -93.2211368505518 45.19490985928749, -93.22118231976518 45.195047277731
 625, -93.22124659963487 45.19525315038074, -93.22128314962913 45.195396480693944, -93.22130715028514 45.195564823375, -93.22131862069979 45.195757013030224, -93.22130704484326 45.19599065847414, -93.22127083850016 45.19622942989826, -93.22124456959293 45.19636257994296, -93.22120917947201 45.19651471803614, -93.22115328972328 45.196774039833144, -93.22110053150747 45.19700410181286, -93.22105123806169 45.19721904984113, -93.21939747849284 45.19720754776318, -93.21658707902952 45.19719901749774, -93.21405492494755 45.19718389708806, -93.21060961905127 45.19716332241369, -93.20846870851273 45.19715738191871, -93.20635420918421 45.19714993030806, -93.20384995444252 45.19713947337882, -93.20382099935851 45.195915480832355, -93.20379040854755 45.195493880093856, -93.20373937951182 45.19525460196455, -93.20366799901262 45.194730001052676, -93.20359944927 45.194273469702246, -93.20351980946141 45.19386975065817, -93.20336890147132 45.1933312322322, -93.20348773988103 45.19317805926476, -93
 .20364964522179 45.19294381603321, -93.20373782170354 45.192758795441485, -93.20378634041538 45.1925589245846, -93.20378780054193 45.1924118820702, -93.20373224993294 45.192246366644895, -93.20366678053941 45.192063182244134, -93.20349712021084 45.19164111034226, -93.20336402335359 45.191262445660406, -93.20333661484061 45.19107258136713, -93.20334012614478 45.19082850506992, -93.20338500114326 45.190584969374704, -93.20346313590359 45.19035226093307, -93.20353125074365 45.19015096025676, -93.20337886118753 45.19012069933683, -93.20280004152556 45.18999823901699, -93.20236430223584 45.1898748712581, -93.20223796285948 45.18983446401002, -93.20171338128353 45.189666689690526, -93.20105175026708 45.18940210042135, -93.20059509118217 45.18937347081525, -93.20014399997638 45.18935951962055, -93.1999096512546 45.18934032171285, -93.19969162075753 45.18934030912719, -93.19953079227915 45.18938062079311, -93.19930724128803 45.189471810355066, -93.19836742091539 45.18954495845859, -93.19790
 904174889 45.189755310346555, -93.19770094626355 45.18978905045578, -93.19728573057267 45.1898563687543, -93.19706717806918 45.18978234280038, -93.1961191012612 45.18980511056629, -93.19583707702907 45.18977039110604, -93.19495714548943 45.18966207098092, -93.19409949054268 45.18955648989894, -93.19361391124465 45.18954758129998, -93.19142135137997 45.189507349701145, -93.18867729058191 45.18943758222878, -93.18766468614145 45.18941183701645, -93.1869063815807 45.18939255950494, -93.18676117212036 45.18939312363656, -93.18583601993124 45.18939673056086, -93.18362870083628 45.18940533739182, -93.18015920861117 45.189432919714875, -93.17748344774633 45.18940274982507, -93.17100678798263 45.18934067185518, -93.1680509570817 45.18931686702863, -93.16712265967519 45.189309389152754, -93.1632729184803 45.189289560128074, -93.1524420382428 45.189137301470666, -93.1488330300988 45.189087681208825, -93.14258337454692 45.18900953614207, -93.1425728385595 45.18964797148711, -93.14257129908563 
 45.19044710129245, -93.14256839076815 45.191380659844974, -93.14257549009486 45.192639988690985, -93.14256591028126 45.193624481846925, -93.1425562203409 45.19475816134898, -93.14254671019609 45.19564806883362, -93.14253591314012 45.19592629600891, -93.1425191002932 45.19635953895129, -93.14240307328147 45.20366956427245, -93.14239731024965 45.20842345007226, -93.14246141142196 45.2144183909345, -93.14198170032972 45.23994442974387, -93.14597353942523 45.240012030562795, -93.14892151981124 45.24004509174428, -93.15151768504401 45.24003827478177, -93.15470331907811 45.2400299112851, -93.15641781022819 45.240063720104146, -93.15847245794774 45.24007548756677, -93.16253551804624 45.24018481776239, -93.16296586932476 45.24019639699945, -93.16296093749654 45.240539543608094, -93.16295567833508 45.24077659970959, -93.16294559992268 45.24173110984731, -93.16294931429802 45.242313107885224, -93.16296371061823 45.24456989801016, -93.16297766989932 45.24481356907269, -93.16296319587042 45.245
 04668430867, -93.16296267909655 45.24536222031531, -93.16296756070733 45.24580785775435, -93.16295754084666 45.24621538734816, -93.16294315030365 45.24641950970948, -93.1629421699368 45.246633444731216, -93.16298326866249 45.24685970478054, -93.16302280494743 45.24701074802872, -93.1630346343297 45.247139320093076, -93.16303000914128 45.24727503858908, -93.16301519072017 45.24747862874394, -93.16301622062082 45.247670019373224, -93.16301002844395 45.24802483903903, -93.16296010836595 45.248250609285236, -93.16288288941641 45.248626979189, -93.16286421036493 45.24918153632857, -93.16282236866641 45.25042383853131, -93.16275001793326 45.25104184745623, -93.16265874011768 45.251876269431015, -93.1626048141941 45.25465385517585, -93.162568780952 45.25650987775294, -93.16253090903855 45.25861572819838, -93.16247264162719 45.261955487720506, -93.16246809047925 45.26571735738526, -93.16241263022145 45.267693939529536, -93.16242125944353 45.26894469986081, -93.16242684956876 45.269277499432
 015, -93.16247902269161 45.26952793567272, -93.16254025984375 45.269768259020054, -93.1625248689828 45.26996728874923, -93.16248176954191 45.27027930739088, -93.16247917649272 45.270869996810376, -93.16247840915516 45.27104490906511, -93.16247877426206 45.27127651283899, -93.162479560911 45.27177208702322, -93.16249869026827 45.272467959171365, -93.16249147172434 45.27291248854739, -93.16247688682598 45.27318968296259, -93.16246680083795 45.27338141702519, -93.1624671298516 45.27470105775956, -93.16246893968787 45.276279379505084, -93.1624737063593 45.2764111771935, -93.16249244905424 45.276929488819604, -93.16363037995181 45.27688204948932, -93.16581262202895 45.276844043452684, -93.16722651010657 45.27681941864911, -93.17218124072862 45.27674700948904, -93.1722224784459 45.27757776899891, -93.17229737034532 45.279497570305445, -93.17232269933695 45.28027246109518, -93.17288721010608 45.28026543129147, -93.1728943187817 45.2806873180744, -93.17290447218495 45.28141008817547, -93.17
 290904002667 45.28216703008146, -93.17292159084371 45.28269913830247, -93.17292468118433 45.283275608616165, -93.17291828224536 45.28387769767021, -93.1717122127579 45.283910797244246, -93.16251273143365 45.28416325629099, -93.16251820094257 45.28601279797615, -93.16252493935717 45.287811833132764, -93.16304669905364 45.28779811692505, -93.16348868871324 45.28778563925035, -93.16373011962693 45.28780774767522, -93.16422830587629 45.28780835110865, -93.1643101699488 45.28833437868018, -93.16447213914093 45.289375147768524, -93.16430369361024 45.28941153310711, -93.16413761723706 45.28944740219967, -93.16350507286433 45.289402832527344, -93.16252705964098 45.289320683284735, -93.16248365939401 45.29016961156254, -93.16243543831087 45.29031475002342, -93.16224903970826 45.2904560215217, -93.16125915934788 45.29101149209126, -93.16237192796683 45.291513661220456, -93.16242412151107 45.29340170072084, -93.16251838980172 45.29748044313293, -93.16292479370829 45.29748376064082, -93.1863909
 4534673 45.29767533425263, -93.18833342032521 45.29769119188229, -93.1925428426471 45.29770437859642, -93.19474753040078 45.29771128804242, -93.19765740975974 45.29769541872667, -93.20297591868295 45.29776263827187, -93.20683144906876 45.29774197003572, -93.20883497923562 45.297766559466794, -93.21546742887979 45.297768422222155, -93.22617724980643 45.29791971794424, -93.23408017640227 45.298023690859175, -93.2343080073169 45.288444186545625, -93.23432525195352 45.287995322205425, -93.23469515647318 45.269279712377234, -93.23475627635968 45.266203358381446, -93.23560542207227 45.26619551047824, -93.23899176558338 45.26613779367068, -93.24250527367546 45.26608234822973, -93.243445378056 45.26606503829342, -93.24512861083372 45.2660344570852, -93.24588057830995 45.26602026067889, -93.24713274287363 45.26599455787498, -93.25036838013868 45.26592734514467, -93.25172461510564 45.265900698298395, -93.25236738024864 45.265888260809106, -93.25481754173921 45.26583307838667, -93.255713579529
 06 45.265819559899164, -93.2594981489083 45.26575415212897, -93.26098138766197 45.265754375486374, -93.26155216698102 45.26565612540643, -93.26170097145753 45.26562288963898, -93.26208574477789 45.26553876835043, -93.26245875524685 45.265434673708015, -93.26277275191426 45.265316250819595, -93.26311663127117 45.26517251314189, -93.26346212923646 45.26500240317637, -93.26393572774133 45.26477558787491, -93.2651820516718 45.26406759657772, -93.26518110226205 45.26337226279194, -93.26515218908767 45.26311636791454, -93.26518703008779 45.262871689663605, -93.2652064900752 45.26265582104258, -93.2652110298225 45.26215614194132, -93.26522443086994 45.26112430402238, -93.26522989950563 45.260703199933474, -93.26524872191168 45.25930812973533, -93.26525187087448 45.258897852775995, -93.26525857049303 45.258025812056765, -93.26527734826267 45.256675072153314, -93.26528081766433 45.25612813038996, -93.265287399575 45.25512698071874, -93.26530031054412 45.253711671615115, -93.26531490547187 45
 .25273002640574, -93.26532214123614 45.252243491267, -93.26533817105908 45.25062180123498, -93.26535413994274 45.24906421173263, -93.26536141910549 45.24841165046578, -93.26536638602661 45.24796649509243, -93.26537318826473 45.24735637067748, -93.26539798003012 45.24589779189643, -93.265404909549 45.24454674190931, -93.2654060939449 45.24296904311022, -93.26540624905046 45.24276127146885, -93.26540843815205 45.2420263885843, -93.26541275006169 45.240577352345994, -93.2654375717671 45.238843301612725, -93.26544518264211 45.237906888690105, -93.26544940933664 45.23738688110566, -93.26546966016808 45.236093591927926, -93.2654781584622 45.235359229961944, -93.26548338867605 45.23490715107922, -93.26553582901259 45.23354268990693, -93.26554071996831 45.23330119833777, -93.26555987026248 45.2323552839169, -93.26557251955711 45.23173040973764, -93.26556626032777 45.22975235185782, -93.26556606661761 45.229367333607186, -93.26556579189545 45.228823722705066, -93.26562882232702 45.2268722061
 76665, -93.26571073971922 45.224335971082276, -93.26574560622672 45.22192222321787, -93.26574836877063 45.22173093256304, -93.26577033227747 45.22021043432355, -93.26578588443306 45.21913391123174, -93.26580662128347 45.21769799745153, -93.26580983179628 45.217475736026664, -93.26581322607608 45.217240685631346, -93.26590715360736 45.210737684073244, -93.26591966090616 45.209871711997586, -93.2659016992406 45.20722015227932, -93.26587484243684 45.203254836571126, -93.26585637174348 45.20052765082941, -93.26585684827346 45.19841676076085, -93.26587786763154 45.19732741144391, -93.2658624676632 45.1970879109074, -93.2659274100303 45.194004979577755, -93.26595017983325 45.191531890895845, -93.26595423366354 45.19092534610275, -93.26593099287571 45.190637988686554, -93.2659274057232 45.18986823069059, -93.26592485308495 45.18931973506328))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/countries-bbox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/countries-bbox.txt b/lucene/spatial/src/test-files/data/countries-bbox.txt
deleted file mode 100644
index 78e14e0..0000000
--- a/lucene/spatial/src/test-files/data/countries-bbox.txt
+++ /dev/null
@@ -1,249 +0,0 @@
-#id	name	shape	
-FLK	Falkland Is.	ENVELOPE(-61.148055, -57.733200, -51.249455, -52.343055)
-GUF	French Guiana	ENVELOPE(-54.603782, -51.648055, 5.755418, 2.113473)
-GUY	Guyana	ENVELOPE(-61.389727, -56.470636, 8.535273, 1.186873)
-PCN	Pitcairn Is.	ENVELOPE(-130.105055, -128.286118, -24.325836, -25.082227)
-SGS	South Georgia & the South Sandwich Is.	ENVELOPE(-38.023755, -26.241391, -53.989727, -58.498609)
-SHN	St. Helena	ENVELOPE(-5.792782, -5.645282, -15.903755, -16.021946)
-SUR	Suriname	ENVELOPE(-58.071400, -53.986118, 6.001809, 1.836245)
-TTO	Trinidad & Tobago	ENVELOPE(-61.921600, -60.520836, 11.345554, 10.040345)
-VEN	Venezuela	ENVELOPE(-73.378064, -59.803055, 12.197500, 0.649164)
-ASM	American Samoa	ENVELOPE(-170.823227, -170.561873, -14.254309, -14.375555)
-COK	Cook Is.	ENVELOPE(-165.848345, -157.703764, -10.881318, -21.940836)
-PYF	French Polynesia	ENVELOPE(-151.497773, -138.809755, -8.778191, -17.870836)
-UMI	Jarvis I.	ENVELOPE(-160.045164, -160.009464, -0.374309, -0.398055)
-NIU	Niue	ENVELOPE(-169.952236, -169.781555, -18.963336, -19.145555)
-WSM	Samoa	ENVELOPE(-172.780027, -171.429200, -13.460555, -14.057500)
-TKL	Tokelau	ENVELOPE(-171.862718, -171.843764, -9.170627, -9.218891)
-TON	Tonga	ENVELOPE(-175.360000, -173.906827, -18.568055, -21.268064)
-WLF	Wallis & Futuna	ENVELOPE(-178.190273, -176.121936, -13.214864, -14.323891)
-ARG	Argentina	ENVELOPE(-73.582300, -53.650009, -21.780518, -55.051673)
-BOL	Bolivia	ENVELOPE(-69.656191, -57.521118, -9.679191, -22.901109)
-BRA	Brazil	ENVELOPE(-74.004591, -34.792918, 5.272709, -33.741118)
-CHL	Chile	ENVELOPE(-109.446109, -66.420627, -17.505282, -55.902227)
-ECU	Ecuador	ENVELOPE(-91.663891, -75.216846, 1.437782, -5.000309)
-PRY	Paraguay	ENVELOPE(-62.643773, -54.243900, -19.296809, -27.584727)
-PER	Peru	ENVELOPE(-81.355146, -68.673909, -0.036873, -18.348546)
-URY	Uruguay	ENVELOPE(-58.438609, -53.098300, -30.096673, -34.943818)
-UMI	Baker I.	ENVELOPE(-176.467655, -176.455855, 0.222573, 0.215282)
-CAN	Canada	ENVELOPE(-141.002991, -52.617364, 83.113873, 41.675554)
-GTM	Guatemala	ENVELOPE(-92.246782, -88.214736, 17.821109, 13.745836)
-UMI	Howland I.	ENVELOPE(-176.643082, -176.631091, 0.808609, 0.790282)
-UMI	Johnston Atoll	ENVELOPE(-169.538936, -169.523927, 16.730273, 16.724164)
-MEX	Mexico	ENVELOPE(-118.404164, -86.738618, 32.718454, 14.550545)
-UMI	Midway Is.	ENVELOPE(-177.395845, -177.360545, 28.221518, 28.184154)
-BRB	Barbados	ENVELOPE(-59.659446, -59.427082, 13.337082, 13.050554)
-DMA	Dominica	ENVELOPE(-61.491391, -61.250700, 15.631945, 15.198054)
-GRD	Grenada	ENVELOPE(-61.785182, -61.596391, 12.237154, 11.996945)
-GLP	Guadeloupe	ENVELOPE(-61.796109, -61.187082, 16.512918, 15.870000)
-MTQ	Martinique	ENVELOPE(-61.231536, -60.816946, 14.880136, 14.402773)
-LCA	St. Lucia	ENVELOPE(-61.079582, -60.878064, 14.109309, 13.709445)
-SPM	St. Pierre & Miquelon	ENVELOPE(-56.397782, -56.145500, 47.135827, 46.747191)
-VCT	St. Vincent & the Grenadines	ENVELOPE(-61.280146, -61.120282, 13.383191, 13.130282)
-ABW	Aruba	ENVELOPE(-70.059664, -69.874864, 12.627773, 12.411109)
-BMU	Bermuda	ENVELOPE(-64.823064, -64.676809, 32.379509, 32.260554)
-DOM	Dominican Republic	ENVELOPE(-72.003064, -68.322927, 19.930827, 17.604164)
-HTI	Haiti	ENVELOPE(-74.467791, -71.629182, 20.091454, 18.022782)
-JAM	Jamaica	ENVELOPE(-78.373900, -76.221118, 18.522500, 17.697218)
-ANT	Netherlands Antilles	ENVELOPE(-69.163618, -68.192927, 12.383891, 12.020554)
-BHS	The Bahamas	ENVELOPE(-78.978900, -72.738891, 26.929164, 20.915273)
-TCA	Turks & Caicos Is.	ENVELOPE(-72.031464, -71.127573, 21.957773, 21.429918)
-BLZ	Belize	ENVELOPE(-89.216400, -87.779591, 18.489900, 15.889854)
-CYM	Cayman Is.	ENVELOPE(-81.400836, -81.093064, 19.354164, 19.265000)
-COL	Colombia	ENVELOPE(-81.720146, -66.870455, 12.590273, -4.236873)
-CRI	Costa Rica	ENVELOPE(-85.911391, -82.561400, 11.212845, 8.025673)
-CUB	Cuba	ENVELOPE(-84.952927, -74.131255, 23.194027, 19.821945)
-SLV	El Salvador	ENVELOPE(-90.108064, -87.694673, 14.431982, 13.156391)
-HND	Honduras	ENVELOPE(-89.350491, -83.131855, 16.435827, 12.985173)
-NIC	Nicaragua	ENVELOPE(-87.689827, -83.131855, 15.022218, 10.709691)
-PAN	Panama	ENVELOPE(-83.030291, -77.198336, 9.620136, 7.206109)
-AIA	Anguilla	ENVELOPE(-63.167782, -62.972709, 18.272982, 18.164445)
-ATG	Antigua & Barbuda	ENVELOPE(-61.891109, -61.666946, 17.724300, 16.989718)
-VGB	British Virgin Is.	ENVELOPE(-64.698482, -64.324527, 18.504854, 18.383891)
-MSR	Montserrat	ENVELOPE(-62.236946, -62.138891, 16.812354, 16.671391)
-PRI	Puerto Rico	ENVELOPE(-67.266400, -65.301118, 18.519445, 17.922218)
-KNA	St. Kitts & Nevis	ENVELOPE(-62.862782, -62.622509, 17.410136, 17.208882)
-VIR	Virgin Is.	ENVELOPE(-65.023509, -64.562573, 18.387673, 17.676664)
-FRO	Faroe Is.	ENVELOPE(-7.433473, -6.389718, 62.357500, 61.388327)
-GRL	Greenland	ENVELOPE(-73.053609, -12.157637, 83.623600, 59.790273)
-XGK	Guernsey	ENVELOPE(-2.668609, -2.500973, 49.508191, 49.422491)
-ISL	Iceland	ENVELOPE(-24.538400, -13.499446, 66.536100, 63.390000)
-IRL	Ireland	ENVELOPE(-10.474727, -6.013055, 55.379991, 51.445545)
-XIM	Isle of Man	ENVELOPE(-4.787155, -4.308682, 54.416382, 54.055545)
-SJM	Jan Mayen	ENVELOPE(-9.119909, -7.928509, 71.180818, 70.803863)
-XJE	Jersey	ENVELOPE(-2.247364, -2.015000, 49.261109, 49.167773)
-GBR	United Kingdom	ENVELOPE(-8.171664, 1.749445, 60.843327, 49.955273)
-CPV	Cape Verde	ENVELOPE(-25.360555, -22.666109, 17.192364, 14.811109)
-CIV	Cote d'Ivoire	ENVELOPE(-8.606382, -2.487782, 10.735254, 4.344718)
-GHA	Ghana	ENVELOPE(-3.248891, 1.202782, 11.155691, 4.727082)
-GIB	Gibraltar	ENVELOPE(-5.356173, -5.334509, 36.163309, 36.112073)
-LBR	Liberia	ENVELOPE(-11.492327, -7.368400, 8.512782, 4.343609)
-MAR	Morocco	ENVELOPE(-13.174964, -1.011809, 35.919164, 27.664236)
-PRT	Portugal	ENVELOPE(-31.289027, -6.190455, 42.150673, 32.637500)
-ESP	Spain	ENVELOPE(-18.169864, 4.316945, 43.764300, 27.637500)
-ESH	Western Sahara	ENVELOPE(-17.101527, -8.666391, 27.666954, 20.764100)
-BFA	Burkina Faso	ENVELOPE(-5.520837, 2.397927, 15.082773, 9.395691)
-GIN	Guinea	ENVELOPE(-15.080837, -7.653373, 12.677500, 7.193927)
-GNB	Guinea-Bissau	ENVELOPE(-16.717773, -13.643891, 12.684718, 10.925100)
-MLI	Mali	ENVELOPE(-12.244837, 4.251391, 25.000273, 10.142154)
-MRT	Mauritania	ENVELOPE(-17.075555, -4.806109, 27.290454, 14.725636)
-SEN	Senegal	ENVELOPE(-17.532782, -11.369927, 16.690618, 12.301745)
-SLE	Sierra Leone	ENVELOPE(-13.295609, -10.264309, 9.997500, 6.923609)
-GMB	The Gambia	ENVELOPE(-16.821664, -13.798609, 13.826391, 13.059973)
-DJI	Djibouti	ENVELOPE(41.759854, 43.420409, 12.708327, 10.942218)
-ERI	Eritrea	ENVELOPE(36.443282, 43.121382, 17.994882, 12.363891)
-ETH	Ethiopia	ENVELOPE(32.991800, 47.988245, 14.883609, 3.406664)
-MNG	Mongolia	ENVELOPE(87.761100, 119.931509, 52.142773, 41.586654)
-SDN	Sudan	ENVELOPE(21.829100, 38.607500, 22.232218, 3.493391)
-UGA	Uganda	ENVELOPE(29.574300, 35.009718, 4.222782, -1.476109)
-ISR	Gaza Strip	ENVELOPE(34.216663, 34.558891, 31.596100, 31.216545)
-IRQ	Iraq	ENVELOPE(38.794700, 48.560691, 37.383673, 29.061664)
-ISR	Israel	ENVELOPE(34.267582, 35.681109, 33.270273, 29.486709)
-JOR	Jordan	ENVELOPE(34.960418, 39.301109, 33.377591, 29.188891)
-KAZ	Kazakhstan	ENVELOPE(46.499163, 87.348209, 55.442627, 40.594436)
-NOR	Norway	ENVELOPE(4.789582, 31.073536, 71.154709, 57.987918)
-RUS	Russia	ENVELOPE(-180.000000, 180.000000, 81.851927, 41.196582)
-SWE	Sweden	ENVELOPE(11.113336, 24.167009, 69.060300, 55.339164)
-ISR	West Bank	ENVELOPE(34.888191, 35.570609, 32.546391, 31.350691)
-DZA	Algeria	ENVELOPE(-8.667218, 11.986473, 37.089854, 18.976391)
-AND	Andorra	ENVELOPE(1.421391, 1.781718, 42.655964, 42.436382)
-CMR	Cameroon	ENVELOPE(8.502363, 16.207000, 13.085000, 1.654164)
-CAF	Central African Republic	ENVELOPE(14.418891, 27.459718, 11.000836, 2.221264)
-LBY	Libya	ENVELOPE(9.311391, 25.151663, 33.171136, 19.499064)
-MCO	Monaco	ENVELOPE(7.390900, 7.439291, 43.768300, 43.727545)
-TUN	Tunisia	ENVELOPE(7.492218, 11.581663, 37.340409, 30.234391)
-BEN	Benin	ENVELOPE(0.776663, 3.855000, 12.396654, 6.218718)
-TCD	Chad	ENVELOPE(13.461945, 24.002745, 23.450554, 7.458536)
-GNQ	Equatorial Guinea	ENVELOPE(8.424163, 11.353891, 3.763336, 0.930154)
-KIR	Kiribati	ENVELOPE(-157.581700, 172.947509, 2.033054, 1.335991)
-NER	Niger	ENVELOPE(0.166663, 15.996663, 23.522309, 11.693273)
-NGA	Nigeria	ENVELOPE(2.692500, 14.649654, 13.891500, 4.272845)
-STP	Sao Tome & Principe	ENVELOPE(6.465136, 7.463473, 1.701245, 0.018336)
-TGO	Togo	ENVELOPE(-0.149764, 1.797800, 11.138536, 6.100545)
-ALB	Albania	ENVELOPE(19.288536, 21.053327, 42.660345, 39.645000)
-BIH	Bosnia & Herzegovina	ENVELOPE(15.740591, 19.619782, 45.265945, 42.565827)
-HRV	Croatia	ENVELOPE(13.504791, 19.425000, 46.535827, 42.399991)
-ITA	Italy	ENVELOPE(6.623963, 18.514445, 47.094582, 36.649164)
-MKD	Macedonia	ENVELOPE(20.458818, 23.030973, 42.358954, 40.855891)
-MLT	Malta	ENVELOPE(14.329100, 14.570000, 35.991936, 35.800000)
-SMR	San Marino	ENVELOPE(12.406945, 12.511109, 43.986873, 43.898682)
-SMN	Serbia & Montenegro	ENVELOPE(18.453327, 23.005000, 46.181109, 41.849000)
-VTC	Vatican City	ENVELOPE(12.444473, 12.457718, 41.908391, 41.900891)
-BGR	Bulgaria	ENVELOPE(22.365273, 28.605136, 44.224718, 41.243045)
-CYP	Cyprus	ENVELOPE(32.269863, 34.586036, 35.688609, 34.640273)
-EGY	Egypt	ENVELOPE(24.706800, 36.895827, 31.646945, 21.994164)
-GEO	Georgia	ENVELOPE(40.002963, 46.710818, 43.584718, 41.048045)
-GRC	Greece	ENVELOPE(19.640000, 28.238045, 41.747773, 34.930545)
-LBN	Lebanon	ENVELOPE(35.100827, 36.623745, 34.647500, 33.062082)
-SYR	Syria	ENVELOPE(35.614463, 42.378327, 37.290545, 32.313609)
-TUR	Turkey	ENVELOPE(25.665827, 44.820545, 42.109991, 35.818445)
-AUT	Austria	ENVELOPE(9.533573, 17.166382, 49.018745, 46.407491)
-CZE	Czech Republic	ENVELOPE(12.093700, 18.852218, 51.052491, 48.581382)
-DNK	Denmark	ENVELOPE(8.092918, 15.149163, 57.745973, 54.561936)
-HUN	Hungary	ENVELOPE(16.111800, 22.894800, 48.576173, 45.748327)
-POL	Poland	ENVELOPE(14.147636, 24.143473, 54.836036, 49.002918)
-SVK	Slovakia	ENVELOPE(16.844718, 22.558054, 49.600827, 47.737500)
-SVN	Slovenia	ENVELOPE(13.383473, 16.607873, 46.876245, 45.425818)
-SJM	Svalbard	ENVELOPE(10.487918, 33.637500, 80.764163, 74.343045)
-BEL	Belgium	ENVELOPE(2.541663, 6.398200, 51.501245, 49.508882)
-FRA	France	ENVELOPE(-4.790282, 9.562218, 51.091109, 41.364927)
-DEU	Germany	ENVELOPE(5.865000, 15.033818, 55.056527, 47.274718)
-LIE	Liechtenstein	ENVELOPE(9.474636, 9.633891, 47.274545, 47.057454)
-LUX	Luxembourg	ENVELOPE(5.734445, 6.524027, 50.181809, 49.448464)
-NLD	Netherlands	ENVELOPE(3.370863, 7.210973, 53.465827, 50.753882)
-CHE	Switzerland	ENVELOPE(5.967009, 10.488209, 47.806664, 45.829436)
-USA	United States	ENVELOPE(-178.216555, 179.775936, 71.351436, 18.925482)
-BLR	Belarus	ENVELOPE(23.165400, 32.740054, 56.167491, 51.251845)
-EST	Estonia	ENVELOPE(21.837354, 28.194091, 59.664718, 57.522636)
-FIN	Finland	ENVELOPE(19.511391, 31.581963, 70.088609, 59.806800)
-LVA	Latvia	ENVELOPE(20.968609, 28.235963, 58.083254, 55.674836)
-LTU	Lithuania	ENVELOPE(20.942836, 26.813054, 56.449854, 53.890336)
-MDA	Moldova	ENVELOPE(26.634991, 30.128709, 48.468318, 45.448645)
-ROM	Romania	ENVELOPE(20.261027, 29.672218, 48.263882, 43.623309)
-UKR	Ukraine	ENVELOPE(22.151445, 40.178745, 52.378600, 44.379154)
-IND	India	ENVELOPE(68.144227, 97.380536, 35.505618, 6.745827)
-MDV	Maldives	ENVELOPE(72.863391, 73.637272, 7.027773, -0.641664)
-OMN	Oman	ENVELOPE(51.999291, 59.847082, 26.368709, 16.642782)
-SOM	Somalia	ENVELOPE(40.988609, 51.411318, 11.979164, -1.674873)
-LKA	Sri Lanka	ENVELOPE(79.696091, 81.891663, 9.828191, 5.918054)
-TKM	Turkmenistan	ENVELOPE(51.250182, 66.670882, 42.796173, 35.145991)
-UZB	Uzbekistan	ENVELOPE(55.997491, 73.167545, 45.570591, 37.184991)
-YEM	Yemen	ENVELOPE(42.555973, 54.473473, 18.999345, 12.144718)
-ARM	Armenia	ENVELOPE(43.454163, 46.620536, 41.297054, 38.841145)
-AZE	Azerbaijan	ENVELOPE(44.778863, 51.677009, 42.710754, 38.262809)
-BHR	Bahrain	ENVELOPE(50.453327, 50.796391, 26.288891, 25.571945)
-IRN	Iran	ENVELOPE(44.034954, 63.330273, 39.779154, 25.075973)
-KWT	Kuwait	ENVELOPE(46.546945, 48.416591, 30.084164, 28.538882)
-QAT	Qatar	ENVELOPE(50.751936, 51.615827, 26.152500, 24.556045)
-SAU	Saudi Arabia	ENVELOPE(34.572145, 55.666109, 32.154945, 16.377500)
-ARE	United Arab Emirates	ENVELOPE(51.583327, 56.381663, 26.083882, 22.633327)
-AFG	Afghanistan	ENVELOPE(60.504163, 74.915736, 38.471982, 29.406109)
-KGZ	Kyrgyzstan	ENVELOPE(69.249500, 80.281582, 43.216900, 39.195473)
-NPL	Nepal	ENVELOPE(80.052200, 88.194554, 30.424718, 26.368364)
-PAK	Pakistan	ENVELOPE(60.866300, 77.823927, 37.060791, 23.688045)
-TJK	Tajikistan	ENVELOPE(67.364700, 75.187482, 41.049254, 36.671845)
-BGD	Bangladesh	ENVELOPE(88.043872, 92.669345, 26.626136, 20.744818)
-BTN	Bhutan	ENVELOPE(88.751936, 92.114218, 28.325000, 26.703609)
-BRN	Brunei	ENVELOPE(114.095082, 115.360263, 5.053054, 4.018191)
-CHN	China	ENVELOPE(73.620045, 134.768463, 53.553745, 18.168882)
-JPN	Japan	ENVELOPE(123.678863, 145.812409, 45.486382, 24.251391)
-PRK	North Korea	ENVELOPE(124.323954, 130.697418, 43.006100, 37.671382)
-PLW	Palau	ENVELOPE(134.452482, 134.658872, 7.729445, 7.305254)
-PHL	Philippines	ENVELOPE(116.950000, 126.598036, 19.391109, 5.049164)
-KOR	South Korea	ENVELOPE(126.099018, 129.586872, 38.625245, 33.192209)
-KHM	Cambodia	ENVELOPE(102.346509, 107.636382, 14.708618, 10.422736)
-LAO	Laos	ENVELOPE(100.091372, 107.695254, 22.499927, 13.926664)
-MYS	Malaysia	ENVELOPE(99.641936, 119.275818, 7.352918, 0.852782)
-MMR	Myanmar	ENVELOPE(92.204991, 101.169427, 28.546527, 9.839582)
-SGP	Singapore	ENVELOPE(103.640945, 103.997945, 1.445282, 1.259027)
-THA	Thailand	ENVELOPE(97.347272, 105.639291, 20.454582, 5.633473)
-VNM	Vietnam	ENVELOPE(102.140745, 109.464845, 23.324164, 8.559236)
-GUM	Guam	ENVELOPE(144.634154, 144.953309, 13.652291, 13.235000)
-MHL	Marshall Is.	ENVELOPE(162.324963, 171.378063, 14.594027, 5.600273)
-FSM	Micronesia	ENVELOPE(158.120100, 163.042891, 6.977636, 5.261664)
-MNP	Northern Mariana Is.	ENVELOPE(145.572682, 145.818082, 15.268191, 14.908054)
-UMI	Wake I.	ENVELOPE(166.608981, 166.662200, 19.324582, 19.279445)
-BWA	Botswana	ENVELOPE(19.996109, 29.373618, -17.782082, -26.875555)
-BDI	Burundi	ENVELOPE(28.985000, 30.853191, -2.301564, -4.448055)
-ATF	French Southern & Antarctic Lands	ENVELOPE(51.650836, 70.567491, -46.327645, -49.725009)
-HMD	Heard I. & McDonald Is.	ENVELOPE(73.234709, 73.773882, -52.965145, -53.199445)
-KEN	Kenya	ENVELOPE(33.907218, 41.905163, 4.622500, -4.669618)
-RWA	Rwanda	ENVELOPE(28.854445, 30.893263, -1.054446, -2.825491)
-TZA	Tanzania	ENVELOPE(29.340827, 40.436809, -0.997218, -11.740418)
-ZMB	Zambia	ENVELOPE(21.996391, 33.702282, -8.191664, -18.074918)
-ZWE	Zimbabwe	ENVELOPE(25.237918, 33.071591, -15.616527, -22.414764)
-ATA	Antarctica	ENVELOPE(-180.000000, 180.000000, -60.503336, -90.000000)
-NOR	Bouvet I.	ENVELOPE(3.342363, 3.484163, -54.383609, -54.462782)
-COM	Comoros	ENVELOPE(43.214027, 44.530418, -11.366946, -12.383055)
-REU	Juan De Nova I.	ENVELOPE(42.723818, 42.760900, -17.052018, -17.076118)
-LSO	Lesotho	ENVELOPE(27.013973, 29.455554, -28.570691, -30.650527)
-MWI	Malawi	ENVELOPE(32.681873, 35.920963, -9.376673, -17.135282)
-MOZ	Mozambique	ENVELOPE(30.213018, 40.846109, -10.471109, -26.860282)
-ZAF	South Africa	ENVELOPE(16.483327, 37.892218, -22.136391, -46.969727)
-SWZ	Swaziland	ENVELOPE(30.798336, 32.133400, -25.728336, -27.316391)
-AGO	Angola	ENVELOPE(11.731245, 24.084445, -4.388991, -18.016391)
-COG	Congo	ENVELOPE(11.140663, 18.643609, 3.711109, -5.015000)
-ZAR	Congo, DRC	ENVELOPE(12.214554, 31.302773, 5.380691, -13.458055)
-FJI	Fiji	ENVELOPE(-180.000000, 180.000000, -16.153473, -19.162782)
-GAB	Gabon	ENVELOPE(8.700836, 14.519582, 2.317900, -3.925282)
-NAM	Namibia	ENVELOPE(11.716391, 25.264427, -16.954173, -28.961873)
-NZL	New Zealand	ENVELOPE(-176.848755, 178.841063, -34.414718, -52.578055)
-IOT	British Indian Ocean Territory	ENVELOPE(72.357900, 72.494282, -7.233473, -7.436246)
-REU	Glorioso Is.	ENVELOPE(47.279091, 47.303054, -11.554100, -11.577782)
-MDG	Madagascar	ENVELOPE(43.236827, 50.501391, -11.945555, -25.588336)
-MUS	Mauritius	ENVELOPE(57.306309, 63.495754, -19.673336, -20.520555)
-MYT	Mayotte	ENVELOPE(45.039163, 45.293345, -12.662500, -12.992500)
-REU	Reunion	ENVELOPE(55.220554, 55.853054, -20.856527, -21.373891)
-SYC	Seychelles	ENVELOPE(46.205691, 55.540554, -4.551664, -9.463055)
-CXR	Christmas I.	ENVELOPE(105.629000, 105.751900, -10.384082, -10.510973)
-CCK	Cocos Is.	ENVELOPE(96.817491, 96.864845, -12.130418, -12.199446)
-IDN	Indonesia	ENVELOPE(95.210945, 141.007018, 5.913473, -10.929655)
-TLS	Timor Leste	ENVELOPE(124.046100, 127.308591, -8.140000, -9.463627)
-AUS	Australia	ENVELOPE(112.907209, 158.960372, -10.135691, -54.753891)
-NRU	Nauru	ENVELOPE(166.904418, 166.957045, -0.493336, -0.552218)
-NCL	New Caledonia	ENVELOPE(163.982745, 168.130509, -20.087918, -22.673891)
-NFK	Norfolk I.	ENVELOPE(167.910945, 167.998872, -29.000555, -29.081109)
-PNG	Papua New Guinea	ENVELOPE(140.858854, 155.966845, -1.355282, -11.642500)
-SLB	Solomon Is.	ENVELOPE(155.671300, 166.931836, -6.605518, -11.845836)
-TUV	Tuvalu	ENVELOPE(176.295254, 179.232281, -6.089446, -8.561291)
-VUT	Vanuatu	ENVELOPE(166.521636, 169.893863, -13.707218, -20.254173)


[54/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/util/BaseGeoPointTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/util/BaseGeoPointTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/util/BaseGeoPointTestCase.java
new file mode 100644
index 0000000..6f2ba8e
--- /dev/null
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/util/BaseGeoPointTestCase.java
@@ -0,0 +1,774 @@
+<<<<<<< HEAD:lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
+=======
+package org.apache.lucene.spatial.util;
+
+>>>>>>> LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module:lucene/spatial/src/test/org/apache/lucene/spatial/util/BaseGeoPointTestCase.java
+/*
+ * 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.lucene.util;
+
+import java.io.IOException;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.MultiDocValues;
+import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.SimpleCollector;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.MockDirectoryWrapper;
+import org.apache.lucene.util.FixedBitSet;
+import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.SloppyMath;
+import org.apache.lucene.util.TestUtil;
+import org.junit.BeforeClass;
+
+// TODO: cutover TestGeoUtils too?
+
+public abstract class BaseGeoPointTestCase extends LuceneTestCase {
+
+  protected static final String FIELD_NAME = "point";
+
+  private static final double LON_SCALE = (0x1L<< GeoUtils.BITS)/360.0D;
+  private static final double LAT_SCALE = (0x1L<<GeoUtils.BITS)/180.0D;
+
+  private static double originLat;
+  private static double originLon;
+  private static double lonRange;
+  private static double latRange;
+
+  @BeforeClass
+  public static void beforeClassBase() throws Exception {
+    // Between 1.0 and 3.0:
+    lonRange = 2 * (random().nextDouble() + 0.5);
+    latRange = 2 * (random().nextDouble() + 0.5);
+
+    originLon = GeoUtils.normalizeLon(GeoUtils.MIN_LON_INCL + lonRange + (GeoUtils.MAX_LON_INCL - GeoUtils.MIN_LON_INCL - 2 * lonRange) * random().nextDouble());
+    originLat = GeoUtils.normalizeLat(GeoUtils.MIN_LAT_INCL + latRange + (GeoUtils.MAX_LAT_INCL - GeoUtils.MIN_LAT_INCL - 2 * latRange) * random().nextDouble());
+  }
+
+  /** Return true when testing on a non-small region may be too slow (GeoPoint*Query) */
+  protected boolean forceSmall() {
+    return false;
+  }
+
+  // A particularly tricky adversary for BKD tree:
+  public void testSamePointManyTimes() throws Exception {
+
+    // For GeoPointQuery, only run this test nightly:
+    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
+
+    int numPoints = atLeast(1000);
+    boolean small = random().nextBoolean();
+
+    // Every doc has 2 points:
+    double theLat = randomLat(small);
+    double theLon = randomLon(small);
+
+    double[] lats = new double[numPoints];
+    Arrays.fill(lats, theLat);
+
+    double[] lons = new double[numPoints];
+    Arrays.fill(lons, theLon);
+
+    verify(small, lats, lons);
+  }
+
+  public void testAllLatEqual() throws Exception {
+
+    // For GeoPointQuery, only run this test nightly:
+    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
+
+    int numPoints = atLeast(10000);
+    boolean small = forceSmall() || random().nextBoolean();
+    double lat = randomLat(small);
+    double[] lats = new double[numPoints];
+    double[] lons = new double[numPoints];
+
+    boolean haveRealDoc = false;
+
+    for(int docID=0;docID<numPoints;docID++) {
+      int x = random().nextInt(20);
+      if (x == 17) {
+        // Some docs don't have a point:
+        lats[docID] = Double.NaN;
+        if (VERBOSE) {
+          System.out.println("  doc=" + docID + " is missing");
+        }
+        continue;
+      }
+
+      if (docID > 0 && x == 14 && haveRealDoc) {
+        int oldDocID;
+        while (true) {
+          oldDocID = random().nextInt(docID);
+          if (Double.isNaN(lats[oldDocID]) == false) {
+            break;
+          }
+        }
+
+        // Fully identical point:
+        lons[docID] = lons[oldDocID];
+        if (VERBOSE) {
+          System.out.println("  doc=" + docID + " lat=" + lat + " lon=" + lons[docID] + " (same lat/lon as doc=" + oldDocID + ")");
+        }
+      } else {
+        lons[docID] = randomLon(small);
+        haveRealDoc = true;
+        if (VERBOSE) {
+          System.out.println("  doc=" + docID + " lat=" + lat + " lon=" + lons[docID]);
+        }
+      }
+      lats[docID] = lat;
+    }
+
+    verify(small, lats, lons);
+  }
+
+  public void testAllLonEqual() throws Exception {
+
+    // For GeoPointQuery, only run this test nightly:
+    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
+
+    int numPoints = atLeast(10000);
+    boolean small = forceSmall() || random().nextBoolean();
+    double theLon = randomLon(small);
+    double[] lats = new double[numPoints];
+    double[] lons = new double[numPoints];
+
+    boolean haveRealDoc = false;
+
+    //System.out.println("theLon=" + theLon);
+
+    for(int docID=0;docID<numPoints;docID++) {
+      int x = random().nextInt(20);
+      if (x == 17) {
+        // Some docs don't have a point:
+        lats[docID] = Double.NaN;
+        if (VERBOSE) {
+          System.out.println("  doc=" + docID + " is missing");
+        }
+        continue;
+      }
+
+      if (docID > 0 && x == 14 && haveRealDoc) {
+        int oldDocID;
+        while (true) {
+          oldDocID = random().nextInt(docID);
+          if (Double.isNaN(lats[oldDocID]) == false) {
+            break;
+          }
+        }
+
+        // Fully identical point:
+        lats[docID] = lats[oldDocID];
+        if (VERBOSE) {
+          System.out.println("  doc=" + docID + " lat=" + lats[docID] + " lon=" + theLon + " (same lat/lon as doc=" + oldDocID + ")");
+        }
+      } else {
+        lats[docID] = randomLat(small);
+        haveRealDoc = true;
+        if (VERBOSE) {
+          System.out.println("  doc=" + docID + " lat=" + lats[docID] + " lon=" + theLon);
+        }
+      }
+      lons[docID] = theLon;
+    }
+
+    verify(small, lats, lons);
+  }
+
+  public void testMultiValued() throws Exception {
+
+    // For GeoPointQuery, only run this test nightly:
+    assumeTrue("GeoPoint*Query is too slow otherwise", TEST_NIGHTLY || forceSmall() == false);
+
+    int numPoints = atLeast(10000);
+    // Every doc has 2 points:
+    double[] lats = new double[2*numPoints];
+    double[] lons = new double[2*numPoints];
+    Directory dir = newDirectory();
+    noVirusChecker(dir);
+    IndexWriterConfig iwc = newIndexWriterConfig();
+    initIndexWriterConfig(FIELD_NAME, iwc);
+
+    // We rely on docID order:
+    iwc.setMergePolicy(newLogMergePolicy());
+    RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc);
+
+    boolean small = random().nextBoolean();
+
+    for (int id=0;id<numPoints;id++) {
+      Document doc = new Document();
+      lats[2*id] = randomLat(small);
+      lons[2*id] = randomLon(small);
+      doc.add(newStringField("id", ""+id, Field.Store.YES));
+      addPointToDoc(FIELD_NAME, doc, lats[2*id], lons[2*id]);
+      lats[2*id+1] = randomLat(small);
+      lons[2*id+1] = randomLon(small);
+      addPointToDoc(FIELD_NAME, doc, lats[2*id+1], lons[2*id+1]);
+
+      if (VERBOSE) {
+        System.out.println("id=" + id);
+        System.out.println("  lat=" + lats[2*id] + " lon=" + lons[2*id]);
+        System.out.println("  lat=" + lats[2*id+1] + " lon=" + lons[2*id+1]);
+      }
+      w.addDocument(doc);
+    }
+
+    // TODO: share w/ verify; just need parallel array of the expected ids
+    if (random().nextBoolean()) {
+      w.forceMerge(1);
+    }
+    IndexReader r = w.getReader();
+    w.close();
+
+    // We can't wrap with "exotic" readers because the BKD query must see the BKDDVFormat:
+    IndexSearcher s = newSearcher(r, false);
+
+    int iters = atLeast(75);
+    for (int iter=0;iter<iters;iter++) {
+      GeoBoundingBox rect = randomRect(small, small == false);
+
+      if (VERBOSE) {
+        System.out.println("\nTEST: iter=" + iter + " rect=" + rect);
+      }
+
+      Query query = newRectQuery(FIELD_NAME, rect);
+
+      final FixedBitSet hits = new FixedBitSet(r.maxDoc());
+      s.search(query, new SimpleCollector() {
+
+          private int docBase;
+
+          @Override
+          public boolean needsScores() {
+            return false;
+          }
+
+          @Override
+          protected void doSetNextReader(LeafReaderContext context) throws IOException {
+            docBase = context.docBase;
+          }
+
+          @Override
+          public void collect(int doc) {
+            hits.set(docBase+doc);
+          }
+        });
+
+      boolean fail = false;
+
+      for(int docID=0;docID<lats.length/2;docID++) {
+        double latDoc1 = lats[2*docID];
+        double lonDoc1 = lons[2*docID];
+        double latDoc2 = lats[2*docID+1];
+        double lonDoc2 = lons[2*docID+1];
+
+        Boolean result1 = rectContainsPoint(rect, latDoc1, lonDoc1);
+        if (result1 == null) {
+          // borderline case: cannot test
+          continue;
+        }
+
+        Boolean result2 = rectContainsPoint(rect, latDoc2, lonDoc2);
+        if (result2 == null) {
+          // borderline case: cannot test
+          continue;
+        }
+
+        boolean expected = result1 == Boolean.TRUE || result2 == Boolean.TRUE;
+
+        if (hits.get(docID) != expected) {
+          String id = s.doc(docID).get("id");
+          if (expected) {
+            System.out.println(Thread.currentThread().getName() + ": id=" + id + " docID=" + docID + " should match but did not");
+          } else {
+            System.out.println(Thread.currentThread().getName() + ": id=" + id + " docID=" + docID + " should not match but did");
+          }
+          System.out.println("  rect=" + rect);
+          System.out.println("  lat=" + latDoc1 + " lon=" + lonDoc1 + "\n  lat=" + latDoc2 + " lon=" + lonDoc2);
+          System.out.println("  result1=" + result1 + " result2=" + result2);
+          fail = true;
+        }
+      }
+
+      if (fail) {
+        fail("some hits were wrong");
+      }
+    }
+    r.close();
+    dir.close();
+  }
+
+  public void testRandomTiny() throws Exception {
+    // Make sure single-leaf-node case is OK:
+    doTestRandom(10);
+  }
+
+  public void testRandomMedium() throws Exception {
+    doTestRandom(10000);
+  }
+
+  @Nightly
+  public void testRandomBig() throws Exception {
+    assumeFalse("Direct codec can OOME on this test", TestUtil.getDocValuesFormat(FIELD_NAME).equals("Direct"));
+    assumeFalse("Memory codec can OOME on this test", TestUtil.getDocValuesFormat(FIELD_NAME).equals("Memory"));
+    doTestRandom(200000);
+  }
+
+  private void doTestRandom(int count) throws Exception {
+
+    int numPoints = atLeast(count);
+
+    if (VERBOSE) {
+      System.out.println("TEST: numPoints=" + numPoints);
+    }
+
+    double[] lats = new double[numPoints];
+    double[] lons = new double[numPoints];
+
+    boolean small = random().nextBoolean();
+
+    boolean haveRealDoc = false;
+
+    for (int id=0;id<numPoints;id++) {
+      int x = random().nextInt(20);
+      if (x == 17) {
+        // Some docs don't have a point:
+        lats[id] = Double.NaN;
+        if (VERBOSE) {
+          System.out.println("  id=" + id + " is missing");
+        }
+        continue;
+      }
+
+      if (id > 0 && x < 3 && haveRealDoc) {
+        int oldID;
+        while (true) {
+          oldID = random().nextInt(id);
+          if (Double.isNaN(lats[oldID]) == false) {
+            break;
+          }
+        }
+
+        if (x == 0) {
+          // Identical lat to old point
+          lats[id] = lats[oldID];
+          lons[id] = randomLon(small);
+          if (VERBOSE) {
+            System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id] + " (same lat as doc=" + oldID + ")");
+          }
+        } else if (x == 1) {
+          // Identical lon to old point
+          lats[id] = randomLat(small);
+          lons[id] = lons[oldID];
+          if (VERBOSE) {
+            System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id] + " (same lon as doc=" + oldID + ")");
+          }
+        } else {
+          assert x == 2;
+          // Fully identical point:
+          lats[id] = lats[oldID];
+          lons[id] = lons[oldID];
+          if (VERBOSE) {
+            System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id] + " (same lat/lon as doc=" + oldID + ")");
+          }
+        }
+      } else {
+        lats[id] = randomLat(small);
+        lons[id] = randomLon(small);
+        haveRealDoc = true;
+        if (VERBOSE) {
+          System.out.println("  id=" + id + " lat=" + lats[id] + " lon=" + lons[id]);
+        }
+      }
+    }
+
+    verify(small, lats, lons);
+  }
+
+  public double randomLat(boolean small) {
+    double result;
+    if (small) {
+      result = GeoUtils.normalizeLat(originLat + latRange * (random().nextDouble() - 0.5));
+    } else {
+      result = -90 + 180.0 * random().nextDouble();
+    }
+    return result;
+  }
+
+  public double randomLon(boolean small) {
+    double result;
+    if (small) {
+      result = GeoUtils.normalizeLon(originLon + lonRange * (random().nextDouble() - 0.5));
+    } else {
+      result = -180 + 360.0 * random().nextDouble();
+    }
+    return result;
+  }
+
+  protected GeoBoundingBox randomRect(boolean small, boolean canCrossDateLine) {
+    double lat0 = randomLat(small);
+    double lat1 = randomLat(small);
+    double lon0 = randomLon(small);
+    double lon1 = randomLon(small);
+
+    if (lat1 < lat0) {
+      double x = lat0;
+      lat0 = lat1;
+      lat1 = x;
+    }
+
+    if (canCrossDateLine == false && lon1 < lon0) {
+      double x = lon0;
+      lon0 = lon1;
+      lon1 = x;
+    }
+
+    return new GeoBoundingBox(lon0, lon1, lat0, lat1);
+  }
+
+  protected void initIndexWriterConfig(String field, IndexWriterConfig iwc) {
+  }
+
+  protected abstract void addPointToDoc(String field, Document doc, double lat, double lon);
+
+  protected abstract Query newRectQuery(String field, GeoBoundingBox bbox);
+
+  protected abstract Query newDistanceQuery(String field, double centerLat, double centerLon, double radiusMeters);
+
+  protected abstract Query newDistanceRangeQuery(String field, double centerLat, double centerLon, double minRadiusMeters, double radiusMeters);
+
+  protected abstract Query newPolygonQuery(String field, double[] lats, double[] lons);
+
+  /** Returns null if it's borderline case */
+  protected abstract Boolean rectContainsPoint(GeoBoundingBox rect, double pointLat, double pointLon);
+
+  /** Returns null if it's borderline case */
+  protected abstract Boolean polyRectContainsPoint(GeoBoundingBox rect, double pointLat, double pointLon);
+
+  /** Returns null if it's borderline case */
+  protected abstract Boolean circleContainsPoint(double centerLat, double centerLon, double radiusMeters, double pointLat, double pointLon);
+
+  protected abstract Boolean distanceRangeContainsPoint(double centerLat, double centerLon, double minRadiusMeters, double radiusMeters, double pointLat, double pointLon);
+
+  private static abstract class VerifyHits {
+
+    public void test(AtomicBoolean failed, boolean small, IndexSearcher s, NumericDocValues docIDToID, Set<Integer> deleted, Query query, double[] lats, double[] lons) throws Exception {
+      int maxDoc = s.getIndexReader().maxDoc();
+      final FixedBitSet hits = new FixedBitSet(maxDoc);
+      s.search(query, new SimpleCollector() {
+
+          private int docBase;
+
+          @Override
+          public boolean needsScores() {
+            return false;
+          }
+
+          @Override
+          protected void doSetNextReader(LeafReaderContext context) throws IOException {
+            docBase = context.docBase;
+          }
+
+          @Override
+          public void collect(int doc) {
+            hits.set(docBase+doc);
+          }
+        });
+
+      boolean fail = false;
+
+      for(int docID=0;docID<maxDoc;docID++) {
+        int id = (int) docIDToID.get(docID);
+        Boolean expected;
+        if (deleted.contains(id)) {
+          expected = false;
+        } else if (Double.isNaN(lats[id])) {
+          expected = false;
+        } else {
+          expected = shouldMatch(lats[id], lons[id]);
+        }
+
+        // null means it's a borderline case which is allowed to be wrong:
+        if (expected != null && hits.get(docID) != expected) {
+          if (expected) {
+            System.out.println(Thread.currentThread().getName() + ": id=" + id + " should match but did not");
+          } else {
+            System.out.println(Thread.currentThread().getName() + ": id=" + id + " should not match but did");
+          }
+          System.out.println("  small=" + small + " query=" + query +
+                             " docID=" + docID + "\n  lat=" + lats[id] + " lon=" + lons[id] +
+                             "\n  deleted?=" + deleted.contains(id));
+          if (Double.isNaN(lats[id]) == false) {
+            describe(docID, lats[id], lons[id]);
+          }
+          fail = true;
+        }
+      }
+
+      if (fail) {
+        failed.set(true);
+        fail("some hits were wrong");
+      }
+    }
+
+    /** Return true if we definitely should match, false if we definitely
+     *  should not match, and null if it's a borderline case which might
+     *  go either way. */
+    protected abstract Boolean shouldMatch(double lat, double lon);
+
+    protected abstract void describe(int docID, double lat, double lon);
+  }
+
+  protected void verify(boolean small, double[] lats, double[] lons) throws Exception {
+    IndexWriterConfig iwc = newIndexWriterConfig();
+    // Else we can get O(N^2) merging:
+    int mbd = iwc.getMaxBufferedDocs();
+    if (mbd != -1 && mbd < lats.length/100) {
+      iwc.setMaxBufferedDocs(lats.length/100);
+    }
+    Directory dir;
+    if (lats.length > 100000) {
+      dir = newFSDirectory(createTempDir(getClass().getSimpleName()));
+    } else {
+      dir = newDirectory();
+    }
+    noVirusChecker(dir);
+
+    Set<Integer> deleted = new HashSet<>();
+    // RandomIndexWriter is too slow here:
+    IndexWriter w = new IndexWriter(dir, iwc);
+    for(int id=0;id<lats.length;id++) {
+      Document doc = new Document();
+      doc.add(newStringField("id", ""+id, Field.Store.NO));
+      doc.add(new NumericDocValuesField("id", id));
+      if (Double.isNaN(lats[id]) == false) {
+        addPointToDoc(FIELD_NAME, doc, lats[id], lons[id]);
+      }
+      w.addDocument(doc);
+      if (id > 0 && random().nextInt(100) == 42) {
+        int idToDelete = random().nextInt(id);
+        w.deleteDocuments(new Term("id", ""+idToDelete));
+        deleted.add(idToDelete);
+        if (VERBOSE) {
+          System.out.println("  delete id=" + idToDelete);
+        }
+      }
+    }
+
+    if (random().nextBoolean()) {
+      w.forceMerge(1);
+    }
+    final IndexReader r = DirectoryReader.open(w);
+    w.close();
+
+    // We can't wrap with "exotic" readers because the BKD query must see the BKDDVFormat:
+    IndexSearcher s = newSearcher(r, false);
+
+    // Make sure queries are thread safe:
+    int numThreads = TestUtil.nextInt(random(), 2, 5);
+
+    List<Thread> threads = new ArrayList<>();
+    final int iters = atLeast(75);
+
+    final CountDownLatch startingGun = new CountDownLatch(1);
+    final AtomicBoolean failed = new AtomicBoolean();
+
+    for(int i=0;i<numThreads;i++) {
+      Thread thread = new Thread() {
+          @Override
+          public void run() {
+            try {
+              _run();
+            } catch (Exception e) {
+              failed.set(true);
+              throw new RuntimeException(e);
+            }
+          }
+
+          private void _run() throws Exception {
+            startingGun.await();
+
+            NumericDocValues docIDToID = MultiDocValues.getNumericValues(r, "id");
+
+            for (int iter=0;iter<iters && failed.get() == false;iter++) {
+
+              if (VERBOSE) {
+                System.out.println("\nTEST: iter=" + iter + " s=" + s);
+              }
+              Query query;
+              VerifyHits verifyHits;
+
+              if (random().nextBoolean()) {
+                // Rect: don't allow dateline crossing when testing small:
+                final GeoBoundingBox rect = randomRect(small, small == false);
+
+                query = newRectQuery(FIELD_NAME, rect);
+
+                verifyHits = new VerifyHits() {
+                    @Override
+                    protected Boolean shouldMatch(double pointLat, double pointLon) {
+                      return rectContainsPoint(rect, pointLat, pointLon);
+                    }
+                    @Override
+                    protected void describe(int docID, double lat, double lon) {
+                    }
+                  };
+
+              } else if (random().nextBoolean()) {
+                // Distance
+                final boolean rangeQuery = random().nextBoolean();
+                final double centerLat = randomLat(small);
+                final double centerLon = randomLon(small);
+
+                double radiusMeters;
+                double minRadiusMeters;
+
+                if (small) {
+                  // Approx 3 degrees lon at the equator:
+                  radiusMeters = random().nextDouble() * 333000 + 1.0;
+                } else {
+                  // So the query can cover at most 50% of the earth's surface:
+                  radiusMeters = random().nextDouble() * GeoProjectionUtils.SEMIMAJOR_AXIS * Math.PI / 2.0 + 1.0;
+                }
+
+                // generate a random minimum radius between 1% and 95% the max radius
+                minRadiusMeters = (0.01 + 0.94 * random().nextDouble()) * radiusMeters;
+
+                if (VERBOSE) {
+                  final DecimalFormat df = new DecimalFormat("#,###.00", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
+                  System.out.println("  radiusMeters = " + df.format(radiusMeters)
+                      + ((rangeQuery == true) ? " minRadiusMeters = " + df.format(minRadiusMeters) : ""));
+                }
+
+                try {
+                  if (rangeQuery == true) {
+                    query = newDistanceRangeQuery(FIELD_NAME, centerLat, centerLon, minRadiusMeters, radiusMeters);
+                  } else {
+                    query = newDistanceQuery(FIELD_NAME, centerLat, centerLon, radiusMeters);
+                  }
+                } catch (IllegalArgumentException e) {
+                  if (e.getMessage().contains("exceeds maxRadius")) {
+                    continue;
+                  }
+                  throw e;
+                }
+
+                verifyHits = new VerifyHits() {
+                    @Override
+                    protected Boolean shouldMatch(double pointLat, double pointLon) {
+                      if (rangeQuery == false) {
+                        return circleContainsPoint(centerLat, centerLon, radiusMeters, pointLat, pointLon);
+                      } else {
+                        return distanceRangeContainsPoint(centerLat, centerLon, minRadiusMeters, radiusMeters, pointLat, pointLon);
+                      }
+                    }
+
+                    @Override
+                    protected void describe(int docID, double pointLat, double pointLon) {
+                      double distanceKM = SloppyMath.haversin(centerLat, centerLon, pointLat, pointLon);
+                      System.out.println("  docID=" + docID + " centerLon=" + centerLon + " centerLat=" + centerLat
+                          + " pointLon=" + pointLon + " pointLat=" + pointLat + " distanceMeters=" + (distanceKM * 1000)
+                          + " vs" + ((rangeQuery == true) ? " minRadiusMeters=" + minRadiusMeters : "") + " radiusMeters=" + radiusMeters);
+                    }
+                   };
+
+              // TODO: get poly query working with dateline crossing too (how?)!
+              } else {
+
+                // TODO: poly query can't handle dateline crossing yet:
+                final GeoBoundingBox bbox = randomRect(small, false);
+
+                // Polygon
+                double[] lats = new double[5];
+                double[] lons = new double[5];
+                lats[0] = bbox.minLat;
+                lons[0] = bbox.minLon;
+                lats[1] = bbox.maxLat;
+                lons[1] = bbox.minLon;
+                lats[2] = bbox.maxLat;
+                lons[2] = bbox.maxLon;
+                lats[3] = bbox.minLat;
+                lons[3] = bbox.maxLon;
+                lats[4] = bbox.minLat;
+                lons[4] = bbox.minLon;
+                query = newPolygonQuery(FIELD_NAME, lats, lons);
+
+                verifyHits = new VerifyHits() {
+                    @Override
+                    protected Boolean shouldMatch(double pointLat, double pointLon) {
+                      return polyRectContainsPoint(bbox, pointLat, pointLon);
+                    }
+
+                    @Override
+                    protected void describe(int docID, double lat, double lon) {
+                    }
+                  };
+              }
+
+              if (query != null) {
+
+                if (VERBOSE) {
+                  System.out.println("  query=" + query);
+                }
+
+                verifyHits.test(failed, small, s, docIDToID, deleted, query, lats, lons);
+              }
+            }
+          }
+      };
+      thread.setName("T" + i);
+      thread.start();
+      threads.add(thread);
+    }
+    startingGun.countDown();
+    for(Thread thread : threads) {
+      thread.join();
+    }
+    IOUtils.close(r, dir);
+    assertFalse(failed.get());
+  }
+
+  protected Directory noVirusChecker(Directory dir) {
+    if (dir instanceof MockDirectoryWrapper) {
+      ((MockDirectoryWrapper) dir).setEnableVirusScanner(false);
+    }
+    return dir;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/util/TestGeoUtils.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/util/TestGeoUtils.java b/lucene/spatial/src/test/org/apache/lucene/spatial/util/TestGeoUtils.java
new file mode 100644
index 0000000..96b1268
--- /dev/null
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/util/TestGeoUtils.java
@@ -0,0 +1,551 @@
+<<<<<<< HEAD:lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
+=======
+package org.apache.lucene.spatial.util;
+
+>>>>>>> LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module:lucene/spatial/src/test/org/apache/lucene/spatial/util/TestGeoUtils.java
+/*
+ * 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.lucene.util;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.BeforeClass;
+
+import com.carrotsearch.randomizedtesting.generators.RandomInts;
+
+import static org.apache.lucene.spatial.util.GeoDistanceUtils.DISTANCE_PCT_ERR;
+
+/**
+ * Tests class for methods in GeoUtils
+ *
+ * @lucene.experimental
+ */
+public class TestGeoUtils extends LuceneTestCase {
+
+  private static final double LON_SCALE = (0x1L<< GeoUtils.BITS)/360.0D;
+  private static final double LAT_SCALE = (0x1L<<GeoUtils.BITS)/180.0D;
+
+  // Global bounding box we will "cover" in the random test; we have to make this "smallish" else the queries take very long:
+  private static double originLat;
+  private static double originLon;
+  //  private static double range;
+  private static double lonRange;
+  private static double latRange;
+
+  @BeforeClass
+  public static void beforeClass() throws Exception {
+    // Between 1.0 and 3.0:
+    lonRange = 2 * (random().nextDouble() + 0.5);
+    latRange = 2 * (random().nextDouble() + 0.5);
+
+    originLon = GeoUtils.MIN_LON_INCL + lonRange + (GeoUtils.MAX_LON_INCL - GeoUtils.MIN_LON_INCL - 2 * lonRange) * random().nextDouble();
+    originLon = GeoUtils.normalizeLon(originLon);
+    originLat = GeoUtils.MIN_LAT_INCL + latRange + (GeoUtils.MAX_LAT_INCL - GeoUtils.MIN_LAT_INCL - 2 * latRange) * random().nextDouble();
+    originLat = GeoUtils.normalizeLat(originLat);
+
+    if (VERBOSE) {
+      System.out.println("TEST: originLon=" + originLon + " lonRange= " + lonRange + " originLat=" + originLat + " latRange=" + latRange);
+    }
+  }
+
+  public void testGeoHash() {
+    int numPoints = atLeast(100);
+    String randomGeoHashString;
+    String mortonGeoHash;
+    long mortonLongFromGHLong, geoHashLong, mortonLongFromGHString;
+    int randomLevel;
+    for (int i = 0; i < numPoints; ++i) {
+      // random point
+      double lat = randomLat(false);
+      double lon = randomLon(false);
+
+      // compute geohash straight from lat/lon and from morton encoded value to ensure they're the same
+      randomGeoHashString = GeoHashUtils.stringEncode(lon, lat, randomLevel = random().nextInt(12 - 1) + 1);
+      mortonGeoHash = GeoHashUtils.stringEncodeFromMortonLong(GeoUtils.mortonHash(lon, lat), randomLevel);
+      assertEquals(randomGeoHashString, mortonGeoHash);
+
+      // v&v conversion from lat/lon or geohashstring to geohash long and back to geohash string
+      geoHashLong = (random().nextBoolean()) ? GeoHashUtils.longEncode(lon, lat, randomLevel) : GeoHashUtils.longEncode(randomGeoHashString);
+      assertEquals(randomGeoHashString, GeoHashUtils.stringEncode(geoHashLong));
+
+      // v&v conversion from geohash long to morton long
+      mortonLongFromGHString = GeoHashUtils.mortonEncode(randomGeoHashString);
+      mortonLongFromGHLong = GeoHashUtils.mortonEncode(geoHashLong);
+      assertEquals(mortonLongFromGHLong, mortonLongFromGHString);
+
+      // v&v lat/lon from geohash string and geohash long
+      assertEquals(GeoUtils.mortonUnhashLat(mortonLongFromGHString), GeoUtils.mortonUnhashLat(mortonLongFromGHLong), 0);
+      assertEquals(GeoUtils.mortonUnhashLon(mortonLongFromGHString), GeoUtils.mortonUnhashLon(mortonLongFromGHLong), 0);
+    }
+  }
+
+  /**
+   * Pass condition: lat=42.6, lng=-5.6 should be encoded as "ezs42e44yx96",
+   * lat=57.64911 lng=10.40744 should be encoded as "u4pruydqqvj8"
+   */
+  public void testEncode() {
+    String hash = GeoHashUtils.stringEncode(-5.6, 42.6, 12);
+    assertEquals("ezs42e44yx96", hash);
+
+    hash = GeoHashUtils.stringEncode(10.40744, 57.64911, 12);
+    assertEquals("u4pruydqqvj8", hash);
+  }
+
+  /**
+   * Pass condition: lat=52.3738007, lng=4.8909347 should be encoded and then
+   * decoded within 0.00001 of the original value
+   */
+  public void testDecodePreciseLongitudeLatitude() {
+    final String geohash = GeoHashUtils.stringEncode(4.8909347, 52.3738007);
+    final long hash = GeoHashUtils.mortonEncode(geohash);
+
+    assertEquals(52.3738007, GeoUtils.mortonUnhashLat(hash), 0.00001D);
+    assertEquals(4.8909347, GeoUtils.mortonUnhashLon(hash), 0.00001D);
+  }
+
+  /**
+   * Pass condition: lat=84.6, lng=10.5 should be encoded and then decoded
+   * within 0.00001 of the original value
+   */
+  public void testDecodeImpreciseLongitudeLatitude() {
+    final String geohash = GeoHashUtils.stringEncode(10.5, 84.6);
+
+    final long hash = GeoHashUtils.mortonEncode(geohash);
+
+    assertEquals(84.6, GeoUtils.mortonUnhashLat(hash), 0.00001D);
+    assertEquals(10.5, GeoUtils.mortonUnhashLon(hash), 0.00001D);
+  }
+
+  public void testDecodeEncode() {
+    final String geoHash = "u173zq37x014";
+    assertEquals(geoHash, GeoHashUtils.stringEncode(4.8909347, 52.3738007));
+    final long mortonHash = GeoHashUtils.mortonEncode(geoHash);
+    final double lon = GeoUtils.mortonUnhashLon(mortonHash);
+    final double lat = GeoUtils.mortonUnhashLat(mortonHash);
+    assertEquals(52.37380061d, GeoUtils.mortonUnhashLat(mortonHash), 0.000001d);
+    assertEquals(4.8909343d, GeoUtils.mortonUnhashLon(mortonHash), 0.000001d);
+
+    assertEquals(geoHash, GeoHashUtils.stringEncode(lon, lat));
+  }
+
+  public void testNeighbors() {
+    String geohash = "gcpv";
+    List<String> expectedNeighbors = new ArrayList<>();
+    expectedNeighbors.add("gcpw");
+    expectedNeighbors.add("gcpy");
+    expectedNeighbors.add("u10n");
+    expectedNeighbors.add("gcpt");
+    expectedNeighbors.add("u10j");
+    expectedNeighbors.add("gcps");
+    expectedNeighbors.add("gcpu");
+    expectedNeighbors.add("u10h");
+    Collection<? super String> neighbors = new ArrayList<>();
+    GeoHashUtils.addNeighbors(geohash, neighbors );
+    assertEquals(expectedNeighbors, neighbors);
+
+    // Border odd geohash
+    geohash = "u09x";
+    expectedNeighbors = new ArrayList<>();
+    expectedNeighbors.add("u0c2");
+    expectedNeighbors.add("u0c8");
+    expectedNeighbors.add("u0cb");
+    expectedNeighbors.add("u09r");
+    expectedNeighbors.add("u09z");
+    expectedNeighbors.add("u09q");
+    expectedNeighbors.add("u09w");
+    expectedNeighbors.add("u09y");
+    neighbors = new ArrayList<>();
+    GeoHashUtils.addNeighbors(geohash, neighbors);
+    assertEquals(expectedNeighbors, neighbors);
+
+    // Border even geohash
+    geohash = "u09tv";
+    expectedNeighbors = new ArrayList<>();
+    expectedNeighbors.add("u09wh");
+    expectedNeighbors.add("u09wj");
+    expectedNeighbors.add("u09wn");
+    expectedNeighbors.add("u09tu");
+    expectedNeighbors.add("u09ty");
+    expectedNeighbors.add("u09ts");
+    expectedNeighbors.add("u09tt");
+    expectedNeighbors.add("u09tw");
+    neighbors = new ArrayList<>();
+    GeoHashUtils.addNeighbors(geohash, neighbors );
+    assertEquals(expectedNeighbors, neighbors);
+
+    // Border even and odd geohash
+    geohash = "ezzzz";
+    expectedNeighbors = new ArrayList<>();
+    expectedNeighbors.add("gbpbn");
+    expectedNeighbors.add("gbpbp");
+    expectedNeighbors.add("u0000");
+    expectedNeighbors.add("ezzzy");
+    expectedNeighbors.add("spbpb");
+    expectedNeighbors.add("ezzzw");
+    expectedNeighbors.add("ezzzx");
+    expectedNeighbors.add("spbp8");
+    neighbors = new ArrayList<>();
+    GeoHashUtils.addNeighbors(geohash, neighbors );
+    assertEquals(expectedNeighbors, neighbors);
+  }
+
+  public void testClosestPointOnBBox() {
+    double[] result = new double[2];
+    GeoDistanceUtils.closestPointOnBBox(20, 30, 40, 50, 70, 70, result);
+    assertEquals(40.0, result[0], 0.0);
+    assertEquals(50.0, result[1], 0.0);
+
+    GeoDistanceUtils.closestPointOnBBox(-20, -20, 0, 0, 70, 70, result);
+    assertEquals(0.0, result[0], 0.0);
+    assertEquals(0.0, result[1], 0.0);
+  }
+
+  private static class Cell {
+    static int nextCellID;
+
+    final Cell parent;
+    final int cellID;
+    final double minLon, maxLon;
+    final double minLat, maxLat;
+    final int splitCount;
+
+    public Cell(Cell parent,
+                double minLon, double minLat,
+                double maxLon, double maxLat,
+                int splitCount) {
+      assert maxLon >= minLon;
+      assert maxLat >= minLat;
+      this.parent = parent;
+      this.minLon = minLon;
+      this.minLat = minLat;
+      this.maxLon = maxLon;
+      this.maxLat = maxLat;
+      this.cellID = nextCellID++;
+      this.splitCount = splitCount;
+    }
+
+    /** Returns true if the quantized point lies within this cell, inclusive on all bounds. */
+    public boolean contains(double lon, double lat) {
+      return lon >= minLon && lon <= maxLon && lat >= minLat && lat <= maxLat;
+    }
+
+    @Override
+    public String toString() {
+      return "cell=" + cellID + (parent == null ? "" : " parentCellID=" + parent.cellID) + " lon: " + minLon + " TO " + maxLon + ", lat: " + minLat + " TO " + maxLat + ", splits: " + splitCount;
+    }
+  }
+
+  public long scaleLon(final double val) {
+    return (long) ((val-GeoUtils.MIN_LON_INCL) * LON_SCALE);
+  }
+
+  public long scaleLat(final double val) {
+    return (long) ((val-GeoUtils.MIN_LAT_INCL) * LAT_SCALE);
+  }
+
+  public double unscaleLon(final long val) {
+    return (val / LON_SCALE) + GeoUtils.MIN_LON_INCL;
+  }
+
+  public double unscaleLat(final long val) {
+    return (val / LAT_SCALE) + GeoUtils.MIN_LAT_INCL;
+  }
+
+  public double randomLat(boolean small) {
+    double result;
+    if (small) {
+      result = GeoUtils.normalizeLat(originLat + latRange * (random().nextDouble() - 0.5));
+    } else {
+      result = -90 + 180.0 * random().nextDouble();
+    }
+    return result;
+  }
+
+  public double randomLon(boolean small) {
+    double result;
+    if (small) {
+      result = GeoUtils.normalizeLon(originLon + lonRange * (random().nextDouble() - 0.5));
+    } else {
+      result = -180 + 360.0 * random().nextDouble();
+    }
+    return result;
+  }
+
+  private void findMatches(Set<Integer> hits, PrintWriter log, Cell root,
+                           double centerLon, double centerLat, double radiusMeters,
+                           double[] docLons, double[] docLats) {
+
+    if (VERBOSE) {
+      log.println("  root cell: " + root);
+    }
+
+    List<Cell> queue = new ArrayList<>();
+    queue.add(root);
+
+    int recurseDepth = RandomInts.randomIntBetween(random(), 5, 15);
+
+    while (queue.size() > 0) {
+      Cell cell = queue.get(queue.size()-1);
+      queue.remove(queue.size()-1);
+      if (VERBOSE) {
+        log.println("  cycle: " + cell + " queue.size()=" + queue.size());
+      }
+
+      if (random().nextInt(10) == 7 || cell.splitCount > recurseDepth) {
+        if (VERBOSE) {
+          log.println("    leaf");
+        }
+        // Leaf cell: brute force check all docs that fall within this cell:
+        for(int docID=0;docID<docLons.length;docID++) {
+          if (cell.contains(docLons[docID], docLats[docID])) {
+            double distanceMeters = GeoDistanceUtils.haversin(centerLat, centerLon, docLats[docID], docLons[docID]);
+            if (distanceMeters <= radiusMeters) {
+              if (VERBOSE) {
+                log.println("    check doc=" + docID + ": match!");
+              }
+              hits.add(docID);
+            } else {
+              if (VERBOSE) {
+                log.println("    check doc=" + docID + ": no match");
+              }
+            }
+          }
+        }
+      } else {
+
+        if (GeoRelationUtils.rectWithinCircle(cell.minLon, cell.minLat, cell.maxLon, cell.maxLat, centerLon, centerLat, radiusMeters)) {
+          // Query circle fully contains this cell, just addAll:
+          if (VERBOSE) {
+            log.println("    circle fully contains cell: now addAll");
+          }
+          for(int docID=0;docID<docLons.length;docID++) {
+            if (cell.contains(docLons[docID], docLats[docID])) {
+              if (VERBOSE) {
+                log.println("    addAll doc=" + docID);
+              }
+              hits.add(docID);
+            }
+          }
+          continue;
+        } else if (GeoRelationUtils.rectWithin(root.minLon, root.minLat, root.maxLon, root.maxLat,
+                                       cell.minLon, cell.minLat, cell.maxLon, cell.maxLat)) {
+          // Fall through below to "recurse"
+          if (VERBOSE) {
+            log.println("    cell fully contains circle: keep splitting");
+          }
+        } else if (GeoRelationUtils.rectCrossesCircle(cell.minLon, cell.minLat, cell.maxLon, cell.maxLat,
+                                              centerLon, centerLat, radiusMeters)) {
+          // Fall through below to "recurse"
+          if (VERBOSE) {
+            log.println("    cell overlaps circle: keep splitting");
+          }
+        } else {
+          if (VERBOSE) {
+            log.println("    no overlap: drop this cell");
+            for(int docID=0;docID<docLons.length;docID++) {
+              if (cell.contains(docLons[docID], docLats[docID])) {
+                if (VERBOSE) {
+                  log.println("    skip doc=" + docID);
+                }
+              }
+            }
+          }
+          continue;
+        }
+
+        // Randomly split:
+        if (random().nextBoolean()) {
+
+          // Split on lon:
+          double splitValue = cell.minLon + (cell.maxLon - cell.minLon) * random().nextDouble();
+          if (VERBOSE) {
+            log.println("    now split on lon=" + splitValue);
+          }
+          Cell cell1 = new Cell(cell,
+                                cell.minLon, cell.minLat,
+                                splitValue, cell.maxLat,
+                                cell.splitCount+1);
+          Cell cell2 = new Cell(cell,
+                                splitValue, cell.minLat,
+                                cell.maxLon, cell.maxLat,
+                                cell.splitCount+1);
+          if (VERBOSE) {
+            log.println("    split cell1: " + cell1);
+            log.println("    split cell2: " + cell2);
+          }
+          queue.add(cell1);
+          queue.add(cell2);
+        } else {
+
+          // Split on lat:
+          double splitValue = cell.minLat + (cell.maxLat - cell.minLat) * random().nextDouble();
+          if (VERBOSE) {
+            log.println("    now split on lat=" + splitValue);
+          }
+          Cell cell1 = new Cell(cell,
+                                cell.minLon, cell.minLat,
+                                cell.maxLon, splitValue,
+                                cell.splitCount+1);
+          Cell cell2 = new Cell(cell,
+                                cell.minLon, splitValue,
+                                cell.maxLon, cell.maxLat,
+                                cell.splitCount+1);
+          if (VERBOSE) {
+            log.println("    split cells:\n      " + cell1 + "\n      " + cell2);
+          }
+          queue.add(cell1);
+          queue.add(cell2);
+        }
+      }
+    }
+  }
+
+  /** Tests consistency of GeoUtils.rectWithinCircle, .rectCrossesCircle, .rectWithin and SloppyMath.haversine distance check */
+  public void testGeoRelations() throws Exception {
+
+    int numDocs = atLeast(1000);
+
+    boolean useSmallRanges = random().nextBoolean();
+
+    if (VERBOSE) {
+      System.out.println("TEST: " + numDocs + " docs useSmallRanges=" + useSmallRanges);
+    }
+
+    double[] docLons = new double[numDocs];
+    double[] docLats = new double[numDocs];
+    for(int docID=0;docID<numDocs;docID++) {
+      docLons[docID] = randomLon(useSmallRanges);
+      docLats[docID] = randomLat(useSmallRanges);
+      if (VERBOSE) {
+        System.out.println("  doc=" + docID + ": lon=" + docLons[docID] + " lat=" + docLats[docID]);
+      }
+    }
+
+    int iters = atLeast(10);
+
+    iters = atLeast(50);
+
+    for(int iter=0;iter<iters;iter++) {
+
+      Cell.nextCellID = 0;
+
+      double centerLon = randomLon(useSmallRanges);
+      double centerLat = randomLat(useSmallRanges);
+
+      // So the circle covers at most 50% of the earth's surface:
+
+      double radiusMeters;
+
+      // TODO: large exotic rectangles created by BKD may be inaccurate up to 2 times DISTANCE_PCT_ERR.
+      // restricting size until LUCENE-6994 can be addressed
+      if (true || useSmallRanges) {
+        // Approx 3 degrees lon at the equator:
+        radiusMeters = random().nextDouble() * 333000;
+      } else {
+        radiusMeters = random().nextDouble() * GeoProjectionUtils.SEMIMAJOR_AXIS * Math.PI / 2.0;
+      }
+
+      StringWriter sw = new StringWriter();
+      PrintWriter log = new PrintWriter(sw, true);
+
+      if (VERBOSE) {
+        log.println("\nTEST: iter=" + iter + " radiusMeters=" + radiusMeters + " centerLon=" + centerLon + " centerLat=" + centerLat);
+      }
+
+      GeoBoundingBox bbox = GeoUtils.circleToBBox(centerLon, centerLat, radiusMeters);
+
+      Set<Integer> hits = new HashSet<>();
+
+      if (bbox.maxLon < bbox.minLon) {
+        // Crosses dateline
+        log.println("  circle crosses dateline; first left query");
+        double unwrappedLon = centerLon;
+        if (unwrappedLon > bbox.maxLon) {
+          // unwrap left
+          unwrappedLon += -360.0D;
+        }
+        findMatches(hits, log,
+                    new Cell(null,
+                             -180, bbox.minLat,
+                             bbox.maxLon, bbox.maxLat,
+                             0),
+                    unwrappedLon, centerLat, radiusMeters, docLons, docLats);
+        log.println("  circle crosses dateline; now right query");
+        if (unwrappedLon < bbox.maxLon) {
+          // unwrap right
+          unwrappedLon += 360.0D;
+        }
+        findMatches(hits, log,
+                    new Cell(null,
+                             bbox.minLon, bbox.minLat,
+                             180, bbox.maxLat,
+                             0),
+                    unwrappedLon, centerLat, radiusMeters, docLons, docLats);
+      } else {
+        // Start with the root cell that fully contains the shape:
+        findMatches(hits, log,
+                    new Cell(null,
+                             bbox.minLon, bbox.minLat,
+                             bbox.maxLon, bbox.maxLat,
+                             0),
+                    centerLon, centerLat, radiusMeters,
+                    docLons, docLats);
+      }
+
+      if (VERBOSE) {
+        log.println("  " + hits.size() + " hits");
+      }
+
+      int failCount = 0;
+
+      // Done matching, now verify:
+      for(int docID=0;docID<numDocs;docID++) {
+        double distanceMeters = GeoDistanceUtils.haversin(centerLat, centerLon, docLats[docID], docLons[docID]);
+        final Boolean expected;
+        final double percentError = Math.abs(distanceMeters - radiusMeters) / distanceMeters;
+        if (percentError <= DISTANCE_PCT_ERR) {
+          expected = null;
+        } else {
+          expected = distanceMeters <= radiusMeters;
+        }
+
+        boolean actual = hits.contains(docID);
+        if (expected != null && actual != expected) {
+          if (actual) {
+            log.println("doc=" + docID + " matched but should not with distance error " + percentError + " on iteration " + iter);
+          } else {
+            log.println("doc=" + docID + " did not match but should with distance error " + percentError + " on iteration " + iter);
+          }
+          log.println("  lon=" + docLons[docID] + " lat=" + docLats[docID] + " distanceMeters=" + distanceMeters + " vs radiusMeters=" + radiusMeters);
+          failCount++;
+        }
+      }
+
+      if (failCount != 0) {
+        System.out.print(sw.toString());
+        fail(failCount + " incorrect hits (see above)");
+      }
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
deleted file mode 100644
index d62a0a8..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.lucene.spatial.vector;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.SpatialMatchConcern;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.IOException;
-
-public class TestPointVectorStrategy extends StrategyTestCase {
-
-  @Before
-  @Override
-  public void setUp() throws Exception {
-    super.setUp();
-    this.ctx = SpatialContext.GEO;
-    this.strategy = new PointVectorStrategy(ctx, getClass().getSimpleName());
-  }
-
-  @Test
-  public void testCircleShapeSupport() {
-    Circle circle = ctx.makeCircle(ctx.makePoint(0, 0), 10);
-    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, circle);
-    Query query = this.strategy.makeQuery(args);
-
-    assertNotNull(query);
-  }
-
-  @Test(expected = UnsupportedOperationException.class)
-  public void testInvalidQueryShape() {
-    Point point = ctx.makePoint(0, 0);
-    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, point);
-    this.strategy.makeQuery(args);
-  }
-
-  @Test
-  public void testCitiesIntersectsBBox() throws IOException {
-    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/solr/common-build.xml
----------------------------------------------------------------------
diff --git a/solr/common-build.xml b/solr/common-build.xml
index eab251b..6a06928 100644
--- a/solr/common-build.xml
+++ b/solr/common-build.xml
@@ -100,7 +100,7 @@
     <pathelement location="${highlighter.jar}"/>
     <pathelement location="${memory.jar}"/>
     <pathelement location="${misc.jar}"/>
-    <pathelement location="${spatial.jar}"/>
+    <pathelement location="${spatial-extras.jar}"/>
     <pathelement location="${expressions.jar}"/>
     <pathelement location="${suggest.jar}"/>
     <pathelement location="${grouping.jar}"/>
@@ -169,7 +169,7 @@
 
   <target name="prep-lucene-jars" 
           depends="jar-lucene-core, jar-backward-codecs, jar-analyzers-phonetic, jar-analyzers-kuromoji, jar-codecs,jar-expressions, jar-suggest, jar-highlighter, jar-memory,
-                   jar-misc, jar-spatial, jar-grouping, jar-queries, jar-queryparser, jar-join, jar-sandbox">
+                   jar-misc, jar-spatial-extras, jar-grouping, jar-queries, jar-queryparser, jar-join, jar-sandbox">
       <property name="solr.deps.compiled" value="true"/>
   </target>
   
@@ -245,7 +245,7 @@
   <property name="lucenedocs" location="${common.dir}/build/docs"/>
 
   <!-- dependency to ensure all lucene javadocs are present -->
-  <target name="lucene-javadocs" depends="javadocs-lucene-core,javadocs-analyzers-common,javadocs-analyzers-icu,javadocs-analyzers-kuromoji,javadocs-analyzers-phonetic,javadocs-analyzers-smartcn,javadocs-analyzers-morfologik,javadocs-analyzers-stempel,javadocs-analyzers-uima,javadocs-backward-codecs,javadocs-codecs,javadocs-expressions,javadocs-suggest,javadocs-grouping,javadocs-queries,javadocs-queryparser,javadocs-highlighter,javadocs-memory,javadocs-misc,javadocs-spatial,javadocs-join,javadocs-test-framework"/>
+  <target name="lucene-javadocs" depends="javadocs-lucene-core,javadocs-analyzers-common,javadocs-analyzers-icu,javadocs-analyzers-kuromoji,javadocs-analyzers-phonetic,javadocs-analyzers-smartcn,javadocs-analyzers-morfologik,javadocs-analyzers-stempel,javadocs-analyzers-uima,javadocs-backward-codecs,javadocs-codecs,javadocs-expressions,javadocs-suggest,javadocs-grouping,javadocs-queries,javadocs-queryparser,javadocs-highlighter,javadocs-memory,javadocs-misc,javadocs-spatial-extras,javadocs-join,javadocs-test-framework"/>
 
   <!-- create javadocs for the current module -->
   <target name="javadocs" depends="compile-core,define-lucene-javadoc-url,lucene-javadocs,javadocs-solr-core,check-javadocs-uptodate" unless="javadocs-uptodate-${name}">
@@ -322,7 +322,7 @@
           <link offline="true" href="${lucene.javadoc.url}highlighter" packagelistloc="${lucenedocs}/highlighter"/>
           <link offline="true" href="${lucene.javadoc.url}memory" packagelistloc="${lucenedocs}/memory"/>
           <link offline="true" href="${lucene.javadoc.url}misc" packagelistloc="${lucenedocs}/misc"/>
-          <link offline="true" href="${lucene.javadoc.url}spatial" packagelistloc="${lucenedocs}/spatial"/>
+          <link offline="true" href="${lucene.javadoc.url}spatial-extras" packagelistloc="${lucenedocs}/spatial-extras"/>
           <links/>
           <link href=""/>
         </sources>


[45/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java
index ee8a36a..337a562 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.java
@@ -1,7 +1,5 @@
 /* The following code was generated by JFlex 1.6.0 */
 
-package org.apache.lucene.analysis.wikipedia;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.analysis.wikipedia;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.wikipedia;
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex
index 5293bbb..404fbd6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerImpl.jflex
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.wikipedia;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis.wikipedia;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.wikipedia;
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/package-info.java
index 65708d8..1bfb36a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Tokenizer that is aware of Wikipedia syntax.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationAttributeFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationAttributeFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationAttributeFactory.java
index 64ece61..6de59c8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationAttributeFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationAttributeFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import java.text.Collator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationDocValuesField.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationDocValuesField.java
index d77f05a..507abfd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationDocValuesField.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import java.text.Collator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
index e3b97d7..08501b9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/CollationKeyAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/collation/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/package-info.java
index 19a1c7e..e7c248f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  *  Unicode collation support.
  *  <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/CollatedTermAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/CollatedTermAttributeImpl.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/CollatedTermAttributeImpl.java
index e8f7076..d997505 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/CollatedTermAttributeImpl.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/CollatedTermAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation.tokenattributes;
+
 
 import java.text.Collator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/package-info.java
index eee13c4..14742a2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/collation/tokenattributes/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Custom {@link org.apache.lucene.util.AttributeImpl} for indexing collation keys as index terms.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/tartarus/snowball/ext/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/package-info.java b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/package-info.java
index 6d2d43b..64bb5c1 100644
--- a/lucene/analysis/common/src/java/org/tartarus/snowball/ext/package-info.java
+++ b/lucene/analysis/common/src/java/org/tartarus/snowball/ext/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Autogenerated snowball stemmer implementations.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/tartarus/snowball/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/tartarus/snowball/package-info.java b/lucene/analysis/common/src/java/org/tartarus/snowball/package-info.java
index b335dc1..2e31343 100644
--- a/lucene/analysis/common/src/java/org/tartarus/snowball/package-info.java
+++ b/lucene/analysis/common/src/java/org/tartarus/snowball/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Snowball stemmer API
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
index 1881f8b..9842687 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
index 547d7ca..7bc9abc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
index b3ddfb0..03d13e3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
index 09169bf..ca15485 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
index a5b82a8..7f890b9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
index d169311..7edd86b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
index 476c156..daad7bb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
index 23500d3..6158b33 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.br;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.br;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.br;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
index 6cce894..b325797 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.br;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.br;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.br;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
index 661f49a..fd65332 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ca;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ca;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ca;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterTest.java
index fb07cee..cf6c65a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
+
 
 import java.io.BufferedReader;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
index 1e9a4fd..f3a0b71 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
index 40a845c..bb4ebc9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.charfilter;
 
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
index 89fb680..b1c730f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
+
 
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
index 71a1a69..72c510c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
index 8f81756..35facbf 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
index 4e9c16b..6828d51 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
index 0e6f290..63e4fd7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
index 2f7c594..c9e8088 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
index 35aa20e..d08817c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
index 4e8f352..096ef48 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
index 7fe3e7b..b1027b2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
index 1bae690..0d95033 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
index 0868a39..384ea9e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
index 3c36907..e1838b4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.commongrams;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.commongrams;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.commongrams;
+
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
index e5ea0a6..8ed2e40 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.commongrams;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.commongrams;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.commongrams;
+
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
index 4149c57..636d9ba 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
index 8ba400e..76532aa 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
index d8dee0e..31f65d3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
index 559db2d..f8874eb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
index 2576b62..9772203 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
index 32d2c78..e69d5b8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.analysis.core;
 
 import java.io.IOException;
@@ -27,22 +43,6 @@ import org.apache.lucene.analysis.util.CharArraySet;
 import org.apache.lucene.analysis.wikipedia.WikipediaTokenizer;
 import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
 
-/*
- * 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.
- */
 
 @SuppressCodecs("Direct")
 public class TestBugInSomething extends BaseTokenStreamTestCase {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
index e73319f..ae25193 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
index 1edccad..112f009 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
index b76465e..689d683 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
index 8150fda..956a394 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
index e03a5f2..d45b1e3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.StringReader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
index d218d89..5c25471 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
index 36b5d41..f7552c8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java
index 1d6a96a..25b89d9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilter.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.core;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
 
 import java.io.IOException;
 import java.io.StringReader;
@@ -29,7 +29,6 @@ import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
 import org.apache.lucene.analysis.util.CharArraySet;
 import org.apache.lucene.util.English;
 
-
 public class TestStopFilter extends BaseTokenStreamTestCase {
   
   // other StopFilter functionality is already tested by TestStopAnalyzer

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
index db60696..1d0aa8a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.util.CharArraySet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
index 1f546ca..5f881d8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
index 7fad96e..f7a1f62 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
index a9565fb..acdb670 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
index cd564f7..86088c0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.custom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.custom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.custom;
+
 
 import java.nio.file.Paths;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
index a8505cb..75ec358 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cz;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
index aa797ce..81fbfc7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cz;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
index 259e948..7463f1d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cz;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
index 3df5800..918962b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.da;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.da;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.da;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
index 2a4917a..0e1f093 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
index f248b2e..75c4499 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
index c9d73c5..6d52e3b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
index 3900aa9..80228f7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
index 721a6e9..e571cea 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
index 910bc50..77d71b4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
index 075decd..02effb3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
index 975d1ce..7bf8661 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
index ddd34d8..1383ec0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java
index d16aff3..39eae8f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/GreekAnalyzerTest.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.el;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
index d671e13..85d516d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.el;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
index 6a626bf..75d7c4c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.el;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
index 16bb0f3..e1b9f59 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.el;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
index be0a36b..1fcbbbc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
index 64b3730..bf1335f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
index 212ae3b..547a127 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
index 22052b3..acefd6c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.Reader;
 import java.io.StringReader;


[68/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
deleted file mode 100644
index c534a5b..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.BitDocIdSet;
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.FixedBitSet;
-
-/**
- * Finds docs where its indexed shape is {@link org.apache.lucene.spatial.query.SpatialOperation#IsWithin
- * WITHIN} the query shape.  It works by looking at cells outside of the query
- * shape to ensure documents there are excluded. By default, it will
- * examine all cells, and it's fairly slow.  If you know that the indexed shapes
- * are never comprised of multiple disjoint parts (which also means it is not multi-valued),
- * then you can pass {@code SpatialPrefixTree.getDistanceForLevel(maxLevels)} as
- * the {@code queryBuffer} constructor parameter to minimally look this distance
- * beyond the query shape's edge.  Even if the indexed shapes are sometimes
- * comprised of multiple disjoint parts, you might want to use this option with
- * a large buffer as a faster approximation with minimal false-positives.
- *
- * @lucene.experimental
- */
-public class WithinPrefixTreeQuery extends AbstractVisitingPrefixTreeQuery {
-  //TODO LUCENE-4869: implement faster algorithm based on filtering out false-positives of a
-  //  minimal query buffer by looking in a DocValues cache holding a representative
-  //  point of each disjoint component of a document's shape(s).
-
-  //TODO Could the recursion in allCellsIntersectQuery() be eliminated when non-fuzzy or other
-  //  circumstances?
-
-  private final Shape bufferedQueryShape;//if null then the whole world
-
-  /**
-   * See {@link AbstractVisitingPrefixTreeQuery#AbstractVisitingPrefixTreeQuery(com.spatial4j.core.shape.Shape, String, org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree, int, int)}.
-   * {@code queryBuffer} is the (minimum) distance beyond the query shape edge
-   * where non-matching documents are looked for so they can be excluded. If
-   * -1 is used then the whole world is examined (a good default for correctness).
-   */
-  public WithinPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid,
-                               int detailLevel, int prefixGridScanLevel,
-                               double queryBuffer) {
-    super(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel);
-    this.bufferedQueryShape = queryBuffer == -1 ? null : bufferShape(queryShape, queryBuffer);
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (!super.equals(o)) return false;//checks getClass == o.getClass & instanceof
-
-    WithinPrefixTreeQuery that = (WithinPrefixTreeQuery) o;
-
-    if (bufferedQueryShape != null ? !bufferedQueryShape.equals(that.bufferedQueryShape) : that.bufferedQueryShape != null)
-      return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + (bufferedQueryShape != null ? bufferedQueryShape.hashCode() : 0);
-    return result;
-  }
-  
-  @Override
-  public String toString(String field) {
-    return getClass().getSimpleName() + "(" +
-             "fieldName=" + fieldName + "," +
-             "queryShape=" + queryShape + "," +
-             "detailLevel=" + detailLevel + "," +
-             "prefixGridScanLevel=" + prefixGridScanLevel +
-           ")";
-  }
-
-  /** Returns a new shape that is larger than shape by at distErr.
-   */
-  //TODO move this generic code elsewhere?  Spatial4j?
-  protected Shape bufferShape(Shape shape, double distErr) {
-    if (distErr <= 0)
-      throw new IllegalArgumentException("distErr must be > 0");
-    SpatialContext ctx = grid.getSpatialContext();
-    if (shape instanceof Point) {
-      return ctx.makeCircle((Point)shape, distErr);
-    } else if (shape instanceof Circle) {
-      Circle circle = (Circle) shape;
-      double newDist = circle.getRadius() + distErr;
-      if (ctx.isGeo() && newDist > 180)
-        newDist = 180;
-      return ctx.makeCircle(circle.getCenter(), newDist);
-    } else {
-      Rectangle bbox = shape.getBoundingBox();
-      double newMinX = bbox.getMinX() - distErr;
-      double newMaxX = bbox.getMaxX() + distErr;
-      double newMinY = bbox.getMinY() - distErr;
-      double newMaxY = bbox.getMaxY() + distErr;
-      if (ctx.isGeo()) {
-        if (newMinY < -90)
-          newMinY = -90;
-        if (newMaxY > 90)
-          newMaxY = 90;
-        if (newMinY == -90 || newMaxY == 90 || bbox.getWidth() + 2*distErr > 360) {
-          newMinX = -180;
-          newMaxX = 180;
-        } else {
-          newMinX = DistanceUtils.normLonDEG(newMinX);
-          newMaxX = DistanceUtils.normLonDEG(newMaxX);
-        }
-      } else {
-        //restrict to world bounds
-        newMinX = Math.max(newMinX, ctx.getWorldBounds().getMinX());
-        newMaxX = Math.min(newMaxX, ctx.getWorldBounds().getMaxX());
-        newMinY = Math.max(newMinY, ctx.getWorldBounds().getMinY());
-        newMaxY = Math.min(newMaxY, ctx.getWorldBounds().getMaxY());
-      }
-      return ctx.makeRectangle(newMinX, newMaxX, newMinY, newMaxY);
-    }
-  }
-
-
-  @Override
-  protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
-    return new VisitorTemplate(context) {
-      private FixedBitSet inside;
-      private FixedBitSet outside;
-
-      @Override
-      protected void start() {
-        inside = new FixedBitSet(maxDoc);
-        outside = new FixedBitSet(maxDoc);
-      }
-
-      @Override
-      protected DocIdSet finish() {
-        inside.andNot(outside);
-        return new BitDocIdSet(inside);
-      }
-
-      @Override
-      protected CellIterator findSubCellsToVisit(Cell cell) {
-        //use buffered query shape instead of orig.  Works with null too.
-        return cell.getNextLevelCells(bufferedQueryShape);
-      }
-
-      @Override
-      protected boolean visitPrefix(Cell cell) throws IOException {
-        //cell.relate is based on the bufferedQueryShape; we need to examine what
-        // the relation is against the queryShape
-        SpatialRelation visitRelation = cell.getShape().relate(queryShape);
-        if (cell.getLevel() == detailLevel) {
-          collectDocs(visitRelation.intersects() ? inside : outside);
-          return false;
-        } else if (visitRelation == SpatialRelation.WITHIN) {
-          collectDocs(inside);
-          return false;
-        } else if (visitRelation == SpatialRelation.DISJOINT) {
-          collectDocs(outside);
-          return false;
-        }
-        return true;
-      }
-
-      @Override
-      protected void visitLeaf(Cell cell) throws IOException {
-        if (allCellsIntersectQuery(cell))
-          collectDocs(inside);
-        else
-          collectDocs(outside);
-      }
-
-      /** Returns true if the provided cell, and all its sub-cells down to
-       * detailLevel all intersect the queryShape.
-       */
-      private boolean allCellsIntersectQuery(Cell cell) {
-        SpatialRelation relate = cell.getShape().relate(queryShape);
-        if (cell.getLevel() == detailLevel)
-          return relate.intersects();
-        if (relate == SpatialRelation.WITHIN)
-          return true;
-        if (relate == SpatialRelation.DISJOINT)
-          return false;
-        // Note: Generating all these cells just to determine intersection is not ideal.
-        // The real solution is LUCENE-4869.
-        CellIterator subCells = cell.getNextLevelCells(null);
-        while (subCells.hasNext()) {
-          Cell subCell = subCells.next();
-          if (!allCellsIntersectQuery(subCell))//recursion
-            return false;
-        }
-        return true;
-      }
-
-      @Override
-      protected void visitScanned(Cell cell) throws IOException {
-        visitLeaf(cell);//collects as we want, even if not a leaf
-//        if (cell.isLeaf()) {
-//          visitLeaf(cell);
-//        } else {
-//          visitPrefix(cell);
-//        }
-      }
-
-    }.getDocIdSet();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
deleted file mode 100644
index fe3846d..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * Represents a grid cell. Cell instances are generally very transient and may be re-used
- * internally.  To get an instance, you could start with {@link SpatialPrefixTree#getWorldCell()}.
- * And from there you could either traverse down the tree with {@link #getNextLevelCells(com.spatial4j.core.shape.Shape)},
- * or you could read an indexed term via {@link SpatialPrefixTree#readCell(org.apache.lucene.util.BytesRef,Cell)}.
- * When a cell is read from a term, it is comprised of just the base bytes plus optionally a leaf flag.
- *
- * @lucene.experimental
- */
-public interface Cell {
-
-//  If we bring this back; perhaps do so as a method that un-shares its internal state: void unshare();
-//  /** Resets the state of this cell such that it is identical to {@code source}. This can be used for
-//   * cloning a cell to have a safe copy, and it also might be used to position this cell
-//   * before calling {@link #readCell(org.apache.lucene.util.BytesRef)} in a loop if you know the first term
-//   * is going to be close to some other cell, thereby saving some computations. */
-//  void copyFrom(Cell source);
-
-  /** Gets the relationship this cell has with the shape from which it was filtered from, assuming it came from a
-   * {@link CellIterator}. Arguably it belongs there but it's very convenient here. */
-  SpatialRelation getShapeRel();
-
-  /** See {@link #getShapeRel()}.
-   * @lucene.internal */
-  void setShapeRel(SpatialRelation rel);
-
-  /**
-   * Some cells are flagged as leaves, which are indexed as such. A leaf cell is either within some
-   * shape or it both intersects and the cell is at an accuracy threshold such that no smaller cells
-   * for the shape will be represented.
-   */
-  boolean isLeaf();
-
-  /** Set this cell to be a leaf. Warning: never call on a cell
-   * initialized to reference the same bytes from termsEnum, which should be treated as immutable.
-   * Note: not supported at level 0.
-   * @lucene.internal */
-  void setLeaf();
-
-  /**
-   * Returns the bytes for this cell, with a leaf byte <em>if this is a leaf cell</em>.
-   * The result param is used to save object allocation, though its bytes aren't used.
-   * @param result where the result goes, or null to create new
-   */
-  BytesRef getTokenBytesWithLeaf(BytesRef result);
-
-  /**
-   * Returns the bytes for this cell, without a leaf set. The bytes should sort before
-   * {@link #getTokenBytesWithLeaf(org.apache.lucene.util.BytesRef)}.
-   * The result param is used to save object allocation, though its bytes aren't used.
-   * @param result where the result goes, or null to create new
-   */
-  BytesRef getTokenBytesNoLeaf(BytesRef result);
-
-  /** Level 0 is the world (and has no parent), from then on a higher level means a smaller
-   * cell than the level before it.
-   */
-  int getLevel();
-
-  /**
-   * Gets the cells at the next grid cell level underneath this one, optionally filtered by
-   * {@code shapeFilter}. The returned cells should have {@link #getShapeRel()} set to
-   * their relation with {@code shapeFilter}.  In addition, for non-points {@link #isLeaf()}
-   * must be true when that relation is WITHIN.
-   * <p>
-   * IMPORTANT: Cells returned from this iterator can be shared, as well as the bytes.
-   * <p>
-   * Precondition: Never called when getLevel() == maxLevel.
-   *
-   * @param shapeFilter an optional filter for the returned cells.
-   * @return A set of cells (no dups), sorted. Not Modifiable.
-   */
-  CellIterator getNextLevelCells(Shape shapeFilter);
-
-  /** Gets the shape for this cell; typically a Rectangle. */
-  Shape getShape();
-
-  /**
-   * Returns if the target term is within/underneath this cell; not necessarily a direct
-   * descendant.
-   * @param c the term
-   */
-  boolean isPrefixOf(Cell c);
-
-  /** Equivalent to {@code this.getTokenBytesNoLeaf(null).compareTo(fromCell.getTokenBytesNoLeaf(null))}. */
-  int compareToNoLeaf(Cell fromCell);
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
deleted file mode 100644
index 1cef37a..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-/**
- * An Iterator of SpatialPrefixTree Cells. The order is always sorted without duplicates.
- *
- * @lucene.experimental
- */
-public abstract class CellIterator implements Iterator<Cell> {
-
-  //note: nextCell or thisCell can be non-null but neither at the same time. That's
-  // because they might return the same instance when re-used!
-
-  protected Cell nextCell;//to be returned by next(), and null'ed after
-  protected Cell thisCell;//see next() & thisCell(). Should be cleared in hasNext().
-
-  /** Returns the cell last returned from {@link #next()}. It's cleared by hasNext(). */
-  public Cell thisCell() {
-    assert thisCell != null : "Only call thisCell() after next(), not hasNext()";
-    return thisCell;
-  }
-
-  // Arguably this belongs here and not on Cell
-  //public SpatialRelation getShapeRel()
-
-  /**
-   * Gets the next cell that is &gt;= {@code fromCell}, compared using non-leaf bytes. If it returns null then
-   * the iterator is exhausted.
-   */
-  public Cell nextFrom(Cell fromCell) {
-    while (true) {
-      if (!hasNext())
-        return null;
-      Cell c = next();//will update thisCell
-      if (c.compareToNoLeaf(fromCell) >= 0) {
-        return c;
-      }
-    }
-  }
-
-  /** This prevents sub-cells (those underneath the current cell) from being iterated to,
-   *  if applicable, otherwise a NO-OP. */
-  @Override
-  public void remove() {
-    assert thisCell != null;
-  }
-
-  @Override
-  public Cell next() {
-    if (nextCell == null) {
-      if (!hasNext())
-        throw new NoSuchElementException();
-    }
-    thisCell = nextCell;
-    nextCell = null;
-    return thisCell;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
deleted file mode 100644
index 13281f3..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import com.spatial4j.core.shape.Shape;
-
-/**
- * A PrefixTree for date ranges in which the levels of the tree occur at natural periods of time (e.g. years,
- * months, ...). You pass in {@link Calendar} objects with the desired fields set and the unspecified
- * fields unset, which conveys the precision.  The implementation makes some optimization assumptions about a
- * {@link java.util.GregorianCalendar}; others could probably be supported easily.
- * <p>
- * Warning: If you construct a Calendar and then get something from the object like a field (e.g. year) or
- * milliseconds, then every field is fully set by side-effect. So after setting the fields, pass it to this
- * API first.
- * @lucene.experimental
- */
-public class DateRangePrefixTree extends NumberRangePrefixTree {
-
-  /*
-    WARNING  java.util.Calendar is tricky to work with:
-    * If you "get" any field value, every field becomes "set". This can introduce a Heisenbug effect,
-        when in a debugger in some cases. Fortunately, Calendar.toString() doesn't apply.
-    * Beware Calendar underflow of the underlying long.  If you create a Calendar from LONG.MIN_VALUE, and clear
-     a field, it will underflow and appear close to LONG.MAX_VALUE (BC to AD).
-
-    There are no doubt other reasons but those two were hard fought lessons here.
-
-    TODO Improvements:
-    * Make max precision configurable (i.e. to SECOND).
-    * Make min & max year span configurable. Use that to remove pointless top levels of the SPT.
-        If year span is > 10k, then add 1k year level. If year span is > 10k of 1k levels, add 1M level.
-    * NumberRangePrefixTree: override getTreeCellIterator for optimized case where the shape isn't a date span; use
-      FilterCellIterator of the cell stack.
-
-  */
-
-  private static final TimeZone UTC = TimeZone.getTimeZone("UTC");
-  private static Calendar CAL_TMP;//template
-  static {
-    CAL_TMP = Calendar.getInstance(UTC, Locale.ROOT);
-    CAL_TMP.clear();
-  }
-
-  private static final Calendar MINCAL = (Calendar) CAL_TMP.clone();
-  private static final Calendar MAXCAL = (Calendar) CAL_TMP.clone();
-  static {
-    MINCAL.setTimeInMillis(Long.MIN_VALUE);
-    MAXCAL.setTimeInMillis(Long.MAX_VALUE);
-  }
-  //BC years are decreasing, remember.  Yet ActualMaximum is the numerically high value, ActualMinimum is 1.
-  private static final int BC_FIRSTYEAR = MINCAL.getActualMaximum(Calendar.YEAR);
-  private static final int BC_LASTYEAR = MINCAL.getActualMinimum(Calendar.YEAR);//1
-  private static final int BC_YEARS = BC_FIRSTYEAR - BC_LASTYEAR + 1;
-  private static final int AD_FIRSTYEAR = MAXCAL.getActualMinimum(Calendar.YEAR);//1
-  private static final int AD_LASTYEAR = MAXCAL.getActualMaximum(Calendar.YEAR);
-  private static final int AD_YEAR_BASE =  (((BC_YEARS-1) / 1000_000)+1) * 1000_000;
-  static { assert BC_LASTYEAR == 1 && AD_FIRSTYEAR == 1; }
-
-  //how many million years are there?
-  private static final int NUM_MYEARS = (AD_YEAR_BASE + AD_LASTYEAR) / 1000_000;
-
-  private static int calFieldLen(int field) {
-    return CAL_TMP.getMaximum(field) - CAL_TMP.getMinimum(field) + 1;
-  }
-
-  private static final int[] FIELD_BY_LEVEL = {
-      -1/*unused*/, -1, -1, Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH,
-      Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND};
-  private static final int yearLevel = 3;
-
-  public static final DateRangePrefixTree INSTANCE = new DateRangePrefixTree();
-
-  private final UnitNRShape minLV, maxLV;
-  private final UnitNRShape gregorianChangeDateLV;
-
-  protected DateRangePrefixTree() {
-    super(new int[]{//sublevels by level
-        NUM_MYEARS,
-        1000,//1 thousand thousand-years in a million years
-        1000,//1 thousand years in a thousand-year
-        calFieldLen(Calendar.MONTH),
-        calFieldLen(Calendar.DAY_OF_MONTH),
-        calFieldLen(Calendar.HOUR_OF_DAY),
-        calFieldLen(Calendar.MINUTE),
-        calFieldLen(Calendar.SECOND),
-        calFieldLen(Calendar.MILLISECOND),
-    });
-    maxLV = toShape((Calendar)MAXCAL.clone());
-    minLV = toShape((Calendar)MINCAL.clone());
-    if (MAXCAL instanceof GregorianCalendar) {
-      //TODO this should be a configurable param by passing a Calendar serving as a template.
-      GregorianCalendar gCal = (GregorianCalendar)MAXCAL;
-      gregorianChangeDateLV = toUnitShape(gCal.getGregorianChange());
-    } else {
-      gregorianChangeDateLV = null;
-    }
-  }
-
-  @Override
-  public int getNumSubCells(UnitNRShape lv) {
-    int cmp = comparePrefix(lv, maxLV);
-    assert cmp <= 0;
-    if (cmp == 0)//edge case (literally!)
-      return maxLV.getValAtLevel(lv.getLevel()+1);
-
-    // if using GregorianCalendar and we're after the "Gregorian change date" then we'll compute
-    //  the sub-cells ourselves more efficiently without the need to construct a Calendar.
-    cmp = gregorianChangeDateLV != null ? comparePrefix(lv, gregorianChangeDateLV) : -1;
-    //TODO consider also doing fast-path if field is <= hours even if before greg change date
-    if (cmp >= 0) {
-      int result = fastSubCells(lv);
-      assert result == slowSubCells(lv) : "fast/slow numSubCells inconsistency";
-      return result;
-    } else {
-      return slowSubCells(lv);
-    }
-  }
-
-  private int fastSubCells(UnitNRShape lv) {
-    if (lv.getLevel() == yearLevel+1) {//month
-      switch (lv.getValAtLevel(lv.getLevel())) {
-        case Calendar.SEPTEMBER:
-        case Calendar.APRIL:
-        case Calendar.JUNE:
-        case Calendar.NOVEMBER:
-          return 30;
-        case Calendar.FEBRUARY:
-          //get the year (negative numbers for BC)
-          int yearAdj = lv.getValAtLevel(1) * 1_000_000;
-          yearAdj += lv.getValAtLevel(2) * 1000;
-          yearAdj += lv.getValAtLevel(3);
-          int year = yearAdj - AD_YEAR_BASE;
-          if (year % 4 == 0 && !(year % 100 == 0 && year % 400 != 0) )//leap year
-            return 29;
-          else
-            return 28;
-        default:
-          return 31;
-      }
-    } else {//typical:
-      return super.getNumSubCells(lv);
-    }
-  }
-
-  private int slowSubCells(UnitNRShape lv) {
-    int field = FIELD_BY_LEVEL[lv.getLevel()+1];
-    //short-circuit optimization (GregorianCalendar assumptions)
-    if (field == -1 || field == Calendar.YEAR || field >= Calendar.HOUR_OF_DAY)//TODO make configurable
-      return super.getNumSubCells(lv);
-    Calendar cal = toCalendar(lv);//somewhat heavyweight op; ideally should be stored on UnitNRShape somehow
-    return cal.getActualMaximum(field) - cal.getActualMinimum(field) + 1;
-  }
-
-  /** Calendar utility method:
-   * Returns a new {@link Calendar} in UTC TimeZone, ROOT Locale, with all fields cleared. */
-  public Calendar newCal() {
-    return (Calendar) CAL_TMP.clone();
-  }
-
-  /** Calendar utility method:
-   * Returns the spatial prefix tree level for the corresponding {@link java.util.Calendar} field, such as
-   * {@link java.util.Calendar#YEAR}.  If there's no match, the next greatest level is returned as a negative value.
-   */
-  public int getTreeLevelForCalendarField(int calField) {
-    for (int i = yearLevel; i < FIELD_BY_LEVEL.length; i++) {
-      if (FIELD_BY_LEVEL[i] == calField) {
-        return i;
-      } else if (FIELD_BY_LEVEL[i] > calField) {
-        return -1 * i;
-      }
-    }
-    throw new IllegalArgumentException("Bad calendar field?: " + calField);
-  }
-
-  /** Calendar utility method:
-   * Gets the Calendar field code of the last field that is set prior to an unset field. It only
-   * examines fields relevant to the prefix tree. If no fields are set, it returns -1. */
-  public int getCalPrecisionField(Calendar cal) {
-    int lastField = -1;
-    for (int level = yearLevel; level < FIELD_BY_LEVEL.length; level++) {
-      int field = FIELD_BY_LEVEL[level];
-      if (!cal.isSet(field))
-        break;
-      lastField = field;
-    }
-    return lastField;
-  }
-
-  /** Calendar utility method:
-   * Calls {@link Calendar#clear(int)} for every field after {@code field}. Beware of Calendar underflow. */
-  public void clearFieldsAfter(Calendar cal, int field) {
-    if (field == -1) {
-      cal.clear();
-      return;
-    }
-    int assertEra = -1;
-    assert (assertEra = (((Calendar)cal.clone()).get(Calendar.ERA))) >= 0;//a trick to only get this if assert enabled
-    for (int f = field+1; f < Calendar.FIELD_COUNT; f++) {
-      cal.clear(f);
-    }
-    assert ((Calendar)cal.clone()).get(Calendar.ERA) == assertEra : "Calendar underflow";
-  }
-
-  /** Converts {@code value} from a {@link Calendar} or {@link Date} to a {@link Shape}. Other arguments
-   * result in a {@link java.lang.IllegalArgumentException}.
-   */
-  @Override
-  public UnitNRShape toUnitShape(Object value) {
-    if (value instanceof Calendar) {
-      return toShape((Calendar) value);
-    } else if (value instanceof Date) {
-      Calendar cal = newCal();
-      cal.setTime((Date)value);
-      return toShape(cal);
-    }
-    throw new IllegalArgumentException("Expecting Calendar or Date but got: "+value.getClass());
-  }
-
-  /** Converts the Calendar into a Shape.
-   * The isSet() state of the Calendar is re-instated when done. */
-  public UnitNRShape toShape(Calendar cal) {
-    // Convert a Calendar into a stack of cell numbers
-    final int calPrecField = getCalPrecisionField(cal);//must call first; getters set all fields
-    try {
-      int[] valStack = new int[maxLevels];//starts at level 1, not 0
-      int len = 0;
-      if (calPrecField >= Calendar.YEAR) {//year or better precision
-        int year = cal.get(Calendar.YEAR);
-        int yearAdj = cal.get(Calendar.ERA) == 0 ? AD_YEAR_BASE - (year - 1) : AD_YEAR_BASE + year;
-
-        valStack[len++] = yearAdj / 1000_000;
-        yearAdj -= valStack[len-1] * 1000_000;
-        valStack[len++] = yearAdj / 1000;
-        yearAdj -= valStack[len-1] * 1000;
-        valStack[len++] = yearAdj;
-        for (int level = yearLevel+1; level < FIELD_BY_LEVEL.length; level++) {
-          int field = FIELD_BY_LEVEL[level];
-          if (field > calPrecField)
-            break;
-          valStack[len++] = cal.get(field) - cal.getActualMinimum(field);
-        }
-      }
-
-      return toShape(valStack, len);
-    } finally {
-      clearFieldsAfter(cal, calPrecField);//restore precision state modified by get()
-    }
-  }
-
-  /** Calls {@link #toCalendar(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
-  @Override
-  public Object toObject(UnitNRShape shape) {
-    return toCalendar(shape);
-  }
-
-  /** Converts the {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape} shape to a
-   * corresponding Calendar that is cleared below its level. */
-  public Calendar toCalendar(UnitNRShape lv) {
-    if (lv.getLevel() == 0)
-      return newCal();
-    if (comparePrefix(lv, minLV) <= 0) {//shouldn't typically happen; sometimes in a debugger
-      return (Calendar) MINCAL.clone();//full precision; truncation would cause underflow
-    }
-    assert comparePrefix(lv, maxLV) <= 0;
-    Calendar cal = newCal();
-
-    int yearAdj = lv.getValAtLevel(1) * 1_000_000;
-    if (lv.getLevel() > 1) {
-      yearAdj += lv.getValAtLevel(2) * 1000;
-      if (lv.getLevel() > 2) {
-        yearAdj += lv.getValAtLevel(3);
-      }
-    }
-    if (yearAdj > AD_YEAR_BASE) {
-      cal.set(Calendar.ERA, 1);
-      cal.set(Calendar.YEAR, yearAdj - AD_YEAR_BASE);//setting the year resets the era
-    } else {
-      cal.set(Calendar.ERA, 0);//we assert this "sticks" at the end
-      cal.set(Calendar.YEAR, (AD_YEAR_BASE - yearAdj) + 1);
-    }
-    for (int level = yearLevel+1; level <= lv.getLevel(); level++) {
-      int field = FIELD_BY_LEVEL[level];
-      cal.set(field, lv.getValAtLevel(level) + cal.getActualMinimum(field));
-    }
-    assert yearAdj > AD_YEAR_BASE || ((Calendar)cal.clone()).get(Calendar.ERA) == 0 : "ERA / YEAR underflow";
-    return cal;
-  }
-
-  @Override
-  protected String toString(UnitNRShape lv) {
-    return toString(toCalendar(lv));
-  }
-
-  /** Calendar utility method:
-   * Formats the calendar to ISO-8601 format, to include proper BC handling (1BC is "0000", 2BC is "-0001", etc.);
-   * and WITHOUT a trailing 'Z'.
-   * A fully cleared calendar will yield the string "*".
-   * The isSet() state of the Calendar is re-instated when done. */
-   @SuppressWarnings("fallthrough")
-  public String toString(Calendar cal) {
-    final int calPrecField = getCalPrecisionField(cal);//must call first; getters set all fields
-    if (calPrecField == -1)
-      return "*";
-    try {
-      //TODO not fully optimized; but it's at least not used in 'search'.
-      //TODO maybe borrow code from Solr DateUtil (put in Lucene util somewhere), and have it reference this back?
-      String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS";
-      int ptnLen = 0;
-      switch (calPrecField) {//switch fall-through is deliberate
-        case Calendar.MILLISECOND: ptnLen += 4;
-        case Calendar.SECOND: ptnLen += 3;
-        case Calendar.MINUTE: ptnLen += 3;
-        case Calendar.HOUR_OF_DAY: ptnLen += 5;
-        case Calendar.DAY_OF_MONTH: ptnLen += 3;
-        case Calendar.MONTH: ptnLen += 3;
-        case Calendar.YEAR: ptnLen += 4;
-        break;
-        default: throw new IllegalStateException(""+calPrecField);
-      }
-      pattern = pattern.substring(0, ptnLen);
-      SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.ROOT);
-      format.setTimeZone(cal.getTimeZone());
-      if (cal.get(Calendar.ERA) == 0) {//BC
-        //SDF doesn't do this properly according to ISO-8601
-        // Example: 1BC == "0000" (actually 0 AD), 2BC == "-0001", 3BC == "-0002", ...
-        final int yearOrig = cal.get(Calendar.YEAR);
-        cal.set(Calendar.YEAR, yearOrig-1);
-        String str;
-        try {
-          str = format.format(cal.getTime());
-        } finally {
-          //reset to what it was
-          cal.set(Calendar.ERA, 0);//necessary!
-          cal.set(Calendar.YEAR, yearOrig);
-        }
-        if (yearOrig > 1)
-          return "-" + str;
-        else
-          return "0000" + str.substring(4);
-      }
-      return format.format(cal.getTime());
-    } finally {
-      clearFieldsAfter(cal, calPrecField);//restore precision state modified by get()
-    }
-  }
-
-  @Override
-  protected UnitNRShape parseUnitShape(String str) throws ParseException {
-    return toShape(parseCalendar(str));
-  }
-
-  /** Calendar utility method:
-   * The reverse of {@link #toString(java.util.Calendar)}. It will only set the fields found, leaving
-   * the remainder in an un-set state. A leading '-' or '+' is optional (positive assumed), and a
-   * trailing 'Z' is also optional.
-   * @param str not null and not empty
-   * @return not null
-   */
-  public Calendar parseCalendar(String str) throws ParseException {
-    // example: +2014-10-23T21:22:33.159Z
-    if (str == null || str.isEmpty())
-      throw new IllegalArgumentException("str is null or blank");
-    Calendar cal = newCal();
-    if (str.equals("*"))
-      return cal;
-    int offset = 0;//a pointer
-    try {
-      //year & era:
-      int lastOffset = str.charAt(str.length()-1) == 'Z' ? str.length() - 1 : str.length();
-      int hyphenIdx = str.indexOf('-', 1);//look past possible leading hyphen
-      if (hyphenIdx < 0)
-        hyphenIdx = lastOffset;
-      int year = Integer.parseInt(str.substring(offset, hyphenIdx));
-      cal.set(Calendar.ERA, year <= 0 ? 0 : 1);
-      cal.set(Calendar.YEAR, year <= 0 ? -1*year + 1 : year);
-      offset = hyphenIdx + 1;
-      if (lastOffset < offset)
-        return cal;
-
-      //NOTE: We aren't validating separator chars, and we unintentionally accept leading +/-.
-      // The str.substring()'s hopefully get optimized to be stack-allocated.
-
-      //month:
-      cal.set(Calendar.MONTH, Integer.parseInt(str.substring(offset, offset+2)) - 1);//starts at 0
-      offset += 3;
-      if (lastOffset < offset)
-        return cal;
-      //day:
-      cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(str.substring(offset, offset+2)));
-      offset += 3;
-      if (lastOffset < offset)
-        return cal;
-      //hour:
-      cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(str.substring(offset, offset+2)));
-      offset += 3;
-      if (lastOffset < offset)
-        return cal;
-      //minute:
-      cal.set(Calendar.MINUTE, Integer.parseInt(str.substring(offset, offset+2)));
-      offset += 3;
-      if (lastOffset < offset)
-        return cal;
-      //second:
-      cal.set(Calendar.SECOND, Integer.parseInt(str.substring(offset, offset+2)));
-      offset += 3;
-      if (lastOffset < offset)
-        return cal;
-      //ms:
-      cal.set(Calendar.MILLISECOND, Integer.parseInt(str.substring(offset, offset+3)));
-      offset += 3;//last one, move to next char
-      if (lastOffset == offset)
-        return cal;
-    } catch (Exception e) {
-      ParseException pe = new ParseException("Improperly formatted date: "+str, offset);
-      pe.initCause(e);
-      throw pe;
-    }
-    throw new ParseException("Improperly formatted date: "+str, offset);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
deleted file mode 100644
index e4f50e0..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-
-import java.util.Iterator;
-
-/**
- * A filtering iterator of Cells. Those not matching the provided shape (disjoint) are
- * skipped. If {@code shapeFilter} is null then all cells are returned.
- *
- * @lucene.internal
- */
-class FilterCellIterator extends CellIterator {
-  final Iterator<Cell> baseIter;
-  final Shape shapeFilter;
-
-  FilterCellIterator(Iterator<Cell> baseIter, Shape shapeFilter) {
-    this.baseIter = baseIter;
-    this.shapeFilter = shapeFilter;
-  }
-
-  @Override
-  public boolean hasNext() {
-    thisCell = null;
-    if (nextCell != null)//calling hasNext twice in a row
-      return true;
-    while (baseIter.hasNext()) {
-      nextCell = baseIter.next();
-      if (shapeFilter == null) {
-        return true;
-      } else {
-        SpatialRelation rel = nextCell.getShape().relate(shapeFilter);
-        if (rel.intersects()) {
-          nextCell.setShapeRel(rel);
-          if (rel == SpatialRelation.WITHIN)
-            nextCell.setLeaf();
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
deleted file mode 100644
index fa4e987..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.io.GeohashUtils;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * A {@link SpatialPrefixTree} based on
- * <a href="http://en.wikipedia.org/wiki/Geohash">Geohashes</a>.
- * Uses {@link GeohashUtils} to do all the geohash work.
- *
- * @lucene.experimental
- */
-public class GeohashPrefixTree extends LegacyPrefixTree {
-
-  /**
-   * Factory for creating {@link GeohashPrefixTree} instances with useful defaults
-   */
-  public static class Factory extends SpatialPrefixTreeFactory {
-
-    @Override
-    protected int getLevelForDistance(double degrees) {
-      GeohashPrefixTree grid = new GeohashPrefixTree(ctx, GeohashPrefixTree.getMaxLevelsPossible());
-      return grid.getLevelForDistance(degrees);
-    }
-
-    @Override
-    protected SpatialPrefixTree newSPT() {
-      return new GeohashPrefixTree(ctx,
-          maxLevels != null ? maxLevels : GeohashPrefixTree.getMaxLevelsPossible());
-    }
-  }
-
-  public GeohashPrefixTree(SpatialContext ctx, int maxLevels) {
-    super(ctx, maxLevels);
-    Rectangle bounds = ctx.getWorldBounds();
-    if (bounds.getMinX() != -180)
-      throw new IllegalArgumentException("Geohash only supports lat-lon world bounds. Got "+bounds);
-    int MAXP = getMaxLevelsPossible();
-    if (maxLevels <= 0 || maxLevels > MAXP)
-      throw new IllegalArgumentException("maxLevels must be [1-"+MAXP+"] but got "+ maxLevels);
-  }
-
-  /** Any more than this and there's no point (double lat and lon are the same). */
-  public static int getMaxLevelsPossible() {
-    return GeohashUtils.MAX_PRECISION;
-  }
-
-  @Override
-  public Cell getWorldCell() {
-    return new GhCell(BytesRef.EMPTY_BYTES, 0, 0);
-  }
-
-  @Override
-  public int getLevelForDistance(double dist) {
-    if (dist == 0)
-      return maxLevels;//short circuit
-    final int level = GeohashUtils.lookupHashLenForWidthHeight(dist, dist);
-    return Math.max(Math.min(level, maxLevels), 1);
-  }
-
-  @Override
-  protected Cell getCell(Point p, int level) {
-    return new GhCell(GeohashUtils.encodeLatLon(p.getY(), p.getX(), level));//args are lat,lon (y,x)
-  }
-
-  private static byte[] stringToBytesPlus1(String token) {
-    //copy ASCII token to byte array with one extra spot for eventual LEAF_BYTE if needed
-    byte[] bytes = new byte[token.length() + 1];
-    for (int i = 0; i < token.length(); i++) {
-      bytes[i] = (byte) token.charAt(i);
-    }
-    return bytes;
-  }
-
-  private class GhCell extends LegacyCell {
-
-    private String geohash;//cache; never has leaf byte, simply a geohash
-
-    GhCell(String geohash) {
-      super(stringToBytesPlus1(geohash), 0, geohash.length());
-      this.geohash = geohash;
-      if (isLeaf() && getLevel() < getMaxLevels())//we don't have a leaf byte at max levels (an opt)
-        this.geohash = geohash.substring(0, geohash.length() - 1);
-    }
-
-    GhCell(byte[] bytes, int off, int len) {
-      super(bytes, off, len);
-    }
-
-    @Override
-    protected GeohashPrefixTree getGrid() { return GeohashPrefixTree.this; }
-
-    @Override
-    protected int getMaxLevels() { return maxLevels; }
-
-    @Override
-    protected void readCell(BytesRef bytesRef) {
-      super.readCell(bytesRef);
-      geohash = null;
-    }
-
-    @Override
-    public Collection<Cell> getSubCells() {
-      String[] hashes = GeohashUtils.getSubGeohashes(getGeohash());//sorted
-      List<Cell> cells = new ArrayList<>(hashes.length);
-      for (String hash : hashes) {
-        cells.add(new GhCell(hash));
-      }
-      return cells;
-    }
-
-    @Override
-    public int getSubCellsSize() {
-      return 32;//8x4
-    }
-
-    @Override
-    protected GhCell getSubCell(Point p) {
-      return (GhCell) getGrid().getCell(p, getLevel() + 1);//not performant!
-    }
-
-    @Override
-    public Shape getShape() {
-      if (shape == null) {
-        shape = GeohashUtils.decodeBoundary(getGeohash(), getGrid().getSpatialContext());
-      }
-      return shape;
-    }
-
-    private String getGeohash() {
-      if (geohash == null)
-        geohash = getTokenBytesNoLeaf(null).utf8ToString();
-      return geohash;
-    }
-
-  }//class GhCell
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
deleted file mode 100644
index 27c56a7..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.util.Collection;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.StringHelper;
-
-/** The base for the original two SPT's: Geohash and Quad. Don't subclass this for new SPTs.
- * @lucene.internal */
-//public for RPT pruneLeafyBranches code
-public abstract class LegacyCell implements Cell {
-
-  // Important: A LegacyCell doesn't share state for getNextLevelCells(), and
-  //  LegacySpatialPrefixTree assumes this in its simplify tree logic.
-
-  private static final byte LEAF_BYTE = '+';//NOTE: must sort before letters & numbers
-
-  //Arguably we could simply use a BytesRef, using an extra Object.
-  protected byte[] bytes;//generally bigger to potentially hold a leaf
-  protected int b_off;
-  protected int b_len;//doesn't reflect leaf; same as getLevel()
-
-  protected boolean isLeaf;
-
-  /**
-   * When set via getSubCells(filter), it is the relationship between this cell
-   * and the given shape filter. Doesn't participate in shape equality.
-   */
-  protected SpatialRelation shapeRel;
-
-  protected Shape shape;//cached
-
-  /** Warning: Refers to the same bytes (no copy). If {@link #setLeaf()} is subsequently called then it
-   * may modify bytes. */
-  protected LegacyCell(byte[] bytes, int off, int len) {
-    this.bytes = bytes;
-    this.b_off = off;
-    this.b_len = len;
-    readLeafAdjust();
-  }
-
-  protected void readCell(BytesRef bytes) {
-    shapeRel = null;
-    shape = null;
-    this.bytes = bytes.bytes;
-    this.b_off = bytes.offset;
-    this.b_len = (short) bytes.length;
-    readLeafAdjust();
-  }
-
-  protected void readLeafAdjust() {
-    isLeaf = (b_len > 0 && bytes[b_off + b_len - 1] == LEAF_BYTE);
-    if (isLeaf)
-      b_len--;
-    if (getLevel() == getMaxLevels())
-      isLeaf = true;
-  }
-
-  protected abstract SpatialPrefixTree getGrid();
-
-  protected abstract int getMaxLevels();
-
-  @Override
-  public SpatialRelation getShapeRel() {
-    return shapeRel;
-  }
-
-  @Override
-  public void setShapeRel(SpatialRelation rel) {
-    this.shapeRel = rel;
-  }
-
-  @Override
-  public boolean isLeaf() {
-    return isLeaf;
-  }
-
-  @Override
-  public void setLeaf() {
-    isLeaf = true;
-  }
-
-  @Override
-  public BytesRef getTokenBytesWithLeaf(BytesRef result) {
-    result = getTokenBytesNoLeaf(result);
-    if (!isLeaf || getLevel() == getMaxLevels())
-      return result;
-    if (result.bytes.length < result.offset + result.length + 1) {
-      assert false : "Not supposed to happen; performance bug";
-      byte[] copy = new byte[result.length + 1];
-      System.arraycopy(result.bytes, result.offset, copy, 0, result.length - 1);
-      result.bytes = copy;
-      result.offset = 0;
-    }
-    result.bytes[result.offset + result.length++] = LEAF_BYTE;
-    return result;
-  }
-
-  @Override
-  public BytesRef getTokenBytesNoLeaf(BytesRef result) {
-    if (result == null)
-      return new BytesRef(bytes, b_off, b_len);
-    result.bytes = bytes;
-    result.offset = b_off;
-    result.length = b_len;
-    return result;
-  }
-
-  @Override
-  public int getLevel() {
-    return b_len;
-  }
-
-  @Override
-  public CellIterator getNextLevelCells(Shape shapeFilter) {
-    assert getLevel() < getGrid().getMaxLevels();
-    if (shapeFilter instanceof Point) {
-      LegacyCell cell = getSubCell((Point) shapeFilter);
-      cell.shapeRel = SpatialRelation.CONTAINS;
-      return new SingletonCellIterator(cell);
-    } else {
-      return new FilterCellIterator(getSubCells().iterator(), shapeFilter);
-    }
-  }
-
-  /**
-   * Performant implementations are expected to implement this efficiently by
-   * considering the current cell's boundary.
-   * <p>
-   * Precondition: Never called when getLevel() == maxLevel.
-   * Precondition: this.getShape().relate(p) != DISJOINT.
-   */
-  protected abstract LegacyCell getSubCell(Point p);
-
-  /**
-   * Gets the cells at the next grid cell level that covers this cell.
-   * Precondition: Never called when getLevel() == maxLevel.
-   *
-   * @return A set of cells (no dups), sorted, modifiable, not empty, not null.
-   */
-  protected abstract Collection<Cell> getSubCells();
-
-  /**
-   * {@link #getSubCells()}.size() -- usually a constant. Should be &gt;=2
-   */
-  public abstract int getSubCellsSize();
-
-  @Override
-  public boolean isPrefixOf(Cell c) {
-    //Note: this only works when each level uses a whole number of bytes.
-    LegacyCell cell = (LegacyCell)c;
-    boolean result = sliceEquals(cell.bytes, cell.b_off, cell.b_len, bytes, b_off, b_len);
-    assert result == StringHelper.startsWith(c.getTokenBytesNoLeaf(null), getTokenBytesNoLeaf(null));
-    return result;
-  }
-
-  /** Copied from {@link org.apache.lucene.util.StringHelper#startsWith(BytesRef, BytesRef)}
-   *  which calls this. This is to avoid creating a BytesRef.  */
-  private static boolean sliceEquals(byte[] sliceToTest_bytes, int sliceToTest_offset, int sliceToTest_length,
-                                     byte[] other_bytes, int other_offset, int other_length) {
-    if (sliceToTest_length < other_length) {
-      return false;
-    }
-    int i = sliceToTest_offset;
-    int j = other_offset;
-    final int k = other_offset + other_length;
-
-    while (j < k) {
-      if (sliceToTest_bytes[i++] != other_bytes[j++]) {
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  @Override
-  public int compareToNoLeaf(Cell fromCell) {
-    LegacyCell b = (LegacyCell) fromCell;
-    return compare(bytes, b_off, b_len, b.bytes, b.b_off, b.b_len);
-  }
-
-  /** Copied from {@link BytesRef#compareTo(BytesRef)}.
-   * This is to avoid creating a BytesRef. */
-  protected static int compare(byte[] aBytes, int aUpto, int a_length, byte[] bBytes, int bUpto, int b_length) {
-    final int aStop = aUpto + Math.min(a_length, b_length);
-    while(aUpto < aStop) {
-      int aByte = aBytes[aUpto++] & 0xff;
-      int bByte = bBytes[bUpto++] & 0xff;
-
-      int diff = aByte - bByte;
-      if (diff != 0) {
-        return diff;
-      }
-    }
-
-    // One is a prefix of the other, or, they are equal:
-    return a_length - b_length;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    //this method isn't "normally" called; just in asserts/tests
-    if (obj instanceof Cell) {
-      Cell cell = (Cell) obj;
-      return getTokenBytesWithLeaf(null).equals(cell.getTokenBytesWithLeaf(null));
-    } else {
-      return false;
-    }
-  }
-
-  @Override
-  public int hashCode() {
-    return getTokenBytesWithLeaf(null).hashCode();
-  }
-
-  @Override
-  public String toString() {
-    //this method isn't "normally" called; just in asserts/tests
-    return getTokenBytesWithLeaf(null).utf8ToString();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
deleted file mode 100644
index 672c2fe..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.util.Arrays;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.util.BytesRef;
-
-/** The base for the original two SPT's: Geohash and Quad. Don't subclass this for new SPTs.
- * @lucene.internal */
-abstract class LegacyPrefixTree extends SpatialPrefixTree {
-  public LegacyPrefixTree(SpatialContext ctx, int maxLevels) {
-    super(ctx, maxLevels);
-  }
-
-  public double getDistanceForLevel(int level) {
-    if (level < 1 || level > getMaxLevels())
-      throw new IllegalArgumentException("Level must be in 1 to maxLevels range");
-    //TODO cache for each level
-    Cell cell = getCell(ctx.getWorldBounds().getCenter(), level);
-    Rectangle bbox = cell.getShape().getBoundingBox();
-    double width = bbox.getWidth();
-    double height = bbox.getHeight();
-    //Use standard cartesian hypotenuse. For geospatial, this answer is larger
-    // than the correct one but it's okay to over-estimate.
-    return Math.sqrt(width * width + height * height);
-  }
-
-  /**
-   * Returns the cell containing point {@code p} at the specified {@code level}.
-   */
-  protected abstract Cell getCell(Point p, int level);
-
-  @Override
-  public Cell readCell(BytesRef term, Cell scratch) {
-    LegacyCell cell = (LegacyCell) scratch;
-    if (cell == null)
-      cell = (LegacyCell) getWorldCell();
-    cell.readCell(term);
-    return cell;
-  }
-
-  @Override
-  public CellIterator getTreeCellIterator(Shape shape, int detailLevel) {
-    if (!(shape instanceof Point))
-      return super.getTreeCellIterator(shape, detailLevel);
-
-    //This specialization is here because the legacy implementations don't have a fast implementation of
-    // cell.getSubCells(point). It's fastest here to encode the full bytes for detailLevel, and create
-    // subcells from the bytesRef in a loop. This avoids an O(N^2) encode, and we have O(N) instead.
-
-    Cell cell = getCell((Point) shape, detailLevel);
-    assert cell instanceof LegacyCell;
-    BytesRef fullBytes = cell.getTokenBytesNoLeaf(null);
-    //fill in reverse order to be sorted
-    Cell[] cells = new Cell[detailLevel];
-    for (int i = 1; i < detailLevel; i++) {
-      fullBytes.length = i;
-      Cell parentCell = readCell(fullBytes, null);
-      cells[i-1] = parentCell;
-    }
-    cells[detailLevel-1] = cell;
-    return new FilterCellIterator(Arrays.asList(cells).iterator(), null);//null filter
-  }
-
-}


[15/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorPipeline.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorPipeline.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorPipeline.java
index b439798..f6e9d00 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorPipeline.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorPipeline.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.processors;
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/RemoveDeletedQueryNodesProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/RemoveDeletedQueryNodesProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/RemoveDeletedQueryNodesProcessor.java
index ddde390..d251485 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/RemoveDeletedQueryNodesProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/RemoveDeletedQueryNodesProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.processors;
 
 import java.util.Iterator;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/package-info.java
index 86ce57b..74f2de6 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Interfaces and implementations used by query node processors
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/QueryNodeOperation.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/QueryNodeOperation.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/QueryNodeOperation.java
index fc1f097..4280d1c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/QueryNodeOperation.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/QueryNodeOperation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.util;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeError;
 import org.apache.lucene.queryparser.flexible.core.nodes.AndQueryNode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/StringUtils.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/StringUtils.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/StringUtils.java
index d7b46d5..94f47be 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/StringUtils.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/StringUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.util;
 
 /**
  * String manipulation routines

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/UnescapedCharSequence.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/UnescapedCharSequence.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/UnescapedCharSequence.java
index 0069c2f..5e74cac 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/UnescapedCharSequence.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/UnescapedCharSequence.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.util;
-
-import java.util.Locale;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.util.Locale;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.util;
+
+import java.util.Locale;
 
 /**
  * CharsSequence with escaped chars information.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/package-info.java
index d5f8e5b..a5748b7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/util/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Utility classes to used with the Query Parser.
  * <h2>Utility classes to used with the Query Parser</h2>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/Message.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/Message.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/Message.java
index e4a9d2c..e677ac7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/Message.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/Message.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.messages;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.messages;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.messages;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/MessageImpl.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/MessageImpl.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/MessageImpl.java
index 3e74f9f..de91151 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/MessageImpl.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/MessageImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.messages;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.messages;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.messages;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java
index bc849f2..b32ba2f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.messages;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.messages;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.messages;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLSException.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLSException.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLSException.java
index 2ac4674..6e7f3b1 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLSException.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLSException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.messages;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.messages;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.messages;
 
 /**
  * Interface that exceptions should implement to support lazy loading of messages.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/package-info.java
index 07cef02..6046ff5 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * For Native Language Support (NLS), system of software internationalization.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/PrecedenceQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/PrecedenceQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/PrecedenceQueryParser.java
index a795439..880e795 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/PrecedenceQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/PrecedenceQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.precedence;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.precedence;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.precedence;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.queryparser.flexible.standard.StandardQueryParser;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/package-info.java
index 2d46676..d0398ab 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Precedence Query Parser Implementation
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/BooleanModifiersQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/BooleanModifiersQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/BooleanModifiersQueryNodeProcessor.java
index 85cdae9..b23f30e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/BooleanModifiersQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/BooleanModifiersQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.precedence.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.precedence.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.precedence.processors;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/PrecedenceQueryNodeProcessorPipeline.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/PrecedenceQueryNodeProcessorPipeline.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/PrecedenceQueryNodeProcessorPipeline.java
index c35d562..6234f3e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/PrecedenceQueryNodeProcessorPipeline.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/precedence/processors/PrecedenceQueryNodeProcessorPipeline.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.precedence.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.precedence.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.precedence.processors;
 
 import org.apache.lucene.queryparser.flexible.precedence.PrecedenceQueryParser;
 import org.apache.lucene.queryparser.flexible.standard.processors.BooleanQuery2ModifierNodeProcessor;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java
index 91c7dd2..55e43cd 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
-import java.util.Locale;
-import java.util.TimeZone;
-import java.util.TooManyListenersException;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.document.DateTools;
-import org.apache.lucene.document.DateTools.Resolution;
-import org.apache.lucene.search.FuzzyQuery;
-import org.apache.lucene.search.MultiTermQuery;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,6 +14,17 @@ import org.apache.lucene.search.MultiTermQuery;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
+
+import java.util.Locale;
+import java.util.TimeZone;
+import java.util.TooManyListenersException;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.document.DateTools;
+import org.apache.lucene.document.DateTools.Resolution;
+import org.apache.lucene.search.FuzzyQuery;
+import org.apache.lucene.search.MultiTermQuery;
 
 /**
  * Configuration options common across queryparser implementations.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/QueryParserUtil.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/QueryParserUtil.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/QueryParserUtil.java
index 535f146..87b0a40 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/QueryParserUtil.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/QueryParserUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
index 2733800..ada65a4 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard;
 
 import java.util.Locale;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/AnyQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/AnyQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/AnyQueryNodeBuilder.java
index e9b191b..09d4b70 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/AnyQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/AnyQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BooleanQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BooleanQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BooleanQueryNodeBuilder.java
index 2dadd71..17525e4 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BooleanQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BooleanQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BoostQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BoostQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BoostQueryNodeBuilder.java
index 239b09d..b9c67a0 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BoostQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BoostQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
index 14dc324..593e6ce 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/DummyQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FieldQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FieldQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FieldQueryNodeBuilder.java
index 5e55d24..cc1f471 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FieldQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FieldQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FuzzyQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FuzzyQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FuzzyQueryNodeBuilder.java
index 1d472ea..2575e80 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FuzzyQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/FuzzyQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/GroupQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/GroupQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/GroupQueryNodeBuilder.java
index 6b1b3c5..007bc49 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/GroupQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/GroupQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchAllDocsQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchAllDocsQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchAllDocsQueryNodeBuilder.java
index a8828d1..d55bfd6 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchAllDocsQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchAllDocsQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.messages.MessageImpl;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchNoDocsQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchNoDocsQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchNoDocsQueryNodeBuilder.java
index 17b85ca..4058472 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchNoDocsQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MatchNoDocsQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.messages.QueryParserMessages;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/ModifierQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/ModifierQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/ModifierQueryNodeBuilder.java
index 4f05004..9e81f04 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/ModifierQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/ModifierQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MultiPhraseQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MultiPhraseQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MultiPhraseQueryNodeBuilder.java
index 7a695d9..6976a04 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MultiPhraseQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/MultiPhraseQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import java.util.LinkedList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/NumericRangeQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/NumericRangeQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/NumericRangeQueryNodeBuilder.java
index b0805fe..6c8790f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/NumericRangeQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/NumericRangeQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PhraseQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PhraseQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PhraseQueryNodeBuilder.java
index 4f7effa..60260d8 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PhraseQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PhraseQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PrefixWildcardQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PrefixWildcardQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PrefixWildcardQueryNodeBuilder.java
index 298717f..b427457 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PrefixWildcardQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/PrefixWildcardQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/RegexpQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/RegexpQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/RegexpQueryNodeBuilder.java
index 52242aa..b2198b4 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/RegexpQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/RegexpQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/SlopQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/SlopQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/SlopQueryNodeBuilder.java
index 47dcbe0..e964346 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/SlopQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/SlopQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardBooleanQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardBooleanQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardBooleanQueryNodeBuilder.java
index 5f09b47..83f6a6b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardBooleanQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardBooleanQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryBuilder.java
index 6ca88dc..c9fb3c1 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryTreeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryTreeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryTreeBuilder.java
index af672b3..2d7c643 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryTreeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/StandardQueryTreeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.builders.QueryTreeBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/TermRangeQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/TermRangeQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/TermRangeQueryNodeBuilder.java
index 7e34e5e..90abdf7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/TermRangeQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/TermRangeQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/WildcardQueryNodeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/WildcardQueryNodeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/WildcardQueryNodeBuilder.java
index aaa513d..d01d601 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/WildcardQueryNodeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/WildcardQueryNodeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.builders;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/package-info.java
index 2d95010..844165c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Standard Lucene Query Node Builders.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldBoostMapFCListener.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldBoostMapFCListener.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldBoostMapFCListener.java
index 4f845c6..16db310 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldBoostMapFCListener.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldBoostMapFCListener.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldDateResolutionFCListener.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldDateResolutionFCListener.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldDateResolutionFCListener.java
index 8111b91..ae88008 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldDateResolutionFCListener.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FieldDateResolutionFCListener.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FuzzyConfig.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FuzzyConfig.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FuzzyConfig.java
index 9eaa935..b0ca671 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FuzzyConfig.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/FuzzyConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import org.apache.lucene.search.FuzzyQuery;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumberDateFormat.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumberDateFormat.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumberDateFormat.java
index fd0bfe5..e3a4ffa 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumberDateFormat.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumberDateFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import java.text.DateFormat;
 import java.text.FieldPosition;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericConfig.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericConfig.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericConfig.java
index 39f2f6c..c457a4e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericConfig.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import java.text.NumberFormat;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericFieldConfigListener.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericFieldConfigListener.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericFieldConfigListener.java
index 87d3346..c28cf2c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericFieldConfigListener.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/NumericFieldConfigListener.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
index 7570ecf..77bd7bb 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.config;
 
 import java.util.HashMap;
 import java.util.LinkedHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/package-info.java
index 6f06e79..8d86637 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Standard Lucene Query Configuration.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/AbstractRangeQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/AbstractRangeQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/AbstractRangeQueryNode.java
index 8e83fe0..c2f0a804 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/AbstractRangeQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/AbstractRangeQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import java.util.ArrayList;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/BooleanModifierNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/BooleanModifierNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/BooleanModifierNode.java
index fc46a9c..dd81d09 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/BooleanModifierNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/BooleanModifierNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.nodes.ModifierQueryNode;
 import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/MultiPhraseQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/MultiPhraseQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/MultiPhraseQueryNode.java
index 9655724..997c2d1 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/MultiPhraseQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/MultiPhraseQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java
index c1b5c8c..7509a39 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import java.text.NumberFormat;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericRangeQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericRangeQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericRangeQueryNode.java
index cf86f8a..c132aa1 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericRangeQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericRangeQueryNode.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.queryparser.flexible.standard.nodes;
 
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.FieldType.LegacyNumericType;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/PrefixWildcardQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/PrefixWildcardQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/PrefixWildcardQueryNode.java
index ce3b3b1..52a8480 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/PrefixWildcardQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/PrefixWildcardQueryNode.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
-import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
+
+import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
 
 /**
  * A {@link PrefixWildcardQueryNode} represents wildcardquery that matches abc*

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/RegexpQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/RegexpQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/RegexpQueryNode.java
index efb7f02..cba2612 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/RegexpQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/RegexpQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.nodes.FieldableNode;
 import org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/StandardBooleanQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/StandardBooleanQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/StandardBooleanQueryNode.java
index 241dd20..8d86fd5 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/StandardBooleanQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/StandardBooleanQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/TermRangeQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/TermRangeQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/TermRangeQueryNode.java
index 05583e0..e2766a0 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/TermRangeQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/TermRangeQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/WildcardQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/WildcardQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/WildcardQueryNode.java
index 2fae752..afd4f9f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/WildcardQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/WildcardQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/package-info.java
index 0a9b75a..de90312 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Standard Lucene Query Nodes.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/package-info.java
index 740ca4c..49e4caf 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Implementation of the {@linkplain org.apache.lucene.queryparser.classic Lucene classic query parser} using the flexible query parser frameworks
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java
index 3598da0..679d913 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.parser;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.parser;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.parser;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
index 33187ab..06bf9ab 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
@@ -1,6 +1,3 @@
-// FastCharStream.java
-package org.apache.lucene.queryparser.flexible.standard.parser;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,8 +13,8 @@ package org.apache.lucene.queryparser.flexible.standard.parser;
  * 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.lucene.queryparser.flexible.standard.parser;
 
 import java.io.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/package-info.java
index be72e7f..ff0f78b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * <h2>Lucene Query Parser</h2>
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AllowLeadingWildcardProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AllowLeadingWildcardProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AllowLeadingWildcardProcessor.java
index 85afb5c..0ff5518 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AllowLeadingWildcardProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AllowLeadingWildcardProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AnalyzerQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AnalyzerQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AnalyzerQueryNodeProcessor.java
index 83e9734..32e5193 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AnalyzerQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/AnalyzerQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanQuery2ModifierNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanQuery2ModifierNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanQuery2ModifierNodeProcessor.java
index 11906d7..afa0133 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanQuery2ModifierNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanQuery2ModifierNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanSingleChildOptimizationQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanSingleChildOptimizationQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanSingleChildOptimizationQueryNodeProcessor.java
index 65c9939..e241b8d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanSingleChildOptimizationQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BooleanSingleChildOptimizationQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BoostQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BoostQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BoostQueryNodeProcessor.java
index b0c455c..353d087 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BoostQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/BoostQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.standard.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.standard.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.standard.processors;
 
 import java.util.List;
 


[70/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
deleted file mode 100644
index 9bae0dc..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
+++ /dev/null
@@ -1,591 +0,0 @@
-/*
- * 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.lucene.spatial.bbox;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.LegacyDoubleField;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.DocValuesType;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.LegacyNumericRangeQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.spatial.SpatialStrategy;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
-import org.apache.lucene.spatial.util.DistanceToShapeValueSource;
-import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.LegacyNumericUtils;
-
-
-/**
- * A SpatialStrategy for indexing and searching Rectangles by storing its
- * coordinates in numeric fields. It supports all {@link SpatialOperation}s and
- * has a custom overlap relevancy. It is based on GeoPortal's <a
- * href="http://geoportal.svn.sourceforge.net/svnroot/geoportal/Geoportal/trunk/src/com/esri/gpt/catalog/lucene/SpatialClauseAdapter.java">SpatialClauseAdapter</a>.
- * <p>
- * <b>Characteristics:</b>
- * <br>
- * <ul>
- * <li>Only indexes Rectangles; just one per field value. Other shapes can be provided
- * and the bounding box will be used.</li>
- * <li>Can query only by a Rectangle. Providing other shapes is an error.</li>
- * <li>Supports most {@link SpatialOperation}s but not Overlaps.</li>
- * <li>Uses the DocValues API for any sorting / relevancy.</li>
- * </ul>
- * <p>
- * <b>Implementation:</b>
- * <p>
- * This uses 4 double fields for minX, maxX, minY, maxY
- * and a boolean to mark a dateline cross. Depending on the particular {@link
- * SpatialOperation}s, there are a variety of {@link org.apache.lucene.search.LegacyNumericRangeQuery}s to be
- * done.
- * The {@link #makeOverlapRatioValueSource(com.spatial4j.core.shape.Rectangle, double)}
- * works by calculating the query bbox overlap percentage against the indexed
- * shape overlap percentage. The indexed shape's coordinates are retrieved from
- * {@link org.apache.lucene.index.LeafReader#getNumericDocValues}.
- *
- * @lucene.experimental
- */
-public class BBoxStrategy extends SpatialStrategy {
-
-  public static final String SUFFIX_MINX = "__minX";
-  public static final String SUFFIX_MAXX = "__maxX";
-  public static final String SUFFIX_MINY = "__minY";
-  public static final String SUFFIX_MAXY = "__maxY";
-  public static final String SUFFIX_XDL  = "__xdl";
-
-  /*
-   * The Bounding Box gets stored as four fields for x/y min/max and a flag
-   * that says if the box crosses the dateline (xdl).
-   */
-  protected final String field_bbox;
-  protected final String field_minX;
-  protected final String field_minY;
-  protected final String field_maxX;
-  protected final String field_maxY;
-  protected final String field_xdl; // crosses dateline
-
-  protected FieldType fieldType;//for the 4 numbers
-  protected FieldType xdlFieldType;
-
-  public BBoxStrategy(SpatialContext ctx, String fieldNamePrefix) {
-    super(ctx, fieldNamePrefix);
-    field_bbox = fieldNamePrefix;
-    field_minX = fieldNamePrefix + SUFFIX_MINX;
-    field_maxX = fieldNamePrefix + SUFFIX_MAXX;
-    field_minY = fieldNamePrefix + SUFFIX_MINY;
-    field_maxY = fieldNamePrefix + SUFFIX_MAXY;
-    field_xdl = fieldNamePrefix + SUFFIX_XDL;
-
-    FieldType fieldType = new FieldType(LegacyDoubleField.TYPE_NOT_STORED);
-    fieldType.setNumericPrecisionStep(8);//Solr's default
-    fieldType.setDocValuesType(DocValuesType.NUMERIC);
-    setFieldType(fieldType);
-  }
-
-  private int getPrecisionStep() {
-    return fieldType.numericPrecisionStep();
-  }
-
-  public FieldType getFieldType() {
-    return fieldType;
-  }
-
-  /** Used to customize the indexing options of the 4 number fields, and to a lesser degree the XDL field too. Search
-   * requires indexed=true, and relevancy requires docValues. If these features aren't needed then disable them.
-   * {@link FieldType#freeze()} is called on the argument. */
-  public void setFieldType(FieldType fieldType) {
-    fieldType.freeze();
-    this.fieldType = fieldType;
-    //only double's supported right now
-    if (fieldType.numericType() != FieldType.LegacyNumericType.DOUBLE)
-      throw new IllegalArgumentException("BBoxStrategy only supports doubles at this time.");
-    //for xdlFieldType, copy some similar options. Don't do docValues since it isn't needed here.
-    xdlFieldType = new FieldType(StringField.TYPE_NOT_STORED);
-    xdlFieldType.setStored(fieldType.stored());
-    xdlFieldType.setIndexOptions(fieldType.indexOptions());
-    xdlFieldType.freeze();
-  }
-
-  //---------------------------------
-  // Indexing
-  //---------------------------------
-
-  @Override
-  public Field[] createIndexableFields(Shape shape) {
-    return createIndexableFields(shape.getBoundingBox());
-  }
-
-  public Field[] createIndexableFields(Rectangle bbox) {
-    Field[] fields = new Field[5];
-    fields[0] = new ComboField(field_minX, bbox.getMinX(), fieldType);
-    fields[1] = new ComboField(field_maxX, bbox.getMaxX(), fieldType);
-    fields[2] = new ComboField(field_minY, bbox.getMinY(), fieldType);
-    fields[3] = new ComboField(field_maxY, bbox.getMaxY(), fieldType);
-    fields[4] = new ComboField(field_xdl, bbox.getCrossesDateLine()?"T":"F", xdlFieldType);
-    return fields;
-  }
-
-  /** Field subclass circumventing Field limitations. This one instance can have any combination of indexed, stored,
-   * and docValues.
-   */
-  private static class ComboField extends Field {
-    private ComboField(String name, Object value, FieldType type) {
-      super(name, type);//this expert constructor allows us to have a field that has docValues & indexed/stored
-      super.fieldsData = value;
-    }
-
-    //Is this a hack?  We assume that numericValue() is only called for DocValues purposes.
-    @Override
-    public Number numericValue() {
-      //Numeric DocValues only supports Long,
-      final Number number = super.numericValue();
-      if (number == null)
-        return null;
-      if (fieldType().numericType() == FieldType.LegacyNumericType.DOUBLE)
-        return Double.doubleToLongBits(number.doubleValue());
-      if (fieldType().numericType() == FieldType.LegacyNumericType.FLOAT)
-        return Float.floatToIntBits(number.floatValue());
-      return number.longValue();
-    }
-  }
-
-  //---------------------------------
-  // Value Source / Relevancy
-  //---------------------------------
-
-  /**
-   * Provides access to each rectangle per document as a ValueSource in which
-   * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)} returns a {@link
-   * Shape}.
-   */ //TODO raise to SpatialStrategy
-  public ValueSource makeShapeValueSource() {
-    return new BBoxValueSource(this);
-  }
-
-  @Override
-  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
-    //TODO if makeShapeValueSource gets lifted to the top; this could become a generic impl.
-    return new DistanceToShapeValueSource(makeShapeValueSource(), queryPoint, multiplier, ctx);
-  }
-
-  /** Returns a similarity based on {@link BBoxOverlapRatioValueSource}. This is just a
-   * convenience method. */
-  public ValueSource makeOverlapRatioValueSource(Rectangle queryBox, double queryTargetProportion) {
-    return new BBoxOverlapRatioValueSource(
-        makeShapeValueSource(), ctx.isGeo(), queryBox, queryTargetProportion, 0.0);
-  }
-
-  //---------------------------------
-  // Query Building
-  //---------------------------------
-
-  //  Utility on SpatialStrategy?
-//  public Query makeQueryWithValueSource(SpatialArgs args, ValueSource valueSource) {
-//    return new CustomScoreQuery(makeQuery(args), new FunctionQuery(valueSource));
-  //or...
-//  return new BooleanQuery.Builder()
-//      .add(new FunctionQuery(valueSource), BooleanClause.Occur.MUST)//matches everything and provides score
-//      .add(filterQuery, BooleanClause.Occur.FILTER)//filters (score isn't used)
-//  .build();
-//  }
-
-  @Override
-  public Query makeQuery(SpatialArgs args) {
-    Shape shape = args.getShape();
-    if (!(shape instanceof Rectangle))
-      throw new UnsupportedOperationException("Can only query by Rectangle, not " + shape);
-
-    Rectangle bbox = (Rectangle) shape;
-    Query spatial;
-
-    // Useful for understanding Relations:
-    // http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm
-    SpatialOperation op = args.getOperation();
-         if( op == SpatialOperation.BBoxIntersects ) spatial = makeIntersects(bbox);
-    else if( op == SpatialOperation.BBoxWithin     ) spatial = makeWithin(bbox);
-    else if( op == SpatialOperation.Contains       ) spatial = makeContains(bbox);
-    else if( op == SpatialOperation.Intersects     ) spatial = makeIntersects(bbox);
-    else if( op == SpatialOperation.IsEqualTo      ) spatial = makeEquals(bbox);
-    else if( op == SpatialOperation.IsDisjointTo   ) spatial = makeDisjoint(bbox);
-    else if( op == SpatialOperation.IsWithin       ) spatial = makeWithin(bbox);
-    else { //no Overlaps support yet
-        throw new UnsupportedSpatialOperation(op);
-    }
-    return new ConstantScoreQuery(spatial);
-  }
-
-  /**
-   * Constructs a query to retrieve documents that fully contain the input envelope.
-   *
-   * @return the spatial query
-   */
-  Query makeContains(Rectangle bbox) {
-
-    // general case
-    // docMinX <= queryExtent.getMinX() AND docMinY <= queryExtent.getMinY() AND docMaxX >= queryExtent.getMaxX() AND docMaxY >= queryExtent.getMaxY()
-
-    // Y conditions
-    // docMinY <= queryExtent.getMinY() AND docMaxY >= queryExtent.getMaxY()
-    Query qMinY = LegacyNumericRangeQuery.newDoubleRange(field_minY, getPrecisionStep(), null, bbox.getMinY(), false, true);
-    Query qMaxY = LegacyNumericRangeQuery.newDoubleRange(field_maxY, getPrecisionStep(), bbox.getMaxY(), null, true, false);
-    Query yConditions = this.makeQuery(BooleanClause.Occur.MUST, qMinY, qMaxY);
-
-    // X conditions
-    Query xConditions;
-
-    // queries that do not cross the date line
-    if (!bbox.getCrossesDateLine()) {
-
-      // X Conditions for documents that do not cross the date line,
-      // documents that contain the min X and max X of the query envelope,
-      // docMinX <= queryExtent.getMinX() AND docMaxX >= queryExtent.getMaxX()
-      Query qMinX = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), null, bbox.getMinX(), false, true);
-      Query qMaxX = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), bbox.getMaxX(), null, true, false);
-      Query qMinMax = this.makeQuery(BooleanClause.Occur.MUST, qMinX, qMaxX);
-      Query qNonXDL = this.makeXDL(false, qMinMax);
-
-      if (!ctx.isGeo()) {
-        xConditions = qNonXDL;
-      } else {
-        // X Conditions for documents that cross the date line,
-        // the left portion of the document contains the min X of the query
-        // OR the right portion of the document contains the max X of the query,
-        // docMinXLeft <= queryExtent.getMinX() OR docMaxXRight >= queryExtent.getMaxX()
-        Query qXDLLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), null, bbox.getMinX(), false, true);
-        Query qXDLRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), bbox.getMaxX(), null, true, false);
-        Query qXDLLeftRight = this.makeQuery(BooleanClause.Occur.SHOULD, qXDLLeft, qXDLRight);
-        Query qXDL = this.makeXDL(true, qXDLLeftRight);
-
-        Query qEdgeDL = null;
-        if (bbox.getMinX() == bbox.getMaxX() && Math.abs(bbox.getMinX()) == 180) {
-          double edge = bbox.getMinX() * -1;//opposite dateline edge
-          qEdgeDL = makeQuery(BooleanClause.Occur.SHOULD,
-              makeNumberTermQuery(field_minX, edge), makeNumberTermQuery(field_maxX, edge));
-        }
-
-        // apply the non-XDL and XDL conditions
-        xConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qNonXDL, qXDL, qEdgeDL);
-      }
-    } else {
-      // queries that cross the date line
-
-      // No need to search for documents that do not cross the date line
-
-      // X Conditions for documents that cross the date line,
-      // the left portion of the document contains the min X of the query
-      // AND the right portion of the document contains the max X of the query,
-      // docMinXLeft <= queryExtent.getMinX() AND docMaxXRight >= queryExtent.getMaxX()
-      Query qXDLLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), null, bbox.getMinX(), false, true);
-      Query qXDLRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), bbox.getMaxX(), null, true, false);
-      Query qXDLLeftRight = this.makeXDL(true, this.makeQuery(BooleanClause.Occur.MUST, qXDLLeft, qXDLRight));
-
-      Query qWorld = makeQuery(BooleanClause.Occur.MUST,
-          makeNumberTermQuery(field_minX, -180), makeNumberTermQuery(field_maxX, 180));
-
-      xConditions = makeQuery(BooleanClause.Occur.SHOULD, qXDLLeftRight, qWorld);
-    }
-
-    // both X and Y conditions must occur
-    return this.makeQuery(BooleanClause.Occur.MUST, xConditions, yConditions);
-  }
-
-  /**
-   * Constructs a query to retrieve documents that are disjoint to the input envelope.
-   *
-   * @return the spatial query
-   */
-  Query makeDisjoint(Rectangle bbox) {
-
-    // general case
-    // docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX() OR docMinY > queryExtent.getMaxY() OR docMaxY < queryExtent.getMinY()
-
-    // Y conditions
-    // docMinY > queryExtent.getMaxY() OR docMaxY < queryExtent.getMinY()
-    Query qMinY = LegacyNumericRangeQuery.newDoubleRange(field_minY, getPrecisionStep(), bbox.getMaxY(), null, false, false);
-    Query qMaxY = LegacyNumericRangeQuery.newDoubleRange(field_maxY, getPrecisionStep(), null, bbox.getMinY(), false, false);
-    Query yConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qMinY, qMaxY);
-
-    // X conditions
-    Query xConditions;
-
-    // queries that do not cross the date line
-    if (!bbox.getCrossesDateLine()) {
-
-      // X Conditions for documents that do not cross the date line,
-      // docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX()
-      Query qMinX = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
-      if (bbox.getMinX() == -180.0 && ctx.isGeo()) {//touches dateline; -180 == 180
-        BooleanQuery.Builder bq = new BooleanQuery.Builder();
-        bq.add(qMinX, BooleanClause.Occur.MUST);
-        bq.add(makeNumberTermQuery(field_maxX, 180.0), BooleanClause.Occur.MUST_NOT);
-        qMinX = bq.build();
-      }
-      Query qMaxX = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
-      if (bbox.getMaxX() == 180.0 && ctx.isGeo()) {//touches dateline; -180 == 180
-        BooleanQuery.Builder bq = new BooleanQuery.Builder();
-        bq.add(qMaxX, BooleanClause.Occur.MUST);
-        bq.add(makeNumberTermQuery(field_minX, -180.0), BooleanClause.Occur.MUST_NOT);
-        qMaxX = bq.build();
-      }
-      Query qMinMax = this.makeQuery(BooleanClause.Occur.SHOULD, qMinX, qMaxX);
-      Query qNonXDL = this.makeXDL(false, qMinMax);
-
-      if (!ctx.isGeo()) {
-        xConditions = qNonXDL;
-      } else {
-        // X Conditions for documents that cross the date line,
-
-        // both the left and right portions of the document must be disjoint to the query
-        // (docMinXLeft > queryExtent.getMaxX() OR docMaxXLeft < queryExtent.getMinX()) AND
-        // (docMinXRight > queryExtent.getMaxX() OR docMaxXRight < queryExtent.getMinX())
-        // where: docMaxXLeft = 180.0, docMinXRight = -180.0
-        // (docMaxXLeft  < queryExtent.getMinX()) equates to (180.0  < queryExtent.getMinX()) and is ignored
-        // (docMinXRight > queryExtent.getMaxX()) equates to (-180.0 > queryExtent.getMaxX()) and is ignored
-        Query qMinXLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
-        Query qMaxXRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
-        Query qLeftRight = this.makeQuery(BooleanClause.Occur.MUST, qMinXLeft, qMaxXRight);
-        Query qXDL = this.makeXDL(true, qLeftRight);
-
-        // apply the non-XDL and XDL conditions
-        xConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qNonXDL, qXDL);
-      }
-      // queries that cross the date line
-    } else {
-
-      // X Conditions for documents that do not cross the date line,
-      // the document must be disjoint to both the left and right query portions
-      // (docMinX > queryExtent.getMaxX()Left OR docMaxX < queryExtent.getMinX()) AND (docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX()Left)
-      // where: queryExtent.getMaxX()Left = 180.0, queryExtent.getMinX()Left = -180.0
-      Query qMinXLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), 180.0, null, false, false);
-      Query qMaxXLeft = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
-      Query qMinXRight = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
-      Query qMaxXRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, -180.0, false, false);
-      Query qLeft = this.makeQuery(BooleanClause.Occur.SHOULD, qMinXLeft, qMaxXLeft);
-      Query qRight = this.makeQuery(BooleanClause.Occur.SHOULD, qMinXRight, qMaxXRight);
-      Query qLeftRight = this.makeQuery(BooleanClause.Occur.MUST, qLeft, qRight);
-
-      // No need to search for documents that do not cross the date line
-
-      xConditions = this.makeXDL(false, qLeftRight);
-    }
-
-    // either X or Y conditions should occur
-    return this.makeQuery(BooleanClause.Occur.SHOULD, xConditions, yConditions);
-  }
-
-  /**
-   * Constructs a query to retrieve documents that equal the input envelope.
-   *
-   * @return the spatial query
-   */
-  Query makeEquals(Rectangle bbox) {
-
-    // docMinX = queryExtent.getMinX() AND docMinY = queryExtent.getMinY() AND docMaxX = queryExtent.getMaxX() AND docMaxY = queryExtent.getMaxY()
-    Query qMinX = makeNumberTermQuery(field_minX, bbox.getMinX());
-    Query qMinY = makeNumberTermQuery(field_minY, bbox.getMinY());
-    Query qMaxX = makeNumberTermQuery(field_maxX, bbox.getMaxX());
-    Query qMaxY = makeNumberTermQuery(field_maxY, bbox.getMaxY());
-    return makeQuery(BooleanClause.Occur.MUST, qMinX, qMinY, qMaxX, qMaxY);
-  }
-
-  /**
-   * Constructs a query to retrieve documents that intersect the input envelope.
-   *
-   * @return the spatial query
-   */
-  Query makeIntersects(Rectangle bbox) {
-
-    // the original intersects query does not work for envelopes that cross the date line,
-    // switch to a NOT Disjoint query
-
-    // MUST_NOT causes a problem when it's the only clause type within a BooleanQuery,
-    // to get around it we add all documents as a SHOULD
-
-    // there must be an envelope, it must not be disjoint
-    Query qHasEnv;
-    if (ctx.isGeo()) {
-      Query qIsNonXDL = this.makeXDL(false);
-      Query qIsXDL = ctx.isGeo() ? this.makeXDL(true) : null;
-      qHasEnv = this.makeQuery(BooleanClause.Occur.SHOULD, qIsNonXDL, qIsXDL);
-    } else {
-      qHasEnv = this.makeXDL(false);
-    }
-
-    BooleanQuery.Builder qNotDisjoint = new BooleanQuery.Builder();
-    qNotDisjoint.add(qHasEnv, BooleanClause.Occur.MUST);
-    Query qDisjoint = makeDisjoint(bbox);
-    qNotDisjoint.add(qDisjoint, BooleanClause.Occur.MUST_NOT);
-
-    //Query qDisjoint = makeDisjoint();
-    //BooleanQuery qNotDisjoint = new BooleanQuery();
-    //qNotDisjoint.add(new MatchAllDocsQuery(),BooleanClause.Occur.SHOULD);
-    //qNotDisjoint.add(qDisjoint,BooleanClause.Occur.MUST_NOT);
-    return qNotDisjoint.build();
-  }
-
-  /**
-   * Makes a boolean query based upon a collection of queries and a logical operator.
-   *
-   * @param occur the logical operator
-   * @param queries the query collection
-   * @return the query
-   */
-  BooleanQuery makeQuery(BooleanClause.Occur occur, Query... queries) {
-    BooleanQuery.Builder bq = new BooleanQuery.Builder();
-    for (Query query : queries) {
-      if (query != null)
-        bq.add(query, occur);
-    }
-    return bq.build();
-  }
-
-  /**
-   * Constructs a query to retrieve documents are fully within the input envelope.
-   *
-   * @return the spatial query
-   */
-  Query makeWithin(Rectangle bbox) {
-
-    // general case
-    // docMinX >= queryExtent.getMinX() AND docMinY >= queryExtent.getMinY() AND docMaxX <= queryExtent.getMaxX() AND docMaxY <= queryExtent.getMaxY()
-
-    // Y conditions
-    // docMinY >= queryExtent.getMinY() AND docMaxY <= queryExtent.getMaxY()
-    Query qMinY = LegacyNumericRangeQuery.newDoubleRange(field_minY, getPrecisionStep(), bbox.getMinY(), null, true, false);
-    Query qMaxY = LegacyNumericRangeQuery.newDoubleRange(field_maxY, getPrecisionStep(), null, bbox.getMaxY(), false, true);
-    Query yConditions = this.makeQuery(BooleanClause.Occur.MUST, qMinY, qMaxY);
-
-    // X conditions
-    Query xConditions;
-
-    if (ctx.isGeo() && bbox.getMinX() == -180.0 && bbox.getMaxX() == 180.0) {
-      //if query world-wraps, only the y condition matters
-      return yConditions;
-
-    } else if (!bbox.getCrossesDateLine()) {
-      // queries that do not cross the date line
-
-      // docMinX >= queryExtent.getMinX() AND docMaxX <= queryExtent.getMaxX()
-      Query qMinX = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMinX(), null, true, false);
-      Query qMaxX = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMaxX(), false, true);
-      Query qMinMax = this.makeQuery(BooleanClause.Occur.MUST, qMinX, qMaxX);
-
-      double edge = 0;//none, otherwise opposite dateline of query
-      if (bbox.getMinX() == -180.0)
-        edge = 180;
-      else if (bbox.getMaxX() == 180.0)
-        edge = -180;
-      if (edge != 0 && ctx.isGeo()) {
-        Query edgeQ = makeQuery(BooleanClause.Occur.MUST,
-            makeNumberTermQuery(field_minX, edge), makeNumberTermQuery(field_maxX, edge));
-        qMinMax = makeQuery(BooleanClause.Occur.SHOULD, qMinMax, edgeQ);
-      }
-
-      xConditions = this.makeXDL(false, qMinMax);
-
-      // queries that cross the date line
-    } else {
-
-      // X Conditions for documents that do not cross the date line
-
-      // the document should be within the left portion of the query
-      // docMinX >= queryExtent.getMinX() AND docMaxX <= 180.0
-      Query qMinXLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMinX(), null, true, false);
-      Query qMaxXLeft = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, 180.0, false, true);
-      Query qLeft = this.makeQuery(BooleanClause.Occur.MUST, qMinXLeft, qMaxXLeft);
-
-      // the document should be within the right portion of the query
-      // docMinX >= -180.0 AND docMaxX <= queryExtent.getMaxX()
-      Query qMinXRight = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), -180.0, null, true, false);
-      Query qMaxXRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMaxX(), false, true);
-      Query qRight = this.makeQuery(BooleanClause.Occur.MUST, qMinXRight, qMaxXRight);
-
-      // either left or right conditions should occur,
-      // apply the left and right conditions to documents that do not cross the date line
-      Query qLeftRight = this.makeQuery(BooleanClause.Occur.SHOULD, qLeft, qRight);
-      Query qNonXDL = this.makeXDL(false, qLeftRight);
-
-      // X Conditions for documents that cross the date line,
-      // the left portion of the document must be within the left portion of the query,
-      // AND the right portion of the document must be within the right portion of the query
-      // docMinXLeft >= queryExtent.getMinX() AND docMaxXLeft <= 180.0
-      // AND docMinXRight >= -180.0 AND docMaxXRight <= queryExtent.getMaxX()
-      Query qXDLLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMinX(), null, true, false);
-      Query qXDLRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMaxX(), false, true);
-      Query qXDLLeftRight = this.makeQuery(BooleanClause.Occur.MUST, qXDLLeft, qXDLRight);
-      Query qXDL = this.makeXDL(true, qXDLLeftRight);
-
-      // apply the non-XDL and XDL conditions
-      xConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qNonXDL, qXDL);
-    }
-
-    // both X and Y conditions must occur
-    return this.makeQuery(BooleanClause.Occur.MUST, xConditions, yConditions);
-  }
-
-  /**
-   * Constructs a query to retrieve documents that do or do not cross the date line.
-   *
-   * @param crossedDateLine <code>true</true> for documents that cross the date line
-   * @return the query
-   */
-  private Query makeXDL(boolean crossedDateLine) {
-    // The 'T' and 'F' values match solr fields
-    return new TermQuery(new Term(field_xdl, crossedDateLine ? "T" : "F"));
-  }
-
-  /**
-   * Constructs a query to retrieve documents that do or do not cross the date line
-   * and match the supplied spatial query.
-   *
-   * @param crossedDateLine <code>true</true> for documents that cross the date line
-   * @param query the spatial query
-   * @return the query
-   */
-  private Query makeXDL(boolean crossedDateLine, Query query) {
-    if (!ctx.isGeo()) {
-      assert !crossedDateLine;
-      return query;
-    }
-    BooleanQuery.Builder bq = new BooleanQuery.Builder();
-    bq.add(this.makeXDL(crossedDateLine), BooleanClause.Occur.MUST);
-    bq.add(query, BooleanClause.Occur.MUST);
-    return bq.build();
-  }
-
-  private Query makeNumberTermQuery(String field, double number) {
-    BytesRefBuilder bytes = new BytesRefBuilder();
-    LegacyNumericUtils.longToPrefixCodedBytes(LegacyNumericUtils.doubleToSortableLong(number), 0, bytes);
-    return new TermQuery(new Term(field, bytes.get()));
-  }
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
deleted file mode 100644
index 5d95407..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * 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.lucene.spatial.bbox;
-
-import com.spatial4j.core.shape.Rectangle;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.DocValues;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.util.Bits;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * A ValueSource in which the indexed Rectangle is returned from
- * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)}.
- *
- * @lucene.internal
- */
-class BBoxValueSource extends ValueSource {
-
-  private final BBoxStrategy strategy;
-
-  public BBoxValueSource(BBoxStrategy strategy) {
-    this.strategy = strategy;
-  }
-
-  @Override
-  public String description() {
-    return "bboxShape(" + strategy.getFieldName() + ")";
-  }
-
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-    LeafReader reader = readerContext.reader();
-    final NumericDocValues minX = DocValues.getNumeric(reader, strategy.field_minX);
-    final NumericDocValues minY = DocValues.getNumeric(reader, strategy.field_minY);
-    final NumericDocValues maxX = DocValues.getNumeric(reader, strategy.field_maxX);
-    final NumericDocValues maxY = DocValues.getNumeric(reader, strategy.field_maxY);
-
-    final Bits validBits = DocValues.getDocsWithField(reader, strategy.field_minX);//could have chosen any field
-    //reused
-    final Rectangle rect = strategy.getSpatialContext().makeRectangle(0,0,0,0);
-
-    return new FunctionValues() {
-      @Override
-      public Object objectVal(int doc) {
-        if (!validBits.get(doc)) {
-          return null;
-        } else {
-          rect.reset(
-              Double.longBitsToDouble(minX.get(doc)), Double.longBitsToDouble(maxX.get(doc)),
-              Double.longBitsToDouble(minY.get(doc)), Double.longBitsToDouble(maxY.get(doc)));
-          return rect;
-        }
-      }
-
-      @Override
-      public String strVal(int doc) {//TODO support WKT output once Spatial4j does
-        Object v = objectVal(doc);
-        return v == null ? null : v.toString();
-      }
-
-      @Override
-      public boolean exists(int doc) {
-        return validBits.get(doc);
-      }
-
-      @Override
-      public Explanation explain(int doc) {
-        return Explanation.match(Float.NaN, toString(doc));
-      }
-
-      @Override
-      public String toString(int doc) {
-        return description() + '=' + strVal(doc);
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    BBoxValueSource that = (BBoxValueSource) o;
-
-    if (!strategy.equals(that.strategy)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return strategy.hashCode();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
deleted file mode 100644
index 19e9fd3..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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.
- */
-/** 
- * Bounding Box Spatial Strategy
- * <p>
- * Index a shape extent using 4 numeric fields and a flag to say if it crosses the dateline
- */
-package org.apache.lucene.spatial.bbox;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
deleted file mode 100644
index 7dc2dfa..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * 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.lucene.spatial.composite;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.SpatialStrategy;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
-import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
-import org.apache.lucene.spatial.util.ShapePredicateValueSource;
-
-/**
- * A composite {@link SpatialStrategy} based on {@link RecursivePrefixTreeStrategy} (RPT) and
- * {@link SerializedDVStrategy} (SDV).
- * RPT acts as an index to the precision available in SDV, and in some circumstances can avoid geometry lookups based
- * on where a cell is in relation to the query shape.  Currently the only predicate optimized like this is Intersects.
- * All predicates are supported except for the BBox* ones, and Disjoint.
- *
- * @lucene.experimental
- */
-public class CompositeSpatialStrategy extends SpatialStrategy {
-
-  //TODO support others? (BBox)
-  private final RecursivePrefixTreeStrategy indexStrategy;
-
-  /** Has the geometry. */ // TODO support others?
-  private final SerializedDVStrategy geometryStrategy;
-  private boolean optimizePredicates = true;
-
-  public CompositeSpatialStrategy(String fieldName,
-                                  RecursivePrefixTreeStrategy indexStrategy, SerializedDVStrategy geometryStrategy) {
-    super(indexStrategy.getSpatialContext(), fieldName);//field name; unused
-    this.indexStrategy = indexStrategy;
-    this.geometryStrategy = geometryStrategy;
-  }
-
-  public RecursivePrefixTreeStrategy getIndexStrategy() {
-    return indexStrategy;
-  }
-
-  public SerializedDVStrategy getGeometryStrategy() {
-    return geometryStrategy;
-  }
-
-  public boolean isOptimizePredicates() {
-    return optimizePredicates;
-  }
-
-  /** Set to false to NOT use optimized search predicates that avoid checking the geometry sometimes. Only useful for
-   * benchmarking. */
-  public void setOptimizePredicates(boolean optimizePredicates) {
-    this.optimizePredicates = optimizePredicates;
-  }
-
-  @Override
-  public Field[] createIndexableFields(Shape shape) {
-    List<Field> fields = new ArrayList<>();
-    Collections.addAll(fields, indexStrategy.createIndexableFields(shape));
-    Collections.addAll(fields, geometryStrategy.createIndexableFields(shape));
-    return fields.toArray(new Field[fields.size()]);
-  }
-
-  @Override
-  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
-    //TODO consider indexing center-point in DV?  Guarantee contained by the shape, which could then be used for
-    // other purposes like faster WITHIN predicate?
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
-  public Query makeQuery(SpatialArgs args) {
-    final SpatialOperation pred = args.getOperation();
-
-    if (pred == SpatialOperation.BBoxIntersects || pred == SpatialOperation.BBoxWithin) {
-      throw new UnsupportedSpatialOperation(pred);
-    }
-
-    if (pred == SpatialOperation.IsDisjointTo) {
-//      final Query intersectQuery = makeQuery(new SpatialArgs(SpatialOperation.Intersects, args.getShape()));
-//      DocValues.getDocsWithField(reader, geometryStrategy.getFieldName());
-      //TODO resurrect Disjoint spatial query utility accepting a field name known to have DocValues.
-      // update class docs when it's added.
-      throw new UnsupportedSpatialOperation(pred);
-    }
-
-    final ShapePredicateValueSource predicateValueSource =
-        new ShapePredicateValueSource(geometryStrategy.makeShapeValueSource(), pred, args.getShape());
-    //System.out.println("PredOpt: " + optimizePredicates);
-    if (pred == SpatialOperation.Intersects && optimizePredicates) {
-      // We have a smart Intersects impl
-
-      final SpatialPrefixTree grid = indexStrategy.getGrid();
-      final int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, 0.0));//default to max precision
-      return new IntersectsRPTVerifyQuery(args.getShape(), indexStrategy.getFieldName(), grid,
-          detailLevel, indexStrategy.getPrefixGridScanLevel(), predicateValueSource);
-    } else {
-      //The general path; all index matches get verified
-
-      SpatialArgs indexArgs;
-      if (pred == SpatialOperation.Contains) {
-        // note: we could map IsWithin as well but it's pretty darned slow since it touches all world grids
-        indexArgs = args;
-      } else {
-        //TODO add args.clone method with new predicate? Or simply make non-final?
-        indexArgs = new SpatialArgs(SpatialOperation.Intersects, args.getShape());
-        indexArgs.setDistErr(args.getDistErr());
-        indexArgs.setDistErrPct(args.getDistErrPct());
-      }
-
-      if (indexArgs.getDistErr() == null && indexArgs.getDistErrPct() == null) {
-        indexArgs.setDistErrPct(0.10);
-      }
-
-      final Query indexQuery = indexStrategy.makeQuery(indexArgs);
-      return new CompositeVerifyQuery(indexQuery, predicateValueSource);
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
deleted file mode 100644
index e03d959..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * 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.lucene.spatial.composite;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.TwoPhaseIterator;
-import org.apache.lucene.search.Weight;
-import org.apache.lucene.util.Bits;
-
-/**
- * A Query that considers an "indexQuery" to have approximate results, and a follow-on
- * {@link ValueSource}/{@link FunctionValues#boolVal(int)} is called to verify each hit
- * from {@link TwoPhaseIterator#matches()}.
- *
- * @lucene.experimental
- */
-public class CompositeVerifyQuery extends Query {
-  final Query indexQuery;//approximation (matches more than needed)
-  final ValueSource predicateValueSource;//we call boolVal(doc)
-
-  public CompositeVerifyQuery(Query indexQuery, ValueSource predicateValueSource) {
-    this.indexQuery = indexQuery;
-    this.predicateValueSource = predicateValueSource;
-  }
-
-  @Override
-  public Query rewrite(IndexReader reader) throws IOException {
-    final Query rewritten = indexQuery.rewrite(reader);
-    if (rewritten != indexQuery) {
-      return new CompositeVerifyQuery(rewritten, predicateValueSource);
-    }
-    return super.rewrite(reader);
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-    if (!super.equals(o)) return false;
-
-    CompositeVerifyQuery that = (CompositeVerifyQuery) o;
-
-    if (!indexQuery.equals(that.indexQuery)) return false;
-    if (!predicateValueSource.equals(that.predicateValueSource)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + indexQuery.hashCode();
-    result = 31 * result + predicateValueSource.hashCode();
-    return result;
-  }
-
-  @Override
-  public String toString(String field) {
-    //TODO verify this looks good
-    return getClass().getSimpleName() + "(" + indexQuery.toString(field) + ", " + predicateValueSource + ")";
-  }
-
-  @Override
-  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
-    final Weight indexQueryWeight = indexQuery.createWeight(searcher, false);//scores aren't unsupported
-    final Map valueSourceContext = ValueSource.newContext(searcher);
-
-    return new ConstantScoreWeight(this) {
-
-      @Override
-      public Scorer scorer(LeafReaderContext context) throws IOException {
-
-        final Scorer indexQueryScorer = indexQueryWeight.scorer(context);
-        if (indexQueryScorer == null) {
-          return null;
-        }
-
-        final FunctionValues predFuncValues = predicateValueSource.getValues(valueSourceContext, context);
-
-        final TwoPhaseIterator twoPhaseIterator = new TwoPhaseIterator(indexQueryScorer.iterator()) {
-          @Override
-          public boolean matches() throws IOException {
-            return predFuncValues.boolVal(indexQueryScorer.docID());
-          }
-
-          @Override
-          public float matchCost() {
-            return 100; // TODO: use cost of predFuncValues.boolVal()
-          }
-        };
-
-        return new ConstantScoreScorer(this, score(), twoPhaseIterator);
-      }
-    };
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
deleted file mode 100644
index a963b6e..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * 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.lucene.spatial.composite;
-
-import java.io.IOException;
-import java.util.Map;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.TwoPhaseIterator;
-import org.apache.lucene.search.Weight;
-import org.apache.lucene.spatial.prefix.AbstractVisitingPrefixTreeQuery;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.DocIdSetBuilder;
-
-/**
- * A spatial Intersects predicate that distinguishes an approximated match from an exact match based on which cells
- * are within the query shape. It exposes a {@link TwoPhaseIterator} that will verify a match with a provided
- * predicate in the form of a {@link ValueSource} by calling {@link FunctionValues#boolVal(int)}.
- *
- * @lucene.internal
- */
-public class IntersectsRPTVerifyQuery extends Query {
-
-  private final IntersectsDifferentiatingQuery intersectsDiffQuery;
-  private final ValueSource predicateValueSource; // we call FunctionValues.boolVal(doc)
-
-  public IntersectsRPTVerifyQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel,
-                                  int prefixGridScanLevel, ValueSource predicateValueSource) {
-    this.predicateValueSource = predicateValueSource;
-    this.intersectsDiffQuery = new IntersectsDifferentiatingQuery(queryShape, fieldName, grid, detailLevel,
-        prefixGridScanLevel);
-  }
-
-  @Override
-  public String toString(String field) {
-    return "IntersectsVerified(fieldName=" + field + ")";
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (!super.equals(o)) return false;
-
-    IntersectsRPTVerifyQuery that = (IntersectsRPTVerifyQuery) o;
-
-    if (!intersectsDiffQuery.equals(that.intersectsDiffQuery)) return false;
-    return predicateValueSource.equals(that.predicateValueSource);
-
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + intersectsDiffQuery.hashCode();
-    result = 31 * result + predicateValueSource.hashCode();
-    return result;
-  }
-
-  @Override
-  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
-    final Map valueSourceContext = ValueSource.newContext(searcher);
-
-    return new ConstantScoreWeight(this) {
-      @Override
-      public Scorer scorer(LeafReaderContext context) throws IOException {
-        // Compute approx & exact
-        final IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor result =
-            intersectsDiffQuery.compute(context);
-        if (result.approxDocIdSet == null) {
-          return null;
-        }
-        final DocIdSetIterator approxDISI = result.approxDocIdSet.iterator();
-        if (approxDISI == null) {
-          return null;
-        }
-        final DocIdSetIterator exactIterator;
-        if (result.exactDocIdSet != null) {
-          // If both sets are the same, there's nothing to verify; we needn't return a TwoPhaseIterator
-          if (result.approxDocIdSet == result.exactDocIdSet) {
-            return new ConstantScoreScorer(this, score(), approxDISI);
-          }
-          exactIterator = result.exactDocIdSet.iterator();
-          assert exactIterator != null;
-        } else {
-          exactIterator = null;
-        }
-
-        final FunctionValues predFuncValues = predicateValueSource.getValues(valueSourceContext, context);
-
-        final TwoPhaseIterator twoPhaseIterator = new TwoPhaseIterator(approxDISI) {
-          @Override
-          public boolean matches() throws IOException {
-            final int doc = approxDISI.docID();
-            if (exactIterator != null) {
-              if (exactIterator.docID() < doc) {
-                exactIterator.advance(doc);
-              }
-              if (exactIterator.docID() == doc) {
-                return true;
-              }
-            }
-
-            return predFuncValues.boolVal(doc);
-          }
-
-          @Override
-          public float matchCost() {
-            return 100; // TODO: use cost of exactIterator.advance() and predFuncValues.boolVal()
-          }
-        };
-
-        return new ConstantScoreScorer(this, score(), twoPhaseIterator);
-      }
-    };
-  }
-
-  //This may be a "Query" but we don't use it as-such; the caller calls the constructor and then compute() and examines
-  // the results which consists of two parts -- the approximated results, and a subset of exact matches. The
-  // difference needs to be verified.
-  // TODO refactor AVPTQ to not be a Query?
-  private static class IntersectsDifferentiatingQuery extends AbstractVisitingPrefixTreeQuery {
-
-    public IntersectsDifferentiatingQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid,
-                                          int detailLevel, int prefixGridScanLevel) {
-      super(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel);
-    }
-
-    IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor compute(LeafReaderContext context)
-        throws IOException {
-      final IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor result =
-          new IntersectsDifferentiatingQuery.IntersectsDifferentiatingVisitor(context);
-      result.getDocIdSet();//computes
-      return result;
-    }
-
-    // TODO consider if IntersectsPrefixTreeQuery should simply do this and provide both sets
-
-    class IntersectsDifferentiatingVisitor extends VisitorTemplate {
-      DocIdSetBuilder approxBuilder = new DocIdSetBuilder(maxDoc);
-      DocIdSetBuilder exactBuilder = new DocIdSetBuilder(maxDoc);
-      boolean approxIsEmpty = true;
-      boolean exactIsEmpty = true;
-      DocIdSet exactDocIdSet;
-      DocIdSet approxDocIdSet;
-
-      public IntersectsDifferentiatingVisitor(LeafReaderContext context) throws IOException {
-        super(context);
-      }
-
-      @Override
-      protected void start() throws IOException {
-      }
-
-      @Override
-      protected DocIdSet finish() throws IOException {
-        if (exactIsEmpty) {
-          exactDocIdSet = null;
-        } else {
-          exactDocIdSet = exactBuilder.build();
-        }
-        if (approxIsEmpty) {
-          approxDocIdSet = exactDocIdSet;//optimization
-        } else {
-          if (exactDocIdSet != null) {
-            approxBuilder.add(exactDocIdSet.iterator());
-          }
-          approxDocIdSet = approxBuilder.build();
-        }
-        return null;//unused in this weird re-use of AVPTQ
-      }
-
-      @Override
-      protected boolean visitPrefix(Cell cell) throws IOException {
-        if (cell.getShapeRel() == SpatialRelation.WITHIN) {
-          exactIsEmpty = false;
-          collectDocs(exactBuilder);//note: we'll add exact to approx on finish()
-          return false;
-        } else if (cell.getLevel() == detailLevel) {
-          approxIsEmpty = false;
-          collectDocs(approxBuilder);
-          return false;
-        }
-        return true;
-      }
-
-      @Override
-      protected void visitLeaf(Cell cell) throws IOException {
-        if (cell.getShapeRel() == SpatialRelation.WITHIN) {
-          exactIsEmpty = false;
-          collectDocs(exactBuilder);//note: we'll add exact to approx on finish()
-        } else {
-          approxIsEmpty = false;
-          collectDocs(approxBuilder);
-        }
-      }
-    }
-
-    @Override
-    public DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public String toString(String field) {
-      throw new IllegalStateException();
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
deleted file mode 100644
index 04cb9fc..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * 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.
- */
-/** Composite strategies. */
-package org.apache.lucene.spatial.composite;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/document/GeoPointField.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/document/GeoPointField.java b/lucene/spatial/src/java/org/apache/lucene/spatial/document/GeoPointField.java
new file mode 100644
index 0000000..22a9bd9
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/document/GeoPointField.java
@@ -0,0 +1,139 @@
+/*
+ * 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.lucene.spatial.document;
+
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.index.DocValuesType;
+import org.apache.lucene.index.IndexOptions;
+import org.apache.lucene.spatial.search.GeoPointDistanceQuery;
+import org.apache.lucene.spatial.search.GeoPointInBBoxQuery;
+import org.apache.lucene.spatial.search.GeoPointInPolygonQuery;
+import org.apache.lucene.spatial.util.GeoUtils;
+
+/**
+ * <p>
+ * Field that indexes <code>latitude</code> <code>longitude</code> decimal-degree values
+ * for efficient encoding, sorting, and querying. This Geo capability is intended
+ * to provide a basic and efficient out of the box field type for indexing and
+ * querying 2 dimensional points in WGS-84 decimal degrees. An example usage is as follows:
+ *
+ * <pre class="prettyprint">
+ *  document.add(new GeoPointField(name, -96.33, 32.66, Field.Store.NO));
+ * </pre>
+ *
+ * <p>To perform simple geospatial queries against a <code>GeoPointField</code>,
+ * see {@link GeoPointInBBoxQuery}, {@link GeoPointInPolygonQuery},
+ * or {@link GeoPointDistanceQuery}
+ *
+ * NOTE: This indexes only high precision encoded terms which may result in visiting a high number
+ * of terms for large queries. See LUCENE-6481 for a future improvement.
+ *
+ * @lucene.experimental
+ */
+public final class GeoPointField extends Field {
+  /** encoding step value for GeoPoint prefix terms */
+  public static final int PRECISION_STEP = 9;
+
+  /**
+   * Type for an GeoPointField that is not stored:
+   * normalization factors, frequencies, and positions are omitted.
+   */
+  public static final FieldType TYPE_NOT_STORED = new FieldType();
+  static {
+    TYPE_NOT_STORED.setTokenized(false);
+    TYPE_NOT_STORED.setOmitNorms(true);
+    TYPE_NOT_STORED.setIndexOptions(IndexOptions.DOCS);
+    TYPE_NOT_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
+    TYPE_NOT_STORED.setNumericType(FieldType.LegacyNumericType.LONG);
+    TYPE_NOT_STORED.setNumericPrecisionStep(PRECISION_STEP);
+    TYPE_NOT_STORED.freeze();
+  }
+
+  /**
+   * Type for a stored GeoPointField:
+   * normalization factors, frequencies, and positions are omitted.
+   */
+  public static final FieldType TYPE_STORED = new FieldType();
+  static {
+    TYPE_STORED.setTokenized(false);
+    TYPE_STORED.setOmitNorms(true);
+    TYPE_STORED.setIndexOptions(IndexOptions.DOCS);
+    TYPE_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
+    TYPE_STORED.setNumericType(FieldType.LegacyNumericType.LONG);
+    TYPE_STORED.setNumericPrecisionStep(PRECISION_STEP);
+    TYPE_STORED.setStored(true);
+    TYPE_STORED.freeze();
+  }
+
+  /** Creates a stored or un-stored GeoPointField with the provided value
+   *  and default <code>precisionStep</code> set to 64 to avoid wasteful
+   *  indexing of lower precision terms.
+   *  @param name field name
+   *  @param lon longitude double value [-180.0 : 180.0]
+   *  @param lat latitude double value [-90.0 : 90.0]
+   *  @param stored Store.YES if the content should also be stored
+   *  @throws IllegalArgumentException if the field name is null.
+   */
+  public GeoPointField(String name, double lon, double lat, Store stored) {
+    super(name, stored == Store.YES ? TYPE_STORED : TYPE_NOT_STORED);
+    fieldsData = GeoUtils.mortonHash(lon, lat);
+  }
+
+  /** Expert: allows you to customize the {@link
+   *  FieldType}.
+   *  @param name field name
+   *  @param lon longitude double value [-180.0 : 180.0]
+   *  @param lat latitude double value [-90.0 : 90.0]
+   *  @param type customized field type: must have {@link FieldType#numericType()}
+   *         of {@link org.apache.lucene.document.FieldType.LegacyNumericType#LONG}.
+   *  @throws IllegalArgumentException if the field name or type is null, or
+   *          if the field type does not have a LONG numericType()
+   */
+  public GeoPointField(String name, double lon, double lat, FieldType type) {
+    super(name, type);
+    if (type.numericType() != FieldType.LegacyNumericType.LONG) {
+      throw new IllegalArgumentException("type.numericType() must be LONG but got " + type.numericType());
+    }
+    if (type.docValuesType() != DocValuesType.SORTED_NUMERIC) {
+      throw new IllegalArgumentException("type.docValuesType() must be SORTED_NUMERIC but got " + type.docValuesType());
+    }
+    fieldsData = GeoUtils.mortonHash(lon, lat);
+  }
+
+  /** access longitude value */
+  public double getLon() {
+    return GeoUtils.mortonUnhashLon((long) fieldsData);
+  }
+
+  /** access latitude value */
+  public double getLat() {
+    return GeoUtils.mortonUnhashLat((long) fieldsData);
+  }
+
+  @Override
+  public String toString() {
+    if (fieldsData == null) {
+      return null;
+    }
+    StringBuilder sb = new StringBuilder();
+    sb.append(GeoUtils.mortonUnhashLon((long) fieldsData));
+    sb.append(',');
+    sb.append(GeoUtils.mortonUnhashLat((long) fieldsData));
+    return sb.toString();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/document/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/document/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/document/package-info.java
new file mode 100644
index 0000000..2550fa1
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/document/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+
+/**
+ * Geospatial Field Implementations for Core Lucene
+ */
+package org.apache.lucene.spatial.document;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
index 8a4b1d1..75a0e5b 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
@@ -14,7 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-/** 
- * Lucene spatial search
+
+/**
+ * Geospatial indexing and search capabilities for core Lucene
  */
-package org.apache.lucene.spatial;
+package org.apache.lucene.spatial;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
deleted file mode 100644
index 127e689..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.Terms;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Weight;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.BitSet;
-import org.apache.lucene.util.DocIdSetBuilder;
-
-/**
- * Base class for Lucene Queries on SpatialPrefixTree fields.
- * @lucene.internal
- */
-public abstract class AbstractPrefixTreeQuery extends Query {
-
-  protected final Shape queryShape;
-  protected final String fieldName;
-  protected final SpatialPrefixTree grid;//not in equals/hashCode since it's implied for a specific field
-  protected final int detailLevel;
-
-  public AbstractPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel) {
-    this.queryShape = queryShape;
-    this.fieldName = fieldName;
-    this.grid = grid;
-    this.detailLevel = detailLevel;
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (super.equals(o) == false) return false;
-
-    AbstractPrefixTreeQuery that = (AbstractPrefixTreeQuery) o;
-
-    if (detailLevel != that.detailLevel) return false;
-    if (!fieldName.equals(that.fieldName)) return false;
-    if (!queryShape.equals(that.queryShape)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + queryShape.hashCode();
-    result = 31 * result + fieldName.hashCode();
-    result = 31 * result + detailLevel;
-    return result;
-  }
-
-  @Override
-  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
-    return new ConstantScoreWeight(this) {
-      @Override
-      public Scorer scorer(LeafReaderContext context) throws IOException {
-        DocIdSet docSet = getDocIdSet(context);
-        if (docSet == null) {
-          return null;
-        }
-        DocIdSetIterator disi = docSet.iterator();
-        if (disi == null) {
-          return null;
-        }
-        return new ConstantScoreScorer(this, score(), disi);
-      }
-    };
-  }
-
-  protected abstract DocIdSet getDocIdSet(LeafReaderContext context) throws IOException;
-
-  /** Holds transient state and docid collecting utility methods as part of
-   * traversing a {@link TermsEnum} for a {@link org.apache.lucene.index.LeafReaderContext}. */
-  public abstract class BaseTermsEnumTraverser {//TODO rename to LeafTermsEnumTraverser ?
-    //note: only 'fieldName' (accessed in constructor) keeps this from being a static inner class
-
-    protected final LeafReaderContext context;
-    protected final int maxDoc;
-
-    protected TermsEnum termsEnum;//remember to check for null!
-    protected PostingsEnum postingsEnum;
-
-    public BaseTermsEnumTraverser(LeafReaderContext context) throws IOException {
-      this.context = context;
-      LeafReader reader = context.reader();
-      this.maxDoc = reader.maxDoc();
-      Terms terms = reader.terms(fieldName);
-      if (terms != null)
-        this.termsEnum = terms.iterator();
-    }
-
-    protected void collectDocs(BitSet bitSet) throws IOException {
-      assert termsEnum != null;
-      postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
-      bitSet.or(postingsEnum);
-    }
-
-    protected void collectDocs(DocIdSetBuilder docSetBuilder) throws IOException {
-      assert termsEnum != null;
-      postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
-      docSetBuilder.add(postingsEnum);
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
deleted file mode 100644
index 2237ca9..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.Iterator;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * Traverses a {@link SpatialPrefixTree} indexed field, using the template and
- * visitor design patterns for subclasses to guide the traversal and collect
- * matching documents.
- * <p>
- * Subclasses implement {@link #getDocIdSet(org.apache.lucene.index.LeafReaderContext)}
- * by instantiating a custom {@link VisitorTemplate} subclass (i.e. an anonymous inner class)
- * and implement the required methods.
- *
- * @lucene.internal
- */
-public abstract class AbstractVisitingPrefixTreeQuery extends AbstractPrefixTreeQuery {
-
-  //Historical note: this code resulted from a refactoring of RecursivePrefixTreeQuery,
-  // which in turn came out of SOLR-2155
-
-  //This class perhaps could have been implemented in terms of FilteredTermsEnum & MultiTermQuery.
-  //  Maybe so for simple Intersects predicate but not for when we want to collect terms
-  //  differently depending on cell state like IsWithin and for fuzzy/accurate collection planned improvements.  At
-  //  least it would just make things more complicated.
-
-  protected final int prefixGridScanLevel;//at least one less than grid.getMaxLevels()
-
-  public AbstractVisitingPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid,
-                                         int detailLevel, int prefixGridScanLevel) {
-    super(queryShape, fieldName, grid, detailLevel);
-    this.prefixGridScanLevel = Math.max(0, Math.min(prefixGridScanLevel, grid.getMaxLevels() - 1));
-    assert detailLevel <= grid.getMaxLevels();
-  }
-
-  /**
-   * An abstract class designed to make it easy to implement predicates or
-   * other operations on a {@link SpatialPrefixTree} indexed field. An instance
-   * of this class is not designed to be re-used across LeafReaderContext
-   * instances so simply create a new one per-leaf.
-   * The {@link #getDocIdSet()} method here starts the work. It first checks
-   * that there are indexed terms; if not it quickly returns null. Then it calls
-   * {@link #start()} so a subclass can set up a return value, like an
-   * {@link org.apache.lucene.util.FixedBitSet}. Then it starts the traversal
-   * process, calling {@link #findSubCellsToVisit(org.apache.lucene.spatial.prefix.tree.Cell)}
-   * which by default finds the top cells that intersect {@code queryShape}. If
-   * there isn't an indexed cell for a corresponding cell returned for this
-   * method then it's short-circuited until it finds one, at which point
-   * {@link #visitPrefix(org.apache.lucene.spatial.prefix.tree.Cell)} is called. At
-   * some depths, of the tree, the algorithm switches to a scanning mode that
-   * calls {@link #visitScanned(org.apache.lucene.spatial.prefix.tree.Cell)}
-   * for each leaf cell found.
-   *
-   * @lucene.internal
-   */
-  public abstract class VisitorTemplate extends BaseTermsEnumTraverser {
-
-  /* Future potential optimizations:
-
-  * Can a polygon query shape be optimized / made-simpler at recursive depths
-    (e.g. intersection of shape + cell box)
-
-  * RE "scan" vs divide & conquer performance decision:
-    We should use termsEnum.docFreq() as an estimate on the number of places at
-    this depth.  It would be nice if termsEnum knew how many terms
-    start with the current term without having to repeatedly next() & test to find out.
-
-  * Perhaps don't do intermediate seek()'s to cells above detailLevel that have Intersects
-    relation because we won't be collecting those docs any way.  However seeking
-    does act as a short-circuit.  So maybe do some percent of the time or when the level
-    is above some threshold.
-
-  */
-
-    //
-    //  TODO MAJOR REFACTOR SIMPLIFICATION BASED ON TreeCellIterator  TODO
-    //
-
-    private VNode curVNode;//current pointer, derived from query shape
-    private BytesRef curVNodeTerm = new BytesRef();//curVNode.cell's term, without leaf. in main loop only
-
-    private BytesRef thisTerm;//the result of termsEnum.term()
-    private Cell indexedCell;//Cell wrapper of thisTerm. Always updated when thisTerm is.
-
-    public VisitorTemplate(LeafReaderContext context) throws IOException {
-      super(context);
-    }
-
-    public DocIdSet getDocIdSet() throws IOException {
-      assert curVNode == null : "Called more than once?";
-      if (termsEnum == null)
-        return null;
-      if (!nextTerm()) {//advances
-        return null;
-      }
-
-      curVNode = new VNode(null);
-      curVNode.reset(grid.getWorldCell());
-
-      start();
-
-      addIntersectingChildren();
-
-      main: while (thisTerm != null) {//terminates for other reasons too!
-
-        //Advance curVNode pointer
-        if (curVNode.children != null) {
-          //-- HAVE CHILDREN: DESCEND
-          assert curVNode.children.hasNext();//if we put it there then it has something
-          preSiblings(curVNode);
-          curVNode = curVNode.children.next();
-        } else {
-          //-- NO CHILDREN: ADVANCE TO NEXT SIBLING
-          VNode parentVNode = curVNode.parent;
-          while (true) {
-            if (parentVNode == null)
-              break main; // all done
-            if (parentVNode.children.hasNext()) {
-              //advance next sibling
-              curVNode = parentVNode.children.next();
-              break;
-            } else {
-              //reached end of siblings; pop up
-              postSiblings(parentVNode);
-              parentVNode.children = null;//GC
-              parentVNode = parentVNode.parent;
-            }
-          }
-        }
-
-        //Seek to curVNode's cell (or skip if termsEnum has moved beyond)
-        final int compare = indexedCell.compareToNoLeaf(curVNode.cell);
-        if (compare > 0) {
-          // The indexed cell is after; continue loop to next query cell
-          continue;
-        }
-        if (compare < 0) {
-          // The indexed cell is before; seek ahead to query cell:
-          //      Seek !
-          curVNode.cell.getTokenBytesNoLeaf(curVNodeTerm);
-          TermsEnum.SeekStatus seekStatus = termsEnum.seekCeil(curVNodeTerm);
-          if (seekStatus == TermsEnum.SeekStatus.END)
-            break; // all done
-          thisTerm = termsEnum.term();
-          indexedCell = grid.readCell(thisTerm, indexedCell);
-          if (seekStatus == TermsEnum.SeekStatus.NOT_FOUND) {
-            // Did we find a leaf of the cell we were looking for or something after?
-            if (!indexedCell.isLeaf() || indexedCell.compareToNoLeaf(curVNode.cell) != 0)
-              continue; // The indexed cell is after; continue loop to next query cell
-          }
-        }
-        // indexedCell == queryCell (disregarding leaf).
-
-        // If indexedCell is a leaf then there's no prefix (prefix sorts before) -- just visit and continue
-        if (indexedCell.isLeaf()) {
-          visitLeaf(indexedCell);//TODO or query cell? Though shouldn't matter.
-          if (!nextTerm()) break;
-          continue;
-        }
-        // If a prefix (non-leaf) then visit; see if we descend.
-        final boolean descend = visitPrefix(curVNode.cell);//need to use curVNode.cell not indexedCell
-        if (!nextTerm()) break;
-        // Check for adjacent leaf with the same prefix
-        if (indexedCell.isLeaf() && indexedCell.getLevel() == curVNode.cell.getLevel()) {
-          visitLeaf(indexedCell);//TODO or query cell? Though shouldn't matter.
-          if (!nextTerm()) break;
-        }
-
-
-        if (descend) {
-          addIntersectingChildren();
-        }
-
-      }//main loop
-
-      return finish();
-    }
-
-    /** Called initially, and whenever {@link #visitPrefix(org.apache.lucene.spatial.prefix.tree.Cell)}
-     * returns true. */
-    private void addIntersectingChildren() throws IOException {
-      assert thisTerm != null;
-      Cell cell = curVNode.cell;
-      if (cell.getLevel() >= detailLevel)
-        throw new IllegalStateException("Spatial logic error");
-
-      //Decide whether to continue to divide & conquer, or whether it's time to
-      // scan through terms beneath this cell.
-      // Scanning is a performance optimization trade-off.
-
-      //TODO use termsEnum.docFreq() as heuristic
-      boolean scan = cell.getLevel() >= prefixGridScanLevel;//simple heuristic
-
-      if (!scan) {
-        //Divide & conquer (ultimately termsEnum.seek())
-
-        Iterator<Cell> subCellsIter = findSubCellsToVisit(cell);
-        if (!subCellsIter.hasNext())//not expected
-          return;
-        curVNode.children = new VNodeCellIterator(subCellsIter, new VNode(curVNode));
-
-      } else {
-        //Scan (loop of termsEnum.next())
-
-        scan(detailLevel);
-      }
-    }
-
-    /**
-     * Called when doing a divide and conquer to find the next intersecting cells
-     * of the query shape that are beneath {@code cell}. {@code cell} is
-     * guaranteed to have an intersection and thus this must return some number
-     * of nodes.
-     */
-    protected CellIterator findSubCellsToVisit(Cell cell) {
-      return cell.getNextLevelCells(queryShape);
-    }
-
-    /**
-     * Scans ({@code termsEnum.next()}) terms until a term is found that does
-     * not start with curVNode's cell. If it finds a leaf cell or a cell at
-     * level {@code scanDetailLevel} then it calls {@link
-     * #visitScanned(org.apache.lucene.spatial.prefix.tree.Cell)}.
-     */
-    protected void scan(int scanDetailLevel) throws IOException {
-      //note: this can be a do-while instead in 6x; 5x has a back-compat with redundant leaves -- LUCENE-4942
-      while (curVNode.cell.isPrefixOf(indexedCell)) {
-        if (indexedCell.getLevel() == scanDetailLevel
-            || (indexedCell.getLevel() < scanDetailLevel && indexedCell.isLeaf())) {
-          visitScanned(indexedCell);
-        }
-        //advance
-        if (!nextTerm()) break;
-      }
-    }
-
-    private boolean nextTerm() throws IOException {
-      if ((thisTerm = termsEnum.next()) == null)
-        return false;
-      indexedCell = grid.readCell(thisTerm, indexedCell);
-      return true;
-    }
-
-    /** Used for {@link VNode#children}. */
-    private class VNodeCellIterator implements Iterator<VNode> {
-
-      final Iterator<Cell> cellIter;
-      private final VNode vNode;
-
-      VNodeCellIterator(Iterator<Cell> cellIter, VNode vNode) {
-        this.cellIter = cellIter;
-        this.vNode = vNode;
-      }
-
-      @Override
-      public boolean hasNext() {
-        return cellIter.hasNext();
-      }
-
-      @Override
-      public VNode next() {
-        assert hasNext();
-        vNode.reset(cellIter.next());
-        return vNode;
-      }
-
-      @Override
-      public void remove() {//it always removes
-      }
-    }
-
-    /** Called first to setup things. */
-    protected abstract void start() throws IOException;
-
-    /** Called last to return the result. */
-    protected abstract DocIdSet finish() throws IOException;
-
-    /**
-     * Visit an indexed non-leaf cell. The presence of a prefix cell implies
-     * there are leaf cells at further levels. The cell passed should have it's
-     * {@link org.apache.lucene.spatial.prefix.tree.Cell#getShapeRel()} set
-     * relative to the filtered shape.
-     *
-     * @param cell An intersecting cell; not a leaf.
-     * @return true to descend to more levels.
-     */
-    protected abstract boolean visitPrefix(Cell cell) throws IOException;
-
-    /**
-     * Called when an indexed leaf cell is found. An
-     * indexed leaf cell usually means associated documents won't be found at
-     * further detail levels.  However, if a document has
-     * multiple overlapping shapes at different resolutions, then this isn't true.
-     */
-    protected abstract void visitLeaf(Cell cell) throws IOException;
-
-    /**
-     * The cell is either indexed as a leaf or is the last level of detail. It
-     * might not even intersect the query shape, so be sure to check for that.
-     * The default implementation will check that and if passes then call
-     * {@link #visitLeaf(org.apache.lucene.spatial.prefix.tree.Cell)} or
-     * {@link #visitPrefix(org.apache.lucene.spatial.prefix.tree.Cell)}.
-     */
-    protected void visitScanned(Cell cell) throws IOException {
-      final SpatialRelation relate = cell.getShape().relate(queryShape);
-      if (relate.intersects()) {
-        cell.setShapeRel(relate);//just being pedantic
-        if (cell.isLeaf()) {
-          visitLeaf(cell);
-        } else {
-          visitPrefix(cell);
-        }
-      }
-    }
-
-    protected void preSiblings(VNode vNode) throws IOException {
-    }
-
-    protected void postSiblings(VNode vNode) throws IOException {
-    }
-  }//class VisitorTemplate
-
-  /**
-   * A visitor node/cell found via the query shape for {@link VisitorTemplate}.
-   * Sometimes these are reset(cell). It's like a LinkedList node but forms a
-   * tree.
-   *
-   * @lucene.internal
-   */
-  protected static class VNode {
-    //Note: The VNode tree adds more code to debug/maintain v.s. a flattened
-    // LinkedList that we used to have. There is more opportunity here for
-    // custom behavior (see preSiblings & postSiblings) but that's not
-    // leveraged yet. Maybe this is slightly more GC friendly.
-
-    final VNode parent;//only null at the root
-    Iterator<VNode> children;//null, then sometimes set, then null
-    Cell cell;//not null (except initially before reset())
-
-    /**
-     * call reset(cell) after to set the cell.
-     */
-    VNode(VNode parent) { // remember to call reset(cell) after
-      this.parent = parent;
-    }
-
-    void reset(Cell cell) {
-      assert cell != null;
-      this.cell = cell;
-      assert children == null;
-    }
-
-  }
-}


[65/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
deleted file mode 100644
index c54cf75..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * 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.lucene.spatial.serialized;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.FilterOutputStream;
-import java.io.IOException;
-import java.util.Map;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.io.BinaryCodec;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.BinaryDocValuesField;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.index.BinaryDocValues;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.RandomAccessWeight;
-import org.apache.lucene.search.TwoPhaseIterator;
-import org.apache.lucene.search.Weight;
-import org.apache.lucene.spatial.SpatialStrategy;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.util.DistanceToShapeValueSource;
-import org.apache.lucene.spatial.util.ShapePredicateValueSource;
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefBuilder;
-
-
-/**
- * A SpatialStrategy based on serializing a Shape stored into BinaryDocValues.
- * This is not at all fast; it's designed to be used in conjunction with another index based
- * SpatialStrategy that is approximated (like {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy})
- * to add precision or eventually make more specific / advanced calculations on the per-document
- * geometry.
- * The serialization uses Spatial4j's {@link com.spatial4j.core.io.BinaryCodec}.
- *
- * @lucene.experimental
- */
-public class SerializedDVStrategy extends SpatialStrategy {
-
-  /**
-   * A cache heuristic for the buf size based on the last shape size.
-   */
-  //TODO do we make this non-volatile since it's merely a heuristic?
-  private volatile int indexLastBufSize = 8 * 1024;//8KB default on first run
-
-  /**
-   * Constructs the spatial strategy with its mandatory arguments.
-   */
-  public SerializedDVStrategy(SpatialContext ctx, String fieldName) {
-    super(ctx, fieldName);
-  }
-
-  @Override
-  public Field[] createIndexableFields(Shape shape) {
-    int bufSize = Math.max(128, (int) (this.indexLastBufSize * 1.5));//50% headroom over last
-    ByteArrayOutputStream byteStream = new ByteArrayOutputStream(bufSize);
-    final BytesRef bytesRef = new BytesRef();//receiver of byteStream's bytes
-    try {
-      ctx.getBinaryCodec().writeShape(new DataOutputStream(byteStream), shape);
-      //this is a hack to avoid redundant byte array copying by byteStream.toByteArray()
-      byteStream.writeTo(new FilterOutputStream(null/*not used*/) {
-        @Override
-        public void write(byte[] b, int off, int len) throws IOException {
-          bytesRef.bytes = b;
-          bytesRef.offset = off;
-          bytesRef.length = len;
-        }
-      });
-    } catch (IOException e) {
-      throw new RuntimeException(e);
-    }
-    this.indexLastBufSize = bytesRef.length;//cache heuristic
-    return new Field[]{new BinaryDocValuesField(getFieldName(), bytesRef)};
-  }
-
-  @Override
-  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
-    //TODO if makeShapeValueSource gets lifted to the top; this could become a generic impl.
-    return new DistanceToShapeValueSource(makeShapeValueSource(), queryPoint, multiplier, ctx);
-  }
-
-  /**
-   * Returns a Query that should be used in a random-access fashion.
-   * Use in another manner will be SLOW.
-   */
-  @Override
-  public Query makeQuery(SpatialArgs args) {
-    ValueSource shapeValueSource = makeShapeValueSource();
-    ShapePredicateValueSource predicateValueSource = new ShapePredicateValueSource(
-        shapeValueSource, args.getOperation(), args.getShape());
-    return new PredicateValueSourceQuery(predicateValueSource);
-  }
-
-  /**
-   * Provides access to each shape per document as a ValueSource in which
-   * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)} returns a {@link
-   * Shape}.
-   */ //TODO raise to SpatialStrategy
-  public ValueSource makeShapeValueSource() {
-    return new ShapeDocValueSource(getFieldName(), ctx.getBinaryCodec());
-  }
-
-  /** Warning: don't iterate over the results of this query; it's designed for use in a random-access fashion
-   * by {@link TwoPhaseIterator}.
-   */
-  static class PredicateValueSourceQuery extends Query {
-    private final ValueSource predicateValueSource;//we call boolVal(doc)
-
-    public PredicateValueSourceQuery(ValueSource predicateValueSource) {
-      this.predicateValueSource = predicateValueSource;
-    }
-
-    @Override
-    public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
-      return new RandomAccessWeight(this) {
-        @Override
-        protected Bits getMatchingDocs(LeafReaderContext context) throws IOException {
-          final FunctionValues predFuncValues = predicateValueSource.getValues(null, context);
-          return new Bits() {
-            @Override
-            public boolean get(int index) {
-              return predFuncValues.boolVal(index);
-            }
-
-            @Override
-            public int length() {
-              return context.reader().maxDoc();
-            }
-          };
-        }
-      };
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if (this == o) return true;
-      if (super.equals(o) == false) return false;
-
-      PredicateValueSourceQuery that = (PredicateValueSourceQuery) o;
-
-      if (!predicateValueSource.equals(that.predicateValueSource)) return false;
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      return super.hashCode() + 31 * predicateValueSource.hashCode();
-    }
-    
-    @Override
-    public String toString(String field) {
-      return "PredicateValueSourceQuery(" +
-               predicateValueSource.toString() +
-             ")";
-    }
-  }//PredicateValueSourceQuery
-
-  /**
-   * Implements a ValueSource by deserializing a Shape in from BinaryDocValues using BinaryCodec.
-   * @see #makeShapeValueSource()
-   */
-  static class ShapeDocValueSource extends ValueSource {
-
-    private final String fieldName;
-    private final BinaryCodec binaryCodec;//spatial4j
-
-    private ShapeDocValueSource(String fieldName, BinaryCodec binaryCodec) {
-      this.fieldName = fieldName;
-      this.binaryCodec = binaryCodec;
-    }
-
-    @Override
-    public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-      final BinaryDocValues docValues = readerContext.reader().getBinaryDocValues(fieldName);
-
-      return new FunctionValues() {
-        int bytesRefDoc = -1;
-        BytesRefBuilder bytesRef = new BytesRefBuilder();
-
-        boolean fillBytes(int doc) {
-          if (bytesRefDoc != doc) {
-            bytesRef.copyBytes(docValues.get(doc));
-            bytesRefDoc = doc;
-          }
-          return bytesRef.length() != 0;
-        }
-
-        @Override
-        public boolean exists(int doc) {
-          return fillBytes(doc);
-        }
-
-        @Override
-        public boolean bytesVal(int doc, BytesRefBuilder target) {
-          target.clear();
-          if (fillBytes(doc)) {
-            target.copyBytes(bytesRef);
-            return true;
-          } else {
-            return false;
-          }
-        }
-
-        @Override
-        public Object objectVal(int docId) {
-          if (!fillBytes(docId))
-            return null;
-          DataInputStream dataInput = new DataInputStream(
-              new ByteArrayInputStream(bytesRef.bytes(), 0, bytesRef.length()));
-          try {
-            return binaryCodec.readShape(dataInput);
-          } catch (IOException e) {
-            throw new RuntimeException(e);
-          }
-        }
-
-        @Override
-        public Explanation explain(int doc) {
-          return Explanation.match(Float.NaN, toString(doc));
-        }
-
-        @Override
-        public String toString(int doc) {
-          return description() + "=" + objectVal(doc);//TODO truncate?
-        }
-
-      };
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if (this == o) return true;
-      if (o == null || getClass() != o.getClass()) return false;
-
-      ShapeDocValueSource that = (ShapeDocValueSource) o;
-
-      if (!fieldName.equals(that.fieldName)) return false;
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int result = fieldName.hashCode();
-      return result;
-    }
-
-    @Override
-    public String description() {
-      return "shapeDocVal(" + fieldName + ")";
-    }
-  }//ShapeDocValueSource
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
deleted file mode 100644
index 353dcdd..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * 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.
- */
-/** 
- * Strategies that serialize the shape (non-indexed).
- */
-package org.apache.lucene.spatial.serialized;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
deleted file mode 100644
index f4585c8..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * 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.
- */
-/** Spatial4j stuff that ideally belongs in Spatial4j (isn't related to Lucene). */
-package org.apache.lucene.spatial.spatial4j;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
deleted file mode 100644
index 73d25ca..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Caches the doubleVal of another value source in a HashMap
- * so that it is computed only once.
- * @lucene.internal
- */
-public class CachingDoubleValueSource extends ValueSource {
-
-  final ValueSource source;
-  final Map<Integer, Double> cache;
-
-  public CachingDoubleValueSource( ValueSource source )
-  {
-    this.source = source;
-    cache = new HashMap<>();
-  }
-
-  @Override
-  public String description() {
-    return "Cached["+source.description()+"]";
-  }
-
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-    final int base = readerContext.docBase;
-    final FunctionValues vals = source.getValues(context,readerContext);
-    return new FunctionValues() {
-
-      @Override
-      public double doubleVal(int doc) {
-        Integer key = Integer.valueOf( base+doc );
-        Double v = cache.get( key );
-        if( v == null ) {
-          v = Double.valueOf( vals.doubleVal(doc) );
-          cache.put( key, v );
-        }
-        return v.doubleValue();
-      }
-
-      @Override
-      public float floatVal(int doc) {
-        return (float)doubleVal(doc);
-      }
-
-      @Override
-      public String toString(int doc) {
-        return doubleVal(doc)+"";
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    CachingDoubleValueSource that = (CachingDoubleValueSource) o;
-
-    if (source != null ? !source.equals(that.source) : that.source != null) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return source != null ? source.hashCode() : 0;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
deleted file mode 100644
index 57cad87..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.lucene.spatial.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceCalculator;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-
-/**
- * The distance from a provided Point to a Point retrieved from a ValueSource via
- * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)}. The distance
- * is calculated via a {@link com.spatial4j.core.distance.DistanceCalculator}.
- *
- * @lucene.experimental
- */
-public class DistanceToShapeValueSource extends ValueSource {
-  private final ValueSource shapeValueSource;
-  private final Point queryPoint;
-  private final double multiplier;
-  private final DistanceCalculator distCalc;
-
-  //TODO if FunctionValues returns NaN; will things be ok?
-  private final double nullValue;//computed
-
-  public DistanceToShapeValueSource(ValueSource shapeValueSource, Point queryPoint,
-                                    double multiplier, SpatialContext ctx) {
-    this.shapeValueSource = shapeValueSource;
-    this.queryPoint = queryPoint;
-    this.multiplier = multiplier;
-    this.distCalc = ctx.getDistCalc();
-    this.nullValue =
-        (ctx.isGeo() ? 180 * multiplier : Double.MAX_VALUE);
-  }
-
-  @Override
-  public String description() {
-    return "distance(" + queryPoint + " to " + shapeValueSource.description() + ")*" + multiplier + ")";
-  }
-
-  @Override
-  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
-    shapeValueSource.createWeight(context, searcher);
-  }
-
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-    final FunctionValues shapeValues = shapeValueSource.getValues(context, readerContext);
-
-    return new DoubleDocValues(this) {
-      @Override
-      public double doubleVal(int doc) {
-        Shape shape = (Shape) shapeValues.objectVal(doc);
-        if (shape == null || shape.isEmpty())
-          return nullValue;
-        Point pt = shape.getCenter();
-        return distCalc.distance(queryPoint, pt) * multiplier;
-      }
-
-      @Override
-      public Explanation explain(int doc) {
-        Explanation exp = super.explain(doc);
-        List<Explanation> details = new ArrayList<>(Arrays.asList(exp.getDetails()));
-        details.add(shapeValues.explain(doc));
-        return Explanation.match(exp.getValue(), exp.getDescription(), details);
-      }
-    };
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    DistanceToShapeValueSource that = (DistanceToShapeValueSource) o;
-
-    if (!queryPoint.equals(that.queryPoint)) return false;
-    if (Double.compare(that.multiplier, multiplier) != 0) return false;
-    if (!shapeValueSource.equals(that.shapeValueSource)) return false;
-    if (!distCalc.equals(that.distCalc)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result;
-    long temp;
-    result = shapeValueSource.hashCode();
-    result = 31 * result + queryPoint.hashCode();
-    temp = Double.doubleToLongBits(multiplier);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoBoundingBox.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoBoundingBox.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoBoundingBox.java
new file mode 100644
index 0000000..ad78342
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoBoundingBox.java
@@ -0,0 +1,73 @@
+/*
+ * 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.lucene.spatial.util;
+
+/** Represents a lat/lon rectangle. */
+public class GeoBoundingBox {
+  /** minimum longitude (in degrees) */
+  public final double minLon;
+  /** minimum latitude (in degrees) */
+  public final double maxLon;
+  /** maximum longitude (in degrees) */
+  public final double minLat;
+  /** maximum latitude (in degrees) */
+  public final double maxLat;
+
+  /**
+   * Constructs a Geospatial Bounding Box
+   */
+  public GeoBoundingBox(double minLon, double maxLon, double minLat, double maxLat) {
+    if (GeoUtils.isValidLon(minLon) == false) {
+      throw new IllegalArgumentException("invalid minLon " + minLon);
+    }
+    if (GeoUtils.isValidLon(maxLon) == false) {
+      throw new IllegalArgumentException("invalid maxLon " + maxLon);
+    }
+    if (GeoUtils.isValidLat(minLat) == false) {
+      throw new IllegalArgumentException("invalid minLat " + minLat);
+    }
+    if (GeoUtils.isValidLat(maxLat) == false) {
+      throw new IllegalArgumentException("invalid maxLat " + maxLat);
+    }
+    this.minLon = minLon;
+    this.maxLon = maxLon;
+    this.minLat = minLat;
+    this.maxLat = maxLat;
+    assert maxLat >= minLat;
+
+    // NOTE: cannot assert maxLon >= minLon since this bbox could cross the dateline
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder b = new StringBuilder();
+    b.append("GeoBoundingBox(lon=");
+    b.append(minLon);
+    b.append(" TO ");
+    b.append(maxLon);
+    if (maxLon < minLon) {
+      b.append(" (crosses dateline!)");
+    }
+    b.append(" lat=");
+    b.append(minLat);
+    b.append(" TO ");
+    b.append(maxLat);
+    b.append(")");
+
+    return b.toString();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoDistanceUtils.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoDistanceUtils.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoDistanceUtils.java
new file mode 100644
index 0000000..5f64dbb
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoDistanceUtils.java
@@ -0,0 +1,221 @@
+/*
+ * 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.lucene.spatial.util;
+
+import org.apache.lucene.util.SloppyMath;
+
+/**
+ * Reusable geo-spatial distance utility methods.
+ *
+ * @lucene.experimental
+ */
+public class GeoDistanceUtils {
+  /** error threshold for point-distance queries (in percent) NOTE: Guideline from USGS is 0.005 **/
+  public static final double DISTANCE_PCT_ERR = 0.005;
+
+  // No instance:
+  private GeoDistanceUtils() {
+  }
+
+  /**
+   * Compute the great-circle distance using original haversine implementation published by Sinnot in:
+   * R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159
+   *
+   * NOTE: this differs from {@link org.apache.lucene.util.SloppyMath#haversin} in that it uses the semi-major axis
+   * of the earth instead of an approximation based on the average latitude of the two points (which can introduce an
+   * additional error up to .337%, or ~67.6 km at the equator)
+   */
+  public static double haversin(double lat1, double lon1, double lat2, double lon2) {
+    double dLat = SloppyMath.TO_RADIANS * (lat2 - lat1);
+    double dLon = SloppyMath.TO_RADIANS * (lon2 - lon1);
+    lat1 = SloppyMath.TO_RADIANS * (lat1);
+    lat2 = SloppyMath.TO_RADIANS * (lat2);
+
+    final double sinDLatO2 = SloppyMath.sin(dLat / 2);
+    final double sinDLonO2 = SloppyMath.sin(dLon / 2);
+
+    double a = sinDLatO2*sinDLatO2 + sinDLonO2 * sinDLonO2 * SloppyMath.cos(lat1) * SloppyMath.cos(lat2);
+    double c = 2 * SloppyMath.asin(Math.sqrt(a));
+    return (GeoProjectionUtils.SEMIMAJOR_AXIS * c);
+  }
+
+  /**
+   * Compute the distance between two geo-points using vincenty distance formula
+   * Vincenty uses the oblate spheroid whereas haversine uses unit sphere, this will give roughly
+   * 22m better accuracy (in worst case) than haversine
+   *
+   * @param lonA longitudinal coordinate of point A (in degrees)
+   * @param latA latitudinal coordinate of point A (in degrees)
+   * @param lonB longitudinal coordinate of point B (in degrees)
+   * @param latB latitudinal coordinate of point B (in degrees)
+   * @return distance (in meters) between point A and point B
+   */
+  public static final double vincentyDistance(final double lonA, final double latA, final double lonB, final double latB) {
+    final double L = StrictMath.toRadians(lonB - lonA);
+    final double oF = 1 - GeoProjectionUtils.FLATTENING;
+    final double U1 = StrictMath.atan(oF * StrictMath.tan(StrictMath.toRadians(latA)));
+    final double U2 = StrictMath.atan(oF * StrictMath.tan(StrictMath.toRadians(latB)));
+    final double sU1 = StrictMath.sin(U1);
+    final double cU1 = StrictMath.cos(U1);
+    final double sU2 = StrictMath.sin(U2);
+    final double cU2 = StrictMath.cos(U2);
+
+    double sigma, sinSigma, cosSigma;
+    double sinAlpha, cos2Alpha, cos2SigmaM;
+    double lambda = L;
+    double lambdaP;
+    double iters = 100;
+    double sinLambda, cosLambda, c;
+
+    do {
+      sinLambda = StrictMath.sin(lambda);
+      cosLambda = Math.cos(lambda);
+      sinSigma = Math.sqrt((cU2 * sinLambda) * (cU2 * sinLambda) + (cU1 * sU2 - sU1 * cU2 * cosLambda)
+          * (cU1 * sU2 - sU1 * cU2 * cosLambda));
+      if (sinSigma == 0) {
+        return 0;
+      }
+
+      cosSigma = sU1 * sU2 + cU1 * cU2 * cosLambda;
+      sigma = Math.atan2(sinSigma, cosSigma);
+      sinAlpha = cU1 * cU2 * sinLambda / sinSigma;
+      cos2Alpha = 1 - sinAlpha * sinAlpha;
+      cos2SigmaM = cosSigma - 2 * sU1 * sU2 / cos2Alpha;
+
+      c = GeoProjectionUtils.FLATTENING/16 * cos2Alpha * (4 + GeoProjectionUtils.FLATTENING * (4 - 3 * cos2Alpha));
+      lambdaP = lambda;
+      lambda = L + (1 - c) * GeoProjectionUtils.FLATTENING * sinAlpha * (sigma + c * sinSigma * (cos2SigmaM + c * cosSigma *
+          (-1 + 2 * cos2SigmaM * cos2SigmaM)));
+    } while (StrictMath.abs(lambda - lambdaP) > 1E-12 && --iters > 0);
+
+    if (iters == 0) {
+      return 0;
+    }
+
+    final double uSq = cos2Alpha * (GeoProjectionUtils.SEMIMAJOR_AXIS2 - GeoProjectionUtils.SEMIMINOR_AXIS2) / (GeoProjectionUtils.SEMIMINOR_AXIS2);
+    final double A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq)));
+    final double B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq)));
+    final double deltaSigma = B * sinSigma * (cos2SigmaM + B/4 * (cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) - B/6 * cos2SigmaM
+        * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)));
+
+    return (GeoProjectionUtils.SEMIMINOR_AXIS * A * (sigma - deltaSigma));
+  }
+
+  /**
+   * Computes distance between two points in a cartesian (x, y, {z - optional}) coordinate system
+   */
+  public static double linearDistance(double[] pt1, double[] pt2) {
+    assert pt1 != null && pt2 != null && pt1.length == pt2.length && pt1.length > 1;
+    final double d0 = pt1[0] - pt2[0];
+    final double d1 = pt1[1] - pt2[1];
+    if (pt1.length == 3) {
+      final double d2 = pt1[2] - pt2[2];
+      return Math.sqrt(d0*d0 + d1*d1 + d2*d2);
+    }
+    return Math.sqrt(d0*d0 + d1*d1);
+  }
+
+  /**
+   * Compute the inverse haversine to determine distance in degrees longitude for provided distance in meters
+   * @param lat latitude to compute delta degrees lon
+   * @param distance distance in meters to convert to degrees lon
+   * @return Sloppy distance in degrees longitude for provided distance in meters
+   */
+  public static double distanceToDegreesLon(double lat, double distance) {
+    distance /= 1000.0;
+    // convert latitude to radians
+    lat = StrictMath.toRadians(lat);
+
+    // get the diameter at the latitude
+    final double diameter = SloppyMath.earthDiameter(StrictMath.toRadians(lat));
+
+    // compute inverse haversine
+    double a = StrictMath.sin(distance/diameter);
+    double h = StrictMath.min(1, a);
+    h *= h;
+    double cLat = StrictMath.cos(lat);
+
+    return StrictMath.toDegrees(StrictMath.acos(1-((2d*h)/(cLat*cLat))));
+  }
+
+  /**
+   *  Finds the closest point within a rectangle (defined by rMinX, rMinY, rMaxX, rMaxY) to the given (lon, lat) point
+   *  the result is provided in closestPt.  When the point is outside the rectangle, the closest point is on an edge
+   *  or corner of the rectangle; else, the closest point is the point itself.
+   */
+  public static void closestPointOnBBox(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
+                                        final double lon, final double lat, double[] closestPt) {
+    assert closestPt != null && closestPt.length == 2;
+
+    closestPt[0] = 0;
+    closestPt[1] = 0;
+
+    boolean xSet = true;
+    boolean ySet = true;
+
+    if (lon > rMaxX) {
+      closestPt[0] = rMaxX;
+    } else if (lon < rMinX) {
+      closestPt[0] = rMinX;
+    } else {
+      xSet = false;
+    }
+
+    if (lat > rMaxY) {
+      closestPt[1] = rMaxY;
+    } else if (lat < rMinY) {
+      closestPt[1] = rMinY;
+    } else {
+      ySet = false;
+    }
+
+    if (closestPt[0] == 0 && xSet == false) {
+      closestPt[0] = lon;
+    }
+
+    if (closestPt[1] == 0 && ySet == false) {
+      closestPt[1] = lat;
+    }
+  }
+
+  /** Returns the maximum distance/radius (in meters) from the point 'center' before overlapping */
+  public static double maxRadialDistanceMeters(final double centerLon, final double centerLat) {
+    if (Math.abs(centerLat) == GeoUtils.MAX_LAT_INCL) {
+      return GeoDistanceUtils.haversin(centerLat, centerLon, 0, centerLon);
+    }
+    return GeoDistanceUtils.haversin(centerLat, centerLon, centerLat, (GeoUtils.MAX_LON_INCL + centerLon) % 360);
+  }
+
+  /**
+   * Compute the inverse haversine to determine distance in degrees longitude for provided distance in meters
+   * @param lat latitude to compute delta degrees lon
+   * @param distance distance in meters to convert to degrees lon
+   * @return Sloppy distance in degrees longitude for provided distance in meters
+   */
+  public static double distanceToDegreesLat(double lat, double distance) {
+    // get the diameter at the latitude
+    final double diameter = SloppyMath.earthDiameter(StrictMath.toRadians(lat));
+    distance /= 1000.0;
+
+    // compute inverse haversine
+    double a = StrictMath.sin(distance/diameter);
+    double h = StrictMath.min(1, a);
+    h *= h;
+
+    return StrictMath.toDegrees(StrictMath.acos(1-(2d*h)));
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoHashUtils.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoHashUtils.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoHashUtils.java
new file mode 100644
index 0000000..9450c1e
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoHashUtils.java
@@ -0,0 +1,283 @@
+/*
+ * 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.lucene.spatial.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.lucene.util.BitUtil;
+
+/**
+ * Utilities for converting to/from the GeoHash standard
+ *
+ * The geohash long format is represented as lon/lat (x/y) interleaved with the 4 least significant bits
+ * representing the level (1-12) [xyxy...xyxyllll]
+ *
+ * This differs from a morton encoded value which interleaves lat/lon (y/x).
+ *
+ * @lucene.experimental
+ */
+public class GeoHashUtils {
+  private static final char[] BASE_32 = {'0', '1', '2', '3', '4', '5', '6',
+      '7', '8', '9', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'm', 'n',
+      'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
+
+  private static final String BASE_32_STRING = new String(BASE_32);
+
+  /** maximum precision for geohash strings */
+  public static final int PRECISION = 12;
+  private static final short MORTON_OFFSET = (GeoUtils.BITS<<1) - (PRECISION*5);
+
+  // No instance:
+  private GeoHashUtils() {
+  }
+
+  /**
+   * Encode lon/lat to the geohash based long format (lon/lat interleaved, 4 least significant bits = level)
+   */
+  public static final long longEncode(final double lon, final double lat, final int level) {
+    // shift to appropriate level
+    final short msf = (short)(((12 - level) * 5) + MORTON_OFFSET);
+    return ((BitUtil.flipFlop(GeoUtils.mortonHash(lon, lat)) >>> msf) << 4) | level;
+  }
+
+  /**
+   * Encode from geohash string to the geohash based long format (lon/lat interleaved, 4 least significant bits = level)
+   */
+  public static final long longEncode(final String hash) {
+    int level = hash.length()-1;
+    long b;
+    long l = 0L;
+    for(char c : hash.toCharArray()) {
+      b = (long)(BASE_32_STRING.indexOf(c));
+      l |= (b<<(level--*5));
+    }
+    return (l<<4)|hash.length();
+  }
+
+  /**
+   * Encode an existing geohash long to the provided precision
+   */
+  public static long longEncode(long geohash, int level) {
+    final short precision = (short)(geohash & 15);
+    if (precision == level) {
+      return geohash;
+    } else if (precision > level) {
+      return ((geohash >>> (((precision - level) * 5) + 4)) << 4) | level;
+    }
+    return ((geohash >>> 4) << (((level - precision) * 5) + 4) | level);
+  }
+
+  /**
+   * Convert from a morton encoded long from a geohash encoded long
+   */
+  public static long fromMorton(long morton, int level) {
+    long mFlipped = BitUtil.flipFlop(morton);
+    mFlipped >>>= (((GeoHashUtils.PRECISION - level) * 5) + MORTON_OFFSET);
+    return (mFlipped << 4) | level;
+  }
+
+  /**
+   * Encode to a geohash string from the geohash based long format
+   */
+  public static final String stringEncode(long geoHashLong) {
+    int level = (int)geoHashLong&15;
+    geoHashLong >>>= 4;
+    char[] chars = new char[level];
+    do {
+      chars[--level] = BASE_32[(int) (geoHashLong&31L)];
+      geoHashLong>>>=5;
+    } while(level > 0);
+
+    return new String(chars);
+  }
+
+  /**
+   * Encode to a geohash string from full resolution longitude, latitude)
+   */
+  public static final String stringEncode(final double lon, final double lat) {
+    return stringEncode(lon, lat, 12);
+  }
+
+  /**
+   * Encode to a level specific geohash string from full resolution longitude, latitude
+   */
+  public static final String stringEncode(final double lon, final double lat, final int level) {
+    // convert to geohashlong
+    final long ghLong = fromMorton(GeoUtils.mortonHash(lon, lat), level);
+    return stringEncode(ghLong);
+
+  }
+
+  /**
+   * Encode to a full precision geohash string from a given morton encoded long value
+   */
+  public static final String stringEncodeFromMortonLong(final long hashedVal) throws Exception {
+    return stringEncode(hashedVal, PRECISION);
+  }
+
+  /**
+   * Encode to a geohash string at a given level from a morton long
+   */
+  public static final String stringEncodeFromMortonLong(long hashedVal, final int level) {
+    // bit twiddle to geohash (since geohash is a swapped (lon/lat) encoding)
+    hashedVal = BitUtil.flipFlop(hashedVal);
+
+    StringBuilder geoHash = new StringBuilder();
+    short precision = 0;
+    final short msf = (GeoUtils.BITS<<1)-5;
+    long mask = 31L<<msf;
+    do {
+      geoHash.append(BASE_32[(int)((mask & hashedVal)>>>(msf-(precision*5)))]);
+      // next 5 bits
+      mask >>>= 5;
+    } while (++precision < level);
+    return geoHash.toString();
+  }
+
+  /**
+   * Encode to a morton long value from a given geohash string
+   */
+  public static final long mortonEncode(final String hash) {
+    int level = 11;
+    long b;
+    long l = 0L;
+    for(char c : hash.toCharArray()) {
+      b = (long)(BASE_32_STRING.indexOf(c));
+      l |= (b<<((level--*5) + MORTON_OFFSET));
+    }
+    return BitUtil.flipFlop(l);
+  }
+
+  /**
+   * Encode to a morton long value from a given geohash long value
+   */
+  public static final long mortonEncode(final long geoHashLong) {
+    final int level = (int)(geoHashLong&15);
+    final short odd = (short)(level & 1);
+
+    return BitUtil.flipFlop(((geoHashLong >>> 4) << odd) << (((12 - level) * 5) + (MORTON_OFFSET - odd)));
+  }
+
+  private static final char encode(int x, int y) {
+    return BASE_32[((x & 1) + ((y & 1) * 2) + ((x & 2) * 2) + ((y & 2) * 4) + ((x & 4) * 4)) % 32];
+  }
+
+  /**
+   * Calculate all neighbors of a given geohash cell.
+   *
+   * @param geohash Geohash of the defined cell
+   * @return geohashes of all neighbor cells
+   */
+  public static Collection<? extends CharSequence> neighbors(String geohash) {
+    return addNeighbors(geohash, geohash.length(), new ArrayList<CharSequence>(8));
+  }
+
+  /**
+   * Calculate the geohash of a neighbor of a geohash
+   *
+   * @param geohash the geohash of a cell
+   * @param level   level of the geohash
+   * @param dx      delta of the first grid coordinate (must be -1, 0 or +1)
+   * @param dy      delta of the second grid coordinate (must be -1, 0 or +1)
+   * @return geohash of the defined cell
+   */
+  public final static String neighbor(String geohash, int level, int dx, int dy) {
+    int cell = BASE_32_STRING.indexOf(geohash.charAt(level -1));
+
+    // Decoding the Geohash bit pattern to determine grid coordinates
+    int x0 = cell & 1;  // first bit of x
+    int y0 = cell & 2;  // first bit of y
+    int x1 = cell & 4;  // second bit of x
+    int y1 = cell & 8;  // second bit of y
+    int x2 = cell & 16; // third bit of x
+
+    // combine the bitpattern to grid coordinates.
+    // note that the semantics of x and y are swapping
+    // on each level
+    int x = x0 + (x1 / 2) + (x2 / 4);
+    int y = (y0 / 2) + (y1 / 4);
+
+    if (level == 1) {
+      // Root cells at north (namely "bcfguvyz") or at
+      // south (namely "0145hjnp") do not have neighbors
+      // in north/south direction
+      if ((dy < 0 && y == 0) || (dy > 0 && y == 3)) {
+        return null;
+      } else {
+        return Character.toString(encode(x + dx, y + dy));
+      }
+    } else {
+      // define grid coordinates for next level
+      final int nx = ((level % 2) == 1) ? (x + dx) : (x + dy);
+      final int ny = ((level % 2) == 1) ? (y + dy) : (y + dx);
+
+      // if the defined neighbor has the same parent a the current cell
+      // encode the cell directly. Otherwise find the cell next to this
+      // cell recursively. Since encoding wraps around within a cell
+      // it can be encoded here.
+      // xLimit and YLimit must always be respectively 7 and 3
+      // since x and y semantics are swapping on each level.
+      if (nx >= 0 && nx <= 7 && ny >= 0 && ny <= 3) {
+        return geohash.substring(0, level - 1) + encode(nx, ny);
+      } else {
+        String neighbor = neighbor(geohash, level - 1, dx, dy);
+        return (neighbor != null) ? neighbor + encode(nx, ny) : neighbor;
+      }
+    }
+  }
+
+  /**
+   * Add all geohashes of the cells next to a given geohash to a list.
+   *
+   * @param geohash   Geohash of a specified cell
+   * @param neighbors list to add the neighbors to
+   * @return the given list
+   */
+  public static final <E extends Collection<? super String>> E addNeighbors(String geohash, E neighbors) {
+    return addNeighbors(geohash, geohash.length(), neighbors);
+  }
+
+  /**
+   * Add all geohashes of the cells next to a given geohash to a list.
+   *
+   * @param geohash   Geohash of a specified cell
+   * @param length    level of the given geohash
+   * @param neighbors list to add the neighbors to
+   * @return the given list
+   */
+  public static final <E extends Collection<? super String>> E addNeighbors(String geohash, int length, E neighbors) {
+    String south = neighbor(geohash, length, 0, -1);
+    String north = neighbor(geohash, length, 0, +1);
+    if (north != null) {
+      neighbors.add(neighbor(north, length, -1, 0));
+      neighbors.add(north);
+      neighbors.add(neighbor(north, length, +1, 0));
+    }
+
+    neighbors.add(neighbor(geohash, length, -1, 0));
+    neighbors.add(neighbor(geohash, length, +1, 0));
+
+    if (south != null) {
+      neighbors.add(neighbor(south, length, -1, 0));
+      neighbors.add(south);
+      neighbors.add(neighbor(south, length, +1, 0));
+    }
+
+    return neighbors;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoProjectionUtils.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoProjectionUtils.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoProjectionUtils.java
new file mode 100644
index 0000000..e78bace
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/GeoProjectionUtils.java
@@ -0,0 +1,465 @@
+/*
+ * 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.lucene.spatial.util;
+
+import static java.lang.StrictMath.sqrt;
+
+import static org.apache.lucene.util.SloppyMath.asin;
+import static org.apache.lucene.util.SloppyMath.cos;
+import static org.apache.lucene.util.SloppyMath.sin;
+import static org.apache.lucene.util.SloppyMath.tan;
+import static org.apache.lucene.util.SloppyMath.PIO2;
+import static org.apache.lucene.util.SloppyMath.TO_DEGREES;
+import static org.apache.lucene.util.SloppyMath.TO_RADIANS;
+
+import static org.apache.lucene.spatial.util.GeoUtils.MAX_LAT_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.MAX_LON_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.MIN_LAT_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.MIN_LON_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.normalizeLat;
+import static org.apache.lucene.spatial.util.GeoUtils.normalizeLon;
+
+/**
+ * Reusable geo-spatial projection utility methods.
+ *
+ * @lucene.experimental
+ */
+public class GeoProjectionUtils {
+  // WGS84 earth-ellipsoid parameters
+  /** major (a) axis in meters */
+  public static final double SEMIMAJOR_AXIS = 6_378_137; // [m]
+  /** earth flattening factor (f) */
+  public static final double FLATTENING = 1.0/298.257223563;
+  /** minor (b) axis in meters */
+  public static final double SEMIMINOR_AXIS = SEMIMAJOR_AXIS * (1.0 - FLATTENING); //6_356_752.31420; // [m]
+  /** first eccentricity (e) */
+  public static final double ECCENTRICITY = sqrt((2.0 - FLATTENING) * FLATTENING);
+  /** major axis squared (a2) */
+  public static final double SEMIMAJOR_AXIS2 = SEMIMAJOR_AXIS * SEMIMAJOR_AXIS;
+  /** minor axis squared (b2) */
+  public static final double SEMIMINOR_AXIS2 = SEMIMINOR_AXIS * SEMIMINOR_AXIS;
+  private static final double E2 = (SEMIMAJOR_AXIS2 - SEMIMINOR_AXIS2)/(SEMIMAJOR_AXIS2);
+  private static final double EP2 = (SEMIMAJOR_AXIS2 - SEMIMINOR_AXIS2)/(SEMIMINOR_AXIS2);
+
+  /** min longitude value in radians */
+  public static final double MIN_LON_RADIANS = TO_RADIANS * MIN_LON_INCL;
+  /** min latitude value in radians */
+  public static final double MIN_LAT_RADIANS = TO_RADIANS * MIN_LAT_INCL;
+  /** max longitude value in radians */
+  public static final double MAX_LON_RADIANS = TO_RADIANS * MAX_LON_INCL;
+  /** max latitude value in radians */
+  public static final double MAX_LAT_RADIANS = TO_RADIANS * MAX_LAT_INCL;
+
+  // No instance:
+  private GeoProjectionUtils() {
+  }
+
+  /**
+   * Converts from geocentric earth-centered earth-fixed to geodesic lat/lon/alt
+   * @param x Cartesian x coordinate
+   * @param y Cartesian y coordinate
+   * @param z Cartesian z coordinate
+   * @param lla 0: longitude 1: latitude: 2: altitude
+   * @return double array as 0: longitude 1: latitude 2: altitude
+   */
+  public static final double[] ecfToLLA(final double x, final double y, final double z, double[] lla) {
+    boolean atPole = false;
+    final double ad_c = 1.0026000D;
+    final double cos67P5 = 0.38268343236508977D;
+
+    if (lla == null) {
+      lla = new double[3];
+    }
+
+    if (x != 0.0) {
+      lla[0] = StrictMath.atan2(y,x);
+    } else {
+      if (y > 0) {
+        lla[0] = PIO2;
+      } else if (y < 0) {
+        lla[0] = -PIO2;
+      } else {
+        atPole = true;
+        lla[0] = 0.0D;
+        if (z > 0.0) {
+          lla[1] = PIO2;
+        } else if (z < 0.0) {
+          lla[1] = -PIO2;
+        } else {
+          lla[1] = PIO2;
+          lla[2] = -SEMIMINOR_AXIS;
+          return lla;
+        }
+      }
+    }
+
+    final double w2 = x*x + y*y;
+    final double w = StrictMath.sqrt(w2);
+    final double t0 = z * ad_c;
+    final double s0 = StrictMath.sqrt(t0 * t0 + w2);
+    final double sinB0 = t0 / s0;
+    final double cosB0 = w / s0;
+    final double sin3B0 = sinB0 * sinB0 * sinB0;
+    final double t1 = z + SEMIMINOR_AXIS * EP2 * sin3B0;
+    final double sum = w - SEMIMAJOR_AXIS * E2 * cosB0 * cosB0 * cosB0;
+    final double s1 = StrictMath.sqrt(t1 * t1 + sum * sum);
+    final double sinP1 = t1 / s1;
+    final double cosP1 = sum / s1;
+    final double rn = SEMIMAJOR_AXIS / StrictMath.sqrt(1.0D - E2 * sinP1 * sinP1);
+
+    if (cosP1 >= cos67P5) {
+      lla[2] = w / cosP1 - rn;
+    } else if (cosP1 <= -cos67P5) {
+      lla[2] = w / -cosP1 - rn;
+    } else {
+      lla[2] = z / sinP1 + rn * (E2 - 1.0);
+    }
+    if (!atPole) {
+      lla[1] = StrictMath.atan(sinP1/cosP1);
+    }
+    lla[0] = TO_DEGREES * lla[0];
+    lla[1] = TO_DEGREES * lla[1];
+
+    return lla;
+  }
+
+  /**
+   * Converts from geodesic lon lat alt to geocentric earth-centered earth-fixed
+   * @param lon geodesic longitude
+   * @param lat geodesic latitude
+   * @param alt geodesic altitude
+   * @param ecf reusable earth-centered earth-fixed result
+   * @return either a new ecef array or the reusable ecf parameter
+   */
+  public static final double[] llaToECF(double lon, double lat, double alt, double[] ecf) {
+    lon = TO_RADIANS * lon;
+    lat = TO_RADIANS * lat;
+
+    final double sl = sin(lat);
+    final double s2 = sl*sl;
+    final double cl = cos(lat);
+
+    if (ecf == null) {
+      ecf = new double[3];
+    }
+
+    if (lat < -PIO2 && lat > -1.001D * PIO2) {
+      lat = -PIO2;
+    } else if (lat > PIO2 && lat < 1.001D * PIO2) {
+      lat = PIO2;
+    }
+    assert (lat >= -PIO2) || (lat <= PIO2);
+
+    if (lon > StrictMath.PI) {
+      lon -= (2*StrictMath.PI);
+    }
+
+    final double rn = SEMIMAJOR_AXIS / StrictMath.sqrt(1.0D - E2 * s2);
+    ecf[0] = (rn+alt) * cl * cos(lon);
+    ecf[1] = (rn+alt) * cl * sin(lon);
+    ecf[2] = ((rn*(1.0-E2))+alt)*sl;
+
+    return ecf;
+  }
+
+  /**
+   * Converts from lat lon alt (in degrees) to East North Up right-hand coordinate system
+   * @param lon longitude in degrees
+   * @param lat latitude in degrees
+   * @param alt altitude in meters
+   * @param centerLon reference point longitude in degrees
+   * @param centerLat reference point latitude in degrees
+   * @param centerAlt reference point altitude in meters
+   * @param enu result east, north, up coordinate
+   * @return east, north, up coordinate
+   */
+  public static double[] llaToENU(final double lon, final double lat, final double alt, double centerLon,
+                                  double centerLat, final double centerAlt, double[] enu) {
+    if (enu == null) {
+      enu = new double[3];
+    }
+
+    // convert point to ecf coordinates
+    final double[] ecf = llaToECF(lon, lat, alt, null);
+
+    // convert from ecf to enu
+    return ecfToENU(ecf[0], ecf[1], ecf[2], centerLon, centerLat, centerAlt, enu);
+  }
+
+  /**
+   * Converts from East North Up right-hand rule to lat lon alt in degrees
+   * @param x easting (in meters)
+   * @param y northing (in meters)
+   * @param z up (in meters)
+   * @param centerLon reference point longitude (in degrees)
+   * @param centerLat reference point latitude (in degrees)
+   * @param centerAlt reference point altitude (in meters)
+   * @param lla resulting lat, lon, alt point (in degrees)
+   * @return lat, lon, alt point (in degrees)
+   */
+  public static double[] enuToLLA(final double x, final double y, final double z, final double centerLon,
+                                  final double centerLat, final double centerAlt, double[] lla) {
+    // convert enuToECF
+    if (lla == null) {
+      lla = new double[3];
+    }
+
+    // convert enuToECF, storing intermediate result in lla
+    lla = enuToECF(x, y, z, centerLon, centerLat, centerAlt, lla);
+
+    // convert ecf to LLA
+    return ecfToLLA(lla[0], lla[1], lla[2], lla);
+  }
+
+  /**
+   * Convert from Earth-Centered-Fixed to Easting, Northing, Up Right Hand System
+   * @param x ECF X coordinate (in meters)
+   * @param y ECF Y coordinate (in meters)
+   * @param z ECF Z coordinate (in meters)
+   * @param centerLon ENU origin longitude (in degrees)
+   * @param centerLat ENU origin latitude (in degrees)
+   * @param centerAlt ENU altitude (in meters)
+   * @param enu reusable enu result
+   * @return Easting, Northing, Up coordinate
+   */
+  public static double[] ecfToENU(double x, double y, double z, final double centerLon,
+                                  final double centerLat, final double centerAlt, double[] enu) {
+    if (enu == null) {
+      enu = new double[3];
+    }
+
+    // create rotation matrix and rotate to enu orientation
+    final double[][] phi = createPhiTransform(centerLon, centerLat, null);
+
+    // convert origin to ENU
+    final double[] originECF = llaToECF(centerLon, centerLat, centerAlt, null);
+    final double[] originENU = new double[3];
+    originENU[0] = ((phi[0][0] * originECF[0]) + (phi[0][1] * originECF[1]) + (phi[0][2] * originECF[2]));
+    originENU[1] = ((phi[1][0] * originECF[0]) + (phi[1][1] * originECF[1]) + (phi[1][2] * originECF[2]));
+    originENU[2] = ((phi[2][0] * originECF[0]) + (phi[2][1] * originECF[1]) + (phi[2][2] * originECF[2]));
+
+    // rotate then translate
+    enu[0] = ((phi[0][0] * x) + (phi[0][1] * y) + (phi[0][2] * z)) - originENU[0];
+    enu[1] = ((phi[1][0] * x) + (phi[1][1] * y) + (phi[1][2] * z)) - originENU[1];
+    enu[2] = ((phi[2][0] * x) + (phi[2][1] * y) + (phi[2][2] * z)) - originENU[2];
+
+    return enu;
+  }
+
+  /**
+   * Convert from Easting, Northing, Up Right-Handed system to Earth Centered Fixed system
+   * @param x ENU x coordinate (in meters)
+   * @param y ENU y coordinate (in meters)
+   * @param z ENU z coordinate (in meters)
+   * @param centerLon ENU origin longitude (in degrees)
+   * @param centerLat ENU origin latitude (in degrees)
+   * @param centerAlt ENU origin altitude (in meters)
+   * @param ecf reusable ecf result
+   * @return ecf result coordinate
+   */
+  public static double[] enuToECF(final double x, final double y, final double z, double centerLon,
+                                  double centerLat, final double centerAlt, double[] ecf) {
+    if (ecf == null) {
+      ecf = new double[3];
+    }
+
+    double[][] phi = createTransposedPhiTransform(centerLon, centerLat, null);
+    double[] ecfOrigin = llaToECF(centerLon, centerLat, centerAlt, null);
+
+    // rotate and translate
+    ecf[0] = (phi[0][0]*x + phi[0][1]*y + phi[0][2]*z) + ecfOrigin[0];
+    ecf[1] = (phi[1][0]*x + phi[1][1]*y + phi[1][2]*z) + ecfOrigin[1];
+    ecf[2] = (phi[2][0]*x + phi[2][1]*y + phi[2][2]*z) + ecfOrigin[2];
+
+    return ecf;
+  }
+
+  /**
+   * Create the rotation matrix for converting Earth Centered Fixed to Easting Northing Up
+   * @param originLon ENU origin longitude (in degrees)
+   * @param originLat ENU origin latitude (in degrees)
+   * @param phiMatrix reusable phi matrix result
+   * @return phi rotation matrix
+   */
+  private static double[][] createPhiTransform(double originLon, double originLat, double[][] phiMatrix) {
+
+    if (phiMatrix == null) {
+      phiMatrix = new double[3][3];
+    }
+
+    originLon = TO_RADIANS * originLon;
+    originLat = TO_RADIANS * originLat;
+
+    final double sLon = sin(originLon);
+    final double cLon = cos(originLon);
+    final double sLat = sin(originLat);
+    final double cLat = cos(originLat);
+
+    phiMatrix[0][0] = -sLon;
+    phiMatrix[0][1] = cLon;
+    phiMatrix[0][2] = 0.0D;
+    phiMatrix[1][0] = -sLat * cLon;
+    phiMatrix[1][1] = -sLat * sLon;
+    phiMatrix[1][2] = cLat;
+    phiMatrix[2][0] = cLat * cLon;
+    phiMatrix[2][1] = cLat * sLon;
+    phiMatrix[2][2] = sLat;
+
+    return phiMatrix;
+  }
+
+  /**
+   * Create the transposed rotation matrix for converting Easting Northing Up coordinates to Earth Centered Fixed
+   * @param originLon ENU origin longitude (in degrees)
+   * @param originLat ENU origin latitude (in degrees)
+   * @param phiMatrix reusable phi rotation matrix result
+   * @return transposed phi rotation matrix
+   */
+  private static double[][] createTransposedPhiTransform(double originLon, double originLat, double[][] phiMatrix) {
+
+    if (phiMatrix == null) {
+      phiMatrix = new double[3][3];
+    }
+
+    originLon = TO_RADIANS * originLon;
+    originLat = TO_RADIANS * originLat;
+
+    final double sLat = sin(originLat);
+    final double cLat = cos(originLat);
+    final double sLon = sin(originLon);
+    final double cLon = cos(originLon);
+
+    phiMatrix[0][0] = -sLon;
+    phiMatrix[1][0] = cLon;
+    phiMatrix[2][0] = 0.0D;
+    phiMatrix[0][1] = -sLat * cLon;
+    phiMatrix[1][1] = -sLat * sLon;
+    phiMatrix[2][1] = cLat;
+    phiMatrix[0][2] = cLat * cLon;
+    phiMatrix[1][2] = cLat * sLon;
+    phiMatrix[2][2] = sLat;
+
+    return phiMatrix;
+  }
+
+  /**
+   * Finds a point along a bearing from a given lon,lat geolocation using vincenty's distance formula
+   *
+   * @param lon origin longitude in degrees
+   * @param lat origin latitude in degrees
+   * @param bearing azimuthal bearing in degrees
+   * @param dist distance in meters
+   * @param pt resulting point
+   * @return the point along a bearing at a given distance in meters
+   */
+  public static final double[] pointFromLonLatBearingVincenty(double lon, double lat, double bearing, double dist, double[] pt) {
+
+    if (pt == null) {
+      pt = new double[2];
+    }
+
+    final double alpha1 = TO_RADIANS * bearing;
+    final double cosA1 = cos(alpha1);
+    final double sinA1 = sin(alpha1);
+    final double tanU1 = (1-FLATTENING) * tan(TO_RADIANS * lat);
+    final double cosU1 = 1 / StrictMath.sqrt((1+tanU1*tanU1));
+    final double sinU1 = tanU1*cosU1;
+    final double sig1 = StrictMath.atan2(tanU1, cosA1);
+    final double sinAlpha = cosU1 * sinA1;
+    final double cosSqAlpha = 1 - sinAlpha*sinAlpha;
+    final double uSq = cosSqAlpha * EP2;
+    final double A = 1 + uSq/16384D*(4096D + uSq * (-768D + uSq * (320D - 175D*uSq)));
+    final double B = uSq/1024D * (256D + uSq * (-128D + uSq * (74D - 47D * uSq)));
+
+    double sigma = dist / (SEMIMINOR_AXIS*A);
+    double sigmaP;
+    double sinSigma, cosSigma, cos2SigmaM, deltaSigma;
+
+    do {
+      cos2SigmaM = cos(2*sig1 + sigma);
+      sinSigma = sin(sigma);
+      cosSigma = cos(sigma);
+
+      deltaSigma = B * sinSigma * (cos2SigmaM + (B/4D) * (cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
+          (B/6) * cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
+      sigmaP = sigma;
+      sigma = dist / (SEMIMINOR_AXIS*A) + deltaSigma;
+    } while (StrictMath.abs(sigma-sigmaP) > 1E-12);
+
+    final double tmp = sinU1*sinSigma - cosU1*cosSigma*cosA1;
+    final double lat2 = StrictMath.atan2(sinU1*cosSigma + cosU1*sinSigma*cosA1,
+        (1-FLATTENING) * StrictMath.sqrt(sinAlpha*sinAlpha + tmp*tmp));
+    final double lambda = StrictMath.atan2(sinSigma*sinA1, cosU1*cosSigma - sinU1*sinSigma*cosA1);
+    final double c = FLATTENING/16 * cosSqAlpha * (4 + FLATTENING * (4 - 3 * cosSqAlpha));
+
+    final double lam = lambda - (1-c) * FLATTENING * sinAlpha *
+        (sigma + c * sinSigma * (cos2SigmaM + c * cosSigma * (-1 + 2* cos2SigmaM*cos2SigmaM)));
+    pt[0] = normalizeLon(lon + TO_DEGREES * lam);
+    pt[1] = normalizeLat(TO_DEGREES * lat2);
+
+    return pt;
+  }
+
+  /**
+   * Finds a point along a bearing from a given lon,lat geolocation using great circle arc
+   *
+   * @param lon origin longitude in degrees
+   * @param lat origin latitude in degrees
+   * @param bearing azimuthal bearing in degrees
+   * @param dist distance in meters
+   * @param pt resulting point
+   * @return the point along a bearing at a given distance in meters
+   */
+  public static final double[] pointFromLonLatBearingGreatCircle(double lon, double lat, double bearing, double dist, double[] pt) {
+
+    if (pt == null) {
+      pt = new double[2];
+    }
+
+    lon *= TO_RADIANS;
+    lat *= TO_RADIANS;
+    bearing *= TO_RADIANS;
+
+    final double cLat = cos(lat);
+    final double sLat = sin(lat);
+    final double sinDoR = sin(dist / SEMIMAJOR_AXIS);
+    final double cosDoR = cos(dist / SEMIMAJOR_AXIS);
+
+    pt[1] = asin(sLat*cosDoR + cLat * sinDoR * cos(bearing));
+    pt[0] = TO_DEGREES * (lon + Math.atan2(sin(bearing) * sinDoR * cLat, cosDoR - sLat * sin(pt[1])));
+    pt[1] *= TO_DEGREES;
+
+    return pt;
+  }
+
+  /**
+   * Finds the bearing (in degrees) between 2 geo points (lon, lat) using great circle arc
+   * @param lon1 first point longitude in degrees
+   * @param lat1 first point latitude in degrees
+   * @param lon2 second point longitude in degrees
+   * @param lat2 second point latitude in degrees
+   * @return the bearing (in degrees) between the two provided points
+   */
+  public static double bearingGreatCircle(double lon1, double lat1, double lon2, double lat2) {
+    double dLon = (lon2 - lon1) * TO_RADIANS;
+    lat2 *= TO_RADIANS;
+    lat1 *= TO_RADIANS;
+    double y = sin(dLon) * cos(lat2);
+    double x = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dLon);
+    return Math.atan2(y, x) * TO_DEGREES;
+  }
+}


[78/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/countries-poly.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/countries-poly.txt b/lucene/spatial-extras/src/test-files/data/countries-poly.txt
new file mode 100644
index 0000000..862a39a
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/countries-poly.txt
@@ -0,0 +1,249 @@
+#id	name	shape
+FLK	Falkland Is.	MULTIPOLYGON (((-59.348063887634126 -52.34305496492924, -59.37944588766335 -52.32778196491501, -59.57444588784496 -52.21528196481024, -59.71611788797689 -52.11737296471905, -59.56667288783771 -51.91749996453291, -59.51805488779243 -51.87528196449359, -59.2883358875785 -51.746944964374066, -59.221254887516025 -51.71709096434626, -59.13306388743389 -51.69444496432517, -59.055554887361694 -51.691672964322585, -59.03087288733872 -51.7643819643903, -59.04139088734851 -51.81520896443764, -59.00083588731074 -51.8100089644328, -58.99472688730505 -51.80667296442969, -58.9826458872938 -51.79534496441914, -59.02389988733222 -51.67694496430887, -59.07833588738292 -51.631954964266974, -59.168263887466665 -51.585281964223505, -59.10860888741111 -51.513890964157014, -59.08416388738834 -51.53722696417875, -59.06986388737502 -51.557363964197506, -59.039308887346564 -51.58396396422228, -59.01430888732328 -51.575835964214704, -58.989445887300135 -51.50417296414796, -59.0461088873529 -
 51.47889096412442, -59.074726887379555 -51.469863964116016, -59.08472688738887 -51.41166396406181, -58.99110888730168 -51.40555496405612, -58.868754887187734 -51.37007296402307, -58.88430888720221 -51.33083596398653, -58.84861788716897 -51.291390963949794, -58.75403588708089 -51.32639096398239, -58.69667288702746 -51.336672963991965, -58.614508886950944 -51.3294089639852, -58.57972688691855 -51.30944496396661, -58.5444458868857 -51.30569996396312, -58.4673638868139 -51.307363963964676, -58.41250888676282 -51.32340896397962, -58.34361788669865 -51.36903596402211, -58.32459088668094 -51.416081964065924, -58.36194588671573 -51.44445496409235, -58.44389088679205 -51.45361796410088, -58.45917288680627 -51.43020896407908, -58.47597288682192 -51.39999996405095, -58.49610888684067 -51.39631796404752, -58.55028188689113 -51.43361796408225, -58.51833588686138 -51.47610896412183, -58.49889088684327 -51.50028196414434, -58.420563886770324 -51.556672964196856, -58.36249988671625 -51.567217964206
 684, -58.33583588669141 -51.56667296420617, -58.28167288664096 -51.606808964243555, -58.241390886603455 -51.65014496428391, -58.21743588658114 -51.65069996428443, -58.18278188654887 -51.60917296424575, -58.188899886554566 -51.585281964223505, -58.2572268866182 -51.53055496417254, -58.31409988667117 -51.50041796414447, -58.345554886700455 -51.509099964152554, -58.27479988663457 -51.413754964063756, -58.25028188661173 -51.40097296405185, -58.21736388658107 -51.39528196404655, -57.94445488632691 -51.371808964024694, -57.91541788629986 -51.37528196402793, -57.89680888628253 -51.3841729640362, -57.873890886261194 -51.4016729640525, -57.768054886162616 -51.50403596414784, -57.77291788616715 -51.54375496418483, -57.81389988620532 -51.54972696419039, -57.87861788626559 -51.54610896418702, -57.90472688628991 -51.543335964184436, -57.93028188631371 -51.539999964181334, -57.95360888633543 -51.53486396417655, -57.9794458863595 -51.52389096416633, -58.00417288638252 -51.50778196415133, -58.03541
 788641162 -51.50209096414603, -58.138963886508066 -51.54986396419052, -58.109308886480434 -51.570563964209796, -58.039235886415184 -51.59014496422803, -58.0087548863868 -51.59319996423088, -57.983545886363316 -51.58805496422609, -57.87694588626404 -51.60000896423722, -57.79764588619018 -51.61180896424821, -57.77528188616935 -51.621735964257454, -57.733199886130166 -51.69444496432517, -57.83444588622446 -51.723617964352336, -57.973890886354326 -51.74860896437561, -58.0324998864089 -51.7575089643839, -58.1119458864829 -51.76333596438933, -58.19778188656284 -51.761944964388036, -58.249172886610694 -51.7573999643838, -58.21389088657784 -51.78110896440588, -58.17361788654033 -51.796672964420374, -58.200008886564916 -51.793890964417784, -58.24680888660849 -51.79333596441727, -58.35833588671237 -51.82666396444831, -58.33778188669322 -51.83278196445401, -58.31514588667214 -51.83444496445556, -58.28528188664433 -51.82722696444883, -58.234726886597244 -51.83278196445401, -58.39291788674457 -5
 1.89583596451273, -58.4199998867698 -51.90069996451726, -58.60639088694339 -51.90028196451687, -58.76812688709401 -51.89125496450846, -58.88945488720701 -51.84472696446513, -58.90917288722537 -51.83583596445685, -58.92347288723869 -51.820281964442366, -58.935554887249936 -51.80125496442464, -58.96243588727498 -51.81764496443991, -58.97382688728558 -51.85146396447141, -58.926672887241665 -51.87806396449618, -58.82389088714595 -51.91528196453084, -58.720626887049775 -51.94784496456116, -58.63396388696907 -51.96451796457669, -58.60389088694106 -52.001399964611046, -58.64694588698116 -52.067217964672345, -58.6802818870122 -52.090835964694335, -58.734726887062905 -52.046672964653204, -58.78791788711244 -52.03417296464156, -58.82500888714699 -52.047226964653724, -58.856526887176344 -52.0688909646739, -58.918890887234426 -52.099999964702874, -58.981108887292365 -52.06958196467454, -59.03333588734101 -52.02444496463251, -59.14236388744254 -51.985281964596034, -59.251672887544345 -51.9911089
 6460146, -59.29430888758405 -52.0097269646188, -59.279654887570416 -52.02493596463297, -59.24444588753762 -52.01944496462785, -59.21959088751447 -52.0234729646316, -59.19180888748859 -52.029444964637165, -59.12222688742379 -52.063335964668724, -59.03625488734373 -52.1408359647409, -59.05069988735718 -52.217499964812305, -59.0720908873771 -52.231535964825376, -59.19389088749054 -52.206672964802216, -59.24083588753426 -52.18639096478333, -59.29249988758238 -52.157499964756425, -59.37951788766341 -52.11923596472079, -59.44979088772887 -52.1467359647464, -59.428408887708954 -52.21389096480894, -59.38444588766801 -52.22722696482136, -59.343472887629844 -52.25215496484458, -59.33805488762479 -52.324444964911905, -59.348063887634126 -52.34305496492924)), ((-60.34528188856285 -51.86083596448013, -60.310835888530775 -51.81139096443408, -60.25749988848111 -51.77486396440007, -60.222781888448765 -51.7877819644121, -60.18284588841158 -51.75785496438422, -60.178481888407504 -51.71222696434173, -
 60.201117888428584 -51.70333596433345, -60.22749988845317 -51.70028196433061, -60.35610888857293 -51.711317964340886, -60.38556388860037 -51.744726964372, -60.445281888655984 -51.76249996438855, -60.5561178887592 -51.77555496440071, -60.63437288883209 -51.72499996435363, -60.638408888835855 -51.67972696431146, -60.61389088881302 -51.671108964303436, -60.57722688877887 -51.68528196431664, -60.55722688876024 -51.69306396432388, -60.52472688872997 -51.69944496432983, -60.48861788869634 -51.702781964332935, -60.45722688866711 -51.70222696433242, -60.43625488864758 -51.697090964327636, -60.39939088861324 -51.67999996431172, -60.36472688858096 -51.66749996430008, -60.34389088856156 -51.66528196429801, -60.248890888473085 -51.665554964298266, -60.163608888393654 -51.67111796430344, -60.29444588851551 -51.59861796423592, -60.40444588861796 -51.55139096419194, -60.390626888605084 -51.4922909641369, -60.40391788861746 -51.46865496411488, -60.448126888658635 -51.44507296409292, -60.50555488871
 211 -51.43652696408496, -60.55500888875818 -51.437435964085815, -60.62201788882058 -51.41152696406168, -60.643617888840694 -51.358054964011885, -60.60694588880655 -51.34861796400309, -60.48360888869168 -51.38528196403724, -60.39744588861143 -51.42349996407283, -60.333617888551984 -51.45555496410269, -60.3133358885331 -51.46333596410993, -60.25583588847955 -51.48111796412649, -60.22264588844864 -51.486672964131664, -60.12722688835977 -51.49472696413917, -59.992363888234166 -51.46562696411207, -60.04291788828125 -51.45069996409816, -60.0624998882995 -51.42083596407035, -60.023199888262894 -51.38125496403349, -59.89417288814272 -51.37236396402521, -59.87028188812047 -51.38110896403335, -59.825835888079084 -51.40722696405768, -59.82389088807727 -51.43322696408189, -59.777781888034326 -51.44694496409467, -59.750835888009235 -51.44917296409674, -59.5136178877883 -51.46194496410864, -59.45861788773708 -51.45806396410502, -59.39535488767817 -51.43104496407986, -59.41667288769801 -51.4141729
 6406414, -59.442154887721756 -51.40479096405541, -59.44889088772803 -51.35833596401214, -59.399799887682306 -51.33764496399287, -59.21167288750709 -51.40819996405858, -59.39833588768094 -51.60264496423967, -59.431945887712246 -51.62333596425894, -59.454235887733006 -51.62104496425681, -59.57778188784806 -51.68833596431948, -59.67361788793731 -51.771663964397085, -59.83167288808451 -51.8933359645104, -59.93194588817791 -51.968608964580504, -59.953054888197556 -51.98306396459397, -60.06486388830169 -51.940563964554386, -60.18999988841824 -51.97833596458956, -60.27250888849508 -52.04361796465036, -60.26451788848763 -52.07089996467577, -60.280554888502564 -52.09611796469925, -60.31444588853414 -52.1294449647303, -60.368054888584055 -52.15917296475798, -60.598617888798785 -52.24222696483533, -60.62458188882297 -52.243199964836236, -60.657363888853496 -52.22778196482188, -60.73528188892607 -52.17778196477531, -60.86278188904481 -52.119444964720984, -60.98083588915476 -52.06195496466744, -
 60.91111788908982 -52.03110896463871, -60.82020888900516 -52.033754964641176, -60.75041788894016 -52.00659996461589, -60.813408888998836 -51.99264496460289, -60.84403588902735 -51.9619449645743, -60.76611788895478 -51.95583596456861, -60.70722688889994 -51.96167296457404, -60.67583588887071 -51.968890964580766, -60.64110888883836 -51.975008964586465, -60.53389088873851 -51.97749996458879, -60.45972688866944 -51.97083596458258, -60.43972688865081 -51.96208196457442, -60.40649988861986 -51.92409996453905, -60.42444588863658 -51.911944964527734, -60.44944588865987 -51.88305496450083, -60.45403588866414 -51.80583596442891, -60.44034588865139 -51.782844964407495, -60.38125488859636 -51.76653596439231, -60.363199888579544 -51.8064639644295, -60.37610888859156 -51.83459096445569, -60.34528188856285 -51.86083596448013)), ((-60.99305488916613 -51.96583596457792, -61.02944588920003 -51.94722696456059, -61.112154889277065 -51.89541796451234, -61.14805488931049 -51.84639096446668, -61.139163889
 30221 -51.835281964456335, -61.12264588928683 -51.821390964443395, -61.01306388918478 -51.779726964404595, -60.99917288917183 -51.77847296440343, -60.96805488914285 -51.78110896440588, -60.938545889115375 -51.80680896442982, -60.945554889121894 -51.81917296444133, -60.95667288913225 -51.826117964447796, -60.994172889167174 -51.83861796445944, -61.01389088918555 -51.84806396446824, -61.03076388920125 -51.86590896448486, -61.01639988918788 -51.869726964488414, -60.97278188914726 -51.86028196447962, -60.94944588912553 -51.853335964473146, -60.92694588910457 -51.84528196446565, -60.9072268890862 -51.836390964457365, -60.89083588907094 -51.825835964447535, -60.87528188905645 -51.83999996446073, -60.86847288905011 -51.906108964522296, -60.88110888906188 -51.93444496454869, -60.91222688909086 -51.94389096455748, -60.96805488914285 -51.95972696457223, -60.99305488916613 -51.96583596457792)), ((-60.28526388850696 -51.37564496402826, -60.27944588850154 -51.36361796401706, -60.28917288851059 -
 51.28583596394462, -60.299172888519905 -51.274444963934016, -60.29097288851227 -51.26652696392664, -60.273199888495725 -51.26514496392535, -60.07944588831528 -51.30083596395859, -60.06806388830468 -51.3074999639648, -60.0483358882863 -51.33333596398886, -60.05278188829044 -51.34667296400128, -60.11360888834709 -51.40680896405729, -60.24986388847398 -51.403199964053925, -60.268335888491194 -51.39805496404914, -60.285135888506844 -51.38403596403608, -60.28526388850696 -51.37564496402826)), ((-59.791390888047005 -51.24945496391074, -59.73194588799164 -51.2530639639141, -59.58361788785349 -51.25750896391824, -59.48319988775998 -51.26389096392418, -59.47306388775054 -51.26778196392781, -59.45083588772984 -51.30555496396299, -59.44555488772491 -51.320281963976704, -59.467781887745616 -51.335281963990674, -59.50833588778339 -51.33749996399274, -59.53833588781133 -51.33749996399274, -59.55749988782918 -51.336672963991965, -59.57361788784418 -51.33361796398912, -59.802363888057215 -51.274590
 96393415, -59.81110888806536 -51.26972696392962, -59.80514588805981 -51.25499996391591, -59.791390888047005 -51.24945496391074)))
+GUF	French Guiana	MULTIPOLYGON (((-54.60378188321566 2.3291910859882705, -54.499172883118234 2.3650000860216096, -54.420563883045034 2.434718086086548, -54.365908882994134 2.49660008614417, -54.35195488298113 2.5238910861695985, -54.32180888295305 2.5984730862390535, -54.31513588294685 2.629164086267636, -54.25695488289266 2.7188910863512064, -54.222917882860955 2.755554086385345, -54.20459088284389 2.775000086403452, -54.19528188283522 2.796245086423241, -54.16083588280314 2.9536090865697986, -54.176117882817366 3.043891086653886, -54.19574588283565 3.096200086702595, -54.2084728828475 3.124309086728772, -54.206117882845305 3.14528208674831, -54.187226882827716 3.1948640867944818, -54.11875488276395 3.27778208687171, -54.09445488274132 3.2950000868877396, -54.07110888271957 3.3127820869043063, -54.00110888265438 3.4483360870305546, -53.986117882640414 3.601527087173224, -53.99778188265128 3.626945087196887, -54.12764588277223 3.788609087347453, -54.14639088278969 3.7977820873559978
 , -54.18868188282907 3.808745087366205, -54.29028188292369 3.9338910874827633, -54.36076388298933 4.042427087583846, -54.365008882993294 4.163609087696699, -54.39389088302019 4.237218087765257, -54.43139988305512 4.369164087888137, -54.44023588306335 4.410645087926767, -54.45180888307412 4.512364088021499, -54.442917883065846 4.530691088038566, -54.42326388304754 4.5643090880698765, -54.42209088304645 4.601527088104547, -54.439726883062875 4.669164088167534, -54.47333588309418 4.734582088228464, -54.47778188309832 4.7541640882466965, -54.47610888309676 4.867773088352507, -54.45528188307736 5.004027088479404, -54.448063883070645 5.0241640884981535, -54.4086178830339 5.08055408855067, -54.37889088300622 5.112218088580164, -54.347781882977245 5.148336088613803, -54.317326882948876 5.208627088669942, -54.28348188291736 5.254864088713006, -54.244999882881515 5.2850000887410715, -54.19333588283341 5.315273088769274, -54.17069988281233 5.342218088794368, -54.16668188280859 5.34740008879919
 1, -54.1398638827836 5.357782088808861, -54.091663882738715 5.3919450888406715, -54.06959088271816 5.4180540888649915, -54.058199882707555 5.437364088882973, -54.006735882659626 5.5447910889830325, -54.003890882656975 5.575691089011798, -54.0111178826637 5.605973089040006, -54.00569988265866 5.641527089073122, -53.99222688264611 5.673054089102479, -53.981672882636275 5.690554089118777, -53.93972688259721 5.7447180891692255, -53.91139088257083 5.750282089174405, -53.858608882521665 5.755418089179187, -53.7508358824213 5.731391089156816, -53.63667288231497 5.673054089102479, -53.52236388220851 5.60471808903884, -53.49917288218691 5.58028208901608, -53.49433588218241 5.572345089008692, -53.48360888217242 5.56805408900469, -53.40833588210232 5.548891088986849, -53.30278188200401 5.52305408896278, -53.18639088189562 5.499164088940532, -53.084445881800676 5.483336088925796, -52.97319988169707 5.473054088916214, -52.93778188166408 5.458336088902513, -52.88652688161635 5.420282088867069, -5
 2.799726881535506 5.341945088794105, -52.78750888152413 5.321945088775479, -52.736390881476524 5.260554088718308, -52.611117881359846 5.129445088596199, -52.56750888131924 5.096664088565674, -52.42222688118393 4.99250008846866, -52.330699881098695 4.948891088428056, -52.28972688106053 4.938400088418277, -52.06444588085073 4.733891088227821, -52.02347288081256 4.685691088182921, -51.99694588078785 4.6430540881432165, -51.985281880776995 4.613609088115794, -51.97805488077026 4.586945088090957, -51.95625488074995 4.492364088002873, -51.950835880744904 4.456664087969628, -51.950835880744904 4.423891087939111, -51.96041788075385 4.400136087916977, -52.001254880791876 4.368891087887889, -52.029035880817744 4.352364087872488, -52.04069988082861 4.334582087855935, -51.99194588078319 4.348191087868599, -51.951181880745224 4.372636087891365, -51.92819988072384 4.400836087917639, -51.923617880719576 4.4270820879420825, -51.92639088072215 4.465282087977656, -51.929308880724875 4.486809087997699
 , -51.931399880726815 4.529164088037149, -51.931399880726815 4.570000088075176, -51.92444588072033 4.620973088122653, -51.91555488071205 4.646527088146456, -51.900008880697584 4.66180908816068, -51.8615998806618 4.659309088158352, -51.794445880599255 4.605554088108292, -51.76701788057372 4.5376360880450335, -51.75917288056641 4.500282088010252, -51.75639088056383 4.477218087988774, -51.75249988056021 4.455282087968342, -51.74417288055244 4.4211090879365145, -51.71389088052425 4.3129180878357545, -51.70249988051364 4.287082087811697, -51.6744458804875 4.253336087780269, -51.65569988047005 4.225418087754264, -51.648472880463316 4.200282087730855, -51.64805488046292 4.167218087700064, -51.65222688046683 4.1372180876721245, -51.66104588047503 4.081109087619865, -51.6744458804875 4.049445087590371, -51.68406388049647 4.034164087576144, -51.70417288051519 4.026109087568642, -51.728335880537685 4.01583608755908, -51.7538908805615 4.000554087544842, -51.77180888057819 3.9834730875289353, -5
 1.78361788058919 3.961109087508106, -51.79389088059875 3.916664087466714, -51.81232688061593 3.876818087429612, -51.906390880703526 3.7908360873495326, -51.927081880722795 3.7769450873365855, -51.98104588077305 3.7000000872649252, -51.9900088807814 3.657500087225344, -51.995835880786814 3.6258360871958644, -52.1002818808841 3.448891087031072, -52.16528188094463 3.342218086931723, -52.226745881001875 3.253054086848678, -52.24965488102322 3.2437450868400077, -52.27360888104552 3.2410450868375023, -52.34493588111195 3.157400086759594, -52.353054881119505 3.1316640867356256, -52.34486388111188 3.0884730866954015, -52.35195488111849 3.0400000866502523, -52.37917288114383 2.9741640865889423, -52.40861788117125 2.9222180865405676, -52.46417288122299 2.8133360864391648, -52.519726881274735 2.697782086331543, -52.55278188130552 2.6212450862602594, -52.539863881293485 2.586391086227806, -52.54222688129569 2.565554086208394, -52.563754881315745 2.522082086167913, -52.59445488134433 2.473891086
 1230323, -52.67562688141993 2.3741640860301487, -52.78945488152594 2.3033360859641903, -52.88278188161286 2.22471808589097, -52.89646388162561 2.2068090858742835, -52.95472688167986 2.176182085845767, -52.99430888171672 2.175691085845301, -53.054863881773116 2.1869450858557826, -53.06959088178684 2.2030540858707894, -53.087363881803384 2.2194450858860506, -53.11180888182615 2.222500085888896, -53.196108881904664 2.21360908588062, -53.23917288194477 2.2083360858757146, -53.2261088819326 2.26444508592796, -53.296535881998196 2.3190090859787773, -53.319863882019916 2.3479820860057714, -53.340563882039206 2.3496540860073196, -53.34833588204644 2.3227090859822255, -53.45861788214914 2.2575000859214924, -53.52778188221356 2.249509085914056, -53.7016638823755 2.3102820859706554, -53.72153588239401 2.3417360859999548, -53.74610888241689 2.3709730860271776, -53.77680888244548 2.3645820860212297, -53.79944588246657 2.3523640860098425, -53.91028188256979 2.2772180859398645, -53.92806388258636 
 2.2527820859171044, -53.93263588259062 2.2280540858940725, -54.10965488275548 2.113473085787362, -54.32055488295188 2.1615270858321196, -54.4646548830861 2.211736085878883, -54.51861788313634 2.2575000859214924, -54.527226883144365 2.2893090859511176, -54.541326883157495 2.3152090859752406, -54.57389088318783 2.3252820859846253, -54.59361788320619 2.329718085988759, -54.60378188321566 2.3291910859882705)))
+GUY	Guyana	MULTIPOLYGON (((-58.1726178865394 6.812218090163412, -58.154935886522935 6.828191090178279, -58.03889088641486 6.815554090166515, -57.98639088636597 6.790554090143232, -57.966672886347595 6.775418090129136, -57.94333588632587 6.750554090105979, -57.92778188631138 6.731664090088387, -57.91445488629897 6.711109090069243, -57.897917886283565 6.689864090049454, -57.88250888626922 6.674164090034836, -57.757781886153055 6.570000089937821, -57.64069988604402 6.485136089858784, -57.5943088860008 6.4345820898117125, -57.5213908859329 6.290345089677373, -57.519190885930854 6.270764089659139, -57.498617885911685 6.338682089722397, -57.469717885884776 6.34027308972388, -57.363617885785956 6.290000089677051, -57.33667288576086 6.2747180896628265, -57.261117885690496 6.2113910896038504, -57.22028188565247 6.169164089564518, -57.194308885628274 6.1393090895367095, -57.17778188561289 6.108336089507873, -57.16236388559852 6.056945089460001, -57.13576388557375 5.954100089364232, -57.175281
 88561056 5.637500089069363, -57.182781885617544 5.600691089035081, -57.195563885629454 5.568891089005476, -57.24850888567876 5.486109088928373, -57.27159988570027 5.384864088834078, -57.2994458857262 5.359718088810666, -57.32444588574948 5.303609088758407, -57.282781885710676 5.226391088686498, -57.26222688569153 5.22166408868209, -57.23520888566637 5.259945088717743, -57.20750888564058 5.223609088683901, -57.19104588562524 5.172009088635846, -57.231526885662944 5.146454088612046, -57.25055488568066 5.172636088636423, -57.27209088570072 5.177082088640574, -57.292363885719595 5.166245088630475, -57.321945885747155 5.075973088546405, -57.32722688575207 5.026109088499965, -57.41709088583576 4.989445088465814, -57.4736178858884 4.989164088465557, -57.61098188601633 4.992218088468405, -57.63417288603793 5.000282088475913, -57.67625488607713 5.011527088486389, -57.84111788623066 4.927782088408392, -57.901390886286805 4.855554088341123, -57.92333588630724 4.821945088309818, -57.92486388630
 866 4.796391088286029, -57.909026886293915 4.777782088268694, -57.88778188627413 4.7683360882599, -57.84035488622996 4.669027088167411, -57.8469458862361 4.6288910881300325, -57.902781886288096 4.503609088013349, -57.94861788633078 4.349164087869511, -57.9491728863313 4.317218087839763, -57.954517886336276 4.288336087812866, -58.00278188638123 4.239718087767585, -58.039172886415116 4.211391087741205, -58.0618088864362 4.180136087712086, -58.071399886445136 4.15569108768932, -58.04375488641939 4.001527087545753, -58.01639988639391 3.9636090875104344, -57.96889088634967 3.9291640874783553, -57.95041788633246 3.913191087463474, -57.93194588631526 3.8906910874425193, -57.876672886263776 3.8091640873665966, -57.86749988625523 3.7908360873495326, -57.85945488624775 3.771664087331672, -57.84930888623829 3.7388910873011554, -57.84597288623519 3.692636087258066, -57.83848188622821 3.6693090872363427, -57.8166728862079 3.6502820872186277, -57.76056388615565 3.624164087194302, -57.740835886137
 276 3.613745087184597, -57.66861788607001 3.5383360871143736, -57.65444588605682 3.518609087095996, -57.63840888604189 3.457009087038628, -57.65778188605992 3.4138910869984755, -57.642226886045435 3.3563910869449245, -57.61041788601581 3.3600000869482756, -57.53055488594143 3.3463910869356113, -57.42945488584728 3.3472180869363797, -57.304172885730594 3.380418086967296, -57.28354588571139 3.318682086909803, -57.29249988571972 3.2673640868620026, -57.28999988571739 3.181391086781943, -57.28361788571145 3.140973086744296, -57.255008885684816 3.103609086709497, -57.22028188565247 3.0650000866735354, -57.210281885643155 3.035836086646384, -57.207217885640304 3.004236086616956, -57.213335885646 2.878891086500218, -57.20083588563436 2.8228450864480124, -57.11688188555617 2.757191086386868, -56.94472688539584 2.4830540861315598, -56.917781885370744 2.428054086080337, -56.853890885311245 2.283336085945564, -56.810563885270895 2.1933360858617448, -56.77499988523776 2.1408360858128503, -56.68
 209088515124 2.0267640857066027, -56.64611788511773 2.028054085707808, -56.579726885055905 2.0273640857071626, -56.55597288503378 2.020554085700823, -56.47736388496057 1.9620820856463723, -56.470635884954305 1.944500085629997, -56.52555488500545 1.9225000856094994, -56.57791788505422 1.9216640856087253, -56.59499988507012 1.9322180856185582, -56.628199885101054 1.9394450856252803, -56.73500888520053 1.9141000856016746, -56.75209088521643 1.896945085585699, -56.77069088523376 1.8756270855658528, -56.87389088532987 1.8916640855807856, -57.00389088545094 1.9229180856098935, -57.050835885494664 1.9522180856371847, -57.06083588550398 1.984164085666933, -57.07423588551646 2.015764085696361, -57.10020888554064 2.0227820857029, -57.163063885599186 1.9966640856785745, -57.199172885632805 1.9711090856547742, -57.235345885666504 1.9497910856349279, -57.27667288570498 1.979509085662599, -57.298190885725035 1.9819450856648615, -57.33194588575647 1.9722180856558111, -57.42549088584359 1.901391085
 5898501, -57.42805488584597 1.8712450855617675, -57.450908885867264 1.8111090855057626, -57.512363885924486 1.730836085431008, -57.52806388593912 1.7158360854170382, -57.55930888596821 1.6997180854020257, -57.63333588603716 1.6927820853955637, -57.65361788605604 1.6966640853991777, -57.68749988608759 1.707500085409265, -57.72249988612019 1.7175000854185782, -57.75944588615461 1.717845085418901, -57.87610888626325 1.6650000853696838, -57.97249988635302 1.6134730853217008, -57.98291788636273 1.5723640852834109, -58.00715488638531 1.5156910852306282, -58.127781886497644 1.5177820852325823, -58.26833588662855 1.570554085281728, -58.29722688665545 1.5827820852931183, -58.387290886739336 1.4778450851953835, -58.50229088684644 1.454673085173809, -58.46930888681571 1.3584730850842135, -58.46764588681417 1.3376360850648013, -58.47514588682115 1.3140270850428237, -58.51961788686258 1.2696180850014542, -58.57249988691183 1.2752820850067366, -58.69299088702404 1.2847180850155269, -58.7088908870
 3885 1.2629180849952206, -58.722917887051906 1.2323640849667612, -58.751945887078946 1.209582084945552, -58.810699887133666 1.1868730849244002, -58.8363998871576 1.1902820849275741, -58.86959088718851 1.2050000849412754, -58.89840888721535 1.2311090849655955, -58.89736388721437 1.261836084994215, -58.92486388723998 1.2993090850291082, -58.95750888727039 1.3144450850432037, -58.97278188728461 1.3197180850481232, -59.104726887407494 1.3447180850714062, -59.24396388753718 1.3865270851103446, -59.41445488769595 1.5633360852750116, -59.48361788776036 1.6505540853562337, -59.50750888778262 1.6875000853906386, -59.6054178878738 1.7194450854203893, -59.64576388791137 1.735136085435002, -59.675281887938866 1.7670820854647644, -59.653617887918685 1.8022180854974863, -59.632472887899 1.8422360855347506, -59.7263178879864 1.854164085545861, -59.74902688800755 1.8613910855525972, -59.75625488801428 1.908891085596835, -59.743617888002504 2.0727820857494663, -59.727017887987046 2.241245085906357, 
 -59.73549088799494 2.2847180859468494, -59.79319988804869 2.297782085959014, -59.84972688810133 2.330554085989533, -59.893263888141874 2.3641000860207697, -59.901672888149704 2.384445086039719, -59.88889088813781 2.407082086060811, -59.89278188814143 2.4544450861049114, -59.925563888171965 2.567782086210471, -59.9541728881986 2.616391086255746, -59.98847288823055 2.688191086322604, -59.98278188822525 2.860282086482883, -59.97889088822163 2.899164086519093, -59.96278188820662 3.025836086637071, -59.949717888194456 3.071945086680003, -59.90472688815255 3.2041640868031465, -59.869726888119956 3.2763910868704187, -59.85611788810728 3.2977820868903365, -59.83569988808827 3.322082086912971, -59.810835888065114 3.3595820869478956, -59.81444588806848 3.498745087077495, -59.831945888084775 3.5241640871011697, -59.786117888042085 3.620554087190939, -59.6655548879298 3.711391087275544, -59.56860888783952 3.8994450874506725, -59.58167288785168 3.9988910875432992, -59.70861788796991 4.1706910877
 0329, -59.722226887982586 4.191391087722579, -59.73110888799086 4.219164087748439, -59.73083588799061 4.293336087817522, -59.675281887938866 4.373336087892028, -59.67444588793809 4.385136087903007, -59.71722688797793 4.414164087930047, -59.79111788804674 4.456109087969111, -59.94180888818708 4.508054088017488, -59.96778188821128 4.501945088011794, -60.045281888283455 4.4940270880044295, -60.13069988836301 4.509718088019042, -60.14847288837956 4.52000008802861, -60.152226888383055 4.5733360880782925, -60.12389088835667 4.596664088100013, -60.09152688832653 4.600691088103758, -60.07209088830842 4.618473088120325, -60.02583588826535 4.707218088202978, -60.02056388826044 4.734445088228327, -60.00583588824672 4.8369450883237874, -59.983063888225516 5.022500088496599, -60.013890888254224 5.11000008857809, -60.080872888316605 5.161509088626062, -60.081945888317605 5.1730540886368175, -60.09833588833287 5.217218088677953, -60.114581888348 5.245691088704461, -60.202363888429744 5.27270908872
 9627, -60.24999988847412 5.2584730887163715, -60.268408888491265 5.235282088694774, -60.317845888537306 5.197636088659706, -60.54639088875015 5.191391088653901, -60.5738268887757 5.197154088659261, -60.597426888797685 5.211945088673033, -60.689445888883384 5.216109088676916, -60.730372888921494 5.2048000886663885, -60.748890888938746 5.222500088682864, -60.781108888968745 5.2583360887162485, -60.86028188904248 5.348054088799799, -61.11610888928074 5.63471808906678, -61.38972688953557 5.940000089351088, -61.37345488952042 5.960973089370626, -61.3378908894873 5.972782089381624, -61.32306388947349 5.992500089399982, -61.282817889436004 6.056336089459435, -61.270281889424325 6.086391089487435, -61.26278188941734 6.107782089507353, -61.160145889321754 6.1825000895769335, -61.1386178893017 6.29916408968559, -61.140008889303004 6.408609089787518, -61.19652688935564 6.533682089904005, -61.20472688936327 6.5779180899452, -61.174445889335075 6.658745090020474, -61.12510888928912 6.71477309007
 2654, -61.05472688922357 6.72889109008581, -61.03597288920611 6.719718090077265, -60.93965488911641 6.724582090081796, -60.89368188907359 6.765000090119429, -60.81611788900135 6.788336090141172, -60.71917288891106 6.759027090113875, -60.69778188889114 6.766664090120983, -60.676390888871225 6.790000090142712, -60.66499988886062 6.80750009015901, -60.63778188883526 6.834927090184564, -60.590835888791545 6.85083609019938, -60.526945888732044 6.87471809022162, -60.498890888705915 6.8877820902337845, -60.463617888673056 6.906664090251368, -60.40833588862158 6.947500090289395, -60.29125488851254 7.056600090391015, -60.28139088850335 7.090000090422109, -60.278054888500236 7.118745090448883, -60.309035888529095 7.143473090471915, -60.33667288855483 7.155282090482913, -60.36049088857702 7.176245090502434, -60.45611788866607 7.195836090520686, -60.50576388871231 7.17270909049914, -60.51499988872092 7.142982090471463, -60.5380638887424 7.124445090454188, -60.61749988881638 7.19444509051938, -6
 0.6308358888288 7.221945090544992, -60.63423588883197 7.254309090575134, -60.61861788881741 7.2840270906028195, -60.595354888795754 7.30610909062338, -60.59139088879206 7.336391090651588, -60.6099998888094 7.381945090694003, -60.66083588885674 7.447218090754802, -60.688263888882275 7.453473090760625, -60.714026888906275 7.500973090804862, -60.71666388890873 7.540000090841204, -60.691108888884926 7.567082090866435, -60.662090888857904 7.566527090865918, -60.58875488878961 7.639309090933693, -60.57458188877641 7.7152090910043825, -60.533335888737994 7.803891091086982, -60.51319988871924 7.818191091100289, -60.31972688853905 7.877500091155525, -60.25754588848115 7.921573091196578, -60.23722688846222 7.946391091219695, -60.12486388835757 8.028327091296006, -60.09360888832846 8.041245091308028, -60.03778188827647 8.037009091304085, -60.0111818882517 8.059236091324792, -59.98701788822919 8.1469820914065, -59.9797268882224 8.174864091432468, -59.94618188819116 8.199991091455871, -59.922226
 88816885 8.211109091466227, -59.88889088813781 8.218609091473212, -59.83285488808562 8.231527091485248, -59.80305488805786 8.2833360915335, -59.81209088806628 8.306109091554703, -59.88611788813522 8.40083609164293, -59.98111788822369 8.518327091752354, -59.99028188823223 8.535273091768133, -59.95819988820236 8.514027091748346, -59.92930888817544 8.48416409172053, -59.902572888150544 8.445764091684765, -59.88945488813833 8.421664091662322, -59.87250888812255 8.397218091639559, -59.85583588810702 8.379445091622998, -59.83167288808451 8.361664091606443, -59.78625488804222 8.340973091587173, -59.76472688802217 8.349027091594678, -59.77930888803574 8.380973091624426, -59.764208888021685 8.407364091649, -59.6683358879324 8.360000091604888, -59.6508358879161 8.349445091595058, -59.35583588764136 8.173891091431571, -59.15472688745406 8.05639109132214, -59.12930888743038 8.040000091306865, -59.109445887411894 8.018473091286822, -59.09347288739701 7.987009091257519, -59.07583588738059 7.96916
 40912408985, -58.94389088725771 7.851109091130951, -58.80694588713017 7.730554091018675, -58.76889088709473 7.679718090971335, -58.751399887078435 7.6361090909307165, -58.71736388704673 7.59437309089185, -58.6419458869765 7.569445090868626, -58.48528188683059 7.368609090681588, -58.46854588681501 7.337573090652683, -58.465563886812234 7.135836090464807, -58.46666388681325 7.115000090445392, -58.4815268868271 7.009927090347546, -58.497508886841985 6.989445090328459, -58.51074588685431 6.980254090319903, -58.53709088687884 6.96069109030168, -58.55569988689618 6.937500090280082, -58.56305488690302 6.916391090260433, -58.59403588693188 6.801809090153711, -58.598608886936134 6.774309090128099, -58.60917288694597 6.656664090018538, -58.619090886955206 6.489491089862852, -58.637090886971976 6.421945089799934, -58.600726886938105 6.413945089792492, -58.59333588693123 6.420000089798123, -58.58132688692004 6.464973089840015, -58.574026886913245 6.509864089881816, -58.57278188691208 6.53250008
 9902896, -58.576117886915185 6.562218089930582, -58.57319988691248 6.602636089968215, -58.54972688689061 6.6782640900386525, -58.47944588682516 6.794445090146851, -58.45695488680421 6.827782090177905, -58.41972688676954 6.870282090217486, -58.39833588674962 6.879309090225888, -58.3165998866735 6.894236090239801, -58.25569988661678 6.876109090222911, -58.208617886572924 6.843054090192126, -58.1726178865394 6.812218090163412)))
+PCN	Pitcairn Is.	MULTIPOLYGON (((-128.33221795188064 -24.32726393883749, -128.3269359518757 -24.326117938836433, -128.31042695186034 -24.325835938836164, -128.30168195185217 -24.334445938844183, -128.29388195184492 -24.352499938861, -128.2866819518382 -24.38639093889256, -128.2861179518377 -24.40166393890678, -128.29111795184235 -24.411390938915844, -128.30156395185207 -24.411672938916112, -128.3130819518628 -24.404717938909627, -128.3278179518765 -24.390554938896443, -128.34308195189075 -24.367217938874703, -128.34695495189436 -24.353617938862044, -128.34600895189345 -24.33819993884768, -128.336945951885 -24.329163938839258, -128.33221795188064 -24.32726393883749)), ((-130.08139095350967 -25.082226939540604, -130.09068195351833 -25.080699939539187, -130.10262695352944 -25.074445939533362, -130.1050549535317 -25.061463939521275, -130.0905639535182 -25.055699939515904, -130.06384595349334 -25.06826393952761, -130.0769359535055 -25.079726939538276, -130.08139095350967 -25.082226939540
 604)))
+SGS	South Georgia & the South Sandwich Is.	MULTIPOLYGON (((-36.99139086681285 -54.35056396679887, -36.99972686682062 -54.348617966797065, -37.05944586687622 -54.329999966779724, -37.08375486689886 -54.31881796676931, -37.08222686689746 -54.29389096674609, -37.146117866956956 -54.26139096671582, -37.241808867046075 -54.247363966702764, -37.266254867068824 -54.25875496671337, -37.365835867161564 -54.271944966725655, -37.408335867201146 -54.26493596671913, -37.403472867196626 -54.18500896664469, -37.367226867162884 -54.17556396663589, -37.33555486713337 -54.17361796663408, -37.25208186705564 -54.15229096661422, -37.48986386727708 -54.12944496659294, -37.56118186734349 -54.14607296660843, -37.52944586731394 -54.16250896662373, -37.56222686734449 -54.170563966631235, -37.58944586736982 -54.17528196663563, -37.650417867426626 -54.18167296664158, -37.68528186745908 -54.17528196663563, -37.71917286749064 -54.140563966603295, -37.71757286748917 -54.09416396656008, -37.676390867450806 -54.074
 717966541975, -37.653826867429785 -54.072154966539586, -37.61979086739808 -54.04611796651534, -37.69221786746553 -54.034999966504984, -37.89778186765699 -54.04722696651637, -38.02257286777322 -54.054726966523354, -38.0237548677743 -54.00743596647931, -37.93361786769037 -53.99222696646515, -37.91028186766863 -53.98972696646282, -37.74721786751675 -53.99499996646773, -37.49499986728188 -54.01056396648222, -37.46139986725058 -54.036117966506026, -37.37389086716908 -54.04805496651714, -37.27028186707258 -54.050281966519215, -37.162781866972466 -54.03139096650162, -37.02778186684674 -54.05611796652465, -36.80944586664339 -54.08833596655465, -36.65639086650086 -54.107781966572766, -36.62375486647045 -54.120699966584795, -36.584163866433585 -54.20889096666693, -36.66757286651128 -54.24409996669972, -36.662645866506665 -54.27514496672863, -36.62667286647317 -54.28361796673653, -36.604026866452074 -54.26611796672023, -36.55680886640812 -54.245563966701084, -36.517081866371115 -54.23445496669
 074, -36.47889086633555 -54.23889096669487, -36.47263586632971 -54.26513596671931, -36.456117866314344 -54.3275089667774, -36.36999986623414 -54.35499996680301, -36.33667286620309 -54.35229096680048, -36.362090866226765 -54.293054966745316, -36.38368186624686 -54.27826396673154, -36.394799866257216 -54.24917296670444, -36.290208866159816 -54.26583596671996, -36.257226866129116 -54.28666396673936, -36.22917286610297 -54.33778196678697, -36.25610886612807 -54.36847296681555, -36.15999986603856 -54.44472696688657, -36.09680886597971 -54.54959096698423, -36.06389086594905 -54.57153596700467, -35.979726865870674 -54.57889096701152, -35.93471786582873 -54.62306396705266, -35.933890865827976 -54.700563967124836, -35.917363865812575 -54.715144967138414, -35.85667286575605 -54.74305496716441, -35.8280548657294 -54.75083596717165, -35.79396386569766 -54.76020896718038, -35.82778186572915 -54.79278196721072, -35.914172865809604 -54.81347296722999, -35.95944586585176 -54.81110896722779, -35.979
 726865870674 -54.80917296722598, -36.0006998658902 -54.80083596721822, -36.02528186591309 -54.787781967206065, -36.04583586593222 -54.77889096719778, -36.074717865959116 -54.768054967187695, -36.095308865978296 -54.76993596718945, -36.02111786590922 -54.81721796723348, -35.98972686587999 -54.8305549672459, -35.96430886585631 -54.83167296724694, -35.923617865818414 -54.8504179672644, -35.96139986585359 -54.86944496728212, -36.07639086596069 -54.890281967301526, -36.10472686598709 -54.88923596730055, -36.131463866011984 -54.8688909672816, -36.19917286607503 -54.80917296722598, -36.29749986616662 -54.733335967155355, -36.30250886617128 -54.71305496713647, -36.31721786618496 -54.686954967112165, -36.46860886632598 -54.52889096696495, -36.525908866379325 -54.497081966935326, -36.582226866431796 -54.49986396693792, -36.65555486650007 -54.491108966929765, -36.736945866575866 -54.47028196691037, -36.809799866643715 -54.44541796688721, -36.801108866635644 -54.41118196685533, -36.864935866695
 08 -54.34652696679511, -36.92528186675128 -54.337917966787096, -36.99139086681285 -54.35056396679887)), ((-26.248890856808117 -58.49860897066204, -26.264163856822336 -58.48806397065222, -26.290972856847304 -58.47861797064343, -26.37167285692246 -58.46305497062893, -26.389726856939262 -58.45972697062583, -26.406526856954912 -58.45944497062557, -26.41999985696748 -58.45667297062299, -26.458199857003052 -58.430699970598795, -26.433608856980157 -58.38916397056011, -26.416663856964362 -58.38360897055494, -26.403890856952472 -58.382508970553914, -26.39305485694237 -58.38278197055417, -26.317781856872273 -58.38639097055753, -26.29152685684781 -58.38806397055909, -26.265699856823773 -58.39417297056478, -26.246672856806043 -58.404444970574346, -26.241390856801132 -58.47167297063696, -26.243617856803212 -58.49472697065843, -26.248890856808117 -58.49860897066204)))
+SHN	St. Helena	MULTIPOLYGON (((-5.712972837682543 -15.992863931075476, -5.729163837697627 -16.005490931087238, -5.768472837734237 -16.021945931102564, -5.787217837751683 -16.009163931090654, -5.792781837756877 -15.991108931073839, -5.768890837734631 -15.94736393103311, -5.748608837715722 -15.929163931016149, -5.728890837697378 -15.91389093100193, -5.716390837685736 -15.905281930993908, -5.699517837670015 -15.903754930992491, -5.671390837643827 -15.90944593099779, -5.645281837619507 -15.93999993102625, -5.646390837620544 -15.958335931043322, -5.660417837633588 -15.985690931068802, -5.700417837670841 -16.003754931085624, -5.7105548376802915 -15.996390931078764, -5.712972837682543 -15.992863931075476)))
+SUR	Suriname	MULTIPOLYGON (((-55.12796388370384 5.82217308924136, -55.10444588368195 5.839445089257438, -55.01610888359967 5.850418089267663, -54.946672883535 5.846109089263649, -54.86444588345843 5.855136089272051, -54.88729088347971 5.879545089294794, -54.9688908835557 5.873336089289012, -54.99534588358034 5.865764089281953, -55.10625488368363 5.904582089318112, -55.14472688371946 5.934164089345657, -55.15944588373317 5.9634000893728825, -55.047363883628776 6.001809089408653, -54.97028188355699 5.988054089395845, -54.87694588347007 5.985282089393266, -54.77944588337927 5.982500089390669, -54.70994588331453 5.962436089371991, -54.639163883248614 5.954718089364803, -54.34445488297415 5.906945089320303, -54.29861788293145 5.898054089312026, -54.204726882844014 5.879718089294954, -54.17860888281969 5.871391089287201, -54.02556388267716 5.818609089238038, -53.990208882644225 5.746945089171291, -54.00652688265943 5.721245089147359, -54.04646388269663 5.653536089084298, -54.0515358827013
 44 5.590209089025322, -54.05180888270159 5.527082088966537, -54.067781882716474 5.491527088933424, -54.095835882742605 5.458054088902244, -54.120490882765566 5.431600088877616, -54.142226882785806 5.39527308884378, -54.16668188280859 5.347400088799191, -54.17069988281233 5.342218088794368, -54.19333588283341 5.315273088769274, -54.244999882881515 5.2850000887410715, -54.28348188291736 5.254864088713006, -54.317326882948876 5.208627088669942, -54.347781882977245 5.148336088613803, -54.37889088300622 5.112218088580164, -54.4086178830339 5.08055408855067, -54.448063883070645 5.0241640884981535, -54.45528188307736 5.004027088479404, -54.47610888309676 4.867773088352507, -54.47778188309832 4.7541640882466965, -54.47333588309418 4.734582088228464, -54.439726883062875 4.669164088167534, -54.42209088304645 4.601527088104547, -54.42326388304754 4.5643090880698765, -54.442917883065846 4.530691088038566, -54.45180888307412 4.512364088021499, -54.44023588306335 4.410645087926767, -54.4313998830
 5512 4.369164087888137, -54.39389088302019 4.237218087765257, -54.365008882993294 4.163609087696699, -54.36076388298933 4.042427087583846, -54.29028188292369 3.9338910874827633, -54.18868188282907 3.808745087366205, -54.14639088278969 3.7977820873559978, -54.12764588277223 3.788609087347453, -53.99778188265128 3.626945087196887, -53.986117882640414 3.601527087173224, -54.00110888265438 3.4483360870305546, -54.07110888271957 3.3127820869043063, -54.09445488274132 3.2950000868877396, -54.11875488276395 3.27778208687171, -54.187226882827716 3.1948640867944818, -54.206117882845305 3.14528208674831, -54.2084728828475 3.124309086728772, -54.19574588283565 3.096200086702595, -54.176117882817366 3.043891086653886, -54.16083588280314 2.9536090865697986, -54.19528188283522 2.796245086423241, -54.20459088284389 2.775000086403452, -54.222917882860955 2.755554086385345, -54.25695488289266 2.7188910863512064, -54.31513588294685 2.629164086267636, -54.32180888295305 2.5984730862390535, -54.3519548
 8298113 2.5238910861695985, -54.365908882994134 2.49660008614417, -54.420563883045034 2.434718086086548, -54.499172883118234 2.3650000860216096, -54.60378188321566 2.3291910859882705, -54.63472688324448 2.3200730859797716, -54.687499883293626 2.3255540859848765, -54.709099883313755 2.3879180860429585, -54.69020888329615 2.3995090860537545, -54.68986388329583 2.4516000861022604, -54.75312688335475 2.4706270861199897, -54.77538188337547 2.456845086107151, -54.80375488340191 2.4380540860896502, -54.84749988344264 2.436109086087839, -54.86916388346282 2.44194508609327, -54.96944588355622 2.550554086194424, -55.091945883670306 2.53471808617968, -55.11194588368893 2.527218086172695, -55.50333588405344 2.438891086090436, -55.71368188424934 2.4001360860543315, -55.86409988438943 2.471454086120758, -55.88639088441019 2.49708208614463, -55.91750888443917 2.5206910861666074, -55.94180888446179 2.5305540861757976, -55.96278188448133 2.533054086178126, -55.98249988449969 2.522082086167913, -56.0
 0041788451638 2.4508360861015603, -56.08444588459464 2.3575000860146247, -56.11583588462388 2.2491640859137334, -56.03639088454989 2.208891085876232, -55.90396388442656 2.0477820857261833, -55.90173588442448 1.90104508558953, -55.94264588446258 1.856109085547672, -55.96583588448418 1.8452820855375904, -55.99597288451224 1.8376360855304625, -56.0274998845416 1.8362450855291712, -56.06806388457939 1.8455540855378416, -56.11333588462155 1.863609085554657, -56.201663884703805 1.8916640855807856, -56.326954884820495 1.9252820856120962, -56.426390884913104 1.9341640856203668, -56.470635884954305 1.944500085629997, -56.47736388496057 1.9620820856463723, -56.55597288503378 2.020554085700823, -56.579726885055905 2.0273640857071626, -56.64611788511773 2.028054085707808, -56.68209088515124 2.0267640857066027, -56.77499988523776 2.1408360858128503, -56.810563885270895 2.1933360858617448, -56.853890885311245 2.283336085945564, -56.917781885370744 2.428054086080337, -56.94472688539584 2.483054086
 1315598, -57.11688188555617 2.757191086386868, -57.20083588563436 2.8228450864480124, -57.213335885646 2.878891086500218, -57.207217885640304 3.004236086616956, -57.210281885643155 3.035836086646384, -57.22028188565247 3.0650000866735354, -57.255008885684816 3.103609086709497, -57.28361788571145 3.140973086744296, -57.28999988571739 3.181391086781943, -57.29249988571972 3.2673640868620026, -57.28354588571139 3.318682086909803, -57.304172885730594 3.380418086967296, -57.42945488584728 3.3472180869363797, -57.53055488594143 3.3463910869356113, -57.61041788601581 3.3600000869482756, -57.642226886045435 3.3563910869449245, -57.65778188605992 3.4138910869984755, -57.63840888604189 3.457009087038628, -57.65444588605682 3.518609087095996, -57.66861788607001 3.5383360871143736, -57.740835886137276 3.613745087184597, -57.76056388615565 3.624164087194302, -57.8166728862079 3.6502820872186277, -57.83848188622821 3.6693090872363427, -57.84597288623519 3.692636087258066, -57.84930888623829 3.738
 8910873011554, -57.85945488624775 3.771664087331672, -57.86749988625523 3.7908360873495326, -57.876672886263776 3.8091640873665966, -57.93194588631526 3.8906910874425193, -57.95041788633246 3.913191087463474, -57.96889088634967 3.9291640874783553, -58.01639988639391 3.9636090875104344, -58.04375488641939 4.001527087545753, -58.071399886445136 4.15569108768932, -58.0618088864362 4.180136087712086, -58.039172886415116 4.211391087741205, -58.00278188638123 4.239718087767585, -57.954517886336276 4.288336087812866, -57.9491728863313 4.317218087839763, -57.94861788633078 4.349164087869511, -57.902781886288096 4.503609088013349, -57.8469458862361 4.6288910881300325, -57.84035488622996 4.669027088167411, -57.88778188627413 4.7683360882599, -57.909026886293915 4.777782088268694, -57.92486388630866 4.796391088286029, -57.92333588630724 4.821945088309818, -57.901390886286805 4.855554088341123, -57.84111788623066 4.927782088408392, -57.67625488607713 5.011527088486389, -57.63417288603793 5.0002
 82088475913, -57.61098188601633 4.992218088468405, -57.4736178858884 4.989164088465557, -57.41709088583576 4.989445088465814, -57.32722688575207 5.026109088499965, -57.321945885747155 5.075973088546405, -57.292363885719595 5.166245088630475, -57.27209088570072 5.177082088640574, -57.25055488568066 5.172636088636423, -57.231526885662944 5.146454088612046, -57.19104588562524 5.172009088635846, -57.20750888564058 5.223609088683901, -57.23520888566637 5.259945088717743, -57.26222688569153 5.22166408868209, -57.282781885710676 5.226391088686498, -57.32444588574948 5.303609088758407, -57.2994458857262 5.359718088810666, -57.27159988570027 5.384864088834078, -57.24850888567876 5.486109088928373, -57.18430888561896 5.51889108895891, -57.16742688560325 5.541391088979864, -57.13889088557667 5.671664089101185, -57.13597288557395 5.6925000891205855, -57.13249988557071 5.767500089190435, -57.06791788551057 5.941736089352716, -56.992499885440324 5.989445089397137, -56.96444588541421 5.99708208940
 4259, -56.70056388516845 5.965554089374891, -56.60361788507815 5.940500089351559, -56.55445488503237 5.948336089358861, -56.48000888496304 5.945418089356139, -56.26056388475867 5.889164089303748, -56.01778188453255 5.818336089237789, -55.910554884432685 5.778364089200565, -55.89444588441769 5.730273089155773, -55.89860888442156 5.67444508910377, -55.89955488442244 5.671909089101419, -55.885972884409796 5.683054089111792, -55.87778188440217 5.717636089143994, -55.89110888441458 5.775836089198208, -55.922717884444026 5.876073089291552, -55.85583588438173 5.948891089359378, -55.8277818843556 5.958336089368174, -55.76806388429999 5.967218089376445, -55.62028188416235 5.974445089383167, -55.548617884095606 5.977782089386281, -55.4127818839691 5.964164089373597, -55.37722688393599 5.960000089369714, -55.33902688390042 5.950136089360527, -55.266672883833024 5.923609089335827, -55.25389088382113 5.915836089328593, -55.230563883799405 5.898054089312026, -55.174999883747645 5.9072180893205655
 , -55.11555488369228 5.876982089292397, -55.11402688369087 5.8400000892579556, -55.12796388370384 5.82217308924136)))
+TTO	Trinidad & Tobago	MULTIPOLYGON (((-61.0794458892466 10.824164093899824, -61.075563889242986 10.826109093901636, -61.02541788919628 10.840273093914831, -60.92833588910587 10.838609093913277, -60.90923588908808 10.827009093902475, -60.92305488910094 10.797218093874733, -60.94445488912088 10.762218093842137, -60.96305488913819 10.739164093820662, -60.98722688916071 10.714718093797899, -61.01791788918929 10.698473093782766, -61.03417288920443 10.678191093763871, -61.0454178892149 10.489164093587831, -61.02097288919214 10.392218093497547, -60.99860888917131 10.351600093459723, -61.00444588917675 10.149582093271576, -61.083617889250476 10.102773093227981, -61.10722688927247 10.091945093217888, -61.15222688931438 10.075554093202626, -61.202917889361586 10.069164093196676, -61.405281889550054 10.066945093194605, -61.526672889663104 10.06833609319591, -61.67708188980319 10.076109093203144, -61.7055548898297 10.07889109320574, -61.80611788992336 10.0811090932078, -61.83361788994897 10.071
 391093198756, -61.858335889972 10.06221809319021, -61.88028188999243 10.042500093171839, -61.90951789001966 10.040345093169833, -61.92159989003092 10.064864093192668, -61.817781889934224 10.127773093251264, -61.6477818897759 10.19721809331594, -61.50409988964209 10.237636093353572, -61.46139088960231 10.274309093387728, -61.4537548895952 10.294164093406224, -61.46305488960385 10.571245093664274, -61.47361788961369 10.597773093688986, -61.49583588963439 10.63527309372391, -61.54625488968135 10.669445093755726, -61.60125488973257 10.684582093769833, -61.62291788975274 10.678891093764534, -61.65778188978521 10.680064093765623, -61.662017889789155 10.708400093792008, -61.60278188973399 10.74221809382351, -61.47999988961965 10.75055409383127, -61.42854588957172 10.753954093834437, -61.384590889530784 10.779718093858435, -61.24249988939846 10.790273093868265, -61.19639988935552 10.789445093867485, -61.17180888933261 10.79910009387649, -61.1433358893061 10.815273093891548, -61.079445889246
 6 10.824164093899824)), ((-60.79749988898402 11.14166409419552, -60.84493588902819 11.157218094210009, -60.847226889030324 11.176945094228373, -60.756672888945985 11.242218094289171, -60.70083588889399 11.275836094320482, -60.65778188885389 11.301391094344282, -60.5295908887345 11.345554094385406, -60.52083588872635 11.330554094371436, -60.52472688872997 11.273891094318671, -60.53180888873656 11.259027094304827, -60.64180888883901 11.202218094251919, -60.66889088886424 11.198891094248822, -60.68778188888183 11.201945094251656, -60.73875488892931 11.182636094233672, -60.758199888947416 11.171245094223067, -60.79749988898402 11.14166409419552)))
+VEN	Venezuela	MULTIPOLYGON (((-66.3102908941182 10.626018093715288, -66.28309089409287 10.64465409373264, -66.22987289404331 10.640554093728824, -66.0816818939053 10.576664093669322, -66.11972689394072 10.500000093597919, -65.95861789379067 10.356664093464431, -65.93573589376938 10.298300093410077, -65.81445489365642 10.228336093344922, -65.0813908929737 10.060554093188657, -64.76445489267853 10.097218093222807, -64.73279089264904 10.113473093237943, -64.71473589263222 10.179718093299641, -64.62597289254956 10.246664093361986, -64.57972689250649 10.25860909337311, -64.48250889241595 10.238054093353966, -64.37854589231912 10.301109093412691, -64.39584589233523 10.337218093446324, -64.36805489230936 10.384164093490043, -64.18205489213612 10.456545093557452, -63.80944589178911 10.442218093544113, -63.697499891684856 10.485554093584469, -63.83889089181653 10.551664093646039, -63.966390891935276 10.578473093671008, -64.14868189210505 10.570000093663111, -64.20098189215375 10.550273093644
 748, -64.23569089218608 10.514373093611312, -64.29959089224559 10.626527093715765, -64.264590892213 10.657773093744865, -64.1468088921033 10.617918093707743, -63.84278189182015 10.645827093733743, -63.534445891533 10.627082093716282, -63.25306389127094 10.678336093764017, -63.17222689119565 10.719718093802555, -62.99375489102944 10.716391093799459, -62.90667289094833 10.695836093780315, -62.697499890753534 10.747773093828684, -62.19250889028322 10.694164093778753, -61.87959088999179 10.728327093810577, -61.88333588999528 10.694718093779272, -61.9530548900602 10.648891093736594, -62.0855548901836 10.627218093716408, -62.249172890335984 10.627009093716211, -62.331108890412295 10.531664093627413, -62.527226890594946 10.540418093635566, -62.64972689070903 10.568191093661426, -62.91229989095358 10.528745093624693, -63.0042358910392 10.45298209355414, -62.87250889091652 10.524445093620685, -62.83860889088494 10.511664093608786, -62.8377088908841 10.397291093502275, -62.87180889091586 10.3
 89864093495348, -62.934308890974066 10.418473093521996, -63.00368189103868 10.394164093499356, -62.998408891033776 10.271600093385217, -62.93417289097394 10.279309093392385, -62.946663890985576 10.400900093505626, -62.8847358909279 10.374391093480938, -62.790090890839764 10.401336093506032, -62.73639089078975 10.37381809348041, -62.66639089072456 10.280554093393548, -62.630626890691246 10.107154093232054, -62.669308890727265 10.075000093202107, -62.82917289087615 10.053609093182189, -62.95694589099516 10.104309093229404, -63.015972891050126 10.095691093221376, -62.983854891020215 10.068918093196444, -62.91056389095196 10.076945093203918, -62.805281890853905 10.00860909314028, -62.66278189072119 10.059164093187363, -62.6157638906774 10.093191093219048, -62.605417890667766 10.127218093250747, -62.62333589068446 10.188609093307917, -62.60944589067152 10.223954093340836, -62.577499890641775 10.22513609334193, -62.48889089055925 10.153054093274804, -62.42694589050156 9.979164093112857, -
 62.31518189039747 9.752845092902078, -62.32264589040442 9.712082092864122, -62.277226890362115 9.747500092897099, -62.23680889032447 9.855000092997216, -62.25049089033722 9.967009093101538, -62.205699890295506 9.914027093052198, -62.165345890257925 9.715282092867099, -62.19610889028657 9.641664092798536, -62.17076389026296 9.657427092813222, -62.130008890225014 9.752109092901392, -62.133499890228265 9.82644509297063, -62.02743589012948 9.866418093007852, -62.11222689020845 9.929445093066548, -62.20153589029162 9.938336093074838, -62.231735890319754 9.964718093099407, -62.2092358902988 10.011036093142536, -62.17889089027054 10.014718093145973, -62.05389089015412 9.977500093111303, -61.96222689006875 9.91194509305025, -61.81167288992853 9.757891092906789, -61.73583588985791 9.600936092760605, -61.73333588985558 9.698745092851695, -61.80091788991852 9.812273092957426, -61.79278188991094 9.83110909297497, -61.77194588989154 9.830273092974195, -61.59770888972926 9.782773092929958, -61.57
 458188970773 9.800691092946636, -61.64805488977615 9.897364093036671, -61.619863889749894 9.90528209304405, -61.48056388962017 9.823609092967985, -61.407226889551865 9.704718092857263, -61.255981889411004 9.588891092749392, -61.04333588921297 9.575554092736965, -60.98757288916103 9.551809092714848, -60.85361788903627 9.444445092614856, -60.79819988898467 9.379309092554195, -60.78361788897108 9.305000092484988, -60.81889088900394 9.26889109245137, -60.987781889161226 9.188609092376595, -61.08459088925139 9.097500092291739, -61.098126889263995 9.043954092241876, -60.972708889147185 9.175209092364113, -60.9504908891265 9.175136092364042, -61.031535889201976 9.032082092230823, -61.09778188926367 8.963336092166799, -61.183335889343354 8.727782091947418, -61.210208889368374 8.595136091823875, -61.25090888940629 8.581454091811139, -61.436672889579285 8.60166409182996, -61.51972688965664 8.590418091819487, -61.59541788972713 8.616945091844187, -61.59889088973037 8.555000091786496, -61.39389
 088953945 8.474445091711473, -61.32917288947917 8.430827091670864, -61.16847288932951 8.495764091731331, -61.0775088892448 8.493054091728808, -61.0861088892528 8.421391091662073, -61.0735458892411 8.402918091644864, -61.017781889189166 8.46916409170656, -60.98125488915515 8.564445091795292, -60.71583588890796 8.604582091832683, -60.62716388882538 8.551182091782948, -60.46583588867513 8.5282640917616, -60.40875488862197 8.621600091848535, -60.23611788846118 8.627500091854017, -59.99028188823223 8.535273091768133, -59.80305488805786 8.2833360915335, -59.83285488808562 8.231527091485248, -59.92222688816885 8.211109091466227, -59.9797268882224 8.174864091432468, -60.0111818882517 8.059236091324792, -60.03778188827647 8.037009091304085, -60.12486388835757 8.028327091296006, -60.31972688853905 7.877500091155525, -60.533335888737994 7.803891091086982, -60.58875488878961 7.639309090933693, -60.662090888857904 7.566527090865918, -60.691108888884926 7.567082090866435, -60.71666388890873 7.540
 000090841204, -60.688263888882275 7.453473090760625, -60.66083588885674 7.447218090754802, -60.59139088879206 7.336391090651588, -60.63423588883197 7.254309090575134, -60.61749988881638 7.19444509051938, -60.5380638887424 7.124445090454188, -60.50576388871231 7.17270909049914, -60.45611788866607 7.195836090520686, -60.36049088857702 7.176245090502434, -60.278054888500236 7.118745090448883, -60.29125488851254 7.056600090391015, -60.463617888673056 6.906664090251368, -60.63778188883526 6.834927090184564, -60.69778188889114 6.766664090120983, -60.81611788900135 6.788336090141172, -60.89368188907359 6.765000090119429, -60.93965488911641 6.724582090081796, -61.12510888928912 6.714773090072654, -61.174445889335075 6.658745090020474, -61.20472688936327 6.5779180899452, -61.140008889303004 6.408609089787518, -61.160145889321754 6.1825000895769335, -61.26278188941734 6.107782089507353, -61.3378908894873 5.972782089381624, -61.38972688953557 5.940000089351088, -60.748890888938746 5.2225000886
 82864, -60.65520888885149 5.181318088644517, -60.5785458887801 4.952636088431532, -60.649308888845994 4.842918088329355, -60.7202818889121 4.776109088267134, -60.88652688906693 4.709718088205307, -60.92986388910728 4.591873088095554, -60.987090889160584 4.519309088027967, -61.163890889325245 4.494309088004684, -61.313608889464675 4.506664088016194, -61.50736388964512 4.390554087908058, -61.51069988964824 4.3034730878269585, -61.55438188968891 4.248818087776058, -61.69917288982376 4.259027087785569, -61.76291788988313 4.2430540877706875, -61.8488908899632 4.160554087693853, -61.914863890024634 4.146945087681175, -61.987499890092295 4.169582087702267, -62.05319989015348 4.150136087684146, -62.14264589023678 4.093191087631112, -62.440135890513844 4.1826730877144485, -62.539935890606785 4.112291087648913, -62.6041638906666 4.041945087583386, -62.72833589078225 4.038609087580284, -62.75778189080967 4.020273087563211, -62.78041789083075 3.9087450874593372, -62.72749989078147 3.73110908729
 3902, -62.73402689078755 3.6765270872430733, -62.78125489083153 3.604309087175807, -62.878054890921675 3.5601360871346657, -62.99056389102647 3.604309087175807, -63.24229089126091 3.8981270874494527, -63.335554891347755 3.9580540875052606, -63.419099891425574 3.967082087513674, -63.45819989146199 3.866454087419953, -63.491526891493024 3.857782087411877, -63.530135891528985 3.8672180874206674, -63.61417289160724 3.9448640874929737, -63.64445489163545 3.9486090874964646, -63.84806389182508 3.9588910875060463, -63.95625489192584 3.891245087443039, -64.01779089198314 3.886109087438257, -64.05270889201566 3.9084360874590516, -64.12639089208429 4.1095820876463875, -64.24889989219838 4.148054087682212, -64.33555489227909 4.154164087687903, -64.59201789251793 4.1277730876633285, -64.67472689259496 4.257500087784138, -64.74626389266159 4.287218087811823, -64.78167289269456 4.2863910878110545, -64.80000889271165 4.265073087791194, -64.80195489271345 4.210836087740688, -64.71313589263073 4.144
 027087678467, -64.62668189255022 3.9655540875122455, -64.44632689238225 3.7870090873459645, -64.30806389225349 3.7183360872820117, -64.19021789214374 3.5896540871621596, -64.18471789213861 3.5277820871045407, -64.23569989218609 3.432782087016065, -64.20529089215776 3.1933360867930674, -64.15889089211456 3.060836086669667, -63.987854891955266 2.718609086350938, -63.995417891962305 2.623054086261945, -64.04646389200985 2.509445086156134, -64.03403589199827 2.4713180861206325, -63.821808891800615 2.4258360860782773, -63.58167289157697 2.434718086086548, -63.36541789137557 2.4200000860728323, -63.346390891357856 2.4061090860598995, -63.360763891371235 2.259100085922981, -63.39944589140727 2.149509085820924, -63.60709089160065 2.105973085780377, -63.739172891723655 2.003054085684525, -63.825008891803606 1.9777820856609907, -63.93652689190746 1.9768090856600793, -64.00236389196877 1.9498640856349851, -64.0518908920149 1.8904820855796913, -64.07799089203921 1.6354180853421383, -64.11320889
 207201 1.5829180852932438, -64.26445489221287 1.4761090851937695, -64.3943088923338 1.5118090852270143, -64.52972689245992 1.4336090851541883, -64.59529089252098 1.3300000850576907, -64.69750889261618 1.262782084995095, -64.7572358926718 1.2443090849778855, -64.8190728927294 1.2794820850106419, -65.00695489290437 1.1658360849048108, -65.1362638930248 1.118473084860696, -65.16584589305235 0.9694450847218974, -65.19250889307719 0.9266640846820593, -65.32167289319747 0.9119450846683463, -65.38584589325724 0.8370820845986344, -65.40028189327069 0.7539540845212116, -65.43610889330405 0.6952820844665695, -65.52166389338373 0.6491640844236173, -65.55861789341814 0.6661090844393982, -65.58257289344046 0.7297910844987143, -65.5111178933739 0.8388910846003199, -65.510135893373 0.9019450846590331, -65.55944589341892 0.9711090847234516, -65.59542689345243 0.9904180847414352, -65.73529089358269 0.9827820847343247, -65.87083589370893 0.9083360846649953, -65.97959089381021 0.798745084562924, -66.1
 2709089394758 0.7341640845027797, -66.31472689412233 0.7513910845188292, -66.87045489463989 1.2209270849561165, -66.89168189465967 1.2513910849844905, -66.92639089469199 1.4597180851785083, -66.99167289475278 1.6958360853984118, -67.21153589495755 2.2436090859085596, -67.21694589496259 2.275282085938059, -67.17418189492277 2.336527085995101, -67.19250889493983 2.392500086047221, -67.32520889506341 2.474027086123158, -67.48556389521276 2.653336086290153, -67.53528189525906 2.680000086314976, -67.60583589532477 2.7933360864205383, -67.76583589547378 2.832500086457003, -67.82361789552759 2.8270820864519663, -67.8330728955364 2.8766640864981383, -67.4355638951662 3.253891086849464, -67.34639989508315 3.313682086905146, -67.29285489503329 3.3960450869818573, -67.30659989504609 3.4527820870346915, -67.38111789511548 3.4859730870656023, -67.43709089516761 3.648336087216819, -67.49104589521787 3.7243090872875655, -67.59987289531922 3.740691087302821, -67.63514589535207 3.797636087355855, -6
 7.7085088954204 4.0469540875880625, -67.78667289549318 4.166527087699421, -67.80625489551143 4.231809087760212, -67.78479989549145 4.334754087856098, -67.85875489556032 4.561245088067025, -67.80158189550707 4.973236088450719, -67.8486358955509 5.306518088761123, -67.80389089550923 5.38326408883259, -67.64944589536539 5.478336088921139, -67.61590889533416 5.5481910889861865, -67.65167289536745 5.683191089111915, -67.61999989533797 5.792218089213463, -67.4139818951461 5.995536089402819, -67.49252689521924 6.121409089520043, -67.48924589521619 6.153745089550156, -67.45445489518379 6.1930540895867665, -67.49626389522273 6.2054180895982824, -67.56361789528545 6.262500089651439, -67.6352818953522 6.28513608967252, -67.83118189553464 6.30757308969342, -67.91812689561561 6.238191089628799, -67.99792689568993 6.207218089599962, -68.15515489583636 6.222773089614449, -68.31945489598938 6.1680540895634834, -68.45389989611459 6.190554089584438, -68.63840889628644 6.135482089533156, -68.827790896
 4628 6.186391089580567, -69.05639989667571 6.2161090896082385, -69.19520889680498 6.100418089500494, -69.24174589684833 6.084100089485304, -69.2707088968753 6.090973089491698, -69.31611789691759 6.148609089545374, -69.42945489702315 6.1186090895174345, -70.11917289766549 6.975836090315795, -70.2218178977611 6.9740270903141095, -70.294726897829 6.9384730902809935, -70.55250889806908 7.058336090392629, -70.7197268982248 7.098054090429613, -70.88653589838016 7.07507309040821, -71.02500889850913 6.984445090323803, -71.18126389865465 6.9634730903042765, -71.33250889879551 7.022364090359119, -71.46389989891787 7.023336090360033, -71.60139089904592 7.057918090392235, -71.70195489913958 7.046391090381505, -71.83278189926142 6.987218090326394, -71.99236389941004 7.016245090353422, -72.06609989947871 7.06241809039642, -72.13292689954095 7.173336090499731, -72.16459989957045 7.262500090582762, -72.15472689956125 7.325282090641238, -72.26250889966164 7.389445090700988, -72.40167289979124 7.4072
 18090717549, -72.47244589985715 7.497982090802083, -72.45972689984531 7.920554091195626, -72.38938189977979 8.047564091313916, -72.3286178997232 8.061809091327177, -72.3366728997307 8.151945091411122, -72.3881998997787 8.369445091613684, -72.66446390003598 8.641109091866696, -72.77972690014333 9.080273092275704, -72.8855639002419 9.11916409231192, -72.96250890031357 9.178054092366764, -72.9811269003309 9.260827092443861, -73.0099999003578 9.302009092482209, -73.22195490055519 9.171109092360297, -73.37806390070058 9.171391092360565, -73.36389090068738 9.225827092411265, -73.24514590057679 9.40847309258136, -73.08168190042456 9.609445092768524, -73.00472690035288 9.768327092916508, -72.97750890032754 10.001945093134069, -72.93889990029157 10.11645409324072, -72.90354590025865 10.444445093546179, -72.49125489987468 11.12277309417793, -72.31764589971299 11.164509094216797, -72.20935489961214 11.25000009429641, -71.9684818993878 11.666245094684072, -71.7697268992027 11.700836094716294, -
 71.40333589886147 11.812773094820542, -71.32471789878825 11.853054094858052, -71.37861789883844 11.753336094765189, -71.44584589890106 11.723891094737766, -71.76583589919908 11.662364094680456, -71.95417289937447 11.594718094617463, -71.96639989938586 11.506391094535203, -71.93278189935455 11.363054094401704, -71.7408458991758 11.034164094095402, -71.763617899197 11.013745094076384, -71.69111789912948 10.834164093909138, -71.6618088991022 10.77750009385636, -71.57792689902406 10.71610909379919, -71.58168189902757 10.674718093760646, -71.64889989909017 10.442500093544368, -71.75569989918964 10.369718093476592, -71.79444589922572 10.321809093431966, -71.8411268992692 10.218891093336126, -72.1253548995339 9.818191092962934, -72.07792689948973 9.735554092885977, -71.97917289939775 9.623336092781472, -71.91084589933412 9.493609092660648, -71.73319989916868 9.375691092550824, -71.72361789915975 9.345000092522241, -71.75945489919313 9.118327092311148, -71.7148638991516 9.077918092273507, -
 71.62389089906688 9.043054092241036, -71.55278189900065 9.040836092238976, -71.3136088987779 9.1105540923039, -71.24139089871065 9.155418092345684, -71.16541789863989 9.273745092455883, -71.07486389855555 9.312500092491973, -71.05597289853796 9.338745092516419, -71.08917289856888 9.536600092700695, -71.05334589853551 9.703609092856226, -71.07339989855419 9.851109092993596, -71.26945489873678 10.150136093272081, -71.38556389884492 10.282773093395619, -71.43667289889251 10.36944509347633, -71.45861789891295 10.460000093560666, -71.54570889899406 10.568327093661566, -71.52639989897608 10.726945093809277, -71.44667289890182 10.795554093873179, -71.45167289890648 10.916391093985723, -71.49285489894484 10.961036094027293, -71.4119548988695 10.984164094048836, -71.28110889874763 10.989164094053493, -70.82556389832338 11.211391094260463, -70.50847289802806 11.248191094294725, -70.4466728979705 11.290000094333664, -70.23918189777727 11.353054094392391, -70.14249989768723 11.418336094453196, 
 -70.03486389758697 11.441318094474596, -70.02389989757677 11.491391094521234, -70.04779089759901 11.517773094545802, -69.987645897543 11.514718094542957, -69.87402689743719 11.426527094460823, -69.80139089736954 11.427218094461466, -69.7423998973146 11.499200094528504, -69.81653589738364 11.690973094707104, -70.18000889772216 11.603609094625739, -70.23598189777428 11.62889109464929, -70.24389989778166 11.775273094785618, -70.29403589782835 11.861664094866072, -70.28666389782148 11.92027309492066, -70.18749989772914 12.107773095095283, -70.01430889756783 12.197500095178839, -69.93471789749371 12.169718095152973, -69.85945489742362 12.071945095061906, -69.82375489739037 11.98805409498378, -69.81688189738396 11.850973094856116, -69.75778189732893 11.661391094679558, -69.7061178972808 11.548891094574785, -69.6318088972116 11.467636094499099, -69.5795178971629 11.46410009449582, -69.50695489709533 11.506945094535709, -69.36021789695867 11.493327094523039, -69.27487289687919 11.5339540945
 60869, -68.95389989658025 11.45166409448423, -68.8436818964776 11.447082094479967, -68.66042689630693 11.349864094389417, -68.60196389625249 11.290554094334183, -68.41833589608147 11.180000094231218, -68.24250889591772 10.874373093946588, -68.25195489592652 10.856664093930092, -68.32529089599481 10.843609093917934, -68.3280638959974 10.767500093847048, -68.25361789592806 10.588891093680715, -68.16514589584567 10.498891093596896, -67.86798189556892 10.464873093565217, -67.79610889550197 10.491945093590417, -67.54333589526657 10.53277309362845, -67.28029089502158 10.546664093641382, -67.00222689476261 10.610282093700633, -66.47056389426747 10.629164093718217, -66.34299089414866 10.604718093695453, -66.3102908941182 10.626018093715288)), ((-64.05555489201832 10.857218093930612, -64.1363998920936 10.945000094012357, -64.17403589212866 10.960418094026721, -64.22792689217884 10.93124509399955, -64.40569989234442 10.970136094035766, -64.37834589231893 11.056945094116614, -64.20180889215452
  11.08778209414534, -64.17584589213034 11.031664094093074, -64.10583589206514 10.995282094059192, -64.04278189200642 10.987636094052064, -63.98749989195494 11.076109094134466, -63.88493589185941 11.175618094227147, -63.84486389182209 11.127082094181944, -63.80472689178471 11.021391094083512, -63.81499989179429 10.978054094043145, -63.89000889186414 10.904445093974587, -64.05555489201832 10.857218093930612)), ((-61.163608889324976 8.68832709191068, -61.16499988932628 8.71527309193577, -61.042499889212195 8.821109092034334, -60.86055488904273 8.853336092064353, -60.97610888915035 8.725827091945604, -61.163608889324976 8.68832709191068)), ((-61.246945889402596 8.474718091711736, -61.2943088894467 8.493327091729071, -61.405281889550054 8.485836091722092, -61.543545889678825 8.54868209178062, -61.42639088956972 8.58332709181289, -61.279445889432864 8.569718091800212, -61.26149988941614 8.552964091784602, -61.27829988943179 8.516736091750872, -61.2635998894181 8.499927091735216, -61.18507
 2889344966 8.496736091732245, -61.246945889402596 8.474718091711736)), ((-61.1291728892929 8.501664091736828, -61.26368188941818 8.510209091744784, -61.253063889408295 8.545273091777446, -61.21750888937518 8.572500091802794, -61.14912688931149 8.54089109177336, -61.083617889250476 8.609718091837465, -60.99806388917081 8.59694509182556, -60.99860888917131 8.557782091789093, -61.04055488921037 8.51416409174847, -61.1291728892929 8.501664091736828)), ((-60.91028188908905 8.894164092102372, -61.01972688919098 8.846945092058391, -61.046390889215814 8.843891092055557, -60.94167288911828 9.011664092211802, -60.880345889061175 9.026527092225649, -60.840563889024125 8.99832709219939, -60.85625488903874 8.947364092151915, -60.91028188908905 8.894164092102372)), ((-65.2811088931597 10.88028209395209, -65.39334589326423 10.906945093976915, -65.41611789328543 10.927218093995805, -65.36445489323732 10.969164094034866, -65.30445489318144 10.976109094041334, -65.21215489309549 10.954164094020896, -
 65.19959089308378 10.898336093968908, -65.2811088931597 10.88028209395209)), ((-61.048054889217354 8.639718091865404, -61.146945889309464 8.654445091879111, -61.17722688933766 8.67666409189981, -60.93778188911466 8.721245091941327, -60.99680888916963 8.652636091877426, -61.048054889217354 8.639718091865404)), ((-60.85831788904065 9.06495409226143, -60.94333588911984 9.022218092221635, -61.061390889229784 8.896945092104957, -61.096672889262635 8.89090009209933, -61.07062688923838 8.97131809217423, -60.947226889123456 9.054718092251903, -60.850417889033295 9.092982092287542, -60.85831788904065 9.06495409226143)), ((-60.92333588910121 8.618327091845487, -60.988617889162 8.635554091861522, -60.84159988902509 8.726945091946632, -60.80944588899514 8.716945091937319, -60.82333588900808 8.652364091877175, -60.92333588910121 8.618327091845487)))
+ASM	American Samoa	MULTIPOLYGON (((-170.74389999137958 -14.375554929569248, -170.74941799138472 -14.373890929567693, -170.7664449914006 -14.363608929558112, -170.82322699145345 -14.323754929521002, -170.80917299144036 -14.308054929506383, -170.79765499142965 -14.299308929498238, -170.68167299132162 -14.258054929459817, -170.6640269913052 -14.255417929457352, -170.5679179912157 -14.254308929456329, -170.56187299121007 -14.269999929470941, -170.57861799122566 -14.279163929479466, -170.63726399128026 -14.289445929489048, -170.74389999137958 -14.375554929569248)))
+COK	Cook Is.	MULTIPOLYGON (((-159.7469819811379 -21.25667293597779, -159.79363598118135 -21.252781935974156, -159.83251798121756 -21.248472935970142, -159.84000898122454 -21.23916393596147, -159.83471798121963 -21.199308935924364, -159.82723598121265 -21.189863935915568, -159.7883269811764 -21.187499935913365, -159.75613598114643 -21.192363935917896, -159.73292698112482 -21.22624593594945, -159.73916398113062 -21.2524999359739, -159.7469819811379 -21.25667293597779)), ((-157.92889097944467 -21.94083593661496, -157.94696397946151 -21.93958193661379, -157.96376397947716 -21.92041793659594, -157.96363597947703 -21.90819093658456, -157.95751797947133 -21.89528193657253, -157.94778197946226 -21.88805493656581, -157.921735979438 -21.88146393655967, -157.88384497940274 -21.925208936600413, -157.88766397940628 -21.936808936611214, -157.92889097944467 -21.94083593661496)), ((-158.11667297961955 -20.019172934825278, -158.12668197962887 -20.009445934816213, -158.13041797963237 -19.995281934803
 018, -158.1253999796277 -19.978472934787362, -158.11152697961478 -19.9713179347807, -158.09475497959914 -19.97417293478337, -158.0836359795888 -19.98444593479293, -158.0813909795867 -19.996390934804054, -158.08876397959358 -20.01069993481738, -158.0983549796025 -20.016108934822412, -158.11667297961955 -20.019172934825278)), ((-157.71304497924365 -19.857226934674443, -157.71887297924908 -19.85166393466926, -157.7408179792695 -19.817645934637582, -157.73919997926802 -19.807508934628146, -157.71229997924297 -19.77312693459612, -157.70376397923502 -19.836808934655437, -157.70864497923955 -19.853054934670567, -157.71304497924365 -19.857226934674443)), ((-163.16946398432535 -18.091945933030402, -163.17128198432704 -18.08417293302317, -163.15472698431162 -18.06145493300201, -163.15725498431397 -18.080554933019798, -163.1633269843196 -18.089445933028074, -163.16946398432535 -18.091945933030402)), ((-165.84167298681402 -10.890835926323845, -165.84834498682025 -10.8842359263177, -165.82765498
 680098 -10.881317926314978, -165.84167298681402 -10.890835926323845)))
+PYF	French Polynesia	MULTIPOLYGON (((-149.1791999712959 -17.870835932824477, -149.25809097136937 -17.85278193280766, -149.27570897138577 -17.84631793280164, -149.28893597139808 -17.833054932789295, -149.29795497140648 -17.82083593277791, -149.3694729714731 -17.738890932701594, -149.3785999714816 -17.743608932705982, -149.42086397152096 -17.756108932717623, -149.47168197156827 -17.766390932727205, -149.48763597158313 -17.76597293272681, -149.59057297167902 -17.711390932675982, -149.63891797172403 -17.625972932596426, -149.64169097172663 -17.611945932583367, -149.64141797172636 -17.592781932565515, -149.63559097172094 -17.561672932536553, -149.63250897171807 -17.54999993252568, -149.62388197171003 -17.540699932517015, -149.58739097167606 -17.516181932494177, -149.4921089715873 -17.493754932473294, -149.44998197154808 -17.499445932478594, -149.41473597151526 -17.509172932487658, -149.37362697147697 -17.526945932504205, -149.3591639714635 -17.534454932511196, -149.34861797145368 -17.542
 090932518306, -149.3327639714389 -17.57028193254456, -149.32666397143322 -17.592226932564998, -149.32333597143014 -17.65249993262114, -149.3230909714299 -17.67110893263846, -149.3240359714308 -17.68778193265399, -149.32014497142717 -17.702154932667383, -149.3075089714154 -17.712635932677145, -149.29306397140192 -17.717499932681676, -149.2305639713437 -17.730281932693572, -149.2077909713225 -17.734172932697206, -149.18473597130105 -17.73139093269461, -149.1747089712917 -17.736117932699017, -149.1622269712801 -17.751390932713235, -149.1547269712731 -17.764445932725394, -149.14837297126718 -17.781954932741698, -149.1466819712656 -17.805699932763815, -149.15221797127077 -17.83361793278982, -149.15780897127598 -17.849726932804813, -149.16559097128322 -17.86360893281774, -149.1741639712912 -17.869163932822914, -149.1791999712959 -17.870835932824477)), ((-139.05474496186676 -9.859999925363809, -139.1089179619172 -9.846945925351648, -139.11913596192673 -9.843608925348533, -139.1289089619358
 2 -9.838890925344145, -139.1411089619472 -9.830835925336643, -139.15142696195682 -9.820554925327073, -139.16879096197297 -9.79375492530211, -139.1722549619762 -9.772917925282698, -139.16726396197154 -9.759999925270677, -139.04444496185715 -9.69541792521052, -139.00472696182018 -9.69694592521195, -138.97568196179313 -9.708608925222805, -138.9687639617867 -9.722363925235626, -138.9570729617758 -9.741390925253341, -138.8903179617136 -9.757226925268085, -138.85058196167662 -9.756108925267043, -138.83611796166315 -9.749863925261238, -138.82531796165307 -9.740272925252299, -138.81251796164116 -9.737917925250102, -138.8097549616386 -9.748054925259552, -138.81558196164403 -9.759445925270157, -138.8319729616593 -9.770835925280764, -138.84915496167528 -9.781117925290346, -138.89585496171878 -9.806254925313752, -138.91085496173275 -9.808335925315689, -138.9794269617966 -9.8149999253219, -138.99999996181577 -9.8149999253219, -139.01319996182806 -9.811390925318534, -139.02973596184347 -9.8072269
 25314652, -139.04862696186106 -9.808199925315563, -139.06133596187289 -9.818890925325519, -139.05474496186676 -9.859999925363809)), ((-140.17782696291272 -8.956390924522253, -140.18945496292355 -8.954163924520174, -140.2058359629388 -8.944726924511386, -140.22584496295744 -8.930417924498059, -140.2305639629618 -8.921390924489657, -140.25613596298564 -8.827363924402093, -140.25339096298308 -8.813054924388766, -140.2497549629797 -8.80278192437919, -140.2450269629753 -8.793890924370913, -140.2366639629675 -8.7838909243616, -140.2251449629568 -8.778190924356295, -140.06890896281126 -8.81167292438748, -140.04281796278696 -8.830281924404801, -140.01599096276198 -8.852845924425822, -140.01196396275824 -8.870972924442697, -140.01515496276122 -8.888472924458995, -140.0226639627682 -8.898054924467928, -140.07781796281955 -8.918054924486555, -140.0908359628317 -8.9220819244903, -140.10487296284475 -8.918754924487203, -140.1197179628586 -8.918890924487329, -140.1669639629026 -8.933054924500524,
  -140.17683596291178 -8.940135924507118, -140.17782696291272 -8.956390924522253)), ((-151.4444909734056 -16.904445931924457, -151.46543597342512 -16.902917931923028, -151.47512697343413 -16.89749993191799, -151.49169997344958 -16.849172931872985, -151.49777297345523 -16.784026931812306, -151.49136397344927 -16.759999931789935, -151.48751797344568 -16.7494459317801, -151.4725179734317 -16.73971793177104, -151.43098197339302 -16.745554931776482, -151.35111797331865 -16.84583593186987, -151.3509819733185 -16.860345931883387, -151.40032697336449 -16.888335931909452, -151.4444909734056 -16.904445931924457)), ((-149.85442697192474 -17.574445932548443, -149.86834497193772 -17.56833593254275, -149.87805497194674 -17.563617932538364, -149.9250449719905 -17.52528193250265, -149.93808197200266 -17.509726932488164, -149.941681972006 -17.497217932476516, -149.93725497200188 -17.484163932464355, -149.9227909719884 -17.477781932458413, -149.91113597197756 -17.476108932456853, -149.79462697186906 -
 17.466799932448183, -149.78529097186035 -17.47125493245234, -149.78321797185842 -17.487781932467726, -149.79849097187264 -17.52778193250498, -149.84596397191686 -17.572499932546634, -149.85442697192474 -17.574445932548443)))
+UMI	Jarvis I.	MULTIPOLYGON (((-160.02114498139323 -0.3980549165516862, -160.02810898139973 -0.3980549165516862, -160.04349098141404 -0.3922179165462438, -160.0451639814156 -0.3801359165349964, -160.03391798140512 -0.3743089165295714, -160.0177909813901 -0.3747179165299457, -160.00946398138237 -0.3847179165392589, -160.0129269813856 -0.3958359165496148, -160.02114498139323 -0.3980549165516862)))
+NIU	Niue	MULTIPOLYGON (((-169.89389099058795 -19.145554934011656, -169.9308819906224 -19.124445933991993, -169.9522359906423 -19.073335933944392, -169.93028199062184 -19.01360893388876, -169.89474499058875 -18.970281933848412, -169.88476399057944 -18.963335933841947, -169.86889999056467 -18.963617933842215, -169.8151359905146 -18.970272933848406, -169.78155499048333 -19.065281933936888, -169.79809999049874 -19.087226933957325, -169.82443599052326 -19.110835933979317, -169.85028199054733 -19.125835933993287, -169.8591639905556 -19.130554933997686, -169.88806399058254 -19.14444593401062, -169.89389099058795 -19.145554934011656)))
+WSM	Samoa	MULTIPOLYGON (((-172.59649999310494 -13.509108928762302, -172.55193599306344 -13.497217928751226, -172.47528199299205 -13.479717928734928, -172.39111799291368 -13.464172928720458, -172.36083599288548 -13.460554928717087, -172.34835499287385 -13.461390928717861, -172.303417992832 -13.472154928727889, -172.28779999281744 -13.484163928739065, -172.22249999275664 -13.563054928812548, -172.20306399273855 -13.59194592883945, -172.1933639927295 -13.613335928859371, -172.1683549927062 -13.680972928922358, -172.16781799270572 -13.691390928932066, -172.21235499274718 -13.806526929039293, -172.225035992759 -13.808890929041496, -172.25849999279018 -13.804308929037234, -172.39333599291575 -13.791672929025466, -172.48599099300202 -13.806808929039562, -172.50890899302337 -13.806663929039416, -172.5279269930411 -13.802708929035745, -172.5744359930844 -13.765835929001398, -172.59002699309892 -13.739717928977072, -172.69109999319306 -13.626108928871261, -172.7516909932495 -13.57402692882276
 , -172.77282699326918 -13.54999992880039, -172.78002699327587 -13.532572928784148, -172.7725359932689 -13.517499928770121, -172.75558199325312 -13.51028192876339, -172.73890899323757 -13.508472928761705, -172.728635993228 -13.513335928766239, -172.65527299315968 -13.519172928771681, -172.59649999310494 -13.509108928762302)), ((-171.44198199202972 -14.057499929273035, -171.4652729920514 -14.052781929268633, -171.47998199206512 -14.050554929266568, -171.52055499210292 -14.047781929263977, -171.5461089921267 -14.050281929266305, -171.5889269921666 -14.052499929268379, -171.64837299222194 -14.050281929266305, -171.76809999233345 -14.035835929252855, -171.91113599246665 -14.012499929231126, -172.05059999259655 -13.912499929137994, -172.0584999926039 -13.903190929129323, -172.06475499260972 -13.87819092910604, -172.05975499260506 -13.866945929095564, -172.02932699257673 -13.840272929070721, -171.90670899246254 -13.806663929039416, -171.8839089924413 -13.805554929038394, -171.8222639923838
 8 -13.807499929040205, -171.7480819923148 -13.83167292906272, -171.6191359921947 -13.87860892910642, -171.44418199203176 -13.984445929204995, -171.43070899201922 -14.002363929221687, -171.42919999201783 -14.01625492923462, -171.44198199202972 -14.057499929273035)))
+TKL	Tokelau	MULTIPOLYGON (((-171.84805499240792 -9.218890924766725, -171.85885499241797 -9.209654924758127, -171.86271799242155 -9.18089992473135, -171.85243599241198 -9.170626924721773, -171.84419099240432 -9.191108924740846, -171.84376399240392 -9.210835924759223, -171.84805499240792 -9.218890924766725)))
+TON	Tonga	MULTIPOLYGON (((-175.1452909954787 -21.268063935988394, -175.18639999551698 -21.252781935974156, -175.31445499563625 -21.17999993590638, -175.3236359956448 -21.174445935901204, -175.33642699565672 -21.161672935889314, -175.35140899567065 -21.14333593587223, -175.35748199567632 -21.131663935861354, -175.35999999567866 -21.10083593583265, -175.35319999567233 -21.0887549358214, -175.34112699566109 -21.074863935808466, -175.3142999956361 -21.06417293579851, -175.3035549956261 -21.069726935803672, -175.27667299560105 -21.124999935855158, -175.2452359955718 -21.12978193585961, -175.1490359954822 -21.17680893590341, -175.13836399547225 -21.175835935902498, -175.1319549954663 -21.159163935886966, -175.12945499546396 -21.14472693587352, -175.12139999545644 -21.13375493586331, -175.10723599544326 -21.12806393585801, -175.09362699543058 -21.124999935855158, -175.06542699540432 -21.125835935855932, -175.0487639953888 -21.13694593586628, -175.0459909953862 -21.149163935877652, -175.051
 69999539154 -21.161672935889314, -175.12083599545593 -21.262090935982826, -175.13503599546914 -21.267781935988125, -175.1452909954787 -21.268063935988394)), ((-173.93920899435545 -18.56889093347459, -173.93362699435025 -18.573054933478474, -173.9166909943345 -18.599726933503305, -173.9068269943253 -18.62375493352569, -173.90890899432722 -18.635563933536687, -173.98697299439993 -18.684172933581962, -174.05444499446276 -18.669726933568498, -174.06308199447082 -18.659299933558785, -174.07030899447756 -18.63597293353706, -174.06527299447285 -18.62499993352685, -174.05334499446175 -18.621117933523237, -174.03737299444688 -18.621117933523237, -174.0252999944356 -18.616672933519098, -174.01724499442813 -18.603054933506414, -174.01306399442424 -18.589726933493992, -174.00321799441505 -18.578199933483262, -173.99249099440507 -18.572226933477694, -173.9675269943818 -18.568054933473817, -173.93920899435545 -18.56889093347459)))
+WLF	Wallis & Futuna	MULTIPOLYGON (((-178.06081799819398 -14.323890929521127, -178.13739099826532 -14.317081929514785, -178.15389999828068 -14.308054929506383, -178.17110899829672 -14.287781929487494, -178.1793549983044 -14.275417929475978, -178.18832699831276 -14.256108929457994, -178.19027299831455 -14.239726929442739, -178.18169999830658 -14.232363929435891, -178.12733599825594 -14.24860892945101, -178.04301799817742 -14.31749992951518, -178.06081799819398 -14.323890929521127)), ((-176.1650359964284 -13.35305492861697, -176.16906399643216 -13.351945928615933, -176.17724499643978 -13.341390928606103, -176.18808199644988 -13.313608928580223, -176.1910999964527 -13.286945928555397, -176.18581799644775 -13.257781928528232, -176.18307299644522 -13.24360892851503, -176.1783449964408 -13.232226928504431, -176.1583549964222 -13.21486392848827, -176.14809099641263 -13.216108928489419, -176.12193599638826 -13.258608928529, -176.14202699640697 -13.34381792860836, -176.16143599642507 -13.3527
 72928616702, -176.1650359964284 -13.35305492861697)))
+ARG	Argentina	MULTIPOLYGON (((-71.85916389928599 -41.0112819543757, -71.85028189927772 -40.91250895428371, -71.95014589937072 -40.72694595411089, -71.85930889928613 -40.64347295403315, -71.77987289921215 -40.40896395381475, -71.71569989915238 -40.42361795382839, -71.6639638991042 -40.33451795374541, -71.66861789910853 -40.29694595371042, -71.7027178991403 -40.27895495369366, -71.719590899156 -40.302363953715464, -71.81806389924772 -40.20459095362441, -71.79139989922288 -40.11500895354098, -71.66694589910698 -40.04749995347811, -71.63334589907568 -39.95056395338783, -71.7050088991424

<TRUNCATED>

[49/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilterFactory.java
index ac97ad7..d19f832 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java
index 855f4f6..a71039a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Analyzer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java
index 9c0c960..70f2d62 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.util.CharTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizerFactory.java
index 98f621d..fd38b63 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/WhitespaceTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Arrays;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/package-info.java
index 7aba1e2..61ec057 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Basic, general-purpose analysis components.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/CustomAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/CustomAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/CustomAnalyzer.java
index 5f81315..f2ed01f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/CustomAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/CustomAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.custom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.custom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.custom;
+
 
 import static org.apache.lucene.analysis.util.AnalysisSPILoader.newFactoryClassInstance;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/package-info.java
index 9419282e..8b5cded 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/custom/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * A general-purpose Analyzer that can be created with a builder-style API.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java
index 426663a..6b664c3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cz;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.core.LowerCaseFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilter.java
index 6cf89f5..9a4ea29 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilter.java
@@ -1,13 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
-import java.io.IOException;
-
-import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter; // for javadoc
-import org.apache.lucene.analysis.TokenFilter;
-import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
-import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -24,6 +14,16 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
+import java.io.IOException;
+
+import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter; // for javadoc
+import org.apache.lucene.analysis.TokenFilter;
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+
 
 /**
  * A {@link TokenFilter} that applies {@link CzechStemmer} to stem Czech words.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilterFactory.java
index de40b3f..0b016ad 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cz;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
index 5646ccd..d54a224 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cz;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cz;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cz;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/package-info.java
index 92d5ffc..70ae01f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Czech.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/DanishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/DanishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/DanishAnalyzer.java
index 7f2720a..1b11a1c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/DanishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/DanishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.da;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.da;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.da;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/package-info.java
index ff6eebb..38eb5f0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/da/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Danish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java
index f2d29b4..23e01be 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.analysis.de;
-// This file is encoded in UTF-8
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+// This file is encoded in UTF-8
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilter.java
index f9ef1e4..5962bbc 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilterFactory.java
index 6bf7412..f3ef1f4 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
index 5b84ab3..94452e0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilter.java
index 8d9fed9..8b0a130 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilterFactory.java
index 6231e25..b9b0fa8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
index fd999663..34ce2be 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilter.java
index 45b1e73..b7091ae 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilterFactory.java
index 978908e..f922af8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java
index 6971539..42d2752 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilterFactory.java
index bd8e942..d7f578e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.de;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.de;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
index 6b2ae88..971b36e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.analysis.de;
-
-import java.util.Locale;
-
-// This file is encoded in UTF-8
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,12 @@ import java.util.Locale;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.de;
+
+import java.util.Locale;
+
+// This file is encoded in UTF-8
+
 
 /**
  * A stemmer for German words. 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/package-info.java
index ee37e34..fdaa469 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for German.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java
index 100b3ac..f039edb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.el;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
index 88d2997..e4aecf3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilter.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.el;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilterFactory.java
index 5ff0c90..ce1ec08 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekLowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.el;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilter.java
index 9299541..1624175 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.el;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilterFactory.java
index b6b589d..618f52d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.el;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.el;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
index fee2f67..c09cafa 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.analysis.el;
-
-import org.apache.lucene.analysis.util.CharArraySet;
-
-import java.util.Arrays;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,12 @@ import java.util.Arrays;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.el;
+
+import org.apache.lucene.analysis.util.CharArraySet;
+
+import java.util.Arrays;
+
 
 /**
  * A stemmer for Greek words, according to: <i>Development of a Stemmer for the

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/package-info.java
index ff3391e..228e88c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Greek.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java
index 15bfb51..721d9b2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilter.java
index 72dc6a9..4216998 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilterFactory.java
index e9b5d1b..008b34d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
index 52d62c0..6e2200b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 /**
  * Minimal plural stemmer for English.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilter.java
index e4e03a1..98302b3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilterFactory.java
index 40f1d30..af80852 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishPossessiveFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilter.java
index f5d7904..bbd07ee 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilterFactory.java
index dcfc66a..092a2a3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
index 204eaab..3348d9a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /*
 This file was partially derived from the
 original CIIR University of Massachusetts Amherst version of KStemmer.java (license for

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilter.java
index f61f61c..f102f6d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilterFactory.java
index fc612e0..61b5662 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
index 8c3ad28..041d7b8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/PorterStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.en;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.en;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.en;
+
 
 /*
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/package-info.java
index be0f037..976f269 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for English.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishAnalyzer.java
index 3c2812b..0e4747f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilter.java
index ba05b68..6915706 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilterFactory.java
index 6dfc10e..49fcc8f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
index cd9f418..62ad8f3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.es;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.es;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.es;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/package-info.java
index 316a2d1..0048c81 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Spanish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/BasqueAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/BasqueAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/BasqueAnalyzer.java
index 4222e5a..db83cfb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/BasqueAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/BasqueAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.eu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.eu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.eu;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/package-info.java
index 869b6cb..f34fd45 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/eu/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Basque.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
index d53a2ba..256c78b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilter.java
index b8d8c97..8009c49 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilterFactory.java
index 08d490e..69288fc 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.Reader;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilter.java
index 914e179..0ebe9e7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilterFactory.java
index 7b64b70..e5d78de 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
index 051e3a8..ee11021 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fa;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fa;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fa;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/package-info.java
index b3d4507..3376944 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Persian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishAnalyzer.java
index 84a3c4f..4cc62db 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilter.java
index 128c313..c4bfa9c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilterFactory.java
index ae9e8e0..5adc5a3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
index c866c07..a0f1395 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fi;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fi;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fi;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/package-info.java
index e775cc9..6628e2d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Finnish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java
index f0acba3..86088fd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.core.LowerCaseFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilter.java
index 179afe3..1a630f0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilterFactory.java
index a96dcda..8f74fc3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
index fbd0ad5..f2b8bcc 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilter.java
index 68c8f3c..46f5f85 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilterFactory.java
index e34cc1d..f116bc0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
index 05adeee..4aca5da 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.fr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.fr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.fr;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/package-info.java
index 6e51ef3..b45c25d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for French.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishAnalyzer.java
index 00413d5..1e6d39a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ga;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ga;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ga;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilter.java
index 14582b2..56cbd49 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ga;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ga;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ga;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilterFactory.java
index 6b54605..034c6d6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/IrishLowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ga;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ga;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ga;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/package-info.java
index d6102e2..a3fd183 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ga/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Irish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianAnalyzer.java
index b79245b..b9de3fa 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilter.java
index cff5850..48d3cea 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilterFactory.java
index f1de1f7..d2de86d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
index e75d7b0..7a4928a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import org.apache.lucene.analysis.pt.RSLPStemmerBase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilter.java
index f9e7d5c..4870555 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.gl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.gl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.gl;
+
 
 import java.io.IOException;
 


[17/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreProvider.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreProvider.java b/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreProvider.java
index f75ce98..db67b94 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreProvider.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
index 5703a4b..ed78a03 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
index 922eca7..ce99fc8 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
index ea126a2..e42fe64 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
index ce3aba3..6f9ecd8 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
index 65b5a8b..0541d39 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionValues.java
index c88fc35..31ecd3d 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.Explanation;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
index 14cdc1d..49d4b77 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 import java.util.IdentityHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSourceScorer.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSourceScorer.java b/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSourceScorer.java
index 5af4c86..d05e030 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSourceScorer.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSourceScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java
index 09e9e94..f3066e3 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.docvalues;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.docvalues;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DocTermsIndexDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DocTermsIndexDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DocTermsIndexDocValues.java
index 8911828..4cbcd68 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DocTermsIndexDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DocTermsIndexDocValues.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.docvalues;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java
index 996bbbc..1cb691f 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.docvalues;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.docvalues;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java
index 5e975a7..79149cb 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.docvalues;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.docvalues;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java
index ee656a2..d8a77e3 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.docvalues;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.docvalues;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java
index 55bd598..626b2e5 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.docvalues;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.docvalues;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java
index ad2e5bc..e6e6b69 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.docvalues;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.docvalues;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/package-info.java b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/package-info.java
index da7fe26..5be042a 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/package-info.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/docvalues/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * FunctionValues for different data types.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/package-info.java b/lucene/queries/src/java/org/apache/lucene/queries/function/package-info.java
index cd44590..88403ba 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/package-info.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Queries that compute score based upon a function.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java
index 57c3a6c..e23ccde 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
index aeda1e1..24a65f2 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java
index 5110002..445cdb0 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java
index 3836d64..125422f 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java
index c51add4..4880140 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.function.valuesource;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java
index cb45b5b..c90f94d 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java
index 8d9b7ce..e03e316 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java
index 7ff0e5e..74a4774 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
index cc7ae54..cf6f267 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java
index 35593fb..f37ca43 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/EnumFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/EnumFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/EnumFieldSource.java
index 0c22898..cc7df23 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/EnumFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/EnumFieldSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java
index 0e0ee80..bd9d0ac 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java
index 09410e6..a9a3a85 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java
index ae1d39d..34e5697 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java
index 756b4f5..98bd7b4 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java
index 4e0fc96..686c016 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java
index 5ed3f3b..9884c7a 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java
index 3b25ee5..13682af 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java
index ab3f1d8..aeb3b49 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.function.valuesource;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java
index c3b00b6..e231694 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxFloatFunction.java
index 2ea7ea3..5f7904b 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MinFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MinFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MinFloatFunction.java
index a3f20cd..4190635 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MinFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MinFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java
index 0f7bc2e..48d61e1 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
index 5360028..67434b0 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.function.valuesource;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java
index 34d792e..28182f0 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.function.valuesource;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java
index d6430c0..fd3bf97 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.function.valuesource;
 import org.apache.lucene.queries.function.ValueSource;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java
index bb9e641..41c0a97 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java
index 7a35c94..9308b92 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java
index 34b8271..7b5734f 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
index 2154342..21cb70a 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java
index 210339f..d902ad6 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java
index 0c33bf7..b96699a 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java
index e346b94..d810e9c 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java
index b944b9b..4135fb7 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java
index 050b80e..364a0a4 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java
index 28e3616..f7eb699 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SortedSetFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SortedSetFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SortedSetFieldSource.java
index 67dd63a..1820d74 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SortedSetFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SortedSetFieldSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java
index 321edd0..b89a92d 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
index 6b7a7fa..9594ad9 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
index 9165cb2..f0e252c 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
index aa95f2b..789e3e9 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TotalTermFreqValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TotalTermFreqValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TotalTermFreqValueSource.java
index 5002928..aabe45f 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TotalTermFreqValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TotalTermFreqValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java
index 78db619..d5f22fe 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.function.valuesource;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.function.valuesource;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.function.valuesource;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/package-info.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/package-info.java
index e57c647..64066ec 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/package-info.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * A variety of functions to use with FunctionQuery.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java b/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
index 61503d6..161dddb 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.queries.mlt;
-
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.queries.mlt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.mlt;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThisQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThisQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThisQuery.java
index a9d17c0..ecd3e60 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThisQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThisQuery.java
@@ -1,9 +1,4 @@
 /*
- * Created on 25-Jan-2006
- */
-package org.apache.lucene.queries.mlt;
-
-/*
  * 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.
@@ -19,6 +14,7 @@ package org.apache.lucene.queries.mlt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.mlt;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/mlt/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/mlt/package-info.java b/lucene/queries/src/java/org/apache/lucene/queries/mlt/package-info.java
index e4f00a3..851ff4f 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/mlt/package-info.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/mlt/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Document similarity query generators.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/package-info.java b/lucene/queries/src/java/org/apache/lucene/queries/package-info.java
index 49b22e5..6e00780 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/package-info.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Filters and Queries that add to core Lucene.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/AveragePayloadFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/AveragePayloadFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/AveragePayloadFunction.java
index 1b3c9d8..92040ed 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/AveragePayloadFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/AveragePayloadFunction.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.payloads;
 
 /**
  * Calculate the final score as the average score of all payloads seen.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/MaxPayloadFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/MaxPayloadFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/MaxPayloadFunction.java
index ea30e65..d09c255 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/MaxPayloadFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/MaxPayloadFunction.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.payloads;
 
 /**
  * Returns the maximum payload score seen, else 1 if there are no payloads on the doc.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/MinPayloadFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/MinPayloadFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/MinPayloadFunction.java
index 64ab1d1..56aa957 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/MinPayloadFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/MinPayloadFunction.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 /**
  * Calculates the minimum payload seen

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadFunction.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadFunction.java
index fec403e..afb7c7b 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadFunction.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.payloads;
 import org.apache.lucene.search.Explanation;
 import org.apache.lucene.search.spans.Spans;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
index f39a082..d35eb35 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
index 9b68487..62704b4 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.payloads;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/payloads/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/package-info.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/package-info.java
index 1eb61e5..ae24e23 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/package-info.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * The payloads package provides Query mechanisms for finding and using payloads.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/BoostingQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/BoostingQueryTest.java b/lucene/queries/src/test/org/apache/lucene/queries/BoostingQueryTest.java
index 4e7c45d..939af74 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/BoostingQueryTest.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/BoostingQueryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java b/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java
index 22b5b52..640089a 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java b/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
index 831ccf3..7b1d4c9 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java b/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
index b579ec9..fc64998 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.function.FunctionQuery;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
index 9df2b3c..7f66720 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java b/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
index cf3fa1a..d5a587d 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.queries.function;
 
 import org.apache.lucene.analysis.Analyzer;
@@ -22,22 +38,6 @@ import org.apache.lucene.util.TestUtil;
 import org.junit.AfterClass;
 import org.junit.Ignore;
 
-/*
- * 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.
- */
 /**
  * Setup for function tests
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestBoostedQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestBoostedQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestBoostedQuery.java
index a6db9f1..a870366 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestBoostedQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestBoostedQuery.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.queries.function;
 
 
@@ -23,23 +39,6 @@ import org.apache.lucene.util.LuceneTestCase;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
-/*
- * 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.
- */
-
 /**
  * Basic tests for {@link BoostedQuery}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
index b604d79..c7738e9 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestFieldScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFieldScoreQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFieldScoreQuery.java
index 08af9c1..843f452 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFieldScoreQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFieldScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java
index 7dbe30f..56ea491 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import org.apache.lucene.queries.function.valuesource.ConstValueSource;
 import org.apache.lucene.queries.function.valuesource.RangeMapFloatFunction;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java
index 9297733..b9e1eb2 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQuerySort.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionRangeQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionRangeQuery.java
index 92a2c4c..5f3a412 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionRangeQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.io.IOException;
 


[26/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BPositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BPositions.java b/lucene/core/src/test/org/apache/lucene/index/Test2BPositions.java
index 526608f..d65c95c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BPositions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BPositions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BPostings.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BPostings.java b/lucene/core/src/test/org/apache/lucene/index/Test2BPostings.java
index e4fb303..15a931f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BPostings.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BPostings.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BPostingsBytes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BPostingsBytes.java b/lucene/core/src/test/org/apache/lucene/index/Test2BPostingsBytes.java
index f4308d1..ae935d6 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BPostingsBytes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BPostingsBytes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Arrays;
 import java.util.regex.Matcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesFixedSorted.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesFixedSorted.java b/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesFixedSorted.java
index 5d80362..56bf4b5 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesFixedSorted.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesFixedSorted.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesOrds.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesOrds.java b/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesOrds.java
index d2444e2..70ed6bf 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesOrds.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BSortedDocValuesOrds.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BTerms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BTerms.java b/lucene/core/src/test/org/apache/lucene/index/Test2BTerms.java
index f70d102..22b3605 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BTerms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java b/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
index 1d3ee56..0129bf9 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java b/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
index 778a7eb..2e91112 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestAllFilesCheckIndexHeader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesCheckIndexHeader.java b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesCheckIndexHeader.java
index 3031553..109d1b5 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesCheckIndexHeader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesCheckIndexHeader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestAllFilesDetectTruncation.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesDetectTruncation.java b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesDetectTruncation.java
index 347955d..a34087a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesDetectTruncation.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesDetectTruncation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java
index 710d20f..9067e71 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveChecksumFooter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java
index d726019..a0df61d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAllFilesHaveCodecHeader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestAtomicUpdate.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestAtomicUpdate.java b/lucene/core/src/test/org/apache/lucene/index/TestAtomicUpdate.java
index e801bcc..3fc889b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestAtomicUpdate.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestAtomicUpdate.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,8 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
-import java.io.File;
 import java.nio.file.Path;
 
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestBagOfPositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestBagOfPositions.java b/lucene/core/src/test/org/apache/lucene/index/TestBagOfPositions.java
index 438b4ac..1648408 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestBagOfPositions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestBagOfPositions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestBagOfPostings.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestBagOfPostings.java b/lucene/core/src/test/org/apache/lucene/index/TestBagOfPostings.java
index e6ce306..8cd2551 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestBagOfPostings.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestBagOfPostings.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
index 9d72bd0..de44b06 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.index;
 
 import java.io.IOException;
@@ -32,22 +48,6 @@ import org.junit.Test;
 
 import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 
-/*
- * 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.
- */
 
 public class TestBinaryDocValuesUpdates extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestBinaryTerms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestBinaryTerms.java b/lucene/core/src/test/org/apache/lucene/index/TestBinaryTerms.java
index 1257eda..8da8c23 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestBinaryTerms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestBinaryTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestByteSlices.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestByteSlices.java b/lucene/core/src/test/org/apache/lucene/index/TestByteSlices.java
index c87c76e..48f8916 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestByteSlices.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestByteSlices.java
@@ -1,9 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Licensed 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
+ * 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
  *
@@ -13,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.util.ByteBlockPool;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCheckIndex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCheckIndex.java b/lucene/core/src/test/org/apache/lucene/index/TestCheckIndex.java
index e0e199a..7b71d3c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCheckIndex.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCheckIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCodecHoldsOpenFiles.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCodecHoldsOpenFiles.java b/lucene/core/src/test/org/apache/lucene/index/TestCodecHoldsOpenFiles.java
index 8077545..0c0605f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCodecHoldsOpenFiles.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCodecHoldsOpenFiles.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java b/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
index 6f248c8..79fbdeb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCodecUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicLong;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java b/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
index 52d47ec..73b4622 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java b/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
index 083e426..83e6f0a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java b/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
index dd4e3bb..b114589 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCrash.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCrash.java b/lucene/core/src/test/org/apache/lucene/index/TestCrash.java
index 951aa7d..22ab2e2 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCrash.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCrash.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java b/lucene/core/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java
index 407c077..aebfb50 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCrashCausesCorruptIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java b/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
index d81ffc8..1d0ba54 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 import java.io.IOException;
 
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDeletionPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestDeletionPolicy.java
index b56b1a0..8461923 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDeletionPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDemoParallelLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDemoParallelLeafReader.java b/lucene/core/src/test/org/apache/lucene/index/TestDemoParallelLeafReader.java
index ae41299..319ac13 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDemoParallelLeafReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDemoParallelLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
index 00b424f..6ffa15e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
index 2c3b134..2919423 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDoc.java b/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
index 39fbec8..086633e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.io.InputStreamReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java b/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
index 18089bf..0f221e3 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocInverterPerFieldErrorInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocInverterPerFieldErrorInfo.java b/lucene/core/src/test/org/apache/lucene/index/TestDocInverterPerFieldErrorInfo.java
index c426bb5..1e93478 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocInverterPerFieldErrorInfo.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocInverterPerFieldErrorInfo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocValues.java b/lucene/core/src/test/org/apache/lucene/index/TestDocValues.java
index eefd356..b8573cb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocValues.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.BinaryDocValuesField;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java b/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
index 10edf17..a20edae 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java b/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
index d9f5dd7..dc49db1 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java b/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
index cd1b60a..489a185 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java b/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java
index cc0cfb3..51e17cf 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -30,8 +29,6 @@ import org.apache.lucene.util.BytesRefBuilder;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.ThreadInterruptedException;
 
-
-
 /**
  * Unit test for {@link DocumentsWriterDeleteQueue}
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterStallControl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterStallControl.java b/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterStallControl.java
index d7a85fd..2575e61 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterStallControl.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterStallControl.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
index 79ac35c..62fe28a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecsAtNight.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecsAtNight.java b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecsAtNight.java
index 08479b4..41143b2 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecsAtNight.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecsAtNight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.LuceneTestCase.Nightly;
 import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestExceedMaxTermLength.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestExceedMaxTermLength.java b/lucene/core/src/test/org/apache/lucene/index/TestExceedMaxTermLength.java
index 256b665..fb8493a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestExceedMaxTermLength.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestExceedMaxTermLength.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestExitableDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestExitableDirectoryReader.java b/lucene/core/src/test/org/apache/lucene/index/TestExitableDirectoryReader.java
index e2a1820..1aa6eea 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestExitableDirectoryReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestExitableDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestFieldReuse.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFieldReuse.java b/lucene/core/src/test/org/apache/lucene/index/TestFieldReuse.java
index 2fdabad..b36cfef 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFieldReuse.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFieldReuse.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java b/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
index d9a1d2e..9a52287 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFieldsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestFilterDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFilterDirectoryReader.java b/lucene/core/src/test/org/apache/lucene/index/TestFilterDirectoryReader.java
index d31e65f..4ce86e2 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFilterDirectoryReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFilterDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java b/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
index c2d74a1..82fb3bc 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFlex.java b/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
index ce41cdd..3d716e1 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFlex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.store.*;
 import org.apache.lucene.analysis.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java
index 4deb2f6..562913e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java b/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
index 46c3e2c..89a77cd 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestForceMergeForever.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestForceMergeForever.java b/lucene/core/src/test/org/apache/lucene/index/TestForceMergeForever.java
index 54f1008..3edeef1 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestForceMergeForever.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestForceMergeForever.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicBoolean;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexCommit.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexCommit.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexCommit.java
index fda37cf..86f9e4c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexCommit.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexCommit.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Collection;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
index 5fa777b..2ca0b27 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.*;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
index 4acc566..73ba64a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.TestUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
index cc66b13..b89679c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
index baa2484..fff7ac8 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.FileNotFoundException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
index 3804717..e1cdd9b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
index 89342e5..3d85f0c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
index 9213c25..56b13df 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDeleteByQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDeleteByQuery.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDeleteByQuery.java
index c36cc1c..2470e29 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDeleteByQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDeleteByQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
index 055fc5a..8b24f12 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java
index 4c4c496..91edf47 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
index 19030cc..9a0feca 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterForceMerge.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
index baa74e1..d25711d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterFromReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
index a7231c2..9587380 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMaxDocs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMaxDocs.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMaxDocs.java
index 2768f4e..665faae 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMaxDocs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMaxDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
index c83055c..d03de7e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
index 41d3cb3..87540b7 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.index;
 /*
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Random;
@@ -30,9 +31,7 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.MockDirectoryWrapper;
 import org.apache.lucene.util.LuceneTestCase;
 
-
-public class TestIndexWriterMerging extends LuceneTestCase
-{
+public class TestIndexWriterMerging extends LuceneTestCase {
 
   /**
    * Tests that index merging (specifically addIndexes(Directory...)) doesn't

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java
index afcb07c..ee7a236 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java
@@ -1,21 +1,21 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
+
 import java.io.IOException;
 import java.util.Random;
 import java.util.concurrent.CountDownLatch;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
index f75230c..1051234 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java
index 777ef46..7403505 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java
@@ -1,22 +1,20 @@
-package org.apache.lucene.index;
-
 /*
- *  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
+ * 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.
+ *     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.lucene.index;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnVMError.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnVMError.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnVMError.java
index 91da346..d17c4d0 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnVMError.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnVMError.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java
index 30aac07..9874451 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
index c566b1c..173128e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
index 99f6663..4e884df 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
index 96cdfe9..f45cf21 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterUnicode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.nio.CharBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
index e2348df..72029cb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
index de2f60c..67edab9 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Reader;
 import java.io.StringReader;


[27/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
index eb3a016..8652f25 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.BitUtil.zigZagEncode;
 import static org.apache.lucene.util.packed.MonotonicBlockPackedReader.expected;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
index 54e9d8c..6d396a2 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicLongValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Packed16ThreeBlocks.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Packed16ThreeBlocks.java b/lucene/core/src/java/org/apache/lucene/util/packed/Packed16ThreeBlocks.java
index b8eb4e9..8e8e94d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Packed16ThreeBlocks.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Packed16ThreeBlocks.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java b/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java
index 7991647..ae43032 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Packed64SingleBlock.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Packed64SingleBlock.java b/lucene/core/src/java/org/apache/lucene/util/packed/Packed64SingleBlock.java
index 09eb669..a7262b3 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Packed64SingleBlock.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Packed64SingleBlock.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements. See the NOTICE file distributed with this
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * License for the specific language governing permissions and limitations under
  * the License.
  */
+package org.apache.lucene.util.packed;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/Packed8ThreeBlocks.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/Packed8ThreeBlocks.java b/lucene/core/src/java/org/apache/lucene/util/packed/Packed8ThreeBlocks.java
index d480fa0..5a85735 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/Packed8ThreeBlocks.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/Packed8ThreeBlocks.java
@@ -1,7 +1,5 @@
 // This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataInput.java b/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataInput.java
index 87a4c57..954449b 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataInput.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataOutput.java b/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataOutput.java
index e750526..44410f8 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PackedDataOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java b/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
index 86a991b..4df8580 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java b/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java
index 2a46fa5..0daf062 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import static org.apache.lucene.util.packed.PackedInts.checkBlockSize;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PackedReaderIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PackedReaderIterator.java b/lucene/core/src/java/org/apache/lucene/util/packed/PackedReaderIterator.java
index 198382d..798325b 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PackedReaderIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PackedReaderIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PackedWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/PackedWriter.java
index 63b3cbe..8853348 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PackedWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import org.apache.lucene.store.DataOutput;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PagedGrowableWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PagedGrowableWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/PagedGrowableWriter.java
index 7a3a4cb..ab6c65a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PagedGrowableWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PagedGrowableWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import org.apache.lucene.util.RamUsageEstimator;
 import org.apache.lucene.util.packed.PackedInts.Mutable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/PagedMutable.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/PagedMutable.java b/lucene/core/src/java/org/apache/lucene/util/packed/PagedMutable.java
index 69e7619..fe75fe7 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/PagedMutable.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/PagedMutable.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
+
 
 import org.apache.lucene.util.RamUsageEstimator;
 import org.apache.lucene.util.packed.PackedInts.Mutable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/gen_BulkOperation.py
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/gen_BulkOperation.py b/lucene/core/src/java/org/apache/lucene/util/packed/gen_BulkOperation.py
index ea904a2..e01776c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/gen_BulkOperation.py
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/gen_BulkOperation.py
@@ -24,8 +24,6 @@ PACKED_64_SINGLE_BLOCK_BPV = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 21, 32]
 OUTPUT_FILE = "BulkOperation.java"
 HEADER = """// This file has been automatically generated, DO NOT EDIT
 
-package org.apache.lucene.util.packed;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -42,10 +40,11 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 """
 
-FOOTER="""
+FOOTER = """
   protected int writeLong(long block, byte[] blocks, int blocksOffset) {
     for (int j = 1; j <= 8; ++j) {
       blocks[blocksOffset++] = (byte) (block >>> (64 - (j << 3)));
@@ -90,7 +89,7 @@ def is_power_of_two(n):
   return n & (n - 1) == 0
 
 def casts(typ):
-  cast_start = "(%s) (" %typ
+  cast_start = "(%s) (" % typ
   cast_end = ")"
   if typ == "long":
     cast_start = ""
@@ -107,7 +106,7 @@ def hexNoLSuffix(n):
 def masks(bits):
   if bits == 64:
     return "", ""
-  return "(", " & %sL)" %(hexNoLSuffix((1 << bits) - 1))
+  return "(", " & %sL)" % (hexNoLSuffix((1 << bits) - 1))
 
 def get_type(bits):
   if bits == 8:
@@ -127,15 +126,15 @@ def block_value_count(bpv, bits=64):
   while blocks % 2 == 0 and values % 2 == 0:
     blocks /= 2
     values /= 2
-  assert values * bpv == bits * blocks, "%d values, %d blocks, %d bits per value" %(values, blocks, bpv)
+  assert values * bpv == bits * blocks, "%d values, %d blocks, %d bits per value" % (values, blocks, bpv)
   return (blocks, values)
 
 def packed64(bpv, f):
   mask = (1 << bpv) - 1
 
   f.write("\n")
-  f.write("  public BulkOperationPacked%d() {\n" %bpv)
-  f.write("    super(%d);\n" %bpv)
+  f.write("  public BulkOperationPacked%d() {\n" % bpv)
+  f.write("    super(%d);\n" % bpv)
   f.write("  }\n\n")
 
   if bpv == 64:
@@ -169,7 +168,7 @@ def p64_decode(bpv, f, bits):
   cast_start, cast_end = casts(typ)
 
   f.write("  @Override\n")
-  f.write("  public void decode(long[] blocks, int blocksOffset, %s[] values, int valuesOffset, int iterations) {\n" %typ)
+  f.write("  public void decode(long[] blocks, int blocksOffset, %s[] values, int valuesOffset, int iterations) {\n" % typ)
   if bits < bpv:
     f.write("    throw new UnsupportedOperationException();\n")
   else:
@@ -178,37 +177,37 @@ def p64_decode(bpv, f, bits):
 
     if is_power_of_two(bpv):
       f.write("      final long block = blocks[blocksOffset++];\n")
-      f.write("      for (int shift = %d; shift >= 0; shift -= %d) {\n" %(64 - bpv, bpv))
-      f.write("        values[valuesOffset++] = %s(block >>> shift) & %d%s;\n" %(cast_start, mask, cast_end))
-      f.write("      }\n") 
+      f.write("      for (int shift = %d; shift >= 0; shift -= %d) {\n" % (64 - bpv, bpv))
+      f.write("        values[valuesOffset++] = %s(block >>> shift) & %d%s;\n" % (cast_start, mask, cast_end))
+      f.write("      }\n")
     else:
       for i in xrange(0, values):
         block_offset = i * bpv / 64
         bit_offset = (i * bpv) % 64
         if bit_offset == 0:
           # start of block
-          f.write("      final long block%d = blocks[blocksOffset++];\n" %block_offset);
-          f.write("      values[valuesOffset++] = %sblock%d >>> %d%s;\n" %(cast_start, block_offset, 64 - bpv, cast_end))
+          f.write("      final long block%d = blocks[blocksOffset++];\n" % block_offset);
+          f.write("      values[valuesOffset++] = %sblock%d >>> %d%s;\n" % (cast_start, block_offset, 64 - bpv, cast_end))
         elif bit_offset + bpv == 64:
           # end of block
-          f.write("      values[valuesOffset++] = %sblock%d & %dL%s;\n" %(cast_start, block_offset, mask, cast_end))
+          f.write("      values[valuesOffset++] = %sblock%d & %dL%s;\n" % (cast_start, block_offset, mask, cast_end))
         elif bit_offset + bpv < 64:
           # middle of block
-          f.write("      values[valuesOffset++] = %s(block%d >>> %d) & %dL%s;\n" %(cast_start, block_offset, 64 - bit_offset - bpv, mask, cast_end))
+          f.write("      values[valuesOffset++] = %s(block%d >>> %d) & %dL%s;\n" % (cast_start, block_offset, 64 - bit_offset - bpv, mask, cast_end))
         else:
           # value spans across 2 blocks
-          mask1 = (1 << (64 - bit_offset)) -1
+          mask1 = (1 << (64 - bit_offset)) - 1
           shift1 = bit_offset + bpv - 64
           shift2 = 64 - shift1
-          f.write("      final long block%d = blocks[blocksOffset++];\n" %(block_offset + 1));
-          f.write("      values[valuesOffset++] = %s((block%d & %dL) << %d) | (block%d >>> %d)%s;\n" %(cast_start, block_offset, mask1, shift1, block_offset + 1, shift2, cast_end))
+          f.write("      final long block%d = blocks[blocksOffset++];\n" % (block_offset + 1));
+          f.write("      values[valuesOffset++] = %s((block%d & %dL) << %d) | (block%d >>> %d)%s;\n" % (cast_start, block_offset, mask1, shift1, block_offset + 1, shift2, cast_end))
     f.write("    }\n")
   f.write("  }\n\n")
 
   byte_blocks, byte_values = block_value_count(bpv, 8)
 
   f.write("  @Override\n")
-  f.write("  public void decode(byte[] blocks, int blocksOffset, %s[] values, int valuesOffset, int iterations) {\n" %typ)
+  f.write("  public void decode(byte[] blocks, int blocksOffset, %s[] values, int valuesOffset, int iterations) {\n" % typ)
   if bits < bpv:
     f.write("    throw new UnsupportedOperationException();\n")
   else:
@@ -216,8 +215,8 @@ def p64_decode(bpv, f, bits):
       f.write("    for (int j = 0; j < iterations; ++j) {\n")
       f.write("      final byte block = blocks[blocksOffset++];\n")
       for shift in xrange(8 - bpv, 0, -bpv):
-        f.write("      values[valuesOffset++] = (block >>> %d) & %d;\n" %(shift, mask))
-      f.write("      values[valuesOffset++] = block & %d;\n" %mask)
+        f.write("      values[valuesOffset++] = (block >>> %d) & %d;\n" % (shift, mask))
+      f.write("      values[valuesOffset++] = block & %d;\n" % mask)
       f.write("    }\n")
     elif bpv == 8:
       f.write("    for (int j = 0; j < iterations; ++j) {\n")
@@ -228,8 +227,8 @@ def p64_decode(bpv, f, bits):
       m = bits <= 32 and "0xFF" or "0xFFL"
       f.write("      values[valuesOffset++] =")
       for i in xrange(bpv / 8 - 1):
-        f.write(" ((blocks[blocksOffset++] & %s) << %d) |" %(m, bpv - 8))
-      f.write(" (blocks[blocksOffset++] & %s);\n" %m)
+        f.write(" ((blocks[blocksOffset++] & %s) << %d) |" % (m, bpv - 8))
+      f.write(" (blocks[blocksOffset++] & %s);\n" % m)
       f.write("    }\n")
     else:
       f.write("    for (int i = 0; i < iterations; ++i) {\n")
@@ -240,32 +239,32 @@ def p64_decode(bpv, f, bits):
         bit_end = ((i + 1) * bpv - 1) % 8
         shift = lambda b: 8 * (byte_end - b - 1) + 1 + bit_end
         if bit_start == 0:
-          f.write("      final %s byte%d = blocks[blocksOffset++] & 0xFF;\n" %(typ, byte_start))
+          f.write("      final %s byte%d = blocks[blocksOffset++] & 0xFF;\n" % (typ, byte_start))
         for b in xrange(byte_start + 1, byte_end + 1):
-          f.write("      final %s byte%d = blocks[blocksOffset++] & 0xFF;\n" %(typ, b))
+          f.write("      final %s byte%d = blocks[blocksOffset++] & 0xFF;\n" % (typ, b))
         f.write("      values[valuesOffset++] =")
         if byte_start == byte_end:
           if bit_start == 0:
             if bit_end == 7:
-              f.write(" byte%d" %byte_start)
+              f.write(" byte%d" % byte_start)
             else:
-              f.write(" byte%d >>> %d" %(byte_start, 7 - bit_end))
+              f.write(" byte%d >>> %d" % (byte_start, 7 - bit_end))
           else:
             if bit_end == 7:
-              f.write(" byte%d & %d" %(byte_start, 2 ** (8 - bit_start) - 1))
+              f.write(" byte%d & %d" % (byte_start, 2 ** (8 - bit_start) - 1))
             else:
-              f.write(" (byte%d >>> %d) & %d" %(byte_start, 7 - bit_end, 2 ** (bit_end - bit_start + 1) - 1))
+              f.write(" (byte%d >>> %d) & %d" % (byte_start, 7 - bit_end, 2 ** (bit_end - bit_start + 1) - 1))
         else:
           if bit_start == 0:
-            f.write(" (byte%d << %d)" %(byte_start, shift(byte_start)))
+            f.write(" (byte%d << %d)" % (byte_start, shift(byte_start)))
           else:
-            f.write(" ((byte%d & %d) << %d)" %(byte_start, 2 ** (8 - bit_start) - 1, shift(byte_start)))
+            f.write(" ((byte%d & %d) << %d)" % (byte_start, 2 ** (8 - bit_start) - 1, shift(byte_start)))
           for b in xrange(byte_start + 1, byte_end):
-            f.write(" | (byte%d << %d)" %(b, shift(b)))
+            f.write(" | (byte%d << %d)" % (b, shift(b)))
           if bit_end == 7:
-            f.write(" | byte%d" %byte_end)
+            f.write(" | byte%d" % byte_end)
           else:
-            f.write(" | (byte%d >>> %d)" %(byte_end, 7 - bit_end))
+            f.write(" | (byte%d >>> %d)" % (byte_end, 7 - bit_end))
         f.write(";\n")
       f.write("    }\n")
   f.write("  }\n\n")
@@ -280,7 +279,7 @@ if __name__ == '__main__':
 
   f.write('abstract class BulkOperation implements PackedInts.Decoder, PackedInts.Encoder {\n')
   f.write('  private static final BulkOperation[] packedBulkOps = new BulkOperation[] {\n')
-    
+
   for bpv in xrange(1, 65):
     if bpv > MAX_SPECIALIZED_BITS_PER_VALUE:
       f.write('    new BulkOperationPacked(%d),\n' % bpv)
@@ -299,20 +298,20 @@ if __name__ == '__main__':
     f2.write('}\n')
     f2.close()
     f.write('    new BulkOperationPacked%d(),\n' % bpv)
-    
+
   f.write('  };\n')
   f.write('\n')
-    
+
   f.write('  // NOTE: this is sparse (some entries are null):\n')
   f.write('  private static final BulkOperation[] packedSingleBlockBulkOps = new BulkOperation[] {\n')
-  for bpv in xrange(1, max(PACKED_64_SINGLE_BLOCK_BPV)+1):
+  for bpv in xrange(1, max(PACKED_64_SINGLE_BLOCK_BPV) + 1):
     if bpv in PACKED_64_SINGLE_BLOCK_BPV:
       f.write('    new BulkOperationPackedSingleBlock(%d),\n' % bpv)
     else:
       f.write('    null,\n')
   f.write('  };\n')
   f.write('\n')
-      
+
   f.write("\n")
   f.write("  public static BulkOperation of(PackedInts.Format format, int bitsPerValue) {\n")
   f.write("    switch (format) {\n")

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/gen_Direct.py
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/gen_Direct.py b/lucene/core/src/java/org/apache/lucene/util/packed/gen_Direct.py
index 346538e..f8cd4b4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/gen_Direct.py
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/gen_Direct.py
@@ -15,9 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-HEADER="""// This file has been automatically generated, DO NOT EDIT
-
-package org.apache.lucene.util.packed;
+HEADER = """// This file has been automatically generated, DO NOT EDIT
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -35,6 +33,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;
@@ -51,31 +50,31 @@ CASTS = {8: "(byte) ", 16: "(short) ", 32: "(int) ", 64: ""}
 if __name__ == '__main__':
   for bpv in TYPES.keys():
     type
-    f = open("Direct%d.java" %bpv, 'w')
+    f = open("Direct%d.java" % bpv, 'w')
     f.write(HEADER)
     f.write("""/**
  * Direct wrapping of %d-bits values to a backing array.
  * @lucene.internal
- */\n""" %bpv)
-    f.write("final class Direct%d extends PackedInts.MutableImpl {\n" %bpv)
-    f.write("  final %s[] values;\n\n" %TYPES[bpv])
+ */\n""" % bpv)
+    f.write("final class Direct%d extends PackedInts.MutableImpl {\n" % bpv)
+    f.write("  final %s[] values;\n\n" % TYPES[bpv])
 
-    f.write("  Direct%d(int valueCount) {\n" %bpv)
-    f.write("    super(valueCount, %d);\n" %bpv)
-    f.write("    values = new %s[valueCount];\n" %TYPES[bpv])
+    f.write("  Direct%d(int valueCount) {\n" % bpv)
+    f.write("    super(valueCount, %d);\n" % bpv)
+    f.write("    values = new %s[valueCount];\n" % TYPES[bpv])
     f.write("  }\n\n")
 
-    f.write("  Direct%d(int packedIntsVersion, DataInput in, int valueCount) throws IOException {\n" %bpv)
+    f.write("  Direct%d(int packedIntsVersion, DataInput in, int valueCount) throws IOException {\n" % bpv)
     f.write("    this(valueCount);\n")
     if bpv == 8:
       f.write("    in.readBytes(values, 0, valueCount);\n")
     else:
       f.write("    for (int i = 0; i < valueCount; ++i) {\n")
-      f.write("      values[i] = in.read%s();\n" %TYPES[bpv].title())
+      f.write("      values[i] = in.read%s();\n" % TYPES[bpv].title())
       f.write("    }\n")
     if bpv != 64:
       f.write("    // because packed ints have not always been byte-aligned\n")
-      f.write("    final int remaining = (int) (PackedInts.Format.PACKED.byteCount(packedIntsVersion, valueCount, %d) - %dL * valueCount);\n" %(bpv, bpv / 8))
+      f.write("    final int remaining = (int) (PackedInts.Format.PACKED.byteCount(packedIntsVersion, valueCount, %d) - %dL * valueCount);\n" % (bpv, bpv / 8))
       f.write("    for (int i = 0; i < remaining; ++i) {\n")
       f.write("      in.readByte();\n")
       f.write("    }\n")
@@ -105,7 +104,7 @@ if __name__ == '__main__':
   public void clear() {
     Arrays.fill(values, %s0L);
   }
-""" %(MASKS[bpv], CASTS[bpv], CASTS[bpv]))
+""" % (MASKS[bpv], CASTS[bpv], CASTS[bpv]))
 
     if bpv == 64:
       f.write("""
@@ -169,7 +168,7 @@ if __name__ == '__main__':
     assert val == (val%s);
     Arrays.fill(values, fromIndex, toIndex, %sval);
   }
-""" %(MASKS[bpv], CASTS[bpv], MASKS[bpv], CASTS[bpv]))
+""" % (MASKS[bpv], CASTS[bpv], MASKS[bpv], CASTS[bpv]))
 
     f.write("}\n")
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/gen_Packed64SingleBlock.py
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/gen_Packed64SingleBlock.py b/lucene/core/src/java/org/apache/lucene/util/packed/gen_Packed64SingleBlock.py
index fb70caf..e60bb72 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/gen_Packed64SingleBlock.py
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/gen_Packed64SingleBlock.py
@@ -17,9 +17,7 @@
 
 SUPPORTED_BITS_PER_VALUE = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 21, 32]
 
-HEADER="""// This file has been automatically generated, DO NOT EDIT
-
-package org.apache.lucene.util.packed;
+HEADER = """// This file has been automatically generated, DO NOT EDIT
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -37,6 +35,7 @@ package org.apache.lucene.util.packed;
  * License for the specific language governing permissions and limitations under
  * the License.
  */
+package org.apache.lucene.util.packed;
 
 import java.io.IOException;
 import java.util.Arrays;
@@ -234,7 +233,7 @@ abstract class Packed64SingleBlock extends PackedInts.MutableImpl {
     return reader;
   }
 
-""" %(SUPPORTED_BITS_PER_VALUE[-1], ", ".join(map(str, SUPPORTED_BITS_PER_VALUE)))
+""" % (SUPPORTED_BITS_PER_VALUE[-1], ", ".join(map(str, SUPPORTED_BITS_PER_VALUE)))
 
 FOOTER = "}"
 
@@ -245,10 +244,10 @@ if __name__ == '__main__':
   f.write("  public static Packed64SingleBlock create(int valueCount, int bitsPerValue) {\n")
   f.write("    switch (bitsPerValue) {\n")
   for bpv in SUPPORTED_BITS_PER_VALUE:
-    f.write("      case %d:\n" %bpv)
-    f.write("        return new Packed64SingleBlock%d(valueCount);\n" %bpv)
+    f.write("      case %d:\n" % bpv)
+    f.write("        return new Packed64SingleBlock%d(valueCount);\n" % bpv)
   f.write("      default:\n")
-  f.write("        throw new IllegalArgumentException(\"Unsupported number of bits per value: \" + %d);\n" %bpv)
+  f.write("        throw new IllegalArgumentException(\"Unsupported number of bits per value: \" + %d);\n" % bpv)
   f.write("    }\n")
   f.write("  }\n\n")
 
@@ -259,35 +258,35 @@ if __name__ == '__main__':
     if (1 << log_2) != bpv:
       log_2 = None
 
-    f.write("  static class Packed64SingleBlock%d extends Packed64SingleBlock {\n\n" %bpv)
+    f.write("  static class Packed64SingleBlock%d extends Packed64SingleBlock {\n\n" % bpv)
 
-    f.write("    Packed64SingleBlock%d(int valueCount) {\n" %bpv)
-    f.write("      super(valueCount, %d);\n" %bpv)
+    f.write("    Packed64SingleBlock%d(int valueCount) {\n" % bpv)
+    f.write("      super(valueCount, %d);\n" % bpv)
     f.write("    }\n\n")
 
     f.write("    @Override\n")
     f.write("    public long get(int index) {\n")
     if log_2 is not None:
-      f.write("      final int o = index >>> %d;\n" %(6 - log_2))
-      f.write("      final int b = index & %d;\n" %((1 << (6 - log_2)) - 1))
-      f.write("      final int shift = b << %d;\n" %log_2)
+      f.write("      final int o = index >>> %d;\n" % (6 - log_2))
+      f.write("      final int b = index & %d;\n" % ((1 << (6 - log_2)) - 1))
+      f.write("      final int shift = b << %d;\n" % log_2)
     else:
-      f.write("      final int o = index / %d;\n" %(64 / bpv))
-      f.write("      final int b = index %% %d;\n" %(64 / bpv))
-      f.write("      final int shift = b * %d;\n" %bpv)
-    f.write("      return (blocks[o] >>> shift) & %dL;\n" %((1 << bpv) - 1))
+      f.write("      final int o = index / %d;\n" % (64 / bpv))
+      f.write("      final int b = index %% %d;\n" % (64 / bpv))
+      f.write("      final int shift = b * %d;\n" % bpv)
+    f.write("      return (blocks[o] >>> shift) & %dL;\n" % ((1 << bpv) - 1))
     f.write("    }\n\n")
 
     f.write("    @Override\n")
     f.write("    public void set(int index, long value) {\n")
     if log_2 is not None:
-      f.write("      final int o = index >>> %d;\n" %(6 - log_2))
-      f.write("      final int b = index & %d;\n" %((1 << (6 - log_2)) - 1))
-      f.write("      final int shift = b << %d;\n" %log_2)
+      f.write("      final int o = index >>> %d;\n" % (6 - log_2))
+      f.write("      final int b = index & %d;\n" % ((1 << (6 - log_2)) - 1))
+      f.write("      final int shift = b << %d;\n" % log_2)
     else:
-      f.write("      final int o = index / %d;\n" %(64 / bpv))
-      f.write("      final int b = index %% %d;\n" %(64 / bpv))
-      f.write("      final int shift = b * %d;\n" %bpv)
+      f.write("      final int o = index / %d;\n" % (64 / bpv))
+      f.write("      final int b = index %% %d;\n" % (64 / bpv))
+      f.write("      final int shift = b * %d;\n" % bpv)
     f.write("      blocks[o] = (blocks[o] & ~(%dL << shift)) | (value << shift);\n" % ((1 << bpv) - 1))
     f.write("    }\n\n")
     f.write("  }\n\n")

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/gen_PackedThreeBlocks.py
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/gen_PackedThreeBlocks.py b/lucene/core/src/java/org/apache/lucene/util/packed/gen_PackedThreeBlocks.py
index e057f4e..c3a1770 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/gen_PackedThreeBlocks.py
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/gen_PackedThreeBlocks.py
@@ -15,9 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-HEADER="""// This file has been automatically generated, DO NOT EDIT
-
-package org.apache.lucene.util.packed;
+HEADER = """// This file has been automatically generated, DO NOT EDIT
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -35,6 +33,7 @@ package org.apache.lucene.util.packed;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.packed;
 
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.util.RamUsageEstimator;
@@ -51,32 +50,32 @@ CASTS = {8: "(byte) ", 16: "(short) ", 32: "(int) ", 64: ""}
 if __name__ == '__main__':
   for bpv in TYPES.keys():
     type
-    f = open("Packed%dThreeBlocks.java" %bpv, 'w')
+    f = open("Packed%dThreeBlocks.java" % bpv, 'w')
     f.write(HEADER)
     f.write("""/**
  * Packs integers into 3 %ss (%d bits per value).
  * @lucene.internal
- */\n""" %(TYPES[bpv], bpv*3))
-    f.write("final class Packed%dThreeBlocks extends PackedInts.MutableImpl {\n" %bpv)
-    f.write("  final %s[] blocks;\n\n" %TYPES[bpv])
+ */\n""" % (TYPES[bpv], bpv * 3))
+    f.write("final class Packed%dThreeBlocks extends PackedInts.MutableImpl {\n" % bpv)
+    f.write("  final %s[] blocks;\n\n" % TYPES[bpv])
 
     f.write("  public static final int MAX_SIZE = Integer.MAX_VALUE / 3;\n\n")
 
-    f.write("  Packed%dThreeBlocks(int valueCount) {\n" %bpv)
-    f.write("    super(valueCount, %d);\n" %(bpv*3))
+    f.write("  Packed%dThreeBlocks(int valueCount) {\n" % bpv)
+    f.write("    super(valueCount, %d);\n" % (bpv * 3))
     f.write("    if (valueCount > MAX_SIZE) {\n")
     f.write("      throw new ArrayIndexOutOfBoundsException(\"MAX_SIZE exceeded\");\n")
     f.write("    }\n")
-    f.write("    blocks = new %s[valueCount * 3];\n" %TYPES[bpv])
+    f.write("    blocks = new %s[valueCount * 3];\n" % TYPES[bpv])
     f.write("  }\n\n")
 
-    f.write("  Packed%dThreeBlocks(int packedIntsVersion, DataInput in, int valueCount) throws IOException {\n" %bpv)
+    f.write("  Packed%dThreeBlocks(int packedIntsVersion, DataInput in, int valueCount) throws IOException {\n" % bpv)
     f.write("    this(valueCount);\n")
     if bpv == 8:
       f.write("    in.readBytes(blocks, 0, 3 * valueCount);\n")
     else:
       f.write("    for (int i = 0; i < 3 * valueCount; ++i) {\n")
-      f.write("      blocks[i] = in.read%s();\n" %TYPES[bpv].title())
+      f.write("      blocks[i] = in.read%s();\n" % TYPES[bpv].title())
       f.write("    }\n")
     f.write("  }\n")
 
@@ -156,8 +155,8 @@ if __name__ == '__main__':
         + ",size=" + size() + ",blocks=" + blocks.length + ")";
   }
 }
-""" %(MASKS[bpv], 2*bpv, MASKS[bpv], bpv, MASKS[bpv], MASKS[bpv], 2*bpv, MASKS[bpv], bpv, MASKS[bpv], CASTS[bpv], 2*bpv, CASTS[bpv], bpv, CASTS[bpv], CASTS[bpv],
-      2*bpv, CASTS[bpv], bpv, CASTS[bpv], TYPES[bpv], CASTS[bpv], 2*bpv, TYPES[bpv],
+""" % (MASKS[bpv], 2 * bpv, MASKS[bpv], bpv, MASKS[bpv], MASKS[bpv], 2 * bpv, MASKS[bpv], bpv, MASKS[bpv], CASTS[bpv], 2 * bpv, CASTS[bpv], bpv, CASTS[bpv], CASTS[bpv],
+      2 * bpv, CASTS[bpv], bpv, CASTS[bpv], TYPES[bpv], CASTS[bpv], 2 * bpv, TYPES[bpv],
       CASTS[bpv], bpv, TYPES[bpv], CASTS[bpv], CASTS[bpv]))
 
     f.close()

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/packed/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/package-info.java b/lucene/core/src/java/org/apache/lucene/util/packed/package-info.java
index 0365f77..cb6554c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Packed integer arrays and streams.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/TestAssertions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/TestAssertions.java b/lucene/core/src/test/org/apache/lucene/TestAssertions.java
index 551acc4..808c44c 100644
--- a/lucene/core/src/test/org/apache/lucene/TestAssertions.java
+++ b/lucene/core/src/test/org/apache/lucene/TestAssertions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/TestDemo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/TestDemo.java b/lucene/core/src/test/org/apache/lucene/TestDemo.java
index 2647c3b..b4778d9 100644
--- a/lucene/core/src/test/org/apache/lucene/TestDemo.java
+++ b/lucene/core/src/test/org/apache/lucene/TestDemo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java b/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java
index 23c701f..2795679 100644
--- a/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/TestExternalCodecs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.PostingsFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java b/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java
index 3968a19..241e966 100644
--- a/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java
+++ b/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/TestSearch.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/TestSearch.java b/lucene/core/src/test/org/apache/lucene/TestSearch.java
index 345d702..a5fae05 100644
--- a/lucene/core/src/test/org/apache/lucene/TestSearch.java
+++ b/lucene/core/src/test/org/apache/lucene/TestSearch.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 import java.io.PrintWriter;
 import java.io.StringWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/TestSearchForDuplicates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/TestSearchForDuplicates.java b/lucene/core/src/test/org/apache/lucene/TestSearchForDuplicates.java
index ac45b88..c55c7aa 100644
--- a/lucene/core/src/test/org/apache/lucene/TestSearchForDuplicates.java
+++ b/lucene/core/src/test/org/apache/lucene/TestSearchForDuplicates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 import java.io.IOException;
 import java.io.PrintWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java b/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java
index 66ee0ce..db3f8e0 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/TestCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/TestCharFilter.java b/lucene/core/src/test/org/apache/lucene/analysis/TestCharFilter.java
index 9817337..0aa19a7 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/TestCharFilter.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/TestCharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/TestNumericTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/TestNumericTokenStream.java b/lucene/core/src/test/org/apache/lucene/analysis/TestNumericTokenStream.java
index 0d5d8a1..eb77bf4 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/TestNumericTokenStream.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/TestNumericTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import org.apache.lucene.util.LegacyNumericUtils;
 import org.apache.lucene.analysis.LegacyNumericTokenStream.LegacyNumericTermAttributeImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/TestReusableStringReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/TestReusableStringReader.java b/lucene/core/src/test/org/apache/lucene/analysis/TestReusableStringReader.java
index 45f8c42..7f54e56 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/TestReusableStringReader.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/TestReusableStringReader.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.analysis;
-
-import java.nio.CharBuffer;
-
-import org.apache.lucene.util.LuceneTestCase;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,12 @@ import org.apache.lucene.util.LuceneTestCase;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
+import java.nio.CharBuffer;
+
+import org.apache.lucene.util.LuceneTestCase;
+
 public class TestReusableStringReader extends LuceneTestCase {
   
   public void test() throws Exception {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/TestToken.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/TestToken.java b/lucene/core/src/test/org/apache/lucene/analysis/TestToken.java
index e52587d..fcf7779 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/TestToken.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/TestToken.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import org.apache.lucene.analysis.tokenattributes.*;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestBytesRefAttImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestBytesRefAttImpl.java b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestBytesRefAttImpl.java
index 9bf21de..49e1c22 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestBytesRefAttImpl.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestBytesRefAttImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
index 2aae192..e02dd02 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestPackedTokenAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestPackedTokenAttributeImpl.java b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestPackedTokenAttributeImpl.java
index 0717fe6..cf4409e 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestPackedTokenAttributeImpl.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestPackedTokenAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpl.java b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpl.java
index 7d547ea..0f752da 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpl.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestSimpleAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/TestCodecLoadingDeadlock.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/TestCodecLoadingDeadlock.java b/lucene/core/src/test/org/apache/lucene/codecs/TestCodecLoadingDeadlock.java
index 03251db..65f3016 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/TestCodecLoadingDeadlock.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/TestCodecLoadingDeadlock.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
 
 import java.nio.file.Paths;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestCompressionMode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestCompressionMode.java b/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestCompressionMode.java
index 305bf38..c8d244b 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestCompressionMode.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestCompressionMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestLZ4CompressionMode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestLZ4CompressionMode.java b/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestLZ4CompressionMode.java
index 1cfdb44..5a2801e 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestLZ4CompressionMode.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/compressing/AbstractTestLZ4CompressionMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastCompressionMode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastCompressionMode.java b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastCompressionMode.java
index 4fd3471..e33996a 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastCompressionMode.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastCompressionMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 public class TestFastCompressionMode extends AbstractTestLZ4CompressionMode {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastDecompressionMode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastDecompressionMode.java b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastDecompressionMode.java
index de14013..1ecfc8b 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastDecompressionMode.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestFastDecompressionMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java
index a0a52c9..fb90d92 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.TestUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestHighCompressionMode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestHighCompressionMode.java b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestHighCompressionMode.java
index 065be63..61cf0c0 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestHighCompressionMode.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestHighCompressionMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
+
 
 
 public class TestHighCompressionMode extends AbstractTestCompressionMode {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
index 1663400..6acd053 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat2.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat2.java
index 47a3344..b59c587 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat2.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
index 82fa465..1b3b9af 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestForUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestForUtil.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestForUtil.java
index 716b8b8..5d1e726 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestForUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestForUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import static org.apache.lucene.codecs.lucene50.Lucene50PostingsFormat.BLOCK_SIZE;
 import static org.apache.lucene.codecs.lucene50.ForUtil.MAX_DATA_SIZE;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50CompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50CompoundFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50CompoundFormat.java
index 27d091a..bfda748 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50CompoundFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50CompoundFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseCompoundFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50FieldInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50FieldInfoFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50FieldInfoFormat.java
index 183486f..222ba5e 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50FieldInfoFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50FieldInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseFieldInfoFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50SegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50SegmentInfoFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50SegmentInfoFormat.java
index cfe98ac..8114330 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50SegmentInfoFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50SegmentInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseSegmentInfoFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormat.java
index f8681b2..4c7bed4 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
index 2d58170..1fe84aa 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat.Mode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50TermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50TermVectorsFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50TermVectorsFormat.java
index 0fe4941..e82463d 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50TermVectorsFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50TermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene50;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene50;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene50;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseTermVectorsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene53/TestLucene53NormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene53/TestLucene53NormsFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene53/TestLucene53NormsFormat.java
index 361dd0f..c915de0 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene53/TestLucene53NormsFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene53/TestLucene53NormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene53;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene53;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene53;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.lucene60.Lucene60Codec;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
index 352ee80..cede1d7 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene54/TestLucene54DocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene54;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene54;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene54;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/lucene60/TestLucene60PointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene60/TestLucene60PointFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene60/TestLucene60PointFormat.java
index 322640b..272fc6b 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene60/TestLucene60PointFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene60/TestLucene60PointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.lucene60;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.lucene60;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.lucene60;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
index 1a9161f..2eb0d1a 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.perfield;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.perfield;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.perfield;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat.java
index cd2ec13..a1433e3 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.perfield;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.perfield;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.perfield;
+
 
 import java.util.Collections;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
index 5be8c78..67d61df 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.perfield;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.perfield;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.perfield;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/document/TestBinaryDocument.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestBinaryDocument.java b/lucene/core/src/test/org/apache/lucene/document/TestBinaryDocument.java
index 969a9c8..7d04f3b 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestBinaryDocument.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestBinaryDocument.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.nio.charset.StandardCharsets;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/document/TestDateTools.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestDateTools.java b/lucene/core/src/test/org/apache/lucene/document/TestDateTools.java
index 183e3e2..ed99ff0 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestDateTools.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestDateTools.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.document;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import org.apache.lucene.util.LuceneTestCase;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,14 @@ import org.apache.lucene.util.LuceneTestCase;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+import org.apache.lucene.util.LuceneTestCase;
+
 public class TestDateTools extends LuceneTestCase {
   public void testStringToDate() throws ParseException {
     

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestDocument.java b/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
index af37059..41e1f62 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.io.StringReader;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/document/TestField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestField.java b/lucene/core/src/test/org/apache/lucene/document/TestField.java
index 6077c07..85336bc 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestField.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.io.StringReader;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java b/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
index 00b0966..dcde590 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestFieldType.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BBinaryDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BBinaryDocValues.java b/lucene/core/src/test/org/apache/lucene/index/Test2BBinaryDocValues.java
index 1d12890..9f273df 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BBinaryDocValues.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BBinaryDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.BinaryDocValuesField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/Test2BNumericDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test2BNumericDocValues.java b/lucene/core/src/test/org/apache/lucene/index/Test2BNumericDocValues.java
index b36e27a..2460073 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test2BNumericDocValues.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test2BNumericDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;


[07/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankySegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankySegmentInfoFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankySegmentInfoFormat.java
index c12f651..971ae02 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankySegmentInfoFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankySegmentInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyStoredFieldsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyStoredFieldsFormat.java
index 0a73f2e..6504931 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyStoredFieldsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyTermVectorsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyTermVectorsFormat.java
index f0388f1..0537f25 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyTermVectorsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyTermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/package-info.java
index 676beac..cd6c622 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Codec for testing that throws random IOExceptions
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
index 3f38507..4d943e6 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.mockrandom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.mockrandom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.mockrandom;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/package-info.java
index 8a755e4..8635f16 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Frankenstein codec for testing that pieces together random components.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
index 3e6d191..4b85f13 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.ramonly;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.ramonly;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.ramonly;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/package-info.java
index 8ea282f..fbfd2f0 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Codec for testing that never writes to disk.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/AlcoholicMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/AlcoholicMergePolicy.java b/lucene/test-framework/src/java/org/apache/lucene/index/AlcoholicMergePolicy.java
index 0f21e1a..f36fa26 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/AlcoholicMergePolicy.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/AlcoholicMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Calendar;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/AllDeletedFilterReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/AllDeletedFilterReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/AllDeletedFilterReader.java
index 9404433..ff789a0 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/AllDeletedFilterReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/AllDeletedFilterReader.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.util.Bits;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.util.Bits;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.util.Bits;
 
 /**
  * Filters the incoming reader and makes all documents appear deleted.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/AssertingDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingDirectoryReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingDirectoryReader.java
index 362511e..712f36d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingDirectoryReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
index bd8141a..b4bcb1e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
@@ -1,14 +1,3 @@
-package org.apache.lucene.index;
-
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.VirtualMethod;
-import org.apache.lucene.util.automaton.CompiledAutomaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import org.apache.lucene.util.automaton.CompiledAutomaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import java.io.IOException;
+import java.util.Iterator;
+
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.util.Bits;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.VirtualMethod;
+import org.apache.lucene.util.automaton.CompiledAutomaton;
 
 /**
  * A {@link FilterLeafReader} that can be used to apply

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
index 9122e99..62cb286 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompoundFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompressingDocValuesFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompressingDocValuesFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompressingDocValuesFormatTestCase.java
index 44f959c..585cea7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompressingDocValuesFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseCompressingDocValuesFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseDocValuesFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseDocValuesFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseDocValuesFormatTestCase.java
index 135079f..79cfa0f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseDocValuesFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseDocValuesFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java
index 7970435..d81f188 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
index c53293c..32800fc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
index d94c1c3..81cf98a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseNormsFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseNormsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseNormsFormatTestCase.java
index f2676bb..b6207be 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseNormsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseNormsFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BasePointFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BasePointFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BasePointFormatTestCase.java
index 2b88d74..3a8fb38 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BasePointFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BasePointFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.math.BigInteger;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
index e6dd26e..ab4bbf6 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import static org.apache.lucene.index.PostingsEnum.ALL;
 import static org.apache.lucene.index.PostingsEnum.FREQS;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseSegmentInfoFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseSegmentInfoFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseSegmentInfoFormatTestCase.java
index d4a9ee2..3a4ebf7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseSegmentInfoFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseSegmentInfoFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
index 61b373e..840fdf5 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
index e0d036c..77a46dd 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import static org.apache.lucene.index.PostingsEnum.ALL;
 import static org.apache.lucene.index.PostingsEnum.FREQS;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/BaseTestCheckIndex.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseTestCheckIndex.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseTestCheckIndex.java
index a6efb88..f396457 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseTestCheckIndex.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseTestCheckIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.index;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java b/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
index 5a06ede..240f445 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterLeafReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterLeafReader.java
index 568986e..2053199 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterLeafReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java b/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
index ba5b937..79788f5 100755
--- a/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/ForceMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java b/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java
index 775a3de..8dec989 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.util.LuceneTestCase;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.util.LuceneTestCase;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.util.LuceneTestCase;
 
 /**
  * Accessor to make some package protected methods in {@link IndexWriter} available for testing.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedDirectoryReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedDirectoryReader.java
index 4e7f92e..76aecef 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedDirectoryReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java
index 664e76a..38c1d7f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java b/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
index 66c5d11..bcee1b6 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java b/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java
index d94395d..c417a88 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java b/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
index 5a06e12..986dd34 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/RandomIndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/RandomIndexWriter.java b/lucene/test-framework/src/java/org/apache/lucene/index/RandomIndexWriter.java
index 047ef4b..8dc96d9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/RandomIndexWriter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/RandomIndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/RandomPostingsTester.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/RandomPostingsTester.java b/lucene/test-framework/src/java/org/apache/lucene/index/RandomPostingsTester.java
index 27ba502..3cafc9c 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/RandomPostingsTester.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/RandomPostingsTester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/SuppressingConcurrentMergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/SuppressingConcurrentMergeScheduler.java b/lucene/test-framework/src/java/org/apache/lucene/index/SuppressingConcurrentMergeScheduler.java
index cebe584..185749e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/SuppressingConcurrentMergeScheduler.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/SuppressingConcurrentMergeScheduler.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.store.Directory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.store.Directory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.store.Directory;
 
 /** A {@link ConcurrentMergeScheduler} that ignores AlreadyClosedException. */
 public abstract class SuppressingConcurrentMergeScheduler extends ConcurrentMergeScheduler {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
index 3d6e43c..15a0537 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/DisableFsyncFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/DisableFsyncFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/DisableFsyncFS.java
index 746a7f7..66be521 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/DisableFsyncFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/DisableFsyncFS.java
@@ -1,15 +1,3 @@
-package org.apache.lucene.mockfile;
-
-import java.io.IOException;
-import java.nio.channels.AsynchronousFileChannel;
-import java.nio.channels.FileChannel;
-import java.nio.file.FileSystem;
-import java.nio.file.OpenOption;
-import java.nio.file.Path;
-import java.nio.file.attribute.FileAttribute;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -26,6 +14,17 @@ import java.util.concurrent.ExecutorService;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
+
+import java.io.IOException;
+import java.nio.channels.AsynchronousFileChannel;
+import java.nio.channels.FileChannel;
+import java.nio.file.FileSystem;
+import java.nio.file.OpenOption;
+import java.nio.file.Path;
+import java.nio.file.attribute.FileAttribute;
+import java.util.Set;
+import java.util.concurrent.ExecutorService;
 
 /** 
  * Disables actual calls to fsync.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/ExtrasFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/ExtrasFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/ExtrasFS.java
index 03a198a..28fc44f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/ExtrasFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/ExtrasFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.file.FileSystem;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterAsynchronousFileChannel.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterAsynchronousFileChannel.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterAsynchronousFileChannel.java
index 8956b0a..080b6e6 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterAsynchronousFileChannel.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterAsynchronousFileChannel.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterDirectoryStream.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterDirectoryStream.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterDirectoryStream.java
index c03ac84..8caf4fc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterDirectoryStream.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterDirectoryStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.file.DirectoryStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
index bb92d08..0c95af0 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
index fd93bdc..dc90799 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.file.FileStore;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
index d2b0b40..d79ed35 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.file.FileStore;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
index 1fe6dac..c9c0165 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterInputStream2.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterInputStream2.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterInputStream2.java
index 3281609..aed5660 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterInputStream2.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterInputStream2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.FilterInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
index 010c7dd..dbf7a95 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.FilterOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterPath.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterPath.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterPath.java
index 918890f..8e6a8fb 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterPath.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterPath.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.File;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterSeekableByteChannel.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterSeekableByteChannel.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterSeekableByteChannel.java
index 12a6d12..d627e36 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterSeekableByteChannel.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterSeekableByteChannel.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleLimitFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleLimitFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleLimitFS.java
index 580f2c7..0cdbf0d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleLimitFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleLimitFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.file.FileSystem;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleTrackingFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleTrackingFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleTrackingFS.java
index 1b759f1..ee6ceb7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleTrackingFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/HandleTrackingFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/LeakFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/LeakFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/LeakFS.java
index c3a4e8c..f76565a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/LeakFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/LeakFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.nio.file.FileSystem;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
index f5bb022..0ab96cd 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/MockFileSystemTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.io.OutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/ShuffleFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/ShuffleFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/ShuffleFS.java
index 45be788..01fc2f5 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/ShuffleFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/ShuffleFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.nio.file.DirectoryStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/VerboseFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/VerboseFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/VerboseFS.java
index 508b389..5ca3493 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/VerboseFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/VerboseFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.IOException;
 import java.io.OutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
index a4cfe2d..f304642 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/WindowsFS.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.mockfile;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.mockfile;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.mockfile;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/mockfile/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/package-info.java
index a7bdcae..5272b6d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Support for testing/debugging with virtual filesystems 
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingBulkScorer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingBulkScorer.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingBulkScorer.java
index 07cdd9d..cc3d0b3 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingBulkScorer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingBulkScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingCollector.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingCollector.java
index 838c85e..22cd686 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingCollector.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java
index 43d07d6..7bc4b4a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingLeafCollector.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingLeafCollector.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingLeafCollector.java
index 621e812..2b28800 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingLeafCollector.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingLeafCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
index 24672ea..1dfc97b 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
index 0676923..1aad140 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java
index 6ab520d..29ca12e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/BaseExplanationTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/BaseExplanationTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/search/BaseExplanationTestCase.java
index f9ec989..cde2cdd 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/BaseExplanationTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/BaseExplanationTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/BulkScorerWrapperScorer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/BulkScorerWrapperScorer.java b/lucene/test-framework/src/java/org/apache/lucene/search/BulkScorerWrapperScorer.java
index 85e723e..91ec9bb 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/BulkScorerWrapperScorer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/BulkScorerWrapperScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/CheckHits.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/CheckHits.java b/lucene/test-framework/src/java/org/apache/lucene/search/CheckHits.java
index f7bc983..4eacda7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/CheckHits.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/CheckHits.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java b/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java
index 6de6213..c92adde 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/RandomApproximationQuery.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/RandomApproximationQuery.java b/lucene/test-framework/src/java/org/apache/lucene/search/RandomApproximationQuery.java
index 1092204..f628147 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/RandomApproximationQuery.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/RandomApproximationQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/ScorerIndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/ScorerIndexSearcher.java b/lucene/test-framework/src/java/org/apache/lucene/search/ScorerIndexSearcher.java
index e46e31b..ae69913 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/ScorerIndexSearcher.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/ScorerIndexSearcher.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/SearchEquivalenceTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/SearchEquivalenceTestBase.java b/lucene/test-framework/src/java/org/apache/lucene/search/SearchEquivalenceTestBase.java
index 0c0f1ce..fb5dc66 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/SearchEquivalenceTestBase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/SearchEquivalenceTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.util.BitSet;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/ShardSearchingTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/ShardSearchingTestBase.java b/lucene/test-framework/src/java/org/apache/lucene/search/ShardSearchingTestBase.java
index ed7def5..52c16dc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/ShardSearchingTestBase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/ShardSearchingTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/similarities/RandomSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/similarities/RandomSimilarity.java b/lucene/test-framework/src/java/org/apache/lucene/search/similarities/RandomSimilarity.java
index 1893f0e..2c459fc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/similarities/RandomSimilarity.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/similarities/RandomSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanQuery.java b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanQuery.java
index 9de67b8..bf98ba1 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanQuery.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.IndexSearcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
index 9abbf68..ae20d83 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpans.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpans.java b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpans.java
index 8b8c36c..9dba2c7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpans.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java
index af580c7..9915067 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/search/spans/SpanTestUtil.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/spans/SpanTestUtil.java b/lucene/test-framework/src/java/org/apache/lucene/search/spans/SpanTestUtil.java
index a88c6ae..1388043 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/spans/SpanTestUtil.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/spans/SpanTestUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
index c015351..8690b1ed 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.EOFException;
 import java.io.FileNotFoundException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryWrapper.java
index 2363826..c928088 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
index 13bc0ff..512a000 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/BaseLockFactoryTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
index ec99c7e..0f35be7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.Closeable;
 import java.io.FileNotFoundException;


[04/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/AbstractAnalyticsFacetTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/AbstractAnalyticsFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/AbstractAnalyticsFacetTest.java
index 0a7a5de..dab68a3 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/AbstractAnalyticsFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/AbstractAnalyticsFacetTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.facet;
 
 import java.io.ByteArrayInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
index 09e63fb..1e8f4f9 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetExtrasTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.facet;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
index 2eab53a..984398c 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/FieldFacetTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.facet;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
index 8c5787d..f62a82b 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.facet;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
index c6e7494..cda8202 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.facet;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/util/valuesource/FunctionTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/util/valuesource/FunctionTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/util/valuesource/FunctionTest.java
index 6a91401..5981cc0 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/util/valuesource/FunctionTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/util/valuesource/FunctionTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
index 1dd8cf9..42a2de9 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringEngine.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringEngine.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringEngine.java
index ee52199..7b522ac 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringEngine.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringEngine.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.SolrCore;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringParams.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringParams.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringParams.java
index fc1c3c6..66e5c54 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringParams.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringParams.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.clustering;
 /**
  * @lucene.experimental
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/DocumentClusteringEngine.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/DocumentClusteringEngine.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/DocumentClusteringEngine.java
index d56ab7b..8196034 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/DocumentClusteringEngine.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/DocumentClusteringEngine.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.clustering;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.search.DocSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/SearchClusteringEngine.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/SearchClusteringEngine.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/SearchClusteringEngine.java
index 3fcae7b..8f0d0d7 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/SearchClusteringEngine.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/SearchClusteringEngine.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering;
 
 import java.util.Map;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java
index 0e32ac9..a8548ec 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotParams.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotParams.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotParams.java
index beebb91..42ff8da 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotParams.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/CarrotParams.java
@@ -1,9 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
-import java.util.Set;
-
-import com.google.common.collect.ImmutableSet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,7 +14,11 @@ import com.google.common.collect.ImmutableSet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
+import java.util.Set;
+
+import com.google.common.collect.ImmutableSet;
 
 /**
  * Carrot2 parameter mapping (recognized and mapped if passed via Solr configuration).

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2StemmerFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2StemmerFactory.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2StemmerFactory.java
index a79cfbf..5013e42 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2StemmerFactory.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2StemmerFactory.java
@@ -1,7 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
+
+import java.lang.invoke.MethodHandles;
 
 import java.nio.CharBuffer;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2TokenizerFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2TokenizerFactory.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2TokenizerFactory.java
index 116490f..0ee153b 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2TokenizerFactory.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/LuceneCarrot2TokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrResourceLocator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrResourceLocator.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrResourceLocator.java
index 1658957..b078302 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrResourceLocator.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrResourceLocator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.clustering.carrot2;
 
 import java.io.ByteArrayInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java
index 744e8b3..85402eb 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
 import java.util.Collection;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/package-info.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/package-info.java
index 6d0d49b..58ab0fd 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/package-info.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * {@link org.apache.solr.handler.clustering.carrot2.CarrotClusteringEngine} and related classes for use in the {@link org.apache.solr.handler.clustering.ClusteringComponent}.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/package-info.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/package-info.java
index 25cca33..41333ba 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/package-info.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * {@link org.apache.solr.handler.clustering.ClusteringComponent} and common APIs for specific implementations.
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/AbstractClusteringTestCase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/AbstractClusteringTestCase.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/AbstractClusteringTestCase.java
index 77de5f7..ca2f424 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/AbstractClusteringTestCase.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/AbstractClusteringTestCase.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.clustering;
 import java.io.File;
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
index 4b53cdb..e8cf830 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.clustering;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.util.NamedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
index 62b4b48..89d3ddf 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering;
 
 import org.apache.solr.BaseDistributedSearchTestCase;
 import org.apache.solr.SolrTestCaseJ4.SuppressSSL;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/MockDocumentClusteringEngine.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/MockDocumentClusteringEngine.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/MockDocumentClusteringEngine.java
index 5b8e7e6..dc98266 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/MockDocumentClusteringEngine.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/MockDocumentClusteringEngine.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.solr.handler.clustering;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.search.DocSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
index 3924d3a..302247f 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingStemmerFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingStemmerFactory.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingStemmerFactory.java
index baf208b..f1f883d 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingStemmerFactory.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingStemmerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
 import org.carrot2.core.LanguageCode;
 import org.carrot2.text.linguistic.IStemmer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingTokenizerFactory.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingTokenizerFactory.java
index 2d0e584..51820e7 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingTokenizerFactory.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/DuplicatingTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoClusteringAlgorithm.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoClusteringAlgorithm.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoClusteringAlgorithm.java
index 2b113b7..acaed34 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoClusteringAlgorithm.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoClusteringAlgorithm.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 import java.util.List;
 
 import org.carrot2.core.Cluster;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoStemsClusteringAlgorithm.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoStemsClusteringAlgorithm.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoStemsClusteringAlgorithm.java
index 9827eb7..d2392a5 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoStemsClusteringAlgorithm.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoStemsClusteringAlgorithm.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
+
 import java.util.List;
 
 import org.carrot2.core.Cluster;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoTokensClusteringAlgorithm.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoTokensClusteringAlgorithm.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoTokensClusteringAlgorithm.java
index f23004e..9ef04fb 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoTokensClusteringAlgorithm.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/EchoTokensClusteringAlgorithm.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
+
 import java.util.List;
 
 import org.carrot2.core.Cluster;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/LexicalResourcesCheckClusteringAlgorithm.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/LexicalResourcesCheckClusteringAlgorithm.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/LexicalResourcesCheckClusteringAlgorithm.java
index ebac634..00dd609 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/LexicalResourcesCheckClusteringAlgorithm.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/LexicalResourcesCheckClusteringAlgorithm.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
+
 import java.util.List;
 
 import org.carrot2.core.Cluster;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/MockClusteringAlgorithm.java
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/MockClusteringAlgorithm.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/MockClusteringAlgorithm.java
index 483f0b1..8b33588 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/MockClusteringAlgorithm.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/MockClusteringAlgorithm.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.clustering.carrot2;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.solr.handler.clustering.carrot2;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.clustering.carrot2;
 import com.google.common.collect.Lists;
 import org.carrot2.core.*;
 import org.carrot2.core.attribute.AttributeNames;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/CachePropertyUtil.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/CachePropertyUtil.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/CachePropertyUtil.java
index ee9b1f1..544761f 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/CachePropertyUtil.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/CachePropertyUtil.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 public class CachePropertyUtil {
   public static String getAttributeValueAsString(Context context, String attr) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Context.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Context.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Context.java
index 56b821d..4d0cb3a 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Context.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Context.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport;
 
 import org.apache.solr.core.SolrCore;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
index 2e4f6a2..20a2aad 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.solr.handler.dataimport;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.handler.dataimport.config.Script;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCache.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCache.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCache.java
index 4b756d9..7e72d4e 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCache.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCache.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.util.Iterator;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
index fde4cc5..2efc386 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHCacheSupport.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHLogLevels.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHLogLevels.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHLogLevels.java
index e38c658..24732d1 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHLogLevels.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHLogLevels.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 public enum DIHLogLevels {
   START_ENTITY, END_ENTITY, TRANSFORMED_ROW, ENTITY_META, PRE_TRANSFORMER_ROW, START_DOC, END_DOC, ENTITY_OUT, ROW_END, TRANSFORMER_EXCEPTION, ENTITY_EXCEPTION, DISABLE_LOGGING, ENABLE_LOGGING, NONE

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHProperties.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHProperties.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHProperties.java
index 911322e..f51ef07 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHProperties.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHProperties.java
@@ -1,11 +1,9 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * 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 combstract clapliance with
+ * (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
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.util.Date;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriter.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriter.java
index 93e493a..bdb988d 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriter.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriter.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 import java.util.Map;
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriterBase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriterBase.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriterBase.java
index a33a202..43e92c3 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriterBase.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DIHWriterBase.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.util.HashSet;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandlerException.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandlerException.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandlerException.java
index b4ec65b..7892c05 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandlerException.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandlerException.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImporter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImporter.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImporter.java
index 473c86f..3a1ae91 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImporter.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImporter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport;
 
 import org.apache.solr.common.SolrException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataSource.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataSource.java
index de8a3d7..e217ddd 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataSource.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport;
 
 import java.util.Properties;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatEvaluator.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatEvaluator.java
index 8406cac..30e16ce 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatEvaluator.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatEvaluator.java
@@ -1,3 +1,19 @@
+/*
+ * 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.handler.dataimport;
 
 import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
@@ -19,23 +35,6 @@ import org.apache.solr.common.util.SuppressForbidden;
 import org.apache.solr.handler.dataimport.config.EntityField;
 import org.apache.solr.util.DateMathParser;
 
-/*
- * 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.
- */
-
 /**
  * <p>Formats values using a given date format. </p>
  * <p>Pass three parameters:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatTransformer.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatTransformer.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatTransformer.java
index e7b3552..f48cbea 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatTransformer.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DateFormatTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport;
 
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java
index c0a94be..2fd9303 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.dataimport;
 import org.apache.solr.common.util.NamedList;
 
 import java.io.PrintWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java
index 3b6bff6..f9ccfb6 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport;
 
 import org.apache.solr.common.SolrException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/NumberFormatTransformer.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/NumberFormatTransformer.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/NumberFormatTransformer.java
index 59147dd..349b14e 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/NumberFormatTransformer.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/NumberFormatTransformer.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.dataimport;
 import java.text.NumberFormat;
 import java.text.ParseException;
 import java.text.ParsePosition;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java
index 6ad4f82..92527bb 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SimplePropertiesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.io.File;
 import java.io.FileInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java
index 035f975b..cece0cc 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import org.apache.http.client.HttpClient;
 import org.apache.solr.client.solrj.SolrClient;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrQueryEscapingEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrQueryEscapingEvaluator.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrQueryEscapingEvaluator.java
index 7f381f8..aece031 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrQueryEscapingEvaluator.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrQueryEscapingEvaluator.java
@@ -1,11 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
-
-import java.util.List;
-
-import org.apache.solr.client.solrj.util.ClientUtils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.apache.solr.client.solrj.util.ClientUtils;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
+
+import java.util.List;
+
+import org.apache.solr.client.solrj.util.ClientUtils;
 
 public class SolrQueryEscapingEvaluator extends Evaluator {
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SortedMapBackedCache.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SortedMapBackedCache.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SortedMapBackedCache.java
index aaf38d7..bb84ba9 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SortedMapBackedCache.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SortedMapBackedCache.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SqlEscapingEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SqlEscapingEvaluator.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SqlEscapingEvaluator.java
index 2ecd277..7f9c26e 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SqlEscapingEvaluator.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SqlEscapingEvaluator.java
@@ -1,9 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
-
-import java.util.List;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import java.util.List;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
+
+import java.util.List;
 
 /**
  * <p> Escapes values in SQL queries.  It escapes the value of the given expression 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
index 78f9523..d961e63 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/UrlEvaluator.java
@@ -1,12 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
-import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
-
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.util.List;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,14 @@ import java.util.List;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
+import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
+
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
 
 /**
  * <p>Escapes reserved characters in Solr queries</p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
index 24f1889..59793bc 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/Zipper.java
@@ -1,17 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.lang.invoke.MethodHandles;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.solr.handler.dataimport.DIHCacheSupport.Relation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Iterators;
-import com.google.common.collect.PeekingIterator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -28,6 +14,19 @@ import com.google.common.collect.PeekingIterator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.lang.invoke.MethodHandles;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.solr.handler.dataimport.DIHCacheSupport.Relation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Supplier;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.PeekingIterator;
 
 class Zipper {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/DIHConfiguration.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/DIHConfiguration.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/DIHConfiguration.java
index 1073a64..2b91042 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/DIHConfiguration.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/DIHConfiguration.java
@@ -1,3 +1,19 @@
+/*
+ * 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.handler.dataimport.config;
 
 import java.lang.invoke.MethodHandles;
@@ -16,23 +32,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Element;
 
-/*
- * 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.
- */
-
 /**
  * <p>
  * Mapping for data-config.xml

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Entity.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Entity.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Entity.java
index e7c4f58..0d0ba4f 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Entity.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Entity.java
@@ -1,20 +1,19 @@
 /*
  * 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
- * 
+ * 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.
+ * 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.handler.dataimport.config;
 
 import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
@@ -29,7 +28,6 @@ import java.util.Set;
 
 import org.apache.solr.handler.dataimport.DataImportHandlerException;
 import org.apache.solr.handler.dataimport.DataImporter;
-import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.schema.SchemaField;
 import org.w3c.dom.Element;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/EntityField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/EntityField.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/EntityField.java
index adef412..b61198d 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/EntityField.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/EntityField.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport.config;
 
 import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Field.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Field.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Field.java
index 4331811..7ff4832 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Field.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Field.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.dataimport.config;
 
 import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/PropertyWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/PropertyWriter.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/PropertyWriter.java
index 7d3bd18..6e91a19 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/PropertyWriter.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/PropertyWriter.java
@@ -1,8 +1,3 @@
-package org.apache.solr.handler.dataimport.config;
-
-import java.util.HashMap;
-import java.util.Map;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import java.util.Map;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport.config;
+
+import java.util.HashMap;
+import java.util.Map;
 
 public class PropertyWriter {
   private final String type;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Script.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Script.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Script.java
index 5ec59a2..9a4bc59 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Script.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/Script.java
@@ -1,20 +1,19 @@
 /*
  * 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
- * 
+ * 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.
+ * 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.handler.dataimport.config;
 
 import org.w3c.dom.Element;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/package-info.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/package-info.java
index 50c6d4e..e5caac0 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/package-info.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/config/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Utility classes for parsing &amp; modeling DIH configuration.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/package-info.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/package-info.java
index 4a69d23..79c52dc 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/package-info.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * {@link org.apache.solr.handler.dataimport.DataImportHandler} and related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHCacheTestCase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHCacheTestCase.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHCacheTestCase.java
index 88e1ed8..b72f379 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHCacheTestCase.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHCacheTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.io.Reader;
 import java.math.BigDecimal;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHJdbcTestCase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHJdbcTestCase.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHJdbcTestCase.java
index da2f0aa..1a0d888 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHJdbcTestCase.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractDIHJdbcTestCase.java
@@ -1,38 +1,34 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.handler.dataimport;
 
 import java.io.OutputStream;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.util.Locale;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import junit.framework.Assert;
 
-import org.apache.derby.iapi.error.StandardException;
 import org.apache.solr.request.LocalSolrQueryRequest;
 import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Assume;
 import org.junit.Before;
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractSqlEntityProcessorTestCase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractSqlEntityProcessorTestCase.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractSqlEntityProcessorTestCase.java
index 1ab35e4..06b89c3 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractSqlEntityProcessorTestCase.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AbstractSqlEntityProcessorTestCase.java
@@ -1,3 +1,19 @@
+/*
+ * 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.handler.dataimport;
 
 import junit.framework.Assert;
@@ -25,23 +41,6 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
-/*
- * 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.
- */
-
 public abstract class AbstractSqlEntityProcessorTestCase extends
     AbstractDIHJdbcTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AddAColumnTransformer.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AddAColumnTransformer.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AddAColumnTransformer.java
index 48fde00..5e665d4 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AddAColumnTransformer.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/AddAColumnTransformer.java
@@ -1,7 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.util.Map;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.util.Map;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.util.Map;
 
 public class AddAColumnTransformer extends Transformer {
   @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/DestroyCountCache.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/DestroyCountCache.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/DestroyCountCache.java
index 2cd6e8a..d14f43e 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/DestroyCountCache.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/DestroyCountCache.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import static org.hamcrest.CoreMatchers.nullValue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/MockSolrEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/MockSolrEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/MockSolrEntityProcessor.java
index 26ad132..4ebca30 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/MockSolrEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/MockSolrEntityProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.SolrDocument;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
index f4485ab..c9b5abe 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestEphemeralCache.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;


[23/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java b/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java
index 24e784b..a5eafad 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java
index 5b11ae2..4f5573d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java
index c2d3443..7bbd497 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTotalHitCountCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestUsageTrackingFilterCachingPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestUsageTrackingFilterCachingPolicy.java b/lucene/core/src/test/org/apache/lucene/search/TestUsageTrackingFilterCachingPolicy.java
index 5da982e..33c9458 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestUsageTrackingFilterCachingPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestUsageTrackingFilterCachingPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.MultiReader;
 import org.apache.lucene.index.SlowCompositeReaderWrapper;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestWildcard.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestWildcard.java b/lucene/core/src/test/org/apache/lucene/search/TestWildcard.java
index f812d01..3d77bc7 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestWildcard.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestWildcard.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.store.Directory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestWildcardRandom.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestWildcardRandom.java b/lucene/core/src/test/org/apache/lucene/search/TestWildcardRandom.java
index c722506..ce476ca 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestWildcardRandom.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestWildcardRandom.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/similarities/TestBM25Similarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/similarities/TestBM25Similarity.java b/lucene/core/src/test/org/apache/lucene/search/similarities/TestBM25Similarity.java
index 68be891..f653971 100644
--- a/lucene/core/src/test/org/apache/lucene/search/similarities/TestBM25Similarity.java
+++ b/lucene/core/src/test/org/apache/lucene/search/similarities/TestBM25Similarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java b/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java
index b92b020..be07564 100644
--- a/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java
+++ b/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java b/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
index fbd4359..8052923 100644
--- a/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java b/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
index d62096b..829d30c 100644
--- a/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
+++ b/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java b/lucene/core/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
index f075c1a..f844795 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestBasics.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestBasics.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestBasics.java
index 8479f37..b18a38d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestBasics.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestBasics.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
index 8bb8442..052457b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestFilterSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestFilterSpans.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestFilterSpans.java
index bc4b961..2ec87ce 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestFilterSpans.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestFilterSpans.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.search.spans;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.search.spans;
 
 import java.lang.reflect.Method;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
index 533d80e..b101c61 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java
index 2a33775..e511136 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.search.spans;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.util.LuceneTestCase;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,11 @@ import org.apache.lucene.util.LuceneTestCase;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
+import org.apache.lucene.index.Term;
+import org.apache.lucene.util.LuceneTestCase;
+
 
 public class TestSpanBoostQuery extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanCollection.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanCollection.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanCollection.java
index e12f99d..03fc40d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanCollection.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanCollection.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanContainQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanContainQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanContainQuery.java
index a27eb78..c260704 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanContainQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanContainQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanations.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanations.java
index f0bd5b2..b986cd4 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanations.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.search.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanationsOfNonMatches.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanationsOfNonMatches.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanationsOfNonMatches.java
index c4bbe41..eeaf8e7 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanationsOfNonMatches.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanationsOfNonMatches.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanFirstQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanFirstQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanFirstQuery.java
index 8f9c460..228ad79 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanFirstQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanFirstQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanMultiTermQueryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanMultiTermQueryWrapper.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanMultiTermQueryWrapper.java
index 386f296..cedd7ff 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanMultiTermQueryWrapper.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanMultiTermQueryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNearQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNearQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNearQuery.java
index 0a6b512..b010147 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNearQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNearQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNotQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNotQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNotQuery.java
index 2f39a72..79026bb 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNotQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanNotQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanOrQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanOrQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanOrQuery.java
index 0d0822b..6f3c41f 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanOrQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanOrQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.QueryUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanSearchEquivalence.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanSearchEquivalence.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanSearchEquivalence.java
index 2c168f3..7d7fbe4 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanSearchEquivalence.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanSearchEquivalence.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BooleanClause.Occur;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanTermQuery.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanTermQuery.java
index 7bf5f5a..97951bf 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanTermQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanTermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java
index c1a3f96..9352f60 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/spans/TestSpansEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpansEnum.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpansEnum.java
index adb3edc..10509a8 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestSpansEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestSpansEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spans;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.spans;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spans;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestBufferedChecksum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestBufferedChecksum.java b/lucene/core/src/test/org/apache/lucene/store/TestBufferedChecksum.java
index c7915d4..6ba8bb1 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestBufferedChecksum.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestBufferedChecksum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.util.zip.CRC32;
 import java.util.zip.Checksum;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java b/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
index ea2ec7c..cb443a1 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestByteArrayDataInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestByteArrayDataInput.java b/lucene/core/src/test/org/apache/lucene/store/TestByteArrayDataInput.java
index 5d06cf5..52f063e 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestByteArrayDataInput.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestByteArrayDataInput.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
index 8534fbf..c512482 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
index 60db126..ed5cc6e 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
index 1b6021b..7fe9bc2 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.lang.reflect.Method;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestHugeRamFile.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestHugeRamFile.java b/lucene/core/src/test/org/apache/lucene/store/TestHugeRamFile.java
index 99c41cc..04c5900 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestHugeRamFile.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestHugeRamFile.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestLockFactory.java b/lucene/core/src/test/org/apache/lucene/store/TestLockFactory.java
index d3eca51..fa7a3fb 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestLockFactory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestMmapDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestMmapDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestMmapDirectory.java
index a92c1c0..9962ad1 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestMmapDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestMmapDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java b/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
index 1abbe7c..adea8ff 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestNIOFSDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestNIOFSDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestNIOFSDirectory.java
index 91d4c36..ae559a7 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestNIOFSDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestNIOFSDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
index bd025f3..dfbb7b2 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestNativeFSLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestNativeFSLockFactory.java b/lucene/core/src/test/org/apache/lucene/store/TestNativeFSLockFactory.java
index b53707e..f8bbef5 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestNativeFSLockFactory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestNativeFSLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestRAMDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestRAMDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestRAMDirectory.java
index 70cd054..4eba7d7 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestRAMDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestRAMDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java b/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
index 60054e1..ca44bf0 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSDirectory.java
index e8b6277..eb82571 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java b/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
index f05297e..c18ff71 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestSimpleFSLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestSingleInstanceLockFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestSingleInstanceLockFactory.java b/lucene/core/src/test/org/apache/lucene/store/TestSingleInstanceLockFactory.java
index c9f4668..be0bef2 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestSingleInstanceLockFactory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestSingleInstanceLockFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestSleepingLockWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestSleepingLockWrapper.java b/lucene/core/src/test/org/apache/lucene/store/TestSleepingLockWrapper.java
index c460896..3b0ec3c 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestSleepingLockWrapper.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestSleepingLockWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestTrackingDirectoryWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestTrackingDirectoryWrapper.java b/lucene/core/src/test/org/apache/lucene/store/TestTrackingDirectoryWrapper.java
index 0985587..a9574ce 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestTrackingDirectoryWrapper.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestTrackingDirectoryWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/store/TestWindowsMMap.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestWindowsMMap.java b/lucene/core/src/test/org/apache/lucene/store/TestWindowsMMap.java
index 8cea53b..09636e6 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestWindowsMMap.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestWindowsMMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
+
 
 import java.nio.file.Path;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/BaseSortTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/BaseSortTestCase.java b/lucene/core/src/test/org/apache/lucene/util/BaseSortTestCase.java
index dec5ddf..2db901b 100644
--- a/lucene/core/src/test/org/apache/lucene/util/BaseSortTestCase.java
+++ b/lucene/core/src/test/org/apache/lucene/util/BaseSortTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/StressRamUsageEstimator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/StressRamUsageEstimator.java b/lucene/core/src/test/org/apache/lucene/util/StressRamUsageEstimator.java
index 87ee148..7a2712f 100644
--- a/lucene/core/src/test/org/apache/lucene/util/StressRamUsageEstimator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/StressRamUsageEstimator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java b/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
index 45628e1..073aed6 100644
--- a/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
+++ b/lucene/core/src/test/org/apache/lucene/util/Test2BPagedBytes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java b/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
index e6093e1..c289120 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestAttributeSource.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestAttributeSource.java b/lucene/core/src/test/org/apache/lucene/util/TestAttributeSource.java
index 716e4a8..83becc7 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestAttributeSource.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestAttributeSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java b/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
index d03f066..b425b76 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
@@ -1,25 +1,25 @@
+/*
+ * 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.lucene.util;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-/*
- * 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.
- */
 public class TestByteBlockPool extends LuceneTestCase {
 
   public void testReadAndWrite() throws IOException {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestBytesRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestBytesRef.java b/lucene/core/src/test/org/apache/lucene/util/TestBytesRef.java
index 7ba9b0e..3a5bb53 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestBytesRef.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestBytesRef.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 public class TestBytesRef extends LuceneTestCase {
   public void testEmpty() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestBytesRefArray.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestBytesRefArray.java b/lucene/core/src/test/org/apache/lucene/util/TestBytesRefArray.java
index 84b3256..f2e7b60 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestBytesRefArray.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestBytesRefArray.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.util;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.util;
 
 import java.io.IOException;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestBytesRefHash.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestBytesRefHash.java b/lucene/core/src/test/org/apache/lucene/util/TestBytesRefHash.java
index b1b3891..e44b283 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestBytesRefHash.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestBytesRefHash.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.BitSet;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestCharsRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestCharsRef.java b/lucene/core/src/test/org/apache/lucene/util/TestCharsRef.java
index 2c9f29c..c9e5a38 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestCharsRef.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestCharsRef.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.Arrays;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.Arrays;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.Arrays;
+
 
 public class TestCharsRef extends LuceneTestCase {
   public void testUTF16InUTF8Order() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestCharsRefBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestCharsRefBuilder.java b/lucene/core/src/test/org/apache/lucene/util/TestCharsRefBuilder.java
index 184a3b0..fc96d8a 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestCharsRefBuilder.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestCharsRefBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 public class TestCharsRefBuilder extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestCloseableThreadLocal.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestCloseableThreadLocal.java b/lucene/core/src/test/org/apache/lucene/util/TestCloseableThreadLocal.java
index c093722..9f56d7b 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestCloseableThreadLocal.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestCloseableThreadLocal.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.util;
 
 public class TestCloseableThreadLocal extends LuceneTestCase {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestCollectionUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestCollectionUtil.java b/lucene/core/src/test/org/apache/lucene/util/TestCollectionUtil.java
index 013e854..1af1efd 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestCollectionUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestCollectionUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestDocIdSetBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestDocIdSetBuilder.java b/lucene/core/src/test/org/apache/lucene/util/TestDocIdSetBuilder.java
index 4a4afa7..97afe8b 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestDocIdSetBuilder.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestDocIdSetBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestFilterIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestFilterIterator.java b/lucene/core/src/test/org/apache/lucene/util/TestFilterIterator.java
index a5486e1..d2340cb 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestFilterIterator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestFilterIterator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.util;
 
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestFixedBitDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestFixedBitDocIdSet.java b/lucene/core/src/test/org/apache/lucene/util/TestFixedBitDocIdSet.java
index 6afb386..e5d27b2 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestFixedBitDocIdSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestFixedBitDocIdSet.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java b/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
index 129ce3b..4c91187 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestFrequencyTrackingRingBuffer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestFrequencyTrackingRingBuffer.java b/lucene/core/src/test/org/apache/lucene/util/TestFrequencyTrackingRingBuffer.java
index 5fe1a49..81b7ac5 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestFrequencyTrackingRingBuffer.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestFrequencyTrackingRingBuffer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java b/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
index 7a112cd..ec4f7a5 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestIOUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.io.OutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestInPlaceMergeSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestInPlaceMergeSorter.java b/lucene/core/src/test/org/apache/lucene/util/TestInPlaceMergeSorter.java
index d6e5f46..ed8e030 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestInPlaceMergeSorter.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestInPlaceMergeSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import org.junit.runner.RunWith;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestIntArrayDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestIntArrayDocIdSet.java b/lucene/core/src/test/org/apache/lucene/util/TestIntArrayDocIdSet.java
index 4320e9f..2a7d2e6 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestIntArrayDocIdSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestIntArrayDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestIntroSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestIntroSorter.java b/lucene/core/src/test/org/apache/lucene/util/TestIntroSorter.java
index eb4316e..56022d2 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestIntroSorter.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestIntroSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 
 public class TestIntroSorter extends BaseSortTestCase {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestIntsRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestIntsRef.java b/lucene/core/src/test/org/apache/lucene/util/TestIntsRef.java
index 1b37873..b997659 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestIntsRef.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestIntsRef.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 public class TestIntsRef extends LuceneTestCase {
   public void testEmpty() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestLSBRadixSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestLSBRadixSorter.java b/lucene/core/src/test/org/apache/lucene/util/TestLSBRadixSorter.java
index 5582e58..020bc50 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestLSBRadixSorter.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestLSBRadixSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestLegacyNumericUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestLegacyNumericUtils.java b/lucene/core/src/test/org/apache/lucene/util/TestLegacyNumericUtils.java
index cab77e5..ce32352 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestLegacyNumericUtils.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestLegacyNumericUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestLongBitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestLongBitSet.java b/lucene/core/src/test/org/apache/lucene/util/TestLongBitSet.java
index 018a7d5..cf4d1a7 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestLongBitSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestLongBitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestMathUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestMathUtil.java b/lucene/core/src/test/org/apache/lucene/util/TestMathUtil.java
index f823aad..2b62ca6 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestMathUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestMathUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.math.BigInteger;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestMergedIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestMergedIterator.java b/lucene/core/src/test/org/apache/lucene/util/TestMergedIterator.java
index 9867098..983cf72 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestMergedIterator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestMergedIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java b/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java
index 4a2af47..3194e7b 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.Set;
-
-import org.apache.lucene.codecs.Codec;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,12 @@ import org.apache.lucene.codecs.Codec;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.Set;
+
+import org.apache.lucene.codecs.Codec;
+
 
 // TODO: maybe we should test this with mocks, but it's easy
 // enough to test the basics via Codec

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestNotDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestNotDocIdSet.java b/lucene/core/src/test/org/apache/lucene/util/TestNotDocIdSet.java
index 5df0cde..7650348 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestNotDocIdSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestNotDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java b/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
index d8a878c..63374cf 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestPagedBytes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestPagedBytes.java b/lucene/core/src/test/org/apache/lucene/util/TestPagedBytes.java
index a2a0ccc..5f135d4 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestPagedBytes.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestPagedBytes.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestPriorityQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestPriorityQueue.java b/lucene/core/src/test/org/apache/lucene/util/TestPriorityQueue.java
index ca8dba7..cd202fe 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestPriorityQueue.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestPriorityQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestQueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestQueryBuilder.java b/lucene/core/src/test/org/apache/lucene/util/TestQueryBuilder.java
index 1ce1663..bd5a49a 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestQueryBuilder.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestQueryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/util/TestRamUsageEstimator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestRamUsageEstimator.java b/lucene/core/src/test/org/apache/lucene/util/TestRamUsageEstimator.java
index fc9a48f..cf53c2d 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestRamUsageEstimator.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestRamUsageEstimator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import static org.apache.lucene.util.RamUsageEstimator.*;
 import static org.apache.lucene.util.RamUsageTester.sizeOf;


[61/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/data/geonames-IE.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/data/geonames-IE.txt b/lucene/spatial/src/test-files/data/geonames-IE.txt
deleted file mode 100644
index baa7b74..0000000
--- a/lucene/spatial/src/test-files/data/geonames-IE.txt
+++ /dev/null
@@ -1,22929 +0,0 @@
-2652852	Cliff	Cliff		54.48333	-8.11667	S	EST	IE		U	06			0		76	Europe/Dublin	2010-08-14
-2654332	Bun Cranncha	Bun Cranncha	Buncrana	55.13333	-7.45	P	PPL	IE		U	06			5546		63	Europe/Dublin	2010-08-14
-2960863	Dromore West	Dromore West	Dromore,Dromore West	54.25167	-8.89306	P	PPL	IE	IE	C	25			0		32	Europe/Dublin	2010-08-14
-2960864	Dromore	Dromore	Dromore,Dromore House	52.93111	-8.96833	S	EST	IE	IE	M	03			0		36	Europe/Dublin	2010-08-14
-2960865	Youghal Harbour	Youghal Harbour		51.95194	-7.83972	H	HBR	IE		00	00			0		1	Europe/Dublin	2010-08-14
-2960866	Youghal Bay	Youghal Bay		52.89944	-8.30361	H	BAY	IE		M	26			0		55	Europe/Dublin	2010-08-14
-2960867	Youghal Bay	Youghal Bay		51.91	-7.81917	H	BAY	IE		00	00			0		-9999	Europe/Dublin	2010-08-14
-2960868	Youghal	Youghal		52.88861	-8.3075	P	PPL	IE		M	26			0		61	Europe/Dublin	2010-08-14
-2960869	Eochaill	Eochaill	Youghal	51.95	-7.85056	P	PPL	IE		M	04			6868		1	Europe/Dublin	2010-08-14
-2960870	Yellow River	Yellow River		54.13972	-8.02722	H	STM	IE		C	14			0		58	Europe/Dublin	2010-08-14
-2960871	Yellow River	Yellow River		54.05	-7.83333	H	STM	IE		C	14			0		76	Europe/Dublin	2010-08-14
-2960872	Yellow River	Yellow River		53.81667	-9	H	STM	IE		C	20			0		51	Europe/Dublin	2010-08-14
-2960873	Yellow River	Yellow River		53.38556	-7.08361	H	STM	IE		00	00			0		108	Europe/Dublin	2010-08-14
-2960874	Yellow Furze	Yellow Furze		53.67333	-6.57167	P	PPL	IE		L	21			0		86	Europe/Dublin	2010-08-14
-2960875	Woodville	Woodville		54.13333	-9.31667	P	PPL	IE		C	20			0		42	Europe/Dublin	2010-08-14
-2960876	Woodville	Woodville		53.85	-7.56667	S	BLDG	IE		L	18			0		71	Europe/Dublin	2010-08-14
-2960877	Wood View	Wood View		52.83333	-7.21667	S	EST	IE		L	13			0		135	Europe/Dublin	2010-08-14
-2960878	Woodtown House	Woodtown House	Woodtown,Woodtown House	53.58139	-6.98639	S	EST	IE	IE	L	21			0		92	Europe/Dublin	2010-08-14
-2960879	Woodstown	Woodstown		52.19667	-7.01	P	PPL	IE		M	27			0		75	Europe/Dublin	2010-08-14
-2960880	Woodstock House	Woodstock House	Woodstock,Woodstock House	52.47861	-7.05639	S	EST	IE	IE	L	13			0		32	Europe/Dublin	2010-08-14
-2960881	Woodsgift House	Woodsgift House	Woodsgift,Woodsgift House	52.70694	-7.515	S	EST	IE	IE	L	13			0		152	Europe/Dublin	2010-08-14
-2960882	Woodrooff House	Woodrooff House	Woodroof House,Woodrooff House	52.38222	-7.81944	S	EST	IE	IE	M	26			0		122	Europe/Dublin	2010-11-04
-2960883	Woodpark	Woodpark		53.44417	-6.48417	S	EST	IE		L	21			0		78	Europe/Dublin	2010-08-14
-2960884	Woodpark	Woodpark		52.92583	-8.45833	S	EST	IE		M	03			0		53	Europe/Dublin	2010-08-14
-2960885	Woodmount	Woodmount		53.33583	-8.16167	S	EST	IE		C	24			0		73	Europe/Dublin	2010-08-14
-2960886	Wood Lodge	Wood Lodge		54.03333	-7.16667	S	BLDG	IE		U	02			0		111	Europe/Dublin	2010-08-14
-2960887	Woodlawn Station	Woodlawn Station	Woodlawn,Woodlawn Station	53.35	-8.46667	S	RSTN	IE	IE	C	10			0		76	Europe/Dublin	2010-08-14
-2960888	Woodlawn	Woodlawn	Woodlawn,Woodlawn House	53.32889	-8.47889	S	EST	IE	IE	C	10			0		76	Europe/Dublin	2010-08-14
-2960889	Woodlands Station	Woodlands Station	Woodlands,Woodlands Station	51.55	-9.51667	S	RSTN	IE	IE	M	04			0		145	Europe/Dublin	2010-08-14
-2960890	Woodhouse	Woodhouse		52.12389	-7.475	S	EST	IE		M	27			0		1	Europe/Dublin	2010-08-14
-2960891	Wood Hill	Wood Hill		54.75944	-8.41833	S	EST	IE		U	06			0		32	Europe/Dublin	2010-08-14
-2960892	Woodfort	Woodfort	Woodfoot,Woodfort	53.88333	-6.83333	P	PPL	IE		L	21			0		111	Europe/Dublin	2010-08-10
-2960893	Woodfort	Woodfort		52.15944	-8.34139	S	EST	IE		M	04			0		40	Europe/Dublin	2010-08-14
-2960894	Woodford River	Woodford River	Rosmore,Woodford River	53.02028	-8.31639	H	STM	IE	IE	C	10			0		55	Europe/Dublin	2010-08-14
-2960895	Woodford	Woodford	An Chraig,An Chráig,An Ghraig,An Ghráig,Woodford	53.04833	-8.40028	P	PPL	IE		C	10			0		76	Europe/Dublin	2010-08-14
-2960896	Woodford	Woodford		52.05	-9.45	P	PPL	IE		M	11			0		92	Europe/Dublin	1993-12-27
-2960897	Woodfield House	Woodfield House		53.86667	-8.88333	S	EST	IE		C	20			0		70	Europe/Dublin	1993-12-27
-2960898	Woodfield House	Woodfield House		53.37028	-7.62167	S	EST	IE		L	23			0		74	Europe/Dublin	2010-08-14
-2960899	Woodfield House	Woodfield House		53.11667	-7.9	S	EST	IE		L	23			0		70	Europe/Dublin	2010-08-14
-2960900	Woodenbridge Junction Station	Woodenbridge Junction Station	Woodenbridge,Woodenbridge Junction,Woodenbridge Junction Station	52.83333	-6.23333	S	RSTN	IE	IE	L	31			0		40	Europe/Dublin	2010-08-14
-2960901	Woodenbridge	Woodenbridge		52.83222	-6.23639	P	PPL	IE		L	31			0		43	Europe/Dublin	2010-08-14
-2960902	Woodbrook House	Woodbrook House	Woodbrook,Woodbrook House	53.12944	-7.23583	S	HSEC	IE	IE	L	15			0		101	Europe/Dublin	2010-08-14
-2960903	Woodbrook	Woodbrook		52.54806	-6.73861	S	EST	IE		L	30			0		131	Europe/Dublin	2010-08-14
-2960904	Woodbrook	Woodbrook		51.71667	-9.13333	S	EST	IE		M	04			0		89	Europe/Dublin	1993-12-27
-2960905	Woodbine Hill	Woodbine Hill		51.95472	-7.82944	S	EST	IE		M	04			0		1	Europe/Dublin	2010-08-14
-2960906	Wingfield House	Wingfield House		52.7725	-6.39194	S	EST	IE		L	30			0		154	Europe/Dublin	2010-08-14
-2960907	Windy Harbour	Windy Harbour		53.74083	-6.66472	P	PPL	IE		L	21			0		130	Europe/Dublin	2010-08-14
-2960908	Windy Gap	Windy Gap		52.03333	-9.93333	T	GAP	IE		M	11			0		269	Europe/Dublin	2010-08-14
-2960909	Windgap	Windgap	Bearna na Gaoithe,Bearra na Gaoithe,Windgap	52.46556	-7.39972	P	PPL	IE		L	13			0		152	Europe/Dublin	2010-08-14
-2960910	Windfield House	Windfield House		53.43333	-8.63333	S	EST	IE		C	10			0		76	Europe/Dublin	1993-12-27
-2960911	Wilton House	Wilton House	Wilton,Wilton House	52.72222	-7.54806	S	EST	IE	IE	L	13			0		137	Europe/Dublin	2010-08-14
-2960912	Wilton Castle	Wilton Castle	Wilton Castle,Wilton House	52.45917	-6.61639	S	EST	IE	IE	L	30			0		63	Europe/Dublin	2010-08-14
-2960913	Wilmount House	Wilmount House		52.58333	-6.71667	S	EST	IE		L	30			0		150	Europe/Dublin	2010-08-14
-2960914	Wilmount House	Wilmount House		52.41667	-6.45611	S	EST	IE		L	30			0		24	Europe/Dublin	2010-08-14
-2960915	Wilmount	Wilmount		53.74833	-6.89528	S	EST	IE		L	21			0		71	Europe/Dublin	2010-08-14
-2960916	Wills Grove	Wills Grove		53.73333	-8.41667	S	RUIN	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2960917	Willsbrook House	Willsbrook House		53.73333	-8.48333	S	BLDG	IE		C	24			0		74	Europe/Dublin	1993-12-27
-2960918	Willmount House	Willmount House		53.11611	-6.55833	S	HSEC	IE		L	31			0		198	Europe/Dublin	2010-08-14
-2960919	Willmount	Willmount		53.26667	-8.76667	S	EST	IE		C	10			0		30	Europe/Dublin	1993-12-27
-2960920	Willmount	Willmount		52.55472	-7.56556	S	EST	IE		M	26			0		150	Europe/Dublin	2010-08-14
-2960921	Williamstown Lodge	Williamstown Lodge		52.95	-8.33333	S	BLDG	IE		M	03			0		55	Europe/Dublin	2010-08-14
-2960922	Williamstown House	Williamstown House		53.88333	-6.41417	S	EST	IE		L	19			0		3	Europe/Dublin	2010-08-14
-2960923	Williamstown Harbour	Williamstown Harbour		52.95	-8.33333	H	HBR	IE		M	03			0		55	Europe/Dublin	2010-08-14
-2960924	Williamstown	Williamstown		53.68333	-8.58333	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
-2960925	Williamstown	Williamstown		53.75222	-6.87333	S	EST	IE		L	21			0		70	Europe/Dublin	2010-08-14
-2960926	Willbrook	Willbrook		53.29361	-6.31194	P	PPL	IE		L	07			0		76	Europe/Dublin	2010-08-14
-2960927	Willbrook	Willbrook		52.93778	-9.12806	P	PPL	IE		M	03			0		95	Europe/Dublin	2010-08-14
-2960928	Wilkinstown	Wilkinstown		53.73556	-6.71306	P	PPL	IE		L	21			0		73	Europe/Dublin	2010-08-14
-2960929	Wilford House	Wilford House		52.55722	-7.55889	S	EST	IE		M	26			0		150	Europe/Dublin	2010-08-14
-2960930	Wild Bellows Rock	Wild Bellows Rock		53.34417	-10.05056	T	RK	IE		C	10			0		-9999	Europe/Dublin	1999-03-04
-2960931	Wicklow Mountains	Wicklow Mountains	Wicklow Hills,Wicklow Mountains	53.08333	-6.33333	T	MTS	IE		L	31			0		439	Europe/Dublin	2010-08-10
-2960932	Wicklow Head	Wicklow Head		52.96056	-5.99889	T	CAPE	IE		L	31			0		-9999	Europe/Dublin	2010-08-14
-2960933	Wicklow Gap	Wicklow Gap		53.04056	-6.40194	T	GAP	IE		L	31			0		528	Europe/Dublin	2010-08-14
-2960934	Wicklow Gap	Wicklow Gap		52.75667	-6.35944	T	GAP	IE		L	30			0		160	Europe/Dublin	2010-08-14
-2960935	Cill Mhantáin	Cill Mhantain	Contae Chill Mhantain,Contae Chill Mhantáin,County Wicklow,Wicklow	53	-6.41667	A	ADM2	IE		L	31			119873		371	Europe/Dublin	2010-08-14
-2960936	Cill Mhantáin	Cill Mhantain	Cill Maintain,Cill Maintainn,Cill Maintáinn,Cill Manntein,Cill Manntéin,Cill Mantan,Cill Mhanntain,Wicklow	52.975	-6.04944	P	PPLA2	IE		L	31			10461		69	Europe/Dublin	2010-08-14
-2960937	Whiting Bay	Whiting Bay		51.94694	-7.78139	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2960938	Whitfield Court	Whitfield Court	Whitfield,Whitfield Court	52.22278	-7.21722	S	EST	IE	IE	M	27			0		54	Europe/Dublin	2010-08-14
-2960939	Whitewood House	Whitewood House	Whitewood,Whitewood House	53.84139	-6.78333	S	EST	IE	IE	L	21			0		72	Europe/Dublin	2010-08-14
-2960940	Whitewell House	Whitewell House		53.43333	-7.31667	S	EST	IE		L	29			0		130	Europe/Dublin	1993-12-27
-2960941	Whites Town	Whites Town		53.99778	-6.12778	P	PPL	IE		L	19			0		1	Europe/Dublin	2010-08-14
-2960942	White River	White River		53.85972	-6.38694	H	STM	IE		L	19			0		8	Europe/Dublin	2010-08-14
-2960943	White River	White River		52.59556	-9.19361	H	STM	IE		M	16			0		15	Europe/Dublin	2010-08-14
-2960944	White Point	White Point		51.85	-8.31667	T	PT	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2960945	White Mountain	White Mountain		52.48333	-6.83333	T	MT	IE		L	30			0		215	Europe/Dublin	2010-08-14
-2960946	White Lough	White Lough		53.70194	-7.22	H	LK	IE		00				0		151	Europe/Dublin	1999-03-22
-2960947	Whitehill House	Whitehill House		53.73333	-7.63333	S	EST	IE		L	18			0		76	Europe/Dublin	1993-12-27
-2960948	Whitehall	Whitehall		53.75	-7.93333	P	PPL	IE		C	24			0		66	Europe/Dublin	1993-12-27
-2960949	Paulstown	Paulstown	Baile Phoil,Baile Phóil,Paulstown,Whitehall	52.68111	-7.02222	P	PPL	IE		L	13			0		55	Europe/Dublin	2010-08-14
-2960950	Whitegate	Whitegate		53.73333	-7.31667	P	PPL	IE		L	29			0		211	Europe/Dublin	1993-12-27
-2960951	Whitegate	Whitegate	An Geata Ban,An Geata Bán,Whitegate	52.94917	-8.37139	P	PPL	IE		M	03			0		56	Europe/Dublin	2010-08-14
-2960952	Whitegate	Whitegate	An Geata Ban,An Geata Bán,Whitegate	51.83056	-8.22972	P	PPL	IE		M	04			0		1	Europe/Dublin	2010-08-14
-2960953	Whitechurch	Whitechurch		52.37139	-7.39306	P	PPL	IE		L	13			0		32	Europe/Dublin	2010-08-14
-2960954	Whitechurch	Whitechurch		52.31778	-6.96611	P	PPL	IE		L	30			0		46	Europe/Dublin	2010-08-14
-2960955	Whitechurch	Whitechurch		52.10944	-7.74944	P	PPL	IE		M	27			0		62	Europe/Dublin	2010-08-14
-2960956	Whitechurch	Whitechurch		51.98139	-8.51389	P	PPL	IE		M	04			0		152	Europe/Dublin	2010-08-14
-2960957	White Castle	White Castle		55.13333	-7.16667	P	PPL	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
-2960958	White Ball Head	White Ball Head		51.59667	-10.055	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2960959	Whiddy Island	Whiddy Island	Whiddy Island	51.70139	-9.49972	T	ISL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2960960	Wheelam Cross Roads	Wheelam Cross Roads		53.20278	-6.87083	P	PPL	IE		L	12			0		157	Europe/Dublin	2010-08-14
-2960961	Whale Head	Whale Head		55.0525	-7.57389	T	CAPE	IE		U	06			0		1	Europe/Dublin	2010-08-14
-2960962	Wexford Harbour	Wexford Harbour	Wexford Harbour	52.33833	-6.40417	H	HBR	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2960963	Loch Garman	Loch Garman	Contae Loch Garman,County Wexford,Wexford	52.5	-6.66667	A	ADM2	IE		L	30			121122		76	Europe/Dublin	2010-08-14
-2960964	Loch Garman	Loch Garman	Loch Garman,Wexford	52.33417	-6.4575	P	PPLA2	IE		L	30			17708		-9999	Europe/Dublin	2010-08-14
-2960965	West Village	West Village		51.88333	-8.6	P	PPL	IE		M	04			0		66	Europe/Dublin	2010-08-14
-2960966	West Town	West Town	Baile Thiar,West Town	55.26528	-8.22583	P	PPL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2960967	West Sister	West Sister	Beenhenry,West Sister	52.2	-10.43333	T	HLL	IE	IE	M	11			0		61	Europe/Dublin	2010-08-14
-2960968	Westport House	Westport House		53.8	-9.51667	S	EST	IE		C	20			0		108	Europe/Dublin	1993-12-27
-2960969	Westport Bay	Westport Bay		53.8	-9.63333	H	BAY	IE		C	20			0		-9999	Europe/Dublin	1993-12-27
-2960970	Cathair na Mart	Cathair na Mart	Westport	53.8	-9.51667	P	PPL	IE		C	20			6200		108	Europe/Dublin	2010-08-14
-2960971	Westmoreland Fort	Westmoreland Fort	Fort Westmoreland,Westmoreland Fort	51.83333	-8.28333	S	FT	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
-2960972	An Iarmhí	An Iarmhi	Contae na hIarmhi,Contae na hIarmhí,County Westmeath,Westmeath	53.5	-7.5	A	ADM2	IE		L	29			75298		144	Europe/Dublin	2010-08-14
-2960973	Westland Row Station	Westland Row Station	Westland Row Passenger Station	53.35	-6.25	S	RSTN	IE	IE	L	07			0		1	Europe/Dublin	2010-08-14
-2960974	Westland House	Westland House		53.785	-6.89694	S	EST	IE		L	21			0		79	Europe/Dublin	2010-08-14
-2960975	Westfield	Westfield		51.55	-9.38333	S	EST	IE		M	04			0		92	Europe/Dublin	1993-12-27
-2960976	West Cove	West Cove		51.77917	-10.07694	P	PPL	IE		M	11			0		134	Europe/Dublin	2010-08-14
-2960977	West Court	West Court		52.54917	-7.39389	S	EST	IE		L	13			0		71	Europe/Dublin	2010-08-14
-2960978	Wells House	Wells House	Wells,Wells House	52.52833	-6.34444	S	EST	IE	IE	L	30			0		58	Europe/Dublin	2010-08-14
-2960979	Wellmount House	Wellmount House		53.10472	-8.22778	S	BLDG	IE		C	10			0		77	Europe/Dublin	2010-08-14
-2960980	Wellingtonbridge	Wellingtonbridge	Wellingtonbridge	52.26333	-6.77833	P	PPL	IE		L	30			0		5	Europe/Dublin	2010-08-14
-2960981	Welchtown	Welchtown		54.81861	-7.87083	P	PPL	IE		U	06			0		84	Europe/Dublin	2010-08-14
-2960982	Webbsborough	Webbsborough	Webbsborough,Webbsborough House	52.75083	-7.23111	S	BLDG	IE	IE	L	13			0		128	Europe/Dublin	2010-08-14
-2960983	Weatherstown	Weatherstown		52.37361	-7.03944	P	PPL	IE		L	13			0		108	Europe/Dublin	2010-08-14
-2960984	Waterville	Waterville	An Coirean,An Coireán,Waterville	51.83333	-10.16667	P	PPL	IE		M	11			0		14	Europe/Dublin	2010-08-14
-2960985	Waterstown House	Waterstown House	Waterstown,Waterstown House	53.46667	-7.85	S	EST	IE		L	29			0		136	Europe/Dublin	2010-08-10
-2960986	Waterloo	Waterloo		53.93333	-7.13028	P	PPL	IE		U	02			0		171	Europe/Dublin	2010-08-14
-2960987	Watergrasshill	Watergrasshill	Cnocan na Biolrai,Cnocán na Biolraí,Watergrasshill	52.01139	-8.34417	P	PPL	IE		M	04			0		156	Europe/Dublin	2010-08-14
-2960988	Waterford North Station	Waterford North Station	Waterford,Waterford North Station	52.26667	-7.11667	S	RSTN	IE	IE	L	13			0		58	Europe/Dublin	2010-08-14
-2960989	Waterford Manor Station	Waterford Manor Station	Manor Station,Waterford Manor Station	52.25	-7.11667	S	RSTN	IE	IE	M	27			0		17	Europe/Dublin	2010-08-14
-2960990	Waterford Harbour	Waterford Harbour		52.17917	-6.93056	H	ESTY	IE		00				0		-9999	Europe/Dublin	1998-01-09
-2960991	Port Láirge	Port Lairge	Contae Phort Lairge,Contae Phort Láirge,County Waterford,Waterford	52.25	-7.5	A	ADM2	IE		M	27			104132		178	Europe/Dublin	2010-08-14
-2960992	Port Láirge	Port Lairge	Port Lairge,Port Láirge,Uoterford,Waterford,Waterford city,u~otafodo,Уотерфорд,ウォーターフォード	52.25833	-7.11194	P	PPLA2	IE		M	27			47904		8	Europe/Dublin	2010-08-14
-2960993	Waterfall	Waterfall		51.85944	-8.55917	P	PPL	IE		M	04			0		77	Europe/Dublin	2010-08-14
-2960994	Waterdale	Waterdale	Waterdale,Waterdale House	53.36667	-8.95	S	BLDG	IE		C	10			0		21	Europe/Dublin	2010-08-10
-2960995	Watch House Village	Watch House Village	Watch House,Watch House Village	52.69083	-6.63972	P	PPL	IE	IE	L	30			0		76	Europe/Dublin	2010-08-14
-2960996	Warrenstown House	Warrenstown House		53.51667	-6.61667	S	EST	IE		L	21			0		92	Europe/Dublin	1993-12-27
-2960997	Warrens Grove	Warrens Grove		51.85	-8.83333	S	EST	IE		M	04			0		79	Europe/Dublin	2010-08-14
-2960998	Warrens Court	Warrens Court		51.85472	-8.91278	S	EST	IE		M	04			0		146	Europe/Dublin	2010-08-14
-2960999	War Hill	War Hill		53.13778	-6.25389	T	MT	IE		L	31			0	685	439	Europe/Dublin	2010-08-14
-2961000	Hill of Ward	Hill of Ward	Hill of Ward	53.62444	-6.88611	T	HLL	IE		L	21			0		79	Europe/Dublin	2010-08-14
-2961001	Ward	Ward		53.43306	-6.33333	P	PPL	IE		L	07			0		66	Europe/Dublin	2010-08-14
-2961002	Walterstown	Walterstown		53.61278	-6.55306	P	PPL	IE		L	21			0		79	Europe/Dublin	2010-08-14
-2961003	Walshtown	Walshtown		51.98306	-8.18722	P	PPL	IE		M	04			0		130	Europe/Dublin	2010-08-14
-2961004	Walshpool Lough	Walshpool Lough		53.8	-9.18333	H	LK	IE		C	20			0		65	Europe/Dublin	1993-12-27
-2961005	Virginia Road	Virginia Road	Virginia Road,Virginia Road Station	53.75	-7.01667	S	RSTN	IE		L	21			0		160	Europe/Dublin	2010-08-10
-2961006	Virginia	Virginia	Achadh an Iuir,Achadh an Iúir,Virginia	53.83389	-7.07556	P	PPL	IE		U	02			0		120	Europe/Dublin	2010-08-14
-2961007	Violetstown House	Violetstown House		53.48333	-7.28333	S	EST	IE		L	29			0		124	Europe/Dublin	1993-12-27
-2961008	Violet Hill	Violet Hill		52.74444	-7.56083	S	EST	IE		L	13			0		142	Europe/Dublin	2010-08-14
-2961009	Vinegar Hill	Vinegar Hill		52.50417	-6.54611	T	HLL	IE		L	30			0		61	Europe/Dublin	2010-08-14
-2961010	Villierstown	Villierstown	An Baile Nua,Villierstown	52.08889	-7.85306	P	PPL	IE		M	27			0		75	Europe/Dublin	2010-08-14
-2961011	Vicarstown Cross Roads	Vicarstown Cross Roads	Vicarstown,Vicarstown Cross Roads	51.93333	-8.65	P	PPL	IE	IE	M	04			0		76	Europe/Dublin	2010-08-14
-2961012	Vicarstown	Vicarstown		53.04917	-7.08861	P	PPL	IE		L	15			0		71	Europe/Dublin	2010-08-14
-2961013	Ventry Harbour	Ventry Harbour		52.12278	-10.35583	H	HBR	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961014	Ventry	Ventry	Ceann Tra,Ceann Trá,Ventry	52.1325	-10.36694	P	PPL	IE		M	11			0		1	Europe/Dublin	2010-08-14
-2961015	Velvetstown House	Velvetstown House		52.25	-8.66667	S	EST	IE		M	04			0		114	Europe/Dublin	1993-12-27
-2961016	Lough Vearty	Lough Vearty	Lough Vearty	54.53333	-8	H	LK	IE		00				0		177	Europe/Dublin	1998-02-19
-2961017	Lough Beagh	Lough Beagh	Lough Beagh,Lough Veagh	55.03833	-7.97167	H	LK	IE	IE	U	06			0		70	Europe/Dublin	2010-08-14
-2961018	Vartry River	Vartry River		53.00278	-6.05528	H	STM	IE		L	31			0		-9999	Europe/Dublin	2010-08-14
-2961019	Valencia River	Valencia River	Valencia River,Valentia River	51.93222	-10.27806	H	STM	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
-2961020	Valencia Island	Valencia Island	Valencia Island,Valentia Island	51.90833	-10.37194	T	ISL	IE	IE	M	11			0		28	Europe/Dublin	2010-08-14
-2961021	Valencia Harbour Station	Valencia Harbour Station	Valencia Harbour,Valencia Harbour Station,Valentia Harbour	51.91667	-10.28333	S	RSTN	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
-2961022	Valencia Harbour	Valencia Harbour	Valencia Harbour,Valentia Harbour	51.93	-10.30306	H	HBR	IE		M	11			0		35	Europe/Dublin	2010-08-14
-2961023	Urris Hills	Urris Hills		55.22389	-7.51889	T	MTS	IE		U	06			0		269	Europe/Dublin	2010-08-14
-2961024	Urrin River	Urrin River		52.49278	-6.56722	H	STM	IE		L	30			0		52	Europe/Dublin	2010-08-14
-2961025	Urlingford	Urlingford	Ath na nUrlainn,Urlingford,Áth na nUrlainn	52.72056	-7.5825	P	PPL	IE		L	13			0		143	Europe/Dublin	2010-08-14
-2961026	Urlaur Lough	Urlaur Lough		53.83333	-8.73333	H	LK	IE		C	20			0		54	Europe/Dublin	1993-12-27
-2961027	Uregare House	Uregare House	Uregare,Uregare House	52.45	-8.56667	S	EST	IE		M	16			0		75	Europe/Dublin	2010-08-10
-2961028	Urbalreagh	Urbalreagh		55.33639	-7.28528	P	PPL	IE		U	06			0		76	Europe/Dublin	2010-08-14
-2961029	Upton House	Upton House		51.79917	-8.68833	S	EST	IE		M	04			0		76	Europe/Dublin	2010-08-14
-2961030	Upton	Upton		51.79222	-8.67333	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
-2961031	Upper Court	Upper Court		52.72611	-7.40667	S	EST	IE		L	13			0		128	Europe/Dublin	2010-08-14
-2961032	Upperchurch	Upperchurch	Upperchurch	52.70333	-8.0175	P	PPL	IE		M	26			0		289	Europe/Dublin	2010-11-04
-2961033	Unshin River	Unshin River		54.19139	-8.48167	H	STM	IE		C	25			0		59	Europe/Dublin	2010-08-14
-2961034	Lough Unshin	Lough Unshin		54.52028	-8.07917	H	LK	IE		U	06			0		403	Europe/Dublin	2010-08-14
-2961035	Unionhall	Unionhall	Breantra,Bréantrá,Unionhall	51.55	-9.13333	P	PPL	IE		M	04			0		28	Europe/Dublin	2010-08-14
-2961036	Umrycam	Umrycam		55.18333	-7.7	P	PPL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961037	Ummeryroe	Ummeryroe		54.11667	-8.28333	P	PPL	IE		C	25			0		142	Europe/Dublin	1993-12-27
-2961038	Umma House	Umma House		53.45	-7.7	S	EST	IE		L	29			0		76	Europe/Dublin	1993-12-27
-2961039	Umfin Island	Umfin Island		55.10194	-8.36583	T	ISL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961040	Ullard	Ullard		52.57972	-6.93083	P	PPL	IE		L	13			0		27	Europe/Dublin	2010-08-14
-2961041	Lough Ugga Beg	Lough Ugga Beg		53.27194	-9.4325	H	LK	IE		C	10			0		74	Europe/Dublin	2010-08-14
-2961042	Tyrrelstown House	Tyrrelstown House		53.4	-6.4	S	EST	IE		L	07			0		36	Europe/Dublin	2010-08-14
-2961043	Tyrrellspass	Tyrrellspass	Bealach an Tirialaigh,Tyrrellspass,Tyrrelspass	53.38889	-7.37361	P	PPL	IE		L	29			0		133	Europe/Dublin	2010-08-14
-2961044	Tyredagh Castle	Tyredagh Castle	Tyredach Castle,Tyredagh Castle	52.88472	-8.79861	S	RUIN	IE	IE	M	03			0		66	Europe/Dublin	2010-08-14
-2961045	Tyrcallen	Tyrcallen		54.82528	-7.74417	S	EST	IE		U	06			0		82	Europe/Dublin	2010-08-14
-2961046	Tynagh	Tynagh	Tine,Tynagh,Tíne	53.14944	-8.3725	P	PPL	IE	IE	C	10			0		75	Europe/Dublin	2010-08-14
-2961047	Tyholland Bridge	Tyholland Bridge	Tyholland,Tyholland Bridge	54.25	-6.9	P	PPL	IE	IE	00				0		65	Europe/Dublin	2010-08-10
-2961048	Two Rock Mountain	Two Rock Mountain		53.23472	-6.24167	T	MT	IE		L	07			0	517	453	Europe/Dublin	2010-08-14
-2961049	Twomileditch	Twomileditch		53.30389	-8.99778	P	PPL	IE		C	10			0		3	Europe/Dublin	2010-08-14
-2961050	Twomileborris	Twomileborris		52.67167	-7.72	P	PPL	IE		M	26			0		124	Europe/Dublin	2010-08-14
-2961051	The Twelve Pins	The Twelve Pins	Beanna Beola,Benna Beola,The Twelve Bens,The Twelve Pins,Twelve Pins of Bennebeola	53.5	-9.83333	T	MTS	IE	IE	C	10			0		402	Europe/Dublin	2010-08-14
-2961052	Tuskar Rock	Tuskar Rock	Tuskar Rock	52.19889	-6.19833	T	RK	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961053	Turvey House	Turvey House		53.49667	-6.17556	S	EST	IE		L	07			0		1	Europe/Dublin	2010-08-14
-2961054	Turners Rock	Turners Rock		51.79222	-9.58111	T	MT	IE		M	04			0		233	Europe/Dublin	2010-08-14
-2961055	Turloughmore	Turloughmore		53.37472	-8.86472	P	PPL	IE		C	10			0		27	Europe/Dublin	2010-08-14
-2961056	Turlough	Turlough	Turlach,Turlough	53.88333	-9.21667	P	PPL	IE	IE	C	20			0		38	Europe/Dublin	2010-08-14
-2961057	Turlough	Turlough		53.09222	-9.06528	P	PPL	IE		M	03			0		68	Europe/Dublin	2010-08-14
-2961058	Turkstown	Turkstown		52.32333	-7.30389	P	PPL	IE		L	13			0		13	Europe/Dublin	2010-08-14
-2961059	Turbotston	Turbotston	Turbotston,Turbotstown,Turbotstown House	53.7	-7.35	S	EST	IE	IE	L	29			0		79	Europe/Dublin	2010-08-14
-2961060	Turbot Island	Turbot Island	Talbot Island,Turbot Island	53.50194	-10.14806	T	ISL	IE	IE	C	10			0		-9999	Europe/Dublin	2010-08-14
-2961061	Tulsk	Tulsk	Tuilsce,Tulsk	53.78333	-8.25	P	PPL	IE	IE	C	24			0		75	Europe/Dublin	2010-08-14
-2961062	Tullyvin House	Tullyvin House	Tullyvin,Tullyvin House	54.05	-7.15	S	HSEC	IE	IE	U	02			0		76	Europe/Dublin	2010-08-14
-2961063	Tullyvin	Tullyvin		54.04833	-7.14472	P	PPL	IE		U	02			0		76	Europe/Dublin	2010-08-14
-2961064	Tullynascreen	Tullynascreen		54.17472	-8.28167	P	PPL	IE		C	14			0		174	Europe/Dublin	2010-08-14
-2961065	Tullynahinnera	Tullynahinnera	Tullynahinera,Tullynahinnera	54.08333	-6.8	P	PPL	IE	IE	00				0		152	Europe/Dublin	2010-08-10
-2961066	Tullymurray	Tullymurray		54.13333	-8.1	P	PPL	IE		C	14			0		58	Europe/Dublin	1993-12-27
-2961067	Tullymore	Tullymore	Tullamore,Tullymore	54.52111	-8.17806	P	PPL	IE	IE	U	06			0		67	Europe/Dublin	2010-08-14
-2961068	Tully Lough	Tully Lough	Tally Lough,Tully Lough	53.58972	-9.97972	H	LK	IE		C	10			0		15	Europe/Dublin	2010-08-14
-2961069	Tullylease	Tullylease		52.3	-8.95	P	PPL	IE		M	04			0		155	Europe/Dublin	1993-12-27
-2961070	Tullyleague	Tullyleague		52.53611	-9.30028	P	PPL	IE		M	16			0		148	Europe/Dublin	2010-08-14
-2961071	Tullyglass House	Tullyglass House	Tullyglass,Tullyglass House	51.76	-8.86361	S	BLDG	IE	IE	M	04			0		110	Europe/Dublin	2010-08-14
-2961072	Tullycreen Upper	Tullycreen Upper	Tullycreen,Tullycreen Upper,Tullycrine	52.68389	-9.35583	P	PPL	IE	IE	M	03			0		27	Europe/Dublin	2010-08-14
-2961073	Tullycreen Lower	Tullycreen Lower		52.66833	-9.32722	P	PPL	IE		M	03			0		24	Europe/Dublin	2010-08-14
-2961074	Tullycanna	Tullycanna		52.2675	-6.66861	P	PPL	IE		L	30			0		35	Europe/Dublin	2010-08-14
-2961075	Tullybrook	Tullybrook		54.63194	-8.07889	P	PPL	IE		U	06			0		53	Europe/Dublin	2010-08-14
-2961076	Tullyard	Tullyard		53.58194	-6.79333	S	EST	IE		L	21			0		77	Europe/Dublin	2010-08-14
-2961077	Tullyallen	Tullyallen	Tullyallen	53.73611	-6.42278	P	PPL	IE		L	19			0		60	Europe/Dublin	2010-08-14
-2961078	Tully	Tully		53.23333	-9.48333	P	PPL	IE		C	10			0		-9999	Europe/Dublin	1993-12-27
-2961079	Tullow	Tullow	An Tulach,Tullow	52.80028	-6.73694	P	PPL	IE		L	01			2424		86	Europe/Dublin	2010-08-14
-2961080	Tullira Castle	Tullira Castle		53.13611	-8.78444	S	HSEC	IE		C	10			0		33	Europe/Dublin	2010-08-14
-2961081	Tullig Point	Tullig Point		52.61417	-9.80417	T	PT	IE		M	03			0		2	Europe/Dublin	2010-08-14
-2961082	Tullig	Tullig		52.61472	-9.77611	P	PPL	IE		M	03			0		30	Europe/Dublin	2010-08-14
-2961083	Tullig	Tullig		52.11278	-9.85444	P	PPL	IE		M	11			0		8	Europe/Dublin	2010-08-14
-2961084	Tullaroan	Tullaroan	Tullaroan	52.66222	-7.43639	P	PPL	IE		L	13			0		152	Europe/Dublin	2010-08-14
-2961085	Tullamore River	Tullamore River	Clonmore,Tullamore River	53.27722	-7.5775	H	STM	IE	IE	L	23			0		71	Europe/Dublin	2010-08-14
-2961086	Tullamore	Tullamore	Tulach Mhor,Tulach Mhór	53.27389	-7.48889	P	PPLA2	IE		L	23			11575		73	Europe/Dublin	2010-08-14
-2961087	Tullamore	Tullamore		52.49167	-9.48778	P	PPL	IE		M	11			0		68	Europe/Dublin	2010-08-14
-2961088	Tullaher Lough	Tullaher Lough	Lough Trullaher,Tullaher Lough	52.69861	-9.54528	H	LK	IE	IE	M	03			0		1	Europe/Dublin	2010-08-14
-2961089	Tullagh Point	Tullagh Point		55.29472	-7.46722	T	PT	IE		U	06			0		2	Europe/Dublin	2010-08-14
-2961090	Tullaghought	Tullaghought		52.42194	-7.36167	P	PPL	IE		L	13			0		169	Europe/Dublin	2010-08-14
-2961091	Tullagher	Tullagher		52.43167	-7.04556	P	PPL	IE		L	13			0		134	Europe/Dublin	2010-08-14
-2961092	Tullagh Bay	Tullagh Bay		55.28639	-7.44361	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961093	Tullaghanoge	Tullaghanoge		53.58889	-6.87222	P	PPL	IE		L	21			0		77	Europe/Dublin	2010-08-14
-2961094	Tullaghan Bay	Tullaghan Bay	Tallaghan Bay,Tullaghan Bay	54.09111	-9.86889	H	BAY	IE	IE	C	20			0		-9999	Europe/Dublin	2010-08-14
-2961095	Tullaghan	Tullaghan		54.46833	-8.33111	P	PPL	IE		C	14			0		1	Europe/Dublin	2010-08-14
-2961096	Tulla	Tulla	An Tulach,Tulla	52.86472	-8.76056	P	PPL	IE		M	03			0		152	Europe/Dublin	2010-08-14
-2961097	Tudenham Park	Tudenham Park		53.46667	-7.35	S	EST	IE		L	29			0		117	Europe/Dublin	1993-12-27
-2961098	Tubber	Tubber	Tobar,Tubber	52.99889	-8.88528	P	PPL	IE		C	10			0		47	Europe/Dublin	2010-08-14
-2961099	Tuam	Tuam	Tuaim,Tuam	53.51667	-8.85	P	PPL	IE		C	10			6130		48	Europe/Dublin	2010-08-14
-2961100	Truskmore	Truskmore		54.37639	-8.37222	T	MT	IE		00				0	646	591	Europe/Dublin	2006-01-16
-2961101	Trusk Lough	Trusk Lough		54.75722	-7.79917	H	LK	IE		U	06			0		161	Europe/Dublin	2010-08-14
-2961102	Trusklieve	Trusklieve		52.62778	-9.76444	P	PPL	IE		M	03			0		73	Europe/Dublin	2010-08-14
-2961103	Trubley Castle	Trubley Castle		53.56667	-6.71667	S	RUIN	IE		L	21			0		57	Europe/Dublin	1993-12-27
-2961104	Trough	Trough		52.73333	-8.61667	P	PPL	IE		M	03			0		79	Europe/Dublin	1993-12-27
-2961105	Triogue River	Triogue River	Tiogue River,Triogue River	53.11389	-7.28972	H	STM	IE	IE	L	15			0		107	Europe/Dublin	2010-08-14
-2961106	Trimoge River	Trimoge River		53.91667	-9.01667	H	STM	IE		C	20			0		30	Europe/Dublin	1993-12-27
-2961107	Baile Átha Troim	Baile Atha Troim	Baile Atha Troim,Baile Átha Troim,Trim	53.555	-6.79167	P	PPL	IE		L	21			1800		62	Europe/Dublin	2010-09-05
-2961108	The Triangle	The Triangle		53.76667	-9.4	P	PPLL	IE		C	20			0		137	Europe/Dublin	2010-08-14
-2961109	Tremone Bay	Tremone Bay		55.26667	-7.06667	H	BAY	IE		U	06			0		1	Europe/Dublin	1993-12-27
-2961110	Tremblestown River	Tremblestown River		53.55417	-6.83167	H	STM	IE		L	21			0		66	Europe/Dublin	2010-08-14
-2961111	Treantagh	Treantagh		54.92667	-7.4875	P	PPL	IE		U	06			0		52	Europe/Dublin	2010-08-14
-2961112	Trawmore Bay	Trawmore Bay		54.18361	-9.9575	H	BAY	IE		C	20			0		-9999	Europe/Dublin	2010-08-14
-2961113	Trawenagh Bay	Trawenagh Bay		54.89333	-8.35417	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961114	Trawbreaga Bay	Trawbreaga Bay	Trawbreaga Bay,Trawbreaga Lough	55.285	-7.29472	H	BAY	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
-2961115	Traverston House	Traverston House		52.7975	-8.16444	S	EST	IE		M	26			0		118	Europe/Dublin	2010-08-14
-2961116	Tranarossan Bay	Tranarossan Bay	Tranarossan Bay,Tranrossan Bay	55.23056	-7.82444	H	BAY	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
-2961117	Tranagh	Tranagh		52.69472	-7.6025	P	PPL	IE		M	26			0		138	Europe/Dublin	2010-08-14
-2961118	Tramore Bay	Tramore Bay		55.18333	-8.03333	H	BAY	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
-2961119	Tramore Bay	Tramore Bay		52.13917	-7.1325	H	BAY	IE		M	27			0		-9999	Europe/Dublin	2010-08-14
-2961120	Trá Mhór	Tra Mhor	Tramore	52.16235	-7.15244	P	PPL	IE		M	27			9164		2	Europe/Dublin	2010-08-14
-2961121	Tralong Bay	Tralong Bay		51.55694	-9.05861	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961122	Tralee Bay	Tralee Bay	Tralee Bay	52.27833	-9.93139	H	BAY	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961123	Trá Lí	Tra Li	Tra Li,Tralee,Trá Lí	52.27042	-9.70264	P	PPLA2	IE		M	11			22941	912	48	Europe/Dublin	2010-10-06
-2961124	Tracton	Tracton		51.76139	-8.41639	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
-2961125	Tracarta	Tracarta		51.51583	-9.19389	P	PPL	IE		M	04			0		6	Europe/Dublin	2010-08-14
-2961126	Trabolgan House	Trabolgan House		51.79972	-8.23583	S	EST	IE		M	04			0		1	Europe/Dublin	2010-08-14
-2961127	Townley Hall	Townley Hall		53.72944	-6.44722	S	EST	IE		L	19			0		54	Europe/Dublin	2010-08-14
-2961128	Towerhill House	Towerhill House		53.71667	-9.2	S	EST	IE		C	20			0		46	Europe/Dublin	1993-12-27
-2961129	Tower	Tower	Tower,Tower Village	51.91667	-8.6	P	PPL	IE		M	04			3099		70	Europe/Dublin	2010-08-14
-2961130	Tourin	Tourin		52.11667	-7.86667	P	PPL	IE		M	27			0		17	Europe/Dublin	1993-12-27
-2961131	Tourig River	Tourig River		51.97778	-7.8625	H	STM	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961132	Tory Sound	Tory Sound		55.21667	-8.2	H	SD	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
-2961133	Toraigh	Toraigh	Toraigh,Tory Island	55.26444	-8.22111	T	ISL	IE		U	06			0		15	Europe/Dublin	2010-08-14
-2961134	The Tor Rocks	The Tor Rocks		55.43333	-7.25	T	RKS	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961135	Torneady Point	Torneady Point	Tornado Point,Torneady Point	55.02167	-8.54028	T	PT	IE	IE	U	06			0		35	Europe/Dublin	2010-08-14
-2961136	Tormore Island	Tormore Island		54.76389	-8.69222	T	ISL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961137	Torc Mountain	Torc Mountain	Torc Mountain	52	-9.51667	T	MT	IE		M	11			0		189	Europe/Dublin	2010-08-10
-2961138	Torc Cascade	Torc Cascade	Torc Cascade,Tore Cascade	52	-9.5	H	FLLS	IE		M	11			0		378	Europe/Dublin	2010-08-10
-2961139	Toormore Bay	Toormore Bay		51.50194	-9.65583	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961140	Toormore	Toormore		53.79278	-10.03417	L	LCTY	IE		C	20			0		111	Europe/Dublin	2010-08-14
-2961141	Toormore	Toormore		51.52083	-9.65611	P	PPL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961142	Toormakeady Lodge	Toormakeady Lodge	Toormakeady,Toormakeady Lodge	53.65	-9.38333	S	EST	IE		C	20			0		59	Europe/Dublin	2010-08-10
-2961143	Toormakeady	Toormakeady		53.65	-9.36667	P	PPL	IE		C	20			0		59	Europe/Dublin	1993-12-27
-2961144	Tooreeny	Tooreeny		53	-8.38333	P	PPL	IE		C	10			0		68	Europe/Dublin	2010-08-14
-2961145	Tooreens	Tooreens		51.84278	-10.02861	P	PPL	IE		M	11			0		421	Europe/Dublin	2010-08-14
-2961146	Tooreengarriv	Tooreengarriv		52.16667	-9.28333	P	PPL	IE		M	11			0		241	Europe/Dublin	1993-12-27
-2961147	Tooreendonnell	Tooreendonnell		52.495	-9.22694	P	PPL	IE		M	16			0		152	Europe/Dublin	2010-08-14
-2961148	Tooreencahill	Tooreencahill		52.15	-9.25	P	PPL	IE		M	11			0		181	Europe/Dublin	1993-12-27
-2961149	Tooreenbrien Bridge	Tooreenbrien Bridge	Tooreenbrien,Tooreenbrien Bridge	52.6925	-8.27361	P	PPL	IE	IE	M	26			0		288	Europe/Dublin	2010-11-04
-2961150	Tooreen	Tooreen		53.66667	-9.28333	P	PPL	IE		C	20			0		49	Europe/Dublin	1993-12-27
-2961151	Tooreen	Tooreen		51.55	-9.83333	P	PPL	IE		M	04			0		-9999	Europe/Dublin	1993-12-27
-2961152	Tooravoola	Tooravoola		53.05667	-8.64028	P	PPL	IE		C	10			0		146	Europe/Dublin	2010-08-14
-2961153	Tooraneena	Tooraneena		52.20222	-7.715	P	PPL	IE		M	27			0		152	Europe/Dublin	2010-08-14
-2961154	Toor	Toor		51.8	-10.16667	P	PPL	IE		M	11			0		39	Europe/Dublin	2010-08-14
-2961155	Toon River	Toon River		51.88333	-9.01667	H	STM	IE		M	04			0		104	Europe/Dublin	1993-12-27
-2961156	Toonagh House	Toonagh House		52.88778	-9.02833	S	EST	IE		M	03			0		50	Europe/Dublin	2010-08-14
-2961157	Toomyvara	Toomyvara	Toomyvara,Tuaim Ui Mheara,Tuaim Uí Mheára	52.84972	-8.03222	P	PPL	IE		M	38			0		157	Europe/Dublin	2010-11-04
-2961158	Toomona House	Toomona House		53.76667	-8.28333	S	EST	IE		C	24			0		78	Europe/Dublin	1993-12-27
-2961159	Toomard	Toomard		53.53333	-8.46667	P	PPL	IE		C	10			0		73	Europe/Dublin	1993-12-27
-2961160	Tooban Junction	Tooban Junction		55.05	-7.43333	S	RSTN	IE		U	06			0		55	Europe/Dublin	1993-12-27
-2961161	Tonlegee House	Tonlegee House	Tonlegee,Tonlegee House	52.9775	-6.98917	S	EST	IE	IE	L	15			0		59	Europe/Dublin	2010-08-14
-2961162	Tonduff	Tonduff		55.2	-7.51667	P	PPL	IE		U	06			0		62	Europe/Dublin	1993-12-27
-2961163	Tomies Mountain	Tomies Mountain		52.01667	-9.61667	T	MT	IE		M	11			0		432	Europe/Dublin	1993-12-27
-2961164	Tomhaggard	Tomhaggard		52.21194	-6.51778	P	PPL	IE		L	30			0		11	Europe/Dublin	2010-08-14
-2961165	Tuamgraney	Tuamgraney	Tomgraney,Tuaim Greine,Tuaim Gréine,Tuamgraney	52.89722	-8.53861	P	PPL	IE		M	03			0		75	Europe/Dublin	2010-08-14
-2961166	Tombrack	Tombrack		52.60278	-6.5475	P	PPL	IE		L	30			0		71	Europe/Dublin	2010-08-14
-2961167	Tomacurry	Tomacurry		52.55333	-6.56	P	PPL	IE		L	30			0		56	Europe/Dublin	2010-08-14
-2961168	Tolka River	Tolka River	An Tulca,Tolka River	53.34972	-6.23889	H	STM	IE	IE	00				0		1	Europe/Dublin	2010-08-10
-2961169	Toghermore	Toghermore		53.48333	-8.81667	S	EST	IE		C	10			0		43	Europe/Dublin	1993-12-27
-2961170	The Togher	The Togher		53.07972	-7.19972	P	PPL	IE		L	15			0		134	Europe/Dublin	2010-08-14
-2961171	Togher	Togher		53.84278	-6.30278	P	PPL	IE		L	19			0		21	Europe/Dublin	2010-08-14
-2961172	Togher	Togher		53.08167	-6.52	P	PPL	IE		L	31			0		280	Europe/Dublin	2010-08-14
-2961173	Roundwood	Roundwood	An Tochar,An Tóchar,Roundwood,Togher	53.05861	-6.22611	P	PPL	IE		L	31			0		258	Europe/Dublin	2010-08-14
-2961174	Togher	Togher		51.8775	-8.49167	P	PPL	IE		M	04			0		56	Europe/Dublin	2010-08-14
-2961175	Togher	Togher		51.78111	-9.15556	P	PPL	IE		M	04			0		145	Europe/Dublin	2010-08-14
-2961176	Toem	Toem		52.57667	-8.19611	P	PPL	IE		M	26			0		96	Europe/Dublin	2010-08-14
-2961177	Toe Head Bay	Toe Head Bay		51.49111	-9.25167	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961178	Toe Head	Toe Head		51.48583	-9.23556	T	CAPE	IE		M	04			0		3	Europe/Dublin	2010-08-14
-2961179	Tobertynan House	Tobertynan House	Tobertynan,Tobertynan House	53.48528	-6.8575	S	EST	IE	IE	L	21			0		79	Europe/Dublin	2010-08-14
-2961180	Toberscanavan	Toberscanavan		54.16694	-8.48556	P	PPL	IE		C	25			0		66	Europe/Dublin	2010-08-14
-2961181	Toberdan	Toberdan		53.53333	-8.06667	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2961182	Tobercurry	Tobercurry	Tobar an Choire,Tobercurry,Tubbercurry	54.05	-8.73333	P	PPL	IE		C	25			0		92	Europe/Dublin	2010-08-14
-2961183	Tober	Tober		54.21667	-8.00194	P	PPL	IE		U	02			0		158	Europe/Dublin	2010-08-14
-2961184	Tober	Tober		53.375	-7.65611	P	PPL	IE		L	23			0		73	Europe/Dublin	2010-08-14
-2961185	Tivoli House	Tivoli House		51.9	-8.43333	S	EST	IE		M	04			0		27	Europe/Dublin	2010-08-14
-2961186	Tirraboy	Tirraboy		55.25	-7.15	P	PPL	IE		U	06			0		25	Europe/Dublin	1993-12-27
-2961187	Tirneevin	Tirneevin		53.06417	-8.88306	P	PPL	IE		C	10			0		44	Europe/Dublin	2010-08-14
-2961188	Tiragarvan	Tiragarvan		53.98333	-6.76667	P	PPL	IE		00				0		99	Europe/Dublin	1993-12-27
-2961189	Tipperary South Riding	Tipperary South Riding	South Riding,Tipperary County South Riding	52.41667	-7.83333	A	ADM2	IE		00	40			80276		151	Europe/Dublin	2010-08-14
-2961190	Tipperary North Riding	Tipperary North Riding	North Riding,Tipperary County North Riding	52.75	-7.83333	A	ADM2	IE		00	38			61926		104	Europe/Dublin	2010-08-14
-2961191	County Tipperary	County Tipperary	Contae Thiobraid Arann,Contae Thiobraid Árann,County Tipperary,Tiobraid Arann,Tiobraid Árann,Tipperary	52.66667	-7.83333	A	ADMD	IE	IE	M	26			0		93	Europe/Dublin	2010-11-04
-2961192	Tiobraid Árann	Tiobraid Arann	Tipperary	52.47333	-8.15583	P	PPL	IE		M	26			4976		166	Europe/Dublin	2010-08-14
-2961193	Tintrim House	Tintrim House		52.96417	-8.34556	S	EST	IE		M	03			0		56	Europe/Dublin	2010-08-14
-2961194	Tintern Abbey	Tintern Abbey		52.23528	-6.83333	S	MSTY	IE		L	30			0		3	Europe/Dublin	2010-08-14
-2961195	Tinny Park	Tinny Park		53.68333	-8.38333	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2961196	Tinnaslatty House	Tinnaslatty House		52.8	-7.41667	S	RUIN	IE		L	13			0		154	Europe/Dublin	2010-08-14
-2961197	Timnapark House	Timnapark House	Timnapark House,Tinnapark,Tinnapark House	53.1	-6.11667	S	HSEC	IE	IE	L	31			0		114	Europe/Dublin	2010-08-14
-2961198	Tinnahinch	Tinnahinch		52.53861	-6.94806	P	PPL	IE		L	01			0		28	Europe/Dublin	2010-08-14
-2961199	Tinnaglogh	Tinnaglogh		52.26806	-6.89722	P	PPL	IE		L	30			0		64	Europe/Dublin	2010-08-14
-2961200	Tinkerslane	Tinkerslane		53.505	-6.98111	P	PPL	IE		L	21			0		84	Europe/Dublin	2010-08-14
-2961201	Tincoora	Tincoora		52.1	-8.86667	P	PPL	IE		M	04			0		156	Europe/Dublin	1993-12-27
-2961202	Tinarana House	Tinarana House	Tinarana,Tinarana House	52.86444	-8.44917	S	EST	IE	IE	M	03			0		55	Europe/Dublin	2010-08-14
-2961203	Tinalira	Tinalira		52.18472	-7.72806	P	PPL	IE		M	27			0		133	Europe/Dublin	1997-12-15
-2961204	Tinahely	Tinahely	Tigh na hEille,Tigh na hÉille,Tinahely	52.79667	-6.46333	P	PPL	IE	IE	L	31			0		121	Europe/Dublin	2010-08-14
-2961205	Timoney Park	Timoney Park	Timaney Park,Timoney Park	52.91139	-7.72333	S	EST	IE	IE	M	26			0		153	Europe/Dublin	2010-11-04
-2961206	Timolin	Timolin		52.9825	-6.81167	P	PPL	IE		L	12			0		138	Europe/Dublin	2010-08-14
-2961207	Timoleague	Timoleague	Tigh Molaige,Timoleague	51.64222	-8.77306	P	PPL	IE	IE	M	04			0		25	Europe/Dublin	2010-08-14
-2961208	Timahoe	Timahoe		53.335	-6.83861	P	PPL	IE		L	12			0		92	Europe/Dublin	2010-08-14
-2961209	Timahoe	Timahoe	Tigh Mochua,Timahoe	52.95833	-7.20528	P	PPL	IE	IE	L	15			0		152	Europe/Dublin	2010-08-14
-2961210	Tiltinbane	Tiltinbane	Tiltinbane	54.21972	-7.85778	T	MT	IE		00				0	594	453	Europe/Dublin	2006-01-16
-2961211	Tievemore House	Tievemore House		54.59444	-7.77472	S	HSEC	IE		U	06			0		173	Europe/Dublin	2010-08-14
-2961212	Tievemore	Tievemore		54.58333	-7.76667	P	PPL	IE		00				0		330	Europe/Dublin	1993-12-27
-2961213	Tiaquin	Tiaquin		53.35972	-8.63333	P	PPL	IE		C	10			0		74	Europe/Dublin	2010-08-14
-2961214	Durlas	Durlas	Thurles	52.68194	-7.80222	P	PPL	IE		M	26			7588		98	Europe/Dublin	2010-08-14
-2961215	The Three Sisters	The Three Sisters		52.20167	-10.42194	T	HLLS	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961216	The Pigeons	The Pigeons	The Pigeons,Three Jolly Pigeons	53.5	-7.81667	P	PPL	IE	IE	L	29			0		77	Europe/Dublin	2010-08-14
-2961217	Threecastles House	Threecastles House	Three Castles,Threecastles House	52.71	-7.32	S	EST	IE	IE	L	13			0		67	Europe/Dublin	2010-08-14
-2961218	Three Castle Head	Three Castle Head		51.48278	-9.83667	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961219	Thomastown Park	Thomastown Park	Thomastown House,Thomastown Park	53.36583	-8.07333	S	EST	IE	IE	C	24			0		123	Europe/Dublin	2010-08-14
-2961220	Thomaston Park	Thomaston Park	Thomaston Park,Thomastown House,Thomastown Park	53.13389	-7.79583	S	EST	IE	IE	L	23			0		76	Europe/Dublin	2010-08-14
-2961221	Thomastown Castle	Thomastown Castle		53.93333	-6.58333	S	EST	IE		00				0		44	Europe/Dublin	1993-12-27
-2961222	Thomastown Castle	Thomastown Castle		52.48972	-8.03222	S	EST	IE		M	26			0		79	Europe/Dublin	2010-08-14
-2961223	Thomastown	Thomastown		53.39639	-6.88417	P	PPL	IE		L	12			0		86	Europe/Dublin	2010-08-14
-2961224	Thomastown	Thomastown	Baile Mhic Andain,Baile Mhic Andáin,Thomastown	52.52667	-7.13722	P	PPL	IE		L	13			1603		52	Europe/Dublin	2010-08-14
-2961225	Thomastown	Thomastown	Thomastown,Thomastown Castle	52.49417	-8.02444	P	PPL	IE	IE	M	26			0		79	Europe/Dublin	2010-11-04
-2961226	Thomas Street	Thomas Street		53.46667	-8.21667	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2961227	Tervoe House	Tervoe House		52.64944	-8.71139	S	EST	IE		M	16			0		3	Europe/Dublin	2010-08-14
-2961228	Terryglass	Terryglass	Terryglass	53.05028	-8.19889	P	PPL	IE		M	26			0		55	Europe/Dublin	2010-11-04
-2961229	Termon River	Termon River	Termon River	54.53333	-7.85	H	STM	IE		00				0		68	Europe/Dublin	1998-02-19
-2961230	Termon Hill	Termon Hill		54.10333	-10.09611	T	HLL	IE		C	20			0	105	2	Europe/Dublin	2010-08-14
-2961231	Termonfeckin	Termonfeckin	Tearmann Feichin,Tearmann Feichín,Termonfeckin	53.76333	-6.26778	P	PPL	IE		L	19			0		3	Europe/Dublin	2010-08-14
-2961232	Termon Cottage	Termon Cottage		53.04806	-9.06056	S	HSEC	IE		M	03			0		151	Europe/Dublin	2010-08-14
-2961233	Termoncarragh	Termoncarragh		54.25139	-10.06361	P	PPL	IE		C	20			0		57	Europe/Dublin	2010-08-14
-2961234	Termonbarry	Termonbarry		53.75	-7.91667	P	PPL	IE		00				0		66	Europe/Dublin	1993-12-27
-2961235	Terenure	Terenure	Roundtown,Terenure	53.30972	-6.28528	P	PPL	IE	IE	00				0		49	Europe/Dublin	2010-08-10
-2961236	Templetouhy	Templetouhy	Teampall Tuaithe,Templetouhy,Templetuohy	52.78722	-7.71972	P	PPL	IE	IE	M	26			0		147	Europe/Dublin	2010-11-04
-2961237	An Teampall Mór	An Teampall Mor	Templemore	52.79472	-7.83389	P	PPL	IE		M	26			2264		120	Europe/Dublin	2010-08-14
-2961238	Templehouse Lake	Templehouse Lake		54.10333	-8.58917	H	LK	IE		C	25			0		74	Europe/Dublin	2010-08-14
-2961239	Temple House	Temple House		54.11083	-8.59111	S	HSEC	IE		C	25			0		74	Europe/Dublin	2010-08-14
-2961240	Templebreedy	Templebreedy		51.78167	-8.31583	A	PRSH	IE		M	04			0		5	Europe/Dublin	2010-08-14
-2961241	Templeboy	Templeboy		54.24583	-8.8125	P	PPL	IE		C	25			0		43	Europe/Dublin	2010-08-14
-2961242	Templebodan	Templebodan		51.99861	-8.24583	P	PPL	IE		M	04			0		138	Europe/Dublin	2010-08-14
-2961243	Temple	Temple	Oriel Temple,Temple	53.78333	-6.46667	S	EST	IE	IE	00				0		152	Europe/Dublin	2010-08-10
-2961244	Temora House	Temora House		53.16667	-7.75	S	EST	IE		L	23			0		73	Europe/Dublin	2010-08-14
-2961245	Teltown House	Teltown House	Teltown,Teltown House	53.69667	-6.77861	S	BLDG	IE	IE	L	21			0		57	Europe/Dublin	2010-08-14
-2961246	Teeromoyle	Teeromoyle		51.97222	-10.07028	P	PPL	IE		M	11			0		170	Europe/Dublin	2010-08-14
-2961247	Teerelton	Teerelton		51.85139	-8.98444	P	PPL	IE		M	04			0		152	Europe/Dublin	2010-08-14
-2961248	Teeranearagh	Teeranearagh		51.86861	-10.26278	P	PPL	IE		M	11			0		263	Europe/Dublin	2010-08-14
-2961249	Teelin Bay	Teelin Bay	Teelin Bay,Teelin Harbour	54.63333	-8.63333	H	HBR	IE		U	06			0		-9999	Europe/Dublin	2010-08-10
-2961250	Teelin	Teelin		54.63472	-8.64167	P	PPL	IE		U	06			0		15	Europe/Dublin	2010-08-14
-2961251	Tedavnet	Tedavnet		54.29639	-7.01389	P	PPL	IE		U	22			0		138	Europe/Dublin	2010-08-14
-2961252	Tearaght Island	Tearaght Island	Inishteraght,Tearaght Island	52.07528	-10.65667	T	ISL	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
-2961253	River Tay	River Tay		52.125	-7.46222	H	STM	IE		M	27			0		-9999	Europe/Dublin	2010-08-14
-2961254	Lough Tay	Lough Tay	Loch Te,Loch Té,Lough Tay,Luggada Lake	53.10472	-6.26861	H	LK	IE	IE	L	31			0		342	Europe/Dublin	2010-08-14
-2961255	Tawnyinah	Tawnyinah		53.9	-8.76667	P	PPL	IE		C	20			0		135	Europe/Dublin	1993-12-27
-2961256	Tawny Bay	Tawny Bay		54.62167	-8.61861	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961257	Tawnyard Lough	Tawnyard Lough		53.63333	-9.63333	H	LK	IE		C	20			0		74	Europe/Dublin	1993-12-27
-2961258	Tawny	Tawny	Tamney,Tawny	55.2	-7.68333	P	PPL	IE	IE	U	06			0		51	Europe/Dublin	2010-08-14
-2961259	Tawny	Tawny		54.62444	-8.60083	P	PPL	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961260	Tawnawully Mountains	Tawnawully Mountains		54.73528	-7.98333	T	MTS	IE		U	06			0		180	Europe/Dublin	2010-08-14
-2961261	Tawin Island	Tawin Island	Tawin Island,West Tawin	53.21861	-9.03194	T	ISL	IE	IE	C	10			0		1	Europe/Dublin	2010-08-14
-2961262	Taurbeg	Taurbeg		52.23333	-9.13333	T	MT	IE		M	04			0		299	Europe/Dublin	1993-12-27
-2961263	Taur	Taur		52.23333	-9.11667	P	PPL	IE		M	04			0		291	Europe/Dublin	1993-12-27
-2961264	Tarsaghaunmore River	Tarsaghaunmore River		54.06361	-9.785	H	STM	IE		C	20			0		55	Europe/Dublin	2010-08-14
-2961265	Tarmon	Tarmon		52.53806	-9.37889	P	PPL	IE		M	11			0		76	Europe/Dublin	2010-08-14
-2961266	Tarbert House	Tarbert House		52.57833	-9.36833	S	EST	IE		M	11			0		1	Europe/Dublin	2010-08-14
-2961267	Tarbert	Tarbert	Tairbeart,Tarbert	52.57278	-9.37528	P	PPL	IE	IE	M	11			0		12	Europe/Dublin	2010-08-14
-2961268	Tara Hill	Tara Hill		52.69806	-6.21472	T	HLL	IE		L	30			0		56	Europe/Dublin	2010-08-14
-2961269	Tara Hall	Tara Hall		53.58	-6.60222	S	EST	IE		L	21			0		121	Europe/Dublin	2010-08-14
-2961270	Hill of Tara	Hill of Tara		53.57972	-6.61194	T	HLL	IE		L	21			0		135	Europe/Dublin	2010-08-14
-2961271	River Tar	River Tar		52.28333	-7.83333	H	STM	IE		00				0		48	Europe/Dublin	1993-12-27
-2961272	Lough Tap	Lough Tap		53.9	-7.98333	H	LK	IE		C	14			0		92	Europe/Dublin	1993-12-27
-2961273	Tanrego House	Tanrego House	Tanrego,Tanrego House	54.23056	-8.61222	S	HSEC	IE	IE	C	25			0		1	Europe/Dublin	2010-08-14
-2961274	Tankersley House	Tankersley House		52.82667	-6.38583	S	EST	IE		L	31			0		87	Europe/Dublin	2010-08-14
-2961275	Tang River	Tang River		53.53333	-7.83333	H	STM	IE		L	29			0		67	Europe/Dublin	1993-12-27
-2961276	Tang	Tang		53.53333	-7.78333	P	PPL	IE		L	29			0		67	Europe/Dublin	1993-12-27
-2961277	Lough Talt	Lough Talt		54.08389	-8.92139	H	LK	IE		C	25			0		182	Europe/Dublin	2010-08-14
-2961278	Tallyho Lodge	Tallyho Lodge		53.27	-8.69611	S	HSEC	IE		C	10			0		46	Europe/Dublin	2010-08-14
-2961279	Tallyho	Tallyho		52.81361	-6.36222	P	PPL	IE		L	31			0		170	Europe/Dublin	2010-08-14
-2961280	Tallow Road Station	Tallow Road Station	Tallow Road,Tallow Road Station	52.11667	-7.98333	S	RSTN	IE	IE	M	27			0		71	Europe/Dublin	2010-08-14
-2961281	Tallowbridge	Tallowbridge		52.10417	-8.00278	P	PPL	IE		M	27			0		32	Europe/Dublin	2010-08-14
-2961282	Tallow	Tallow	Tallow,Tulach an Iarainn	52.09278	-8.00806	P	PPL	IE		M	27			0		44	Europe/Dublin	2010-08-14
-2961283	Tallanstown	Tallanstown		53.92278	-6.54639	P	PPL	IE		L	19			0		36	Europe/Dublin	2010-08-14
-2961284	Tallaght	Tallaght	Tallaght	53.2859	-6.37344	P	PPL	IE	IE	L	07			64282		87	Europe/Dublin	2010-08-14
-2961285	Talbotstown House	Talbotstown House		53.22917	-6.45167	S	EST	IE		L	31			0		298	Europe/Dublin	2010-08-14
-2961286	Talbot Hall	Talbot Hall		52.38611	-6.9125	S	EST	IE		L	13			0		76	Europe/Dublin	2010-08-14
-2961287	Tahilla	Tahilla		51.83722	-9.83639	P	PPL	IE		M	11			0		62	Europe/Dublin	2010-08-14
-2961288	Tagoat	Tagoat		52.24278	-6.38028	P	PPL	IE		L	30			0		1	Europe/Dublin	2010-08-14
-2961289	Taghshinny	Taghshinny	Taghshinny	53.6	-7.71667	P	PPL	IE		L	18			0		76	Europe/Dublin	2010-08-10
-2961290	Taghsheenod	Taghsheenod		53.61667	-7.71667	P	PPL	IE		L	18			0		90	Europe/Dublin	1993-12-27
-2961291	Taghmon Castle	Taghmon Castle		53.6	-7.26667	S	BLDG	IE		L	29			0		118	Europe/Dublin	1993-12-27
-2961292	Taghmon	Taghmon	Taghmon,Teach Munna	52.32167	-6.6475	P	PPL	IE		L	30			0		73	Europe/Dublin	2010-08-14
-2961293	Tacumshin Lake	Tacumshin Lake	Tacumshin Lake,Tacumshin Lough,Tucumshin Lake	52.19528	-6.45306	H	BAY	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
-2961294	Lough Tacker	Lough Tacker		54.01667	-6.95	H	LK	IE		U	02			0		127	Europe/Dublin	2010-08-14
-2961295	Table Mountain	Table Mountain		53.01444	-6.48417	T	MT	IE		L	31			0	701	599	Europe/Dublin	2010-08-14
-2961296	Sybil Point	Sybil Point		52.17806	-10.47333	T	PT	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961297	Swords	Swords	Sord,Swords	53.45972	-6.21806	P	PPL	IE		L	35			29816		6	Europe/Dublin	2010-11-04
-2961298	Swines Head	Swines Head		52.12972	-7.02667	T	CAPE	IE		M	27			0		-9999	Europe/Dublin	2010-08-14
-2961299	Swinford	Swinford	Beal Atha na Muice,Béal Átha na Muice,Swineford,Swinford	53.95	-8.95	P	PPL	IE		C	20			1241		68	Europe/Dublin	2010-08-14
-2961300	River Swilly	River Swilly		54.96056	-7.67778	H	STM	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961301	Lough Swilly	Lough Swilly	Loch Suili,Loch Súilí,Lough Swilly,The Lake of Shadows	55.16667	-7.53333	H	INLT	IE		U	06			0		-9999	Europe/Dublin	2011-03-06
-2961302	The Sweep	The Sweep		52.21667	-7.23333	P	PPL	IE		M	27			0		49	Europe/Dublin	2010-08-14
-2961303	Swanlinbar	Swanlinbar	An Muileann Iarainn,Swanlinbar	54.19472	-7.70444	P	PPL	IE		U	02			0		74	Europe/Dublin	2010-08-14
-2961304	Swan	Swan		52.8875	-7.15972	P	PPL	IE		L	15			0		153	Europe/Dublin	2010-08-14
-2961305	Sutton	Sutton	Sutton	53.39056	-6.12167	P	PPL	IE		L	07			0		-9999	Europe/Dublin	2010-11-04
-2961306	Sunvale	Sunvale	Sun Ville,Sunvale	52.34611	-8.5175	S	EST	IE	IE	M	16			0		151	Europe/Dublin	2010-08-14
-2961307	Lough Sunderlin	Lough Sunderlin	Lough Sewdy,Lough Sunderlin	53.5	-7.66667	H	LK	IE		L	29			0		79	Europe/Dublin	2010-08-10
-2961308	Summerville	Summerville		53.8	-7.36667	P	PPL	IE		U	02			0		73	Europe/Dublin	1993-12-27
-2961309	Summerhill House	Summerhill House		53.47	-6.72556	S	EST	IE		L	21			0		78	Europe/Dublin	2010-08-14
-2961310	Summerhill House	Summerhill House		52.76306	-7.94278	S	EST	IE		M	26			0		107	Europe/Dublin	2010-08-14
-2961311	Summerhill House	Summerhill House	Summerhill House,Summerville	52.36778	-7.73889	S	EST	IE	IE	M	26			0		71	Europe/Dublin	2010-11-04
-2961312	Summerhill	Summerhill		53.47694	-6.73639	P	PPL	IE		L	21			0		77	Europe/Dublin	2010-08-14
-2961313	Summerhill	Summerhill		52.80528	-7.13722	P	PPL	IE		L	13			0		227	Europe/Dublin	2010-08-14
-2961314	Summer Cove	Summer Cove	Summer Cove,Summor Cove	51.70333	-8.50222	P	PPL	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
-2961315	Sullane River	Sullane River		51.88333	-8.93333	H	STM	IE		M	04			0		85	Europe/Dublin	2010-08-14
-2961316	Suir Mount	Suir Mount		52.29611	-7.79222	S	EST	IE		M	27			0		59	Europe/Dublin	2010-08-14
-2961317	Suir Island	Suir Island		52.35	-7.7	T	ISL	IE		M	27			0		132	Europe/Dublin	2010-08-14
-2961318	Suircastle House	Suircastle House		52.46167	-7.98972	S	HSEC	IE		M	26			0		73	Europe/Dublin	2010-08-14
-2961319	River Suir	River Suir	River Suir	52.27333	-6.99556	H	STM	IE		00				0		1	Europe/Dublin	2011-01-04
-2961320	Sugarloaf Mountain	Sugarloaf Mountain	Sugarloaf Mountain	51.72583	-9.63111	T	MT	IE		M	04			0		228	Europe/Dublin	2010-08-14
-2961321	Sugar Hill	Sugar Hill		52.43611	-9.16917	T	HLL	IE		M	11			0		312	Europe/Dublin	2010-08-14
-2961322	River Suck	River Suck		53.27222	-8.05306	H	STM	IE		00				0		55	Europe/Dublin	1998-08-18
-2961323	Sturrall	Sturrall		54.73667	-8.74417	T	CAPE	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961324	Stuake	Stuake		51.98333	-8.76667	P	PPL	IE		M	04			0		171	Europe/Dublin	2010-08-14
-2961325	Stroove	Stroove		55.21667	-6.93333	P	PPL	IE		U	06			0		-9999	Europe/Dublin	1993-12-27
-2961326	Strokestown House	Strokestown House		53.76667	-8.1	S	EST	IE		C	24			0		71	Europe/Dublin	1993-12-27
-2961327	Strokestown	Strokestown	Beal na mBuilli,Béal na mBuillí,Strokestown	53.78333	-8.1	P	PPL	IE		C	24			0		72	Europe/Dublin	2010-08-14
-2961328	Street	Street		53.66667	-7.48333	P	PPL	IE		L	29			0		72	Europe/Dublin	1993-12-27
-2961329	Streek Head	Streek Head		51.47056	-9.70306	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961330	Streedagh Point	Streedagh Point		54.41194	-8.56722	T	PT	IE		C	25			0		1	Europe/Dublin	2010-08-14
-2961331	Streedagh House	Streedagh House		54.39778	-8.56389	S	HSEC	IE		C	25			0		1	Europe/Dublin	2010-08-14
-2961332	Streamstown Bay	Streamstown Bay		53.50917	-10.06833	H	BAY	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
-2961333	Streamstown	Streamstown		53.52333	-10.04694	P	PPL	IE		C	10			0		76	Europe/Dublin	2010-08-14
-2961334	Streamstown	Streamstown		53.43333	-7.58333	P	PPL	IE		L	29			0		102	Europe/Dublin	1993-12-27
-2961335	Strawberryhill House	Strawberryhill House		53.23639	-7.88778	S	HSEC	IE		L	23			0		68	Europe/Dublin	2010-08-14
-2961336	Stratford	Stratford	Ath na Sraide,Stratford,Áth na Sráide	52.98583	-6.67778	P	PPL	IE		L	31			0		147	Europe/Dublin	2010-08-14
-2961337	Stranorlar	Stranorlar	Srath an Urlair,Srath an Urláir,Stranorlar	54.8	-7.76667	P	PPL	IE		U	06			0		58	Europe/Dublin	2010-08-14
-2961338	Strand	Strand		52.39556	-9.11056	P	PPL	IE		M	03			0		152	Europe/Dublin	2010-08-14
-2961339	Strancally House	Strancally House		52.01667	-7.85	S	BLDG	IE		M	04			0		71	Europe/Dublin	2010-08-14
-2961340	Strancally Castle	Strancally Castle		52.06861	-7.87694	S	EST	IE		M	27			0		36	Europe/Dublin	2010-08-14
-2961341	Straid River	Straid River		55.28333	-7.33333	H	STM	IE		U	06			0		40	Europe/Dublin	1993-12-27
-2961342	Straffan	Straffan		53.31556	-6.63472	P	PPL	IE		L	12			0		72	Europe/Dublin	2010-08-14
-2961343	Stradone House	Stradone House		53.98389	-7.25	S	EST	IE		U	02			0		134	Europe/Dublin	2010-08-14
-2961344	Stradone	Stradone	Sraith an Domhain,Stradone	53.98333	-7.23333	P	PPL	IE	IE	U	02			0		135	Europe/Dublin	2010-08-14
-2961345	Strade	Strade		53.91694	-9.13389	P	PPL	IE		C	20			0		38	Europe/Dublin	2010-08-14
-2961346	Stradbally River	Stradbally River	Bauteogue River,Stradbally River,Strade River,Straid River	53.03806	-7.08972	H	STM	IE	IE	L	15			0		72	Europe/Dublin	2010-08-14
-2961347	Stradbally Hall	Stradbally Hall		53	-7.16667	S	EST	IE		L	15			0		152	Europe/Dublin	2010-08-14
-2961348	Stradbally	Stradbally		53.21889	-8.88667	P	PPL	IE		C	10			0		2	Europe/Dublin	2010-08-14
-2961349	Stradbally	Stradbally	An Sraidbhaile,An Sráidbhaile,Stradbally	53.01556	-7.15278	P	PPL	IE		L	15			0		149	Europe/Dublin	2010-08-14
-2961350	Stradbally	Stradbally		52.24722	-10.06639	P	PPL	IE		M	11			0		81	Europe/Dublin	2010-08-14
-2961351	Stradbally	Stradbally	An tSraidbhaile,An tSráidbhaile,Stradbally	52.13	-7.46	P	PPL	IE		M	27			0		17	Europe/Dublin	2010-08-14
-2961352	Stowlin House	Stowlin House		53.18139	-8.21722	S	EST	IE		C	10			0		75	Europe/Dublin	2010-08-14
-2961353	Stookaruddan	Stookaruddan	Stockaruddan,Stookaruddan,Stookarudden	55.36972	-7.28222	T	ISLS	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
-2961354	Stonyford	Stonyford		52.53639	-7.22	P	PPL	IE		L	13			0		69	Europe/Dublin	2010-08-14
-2961355	Stonybatter	Stonybatter		52.76278	-6.45278	P	PPL	IE		L	31			0		159	Europe/Dublin	2010-08-14
-2961356	Stonetown	Stonetown		53.61667	-8.55	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
-2961357	Stonepark	Stonepark		54.01028	-8.93722	P	PPL	IE		C	20			0		77	Europe/Dublin	2010-08-14
-2961358	Stonehall	Stonehall		52.60722	-8.87306	P	PPL	IE		M	16			0		22	Europe/Dublin	2010-08-14
-2961359	Stonefield	Stonefield		54.31	-9.82972	P	PPL	IE		C	20			0		141	Europe/Dublin	2010-08-14
-2961360	Stone Bridge	Stone Bridge		54.2	-7.16667	P	PPL	IE		U	22			0		73	Europe/Dublin	2010-08-14
-2961361	Stokestown	Stokestown	Stokestown,Stokestown Castle	52.36028	-6.98806	S	EST	IE	IE	L	30			0		13	Europe/Dublin	2010-08-14
-2961362	Stillorgan	Stillorgan		53.29049	-6.19487	P	PPL	IE		L	07			0		39	Europe/Dublin	2010-08-14
-2961363	Stephenstown House	Stephenstown House	Stephenstown,Stephenstown House	53.95806	-6.46639	S	EST	IE	IE	L	19			0		19	Europe/Dublin	2010-08-14
-2961364	Stepaside	Stepaside	Stepaside	53.2525	-6.21361	P	PPL	IE		L	07			0		140	Europe/Dublin	2010-11-04
-2961365	Station Island	Station Island		54.60833	-7.87139	T	ISL	IE		U	06			0		148	Europe/Dublin	2010-08-14
-2961366	Stamullin	Stamullin		53.62889	-6.26833	P	PPL	IE		L	21			0		48	Europe/Dublin	2010-08-14
-2961367	Stags of Broad Haven	Stags of Broad Haven	Stags,Stags of Broad Haven,The Stags	54.36639	-9.78778	T	RKS	IE	IE	C	20			0		-9999	Europe/Dublin	2010-08-14
-2961368	Stags of Bofin	Stags of Bofin		53.63194	-10.25917	T	RKS	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
-2961369	The Stag Rocks	The Stag Rocks	The Stag Rocks,The Stags	55.07528	-8.47889	T	RKS	IE	IE	U	06			0		-9999	Europe/Dublin	2010-08-14
-2961370	Stacks Mountains	Stacks Mountains		52.31667	-9.56667	T	MTS	IE		M	11			0		286	Europe/Dublin	1993-12-27
-2961371	Stabannan	Stabannan	Stabannan,Stahannan	53.86472	-6.43583	P	PPL	IE	IE	L	19			0		6	Europe/Dublin	2010-08-14
-2961372	Sruwaddacon Bay	Sruwaddacon Bay	Sruwaddacon Bay,Sruwaddacon Creek	54.26667	-9.78333	H	BAY	IE		C	20			0		-9999	Europe/Dublin	2010-08-10
-2961373	Srahmore River	Srahmore River		53.95667	-9.58	H	STM	IE		C	20			0		98	Europe/Dublin	2010-08-14
-2961374	Srahmore	Srahmore		53.96028	-9.57083	P	PPL	IE		C	20			0		131	Europe/Dublin	2010-08-14
-2961375	Srahlaghy	Srahlaghy		54.235	-9.57361	P	PPL	IE		C	20			0		128	Europe/Dublin	2010-08-14
-2961376	Srahduggaun	Srahduggaun		54	-9.73333	P	PPL	IE		C	20			0		73	Europe/Dublin	1993-12-27
-2961377	Srah	Srah		54.1725	-9.93361	P	PPL	IE		C	20			0		5	Europe/Dublin	2010-08-14
-2961378	Srah	Srah		53.68333	-9.33333	P	PPL	IE		C	20			0		59	Europe/Dublin	1993-12-27
-2961379	Srah	Srah		53.28333	-7.75	P	PPL	IE		L	23			0		65	Europe/Dublin	2010-08-14
-2961380	Spring Valley	Spring Valley		53.47806	-6.71389	S	EST	IE		L	21			0		77	Europe/Dublin	2010-08-14
-2961381	Springfield Castle	Springfield Castle		52.35	-8.95	S	EST	IE		M	16			0		146	Europe/Dublin	1993-12-27
-2961382	Springfield	Springfield		53.05	-7.4	P	PPL	IE		L	15			0		138	Europe/Dublin	2010-08-14
-2961383	Springfield	Springfield		52.71556	-6.615	S	EST	IE		L	31			0		71	Europe/Dublin	2010-08-14
-2961384	Sporthouse Cross Roads	Sporthouse Cross Roads		52.19667	-7.17917	P	PPL	IE		M	27			0		77	Europe/Dublin	2010-08-14
-2961385	Spittle	Spittle		52.38	-8.3375	P	PPL	IE		M	16			0		152	Europe/Dublin	2010-08-14
-2961386	Spink	Spink		52.89944	-7.22611	P	PPL	IE		L	15			0		151	Europe/Dublin	2010-08-14
-2961387	Spike Island	Spike Island		51.83861	-8.28889	T	ISL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961388	Spiddal	Spiddal	An Spideal,An Spidéal,Spiddal,Spiddle	53.24667	-9.30278	P	PPL	IE		C	10			0		1	Europe/Dublin	2010-08-14
-2961389	Spear Vale	Spear Vale		53.91667	-7	P	PPL	IE		U	02			0		187	Europe/Dublin	1993-12-27
-2961390	Spanish Point	Spanish Point		52.84972	-9.44722	T	PT	IE		M	03			0		-9999	Europe/Dublin	2010-08-14
-2961391	Spancelhill	Spancelhill		52.86667	-8.9	P	PPL	IE		M	03			0		119	Europe/Dublin	1993-12-27
-2961392	Spa	Spa		52.28333	-9.78333	P	PPL	IE		M	11			0		39	Europe/Dublin	2010-08-14
-2961393	River Sow	River Sow		52.37778	-6.45139	H	STM	IE		L	30			0		4	Europe/Dublin	2010-08-14
-2961394	Sovereign Islands	Sovereign Islands	Big Sovereign,Sovereign Islands	51.67667	-8.45556	T	ISLS	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
-2961395	Sovereign Island	Sovereign Island	Little Sovereign,Sovereign Island	51.68389	-8.4425	T	ISL	IE	IE	M	04			0		-9999	Europe/Dublin	2010-08-14
-2961396	South Sound	South Sound		53.04167	-9.46583	H	SD	IE		M	03			0		-9999	Europe/Dublin	2010-08-14
-2961397	Southpark House	Southpark House		53.76667	-8.43333	S	EST	IE		C	24			0		77	Europe/Dublin	1993-12-27
-2961398	South Hill	South Hill		53.60861	-7.07167	S	EST	IE		L	29			0		109	Europe/Dublin	2010-08-14
-2961399	Sorrel House	Sorrel House		52.75	-9.23333	S	BLDG	IE		M	03			0		96	Europe/Dublin	1993-12-27
-2961400	Sorrelhill House	Sorrelhill House		52.83333	-7.75	S	EST	IE		M	26			0		150	Europe/Dublin	2010-08-14
-2961401	Sopwell Hall	Sopwell Hall		52.99194	-8.04806	S	EST	IE		M	26			0		119	Europe/Dublin	2010-08-14
-2961402	Soppog	Soppog		55.06472	-7.32111	P	PPL	IE		U	06			0		63	Europe/Dublin	2010-08-14
-2961403	Sonna House	Sonna House		53.56667	-7.46667	S	EST	IE		L	29			0		123	Europe/Dublin	1993-12-27
-2961404	Somerville House	Somerville House	Somerville,Somerville House	53.63139	-6.51167	S	EST	IE	IE	L	21			0		57	Europe/Dublin	2010-08-14
-2961405	Somerset House	Somerset House		53.24778	-8.22694	S	EST	IE		C	10			0		76	Europe/Dublin	2010-08-14
-2961406	Solsborough House	Solsborough House	Solsborough,Solsborough House	52.52861	-6.52	S	EST	IE	IE	L	30			0		64	Europe/Dublin	2010-08-14
-2961407	Snowhill House	Snowhill House		52.27278	-7.02028	S	EST	IE		L	13			0		1	Europe/Dublin	2010-08-14
-2961408	Sneem Harbour	Sneem Harbour		51.8	-9.88333	H	INLT	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961409	Sneem	Sneem	An Snaidhm,An tSnaidhm,Sneem	51.83333	-9.9	P	PPL	IE		M	11			0		25	Europe/Dublin	2010-08-14
-2961410	Slieve Snaght	Slieve Snaght	Sliabh Sneachta,Slieve Snaght	55.19639	-7.33528	T	MT	IE		U	06			0	615	573	Europe/Dublin	2010-08-14
-2961411	Slieve Snaght	Slieve Snaght		54.98083	-8.11778	T	MT	IE		U	06			0		466	Europe/Dublin	2010-08-14
-2961412	Smithstown House	Smithstown House		52.98333	-9.26667	S	EST	IE		M	03			0		75	Europe/Dublin	1993-12-27
-2961413	Smithborough	Smithborough		54.22333	-7.09083	P	PPL	IE		U	22			0		74	Europe/Dublin	2010-08-14
-2961414	Smerwick Harbour	Smerwick Harbour		52.19222	-10.4025	H	HBR	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961415	Smerwick	Smerwick		52.19444	-10.42333	P	PPL	IE		M	11			0		30	Europe/Dublin	2010-08-14
-2961416	Smearlagh River	Smearlagh River		52.43917	-9.42889	H	STM	IE		M	11			0		74	Europe/Dublin	2010-08-14
-2961417	Smarmore Castle	Smarmore Castle		53.81722	-6.56667	S	EST	IE		L	19			0		75	Europe/Dublin	2010-08-14
-2961418	Slyne Head	Slyne Head		53.40056	-10.23528	T	CAPE	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
-2961419	Slugga	Slugga		54.30278	-9.86556	T	RK	IE		C	20			0		-9999	Europe/Dublin	2010-08-14
-2961420	Slish Wood	Slish Wood		54.23333	-8.38333	V	FRST	IE		C	25			0		149	Europe/Dublin	2010-08-14
-2961421	Sligo Bay	Sligo Bay		54.3	-8.7	H	BAY	IE		C	25			0		-9999	Europe/Dublin	1998-09-01
-2961422	Sligeach	Sligeach	Contae Shligigh,County Sligo,Sligo	54.25	-8.66667	A	ADM2	IE		C	25			58900		5	Europe/Dublin	2010-08-14
-2961423	Sligeach	Sligeach	Slajgou,Sligeach,Sligo,suraigo,Слайгоу,スライゴ	54.26969	-8.46943	P	PPLA2	IE		C	25			20228	13	5	Europe/Dublin	2010-08-14
-2961424	Slievetooey	Slievetooey		54.76278	-8.60722	T	MT	IE		U	06			0		329	Europe/Dublin	2010-08-14
-2961425	Slieveroe	Slieveroe		52.28056	-7.08667	P	PPL	IE		L	13			0		59	Europe/Dublin	2010-08-14
-2961426	Slievenamuck	Slievenamuck		52.4275	-8.23194	T	MT	IE		M	26			0		156	Europe/Dublin	2010-08-14
-2961427	Slievenamon	Slievenamon	Slievenaman,Slievenamon	52.42778	-7.56111	T	MT	IE		M	26			0	721	568	Europe/Dublin	2010-11-04
-2961428	Slievenakilla	Slievenakilla		54.15	-7.93333	P	PPL	IE		C	14			0		315	Europe/Dublin	1993-12-27
-2961429	Slievemore Point	Slievemore Point		54.01667	-10.05	T	PT	IE		C	20			0		73	Europe/Dublin	1993-12-27
-2961430	Slievemore	Slievemore		53.99611	-10.07056	P	PPLL	IE		C	20			0		149	Europe/Dublin	2010-08-14
-2961431	Slievemore	Slievemore		54.0075	-10.0625	T	MT	IE		C	20			0	671	269	Europe/Dublin	2010-08-14
-2961432	Slieve Miskish Mountains	Slieve Miskish Mountains	Slieve Miskish Mountains	51.66722	-9.95306	T	MTS	IE		M	04			0		188	Europe/Dublin	2010-08-14
-2961433	Slieve Mish Mountains	Slieve Mish Mountains	Slieve Mish Mountains	52.2	-9.76667	T	MTS	IE		M	11			0		224	Europe/Dublin	2010-08-14
-2961434	Slievekimalta	Slievekimalta	Keeper Hill,Slievekimalta	52.74972	-8.26028	T	MT	IE	IE	M	26			0		421	Europe/Dublin	2010-11-04
-2961435	Slieveglass	Slieveglass		52.27861	-10.20667	T	MT	IE		M	11			0		143	Europe/Dublin	2010-08-14
-2961436	Slievefelim Mountains	Slievefelim Mountains		52.67167	-8.3075	T	MTS	IE		M	16			0		315	Europe/Dublin	2010-08-14
-2961437	Slievecarran	Slievecarran		53.09583	-9.00639	T	MT	IE		M	03			0		154	Europe/Dublin	2010-08-14
-2961438	Slievecallan	Slievecallan		52.84056	-9.26861	T	MT	IE		M	03			0		279	Europe/Dublin	2010-08-14
-2961439	Slieveboy	Slieveboy		52.65639	-6.48861	T	MT	IE		L	30			0	422	266	Europe/Dublin	2010-08-14
-2961440	Slieve Bloom Mountains	Slieve Bloom Mountains	Slieve Bloom,Slieve Bloom Mountains	53.09333	-7.56722	T	MTS	IE		L	15			0		326	Europe/Dublin	2010-08-10
-2961441	Slievebane Bay	Slievebane Bay		55.36667	-7.33333	H	BAY	IE		U	06			0		1	Europe/Dublin	2010-08-14
-2961442	Slieve Aughty Mountains	Slieve Aughty Mountains	Slieve Aughty Mountains	53.04611	-8.51111	T	MTS	IE		C	10			0		151	Europe/Dublin	2010-08-14
-2961443	Slieveardagh Hills	Slieveardagh Hills	Slievardagh Region,Slieveardagh Hills	52.65278	-7.52056	T	HLLS	IE	IE	00				0		152	Europe/Dublin	2010-08-10
-2961444	Slevoir House	Slevoir House		53.06139	-8.18111	S	EST	IE		M	26			0		56	Europe/Dublin	2010-08-14
-2961445	Sleatygraigue	Sleatygraigue		52.84472	-6.97167	P	PPL	IE		L	15			0		39	Europe/Dublin	2010-08-14
-2961446	Slea Head	Slea Head		52.09639	-10.45917	T	CAPE	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961447	Slate River	Slate River		53.195	-7.09417	H	STM	IE		L	23			0		75	Europe/Dublin	1999-02-24
-2961448	River Slaney	River Slaney		52.33806	-6.45306	H	STM	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961449	Slane Castle	Slane Castle		53.70944	-6.5825	S	EST	IE		L	21			0		37	Europe/Dublin	2010-08-14
-2961450	Slane	Slane	Baile Shlaine,Baile Shláine,Slane	53.71	-6.54333	P	PPL	IE		L	21			0		58	Europe/Dublin	2010-08-14
-2961451	Slaheny River	Slaheny River		51.9	-9.45	H	STM	IE		M	11			0		86	Europe/Dublin	1993-12-27
-2961452	Slade	Slade		52.1325	-6.90444	P	PPL	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961453	Skycur House	Skycur House	Skycur,Skycur House	53.22139	-8.23472	S	EST	IE	IE	C	10			0		76	Europe/Dublin	2010-08-14
-2961454	Skull Harbour	Skull Harbour		51.52528	-9.53833	H	HBR	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961455	Skull	Skull	An Scoil,Schull,Skull	51.53333	-9.53333	P	PPL	IE		M	04			0		44	Europe/Dublin	2010-08-14
-2961456	Skreeny House	Skreeny House		54.315	-8.16722	S	RUIN	IE		C	14			0		76	Europe/Dublin	2010-08-14
-2961457	Skreen	Skreen		54.24333	-8.73111	P	PPL	IE		C	25			0		55	Europe/Dublin	2010-08-14
-2961458	Screen	Screen	Screen,Skreen	52.41361	-6.4125	P	PPL	IE	IE	L	30			0		22	Europe/Dublin	2010-08-14
-2961459	An Sciobairin	An Sciobairin	Skibbereen	51.55	-9.26667	P	PPL	IE		M	04			2098		98	Europe/Dublin	2010-08-14
-2961460	Skerries Islands	Skerries Islands		53.58333	-6.08333	T	ISLS	IE		00				0		-9999	Europe/Dublin	1993-12-27
-2961461	Skerries	Skerries	Na Sceiri,Na Sceirí,Skerries	53.58278	-6.10833	P	PPL	IE		L	35			10014		-9999	Europe/Dublin	2010-11-04
-2961462	Skenakilla Cross Roads	Skenakilla Cross Roads		52.19306	-8.51778	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
-2961463	Skellig Rocks	Skellig Rocks	Skellig Rocks,The Skelligs	51.76667	-10.51667	T	RKS	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
-2961464	Skehanagh	Skehanagh		53.41389	-8.63417	P	PPL	IE		C	10			0		72	Europe/Dublin	2010-08-14
-2961465	Lough Skean	Lough Skean		54.06222	-8.21528	H	LK	IE		00				0		55	Europe/Dublin	1998-09-01
-2961466	Skeagh Lough Upper	Skeagh Lough Upper	Skeagh Lough,Skeagh Lough Upper	53.95	-7	H	LK	IE	IE	U	02			0		150	Europe/Dublin	2010-08-14
-2961467	Skeagh	Skeagh		51.58639	-9.35472	P	PPL	IE		M	04			0		79	Europe/Dublin	2010-08-14
-2961468	Skeaf House	Skeaf House		51.6775	-8.78111	S	EST	IE		M	04			0		75	Europe/Dublin	2010-08-14
-2961469	Lough Skannive	Lough Skannive		53.33083	-9.78722	H	LK	IE		C	10			0		65	Europe/Dublin	2010-08-14
-2961470	Sixmilebridge	Sixmilebridge	Droichead Abhann O gCearnaigh,Droíchead Abhann Ó gCearnaigh,Sixmilebridge	52.74139	-8.77417	P	PPL	IE		M	03			0		43	Europe/Dublin	2010-08-14
-2961471	Single Street	Single Street		54.48306	-8.26417	P	PPL	IE		U	06			0		1	Europe/Dublin	2010-08-14
-2961472	Silver Stream	Silver Stream		54.26667	-6.91667	P	PPL	IE		00				0		66	Europe/Dublin	1993-12-27
-2961473	Silver River	Silver River		53.2925	-7.62889	H	STM	IE		L	23			0		70	Europe/Dublin	2010-08-14
-2961474	Silver River	Silver River		53.24333	-7.79139	H	STM	IE		L	23			0		63	Europe/Dublin	2010-08-14
-2961475	Silvermines	Silvermines	Beal Atha Gabhann,Béal Átha Gabhann,Silvermines	52.79028	-8.23417	P	PPL	IE		M	38			0		188	Europe/Dublin	2010-11-04
-2961476	Silvermine Mountains	Silvermine Mountains	Silvermine Mountains,Silvermines Mountains	52.77583	-8.24889	T	MTS	IE	IE	M	26			0		345	Europe/Dublin	2010-11-04
-2961477	Silver Hill	Silver Hill		54.76944	-8.14722	T	MT	IE		U	06			0		423	Europe/Dublin	2010-08-14
-2961478	Lough Sillan	Lough Sillan		54.00222	-6.92222	H	LK	IE		U	02			0		149	Europe/Dublin	2010-08-14
-2961479	Siddan	Siddan		53.80972	-6.65639	P	PPL	IE		L	21			0		61	Europe/Dublin	2010-08-14
-2961480	Shrule Castle	Shrule Castle		52.87694	-6.95111	S	BLDG	IE		L	15			0		48	Europe/Dublin	2010-08-14
-2961481	Shrule	Shrule	Shrule,Shruthair,Sruthair	53.51681	-9.08902	P	PPL	IE		C	20			0		59	Europe/Dublin	2010-08-14
-2961482	Shronowen	Shronowen		52.50389	-9.45361	P	PPL	IE		M	11			0		69	Europe/Dublin	2010-08-14
-2961483	Shronell	Shronell		52.47222	-8.23472	P	PPL	IE		M	26			0		136	Europe/Dublin	2010-08-14
-2961484	Shrone	Shrone		52.525	-9.49	P	PPL	IE		M	11			0		57	Europe/Dublin	2010-08-14
-2961485	Shot Head	Shot Head		51.67667	-9.67611	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961486	Shiven River	Shiven River	Kingstown River,Shiven River	53.51667	-8.45	H	STM	IE		C	10			0		72	Europe/Dublin	2010-08-10
-2961487	Shiven River	Shiven River		53.5	-8.28333	H	STM	IE		00				0		69	Europe/Dublin	1993-12-27
-2961488	Shippool	Shippool	Shippool,Shippool Castle	51.75111	-8.62889	S	RUIN	IE	IE	M	04			0		72	Europe/Dublin	2010-08-14
-2961489	Shinrone	Shinrone	Shinrone,Sui an Roin,Suí an Róin	52.9825	-7.92444	P	PPL	IE	IE	L	23			0		84	Europe/Dublin	2010-08-14
-2961490	Lough Shindilla	Lough Shindilla		53.45	-9.56667	H	LK	IE		C	10			0		58	Europe/Dublin	1993-12-27
-2961491	Shillelagh	Shillelagh	Shillelagh,Siol Ealaigh,Síol Éalaigh	52.75389	-6.53722	P	PPL	IE	IE	L	31			0		76	Europe/Dublin	2010-08-14
-2961492	Sheskin Lodge	Sheskin Lodge		54.17028	-9.615	S	HSE	IE		C	20			0		146	Europe/Dublin	2010-08-14
-2961493	Sheshia	Sheshia		53.1	-9.06667	P	PPL	IE		M	03			0		57	Europe/Dublin	1993-12-27
-2961494	Sherky Island	Sherky Island		51.7975	-9.905	T	ISL	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961495	Sherkin Island	Sherkin Island	Sherkin Island	51.4775	-9.42694	T	ISL	IE		M	04			0		1	Europe/Dublin	2010-08-14
-2961496	Sheriffhill	Sheriffhill		52.95	-6.80278	P	PPL	IE		L	12			0		143	Europe/Dublin	2010-08-14
-2961497	Shercock	Shercock	Searcog,Searcóg,Shercock	54	-6.9	P	PPL	IE	IE	U	02			0		153	Europe/Dublin	2010-08-14
-2961498	Shenicks Island	Shenicks Island		53.57472	-6.08444	T	ISL	IE		L	07			0		-9999	Europe/Dublin	2010-08-14
-2961499	Shelton Abbey	Shelton Abbey		52.815	-6.18278	S	EST	IE		L	31			0		43	Europe/Dublin	2010-08-14
-2961500	Shehy Mountain	Shehy Mountain		51.81778	-9.28722	T	MT	IE		M	04			0		334	Europe/Dublin	2010-08-14
-2961501	Sheffield	Sheffield	Sheffield,Sheffield House	53.00417	-7.26806	S	EST	IE	IE	L	15			0		150	Europe/Dublin	2010-08-14
-2961502	Sheep Haven	Sheep Haven	Cuan na gCaorach,Sheep Haven	55.2	-7.9	H	BAY	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961503	Sheen River	Sheen River		51.86667	-9.56667	H	STM	IE		M	11			0		61	Europe/Dublin	1993-12-27
-2961504	Lough Sheelin	Lough Sheelin		53.8	-7.31667	H	LK	IE		L	21			0		73	Europe/Dublin	1993-12-27
-2961505	Sheehills House	Sheehills House		52.93278	-7.76861	S	EST	IE		M	26			0		135	Europe/Dublin	2010-08-14
-2961506	Sheeanamore	Sheeanamore		52.885	-6.37694	P	PPL	IE		L	31			0		269	Europe/Dublin	2010-08-14
-2961507	Shark Head	Shark Head	Shark Head,Stark Head	53.60167	-10.295	T	CAPE	IE	IE	C	10			0		-9999	Europe/Dublin	2010-08-14
-2961508	Shanvally	Shanvally		53.78333	-7.91667	P	PPL	IE		C	24			0		67	Europe/Dublin	1993-12-27
-2961509	Shantonagh	Shantonagh		54.05028	-6.85056	P	PPL	IE		U	22			0		147	Europe/Dublin	2010-08-14
-2961510	Shanow River	Shanow River		52.36667	-9.65	H	STM	IE		M	11			0		70	Europe/Dublin	1993-12-27
-2961511	Shannon View	Shannon View		52.61667	-8.98333	S	EST	IE		M	16			0		3	Europe/Dublin	1993-12-27
-2961512	Shannon Harbour	Shannon Harbour	Shannon Harbour	53.22056	-7.94833	P	PPL	IE		L	23			0		73	Europe/Dublin	2010-08-14
-2961513	Shannon Hall	Shannon Hall	Shannon Hall,Shannonvale House	52.90417	-8.28056	S	BLDG	IE	IE	M	26			0		51	Europe/Dublin	2010-11-04
-2961514	Shannongrove House	Shannongrove House	Shannongrove,Shannongrove House	52.66	-8.86417	S	EST	IE	IE	M	16			0		1	Europe/Dublin	2010-08-14
-2961515	Shannon Grove	Shannon Grove		53.19861	-8.04806	S	EST	IE		C	10			0		55	Europe/Dublin	2010-08-14
-2961516	Shannonbridge	Shannonbridge	Droichead na Sionainne,Shannonbridge	53.27778	-8.03722	P	PPL	IE		L	23			0		56	Europe/Dublin	2010-08-14
-2961517	River Shannon	River Shannon		52.58194	-9.68167	H	STM	IE		00				0		-9999	Europe/Dublin	1998-05-05
-2961518	Mouth of the Shannon	Mouth of the Shannon		52.50167	-9.81694	H	STMM	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961519	Shannaghmore	Shannaghmore		53.6	-8.6	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
-2961520	Shanlis Cross Roads	Shanlis Cross Roads	Shanlis,Shanlis Cross Roads	53.83778	-6.57111	P	PPL	IE	IE	L	19			0		49	Europe/Dublin	2010-08-14
-2961521	Shanlaragh	Shanlaragh		51.79556	-9.07889	P	PPL	IE		M	04			0		152	Europe/Dublin	2010-08-14
-2961522	Shankill Castle	Shankill Castle		52.68611	-7.02111	S	EST	IE		L	13			0		60	Europe/Dublin	2010-08-14
-2961523	Shankill	Shankill	Shankill	53.22611	-6.12444	P	PPL	IE		L	07			0		1	Europe/Dublin	2010-11-04
-2961524	Shanid Castle	Shanid Castle		52.55	-9.11667	S	BLDG	IE		M	16			0		117	Europe/Dublin	1993-12-27
-2961525	Shanganagh Junction	Shanganagh Junction		53.21667	-6.1	S	RSTN	IE		00				0		-9999	Europe/Dublin	1993-12-27
-2961526	Shanganagh Castle	Shanganagh Castle		53.22583	-6.11972	S	EST	IE		L	07			0		1	Europe/Dublin	2010-08-14
-2961527	Shanballymore	Shanballymore	An Seanbhaile Mor,An Seanbhaile Mór,Shanballymore	52.22028	-8.50139	P	PPL	IE		M	04			0		70	Europe/Dublin	2010-08-14
-2961528	Shanbally House	Shanbally House	Shanbally,Shanbally House	52.85722	-8.09167	S	EST	IE	IE	M	26			0		105	Europe/Dublin	2010-11-04
-2961529	Shanbally Castle	Shanbally Castle		52.29361	-8.04361	S	EST	IE		M	26			0		75	Europe/Dublin	2010-08-14
-2961530	Shanbally	Shanbally		51.8325	-8.3575	P	PPL	IE		M	04			0		11	Europe/Dublin	2010-08-14
-2961531	Shanagolden	Shanagolden	Seanghualainn,Shanagolden	52.5725	-9.1025	P	PPL	IE	IE	M	16			0		67	Europe/Dublin	2010-08-14
-2961532	Shanagh	Shanagh	Shanagh,Shunagh	51.58222	-8.71889	P	PPL	IE	IE	M	04			0		13	Europe/Dublin	2010-08-14
-2961533	Shanagarry	Shanagarry	Shanagarry	51.85444	-8.07083	P	PPL	IE		M	04			0		51	Europe/Dublin	2010-08-14
-2961534	Shallee River	Shallee River		52.87056	-8.99528	H	STM	IE		M	03			0		24	Europe/Dublin	2010-08-14
-2961535	Shaen House	Shaen House	Shaen,Shaen House	53.06667	-7.25	S	EST	IE	IE	L	15			0		141	Europe/Dublin	2010-08-14
-2961536	Shad Lough	Shad Lough		53.73333	-8.26667	H	LK	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2961537	The Seven Stars	The Seven Stars		53.05722	-6.88028	L	LCTY	IE		L	12			0		108	Europe/Dublin	2010-08-14
-2961538	The Seven Hogs	The Seven Hogs	Magharee Islands,The Seven Hogs	52.32194	-10.03528	T	ISLS	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
-2961539	Seven Heads Bay	Seven Heads Bay		51.59444	-8.7	H	BAY	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961540	Seven Heads	Seven Heads		51.56889	-8.7275	T	CAPE	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961541	Seven Fathom Bank	Seven Fathom Bank		52.8	-6	H	BNK	IE		L	31			0		-9999	Europe/Dublin	1993-12-27
-2961542	Sevenchurches	Sevenchurches	Camaderry,Sevenchurches	53.02389	-6.39306	S	RUIN	IE	IE	L	31			0		588	Europe/Dublin	2010-08-14
-2961543	The Seven Arches	The Seven Arches	Seven Arches,The Seven Arches	55.21667	-7.6	S	CAVE	IE		U	06			0		-9999	Europe/Dublin	2010-08-10
-2961544	Seskinryan	Seskinryan		52.68222	-6.93167	P	PPL	IE		L	01			0		115	Europe/Dublin	2010-08-14
-2961545	Seskinrea	Seskinrea		52.76778	-7.06833	P	PPL	IE		L	01			0		191	Europe/Dublin	2010-08-14
-2961546	Seltannaveeny	Seltannaveeny	Seltannaveeny,Seltannavenny	54.1	-8.11667	P	PPL	IE		C	24			0		145	Europe/Dublin	2010-08-10
-2961547	Sellerna Bay	Sellerna Bay	Sellerna Bay,Sillerna Bay	53.55	-10.13333	H	BAY	IE		C	10			0		61	Europe/Dublin	2010-08-10
-2961548	Seershin	Seershin		53.26667	-9.21667	P	PPL	IE		C	10			0		57	Europe/Dublin	2010-08-14
-2961549	Seaweed Point	Seaweed Point		53.24889	-9.10944	T	PT	IE		C	10			0		-9999	Europe/Dublin	2010-08-14
-2961550	Seaview House	Seaview House	Seaview,Seaview House	52.02472	-7.58556	S	EST	IE	IE	M	27			0		2	Europe/Dublin	2010-08-14
-2961551	Seapark Point	Seapark Point		52.93333	-6.01667	T	PT	IE		L	31			0		-9999	Europe/Dublin	2010-08-14
-2961552	Sea Mount	Sea Mount		53.44278	-6.14	P	PPL	IE		L	07			0		1	Europe/Dublin	2010-08-14
-2961553	Seal Rocks	Seal Rocks		54.33667	-8.68722	T	RKS	IE		C	25			0		-9999	Europe/Dublin	2010-08-14
-2961554	Seafield House	Seafield House	Seafield,Seafield House	52.67417	-6.21444	S	EST	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
-2961555	Scurmore House	Scurmore House	Scarmore House,Scurmore House	54.19667	-9.11556	S	HSEC	IE	IE	C	25			0		3	Europe/Dublin	2010-08-14
-2961556	Lough Scur	Lough Scur	Lough Scur,Lough Seur	54.02667	-7.95222	H	LK	IE	IE	C	14			0		65	Europe/Dublin	2010-08-14
-2961557	Scullogue Gap	Scullogue Gap	Sculloge Gap,Scullogue Gap	52.57306	-6.7875	T	GAP	IE	IE	L	01			0		286	Europe/Dublin	2010-08-14
-2961558	Scullane Point	Scullane Point		51.49139	-9.21139	T	PT	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961559	Scregg West	Scregg West		53.53333	-8.58333	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
-2961560	Scregg House	Scregg House		53.55	-8.1	S	EST	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2961561	Scregg East	Scregg East		53.53333	-8.56667	P	PPL	IE		C	10			0		76	Europe/Dublin	1993-12-27
-2961562	Screeb Lodge	Screeb Lodge	Screeb,Screeb Lodge	53.38694	-9.5525	S	HSEC	IE	IE	C	10			0		69	Europe/Dublin	2010-08-14
-2961563	Scramore Loughs	Scramore Loughs		54.3	-8.35	H	LKS	IE		00				0		284	Europe/Dublin	1993-12-27
-2961564	Scramoge	Scramoge		53.76667	-8.05	P	PPL	IE		C	24			0		76	Europe/Dublin	1993-12-27
-2961565	Scrahan	Scrahan		52.4	-9.36667	P	PPL	IE		M	11			0		143	Europe/Dublin	1993-12-27
-2961566	Scrabby	Scrabby		53.86667	-7.53333	P	PPL	IE		U	02			0		70	Europe/Dublin	1993-12-27
-2961567	Scotstown	Scotstown	Baile an Scotaigh,Scotstown	54.2775	-7.065	P	PPL	IE		U	22			0		81	Europe/Dublin	2010-08-14
-2961568	Scotshouse	Scotshouse		54.12194	-7.2475	P	PPL	IE		U	22			0		78	Europe/Dublin	2010-08-14
-2961569	Scilly	Scilly		51.70639	-8.52167	P	PPL	IE		M	04			0		1	Europe/Dublin	2010-08-14
-2961570	Scattery Island	Scattery Island		52.61222	-9.51944	T	ISL	IE		M	03			0		-9999	Europe/Dublin	2010-08-14
-2961571	Scartaglin	Scartaglin	Scartaglen,Scartaglin,Seartaglin	52.18333	-9.4	P	PPL	IE		M	11			0		149	Europe/Dublin	2010-08-10
-2961572	Scarriff Bay	Scarriff Bay	Scariff Bay,Scarriff Bay	52.90333	-8.48694	H	BAY	IE	IE	M	03			0		55	Europe/Dublin	2010-08-14
-2961573	River Scarriff	River Scarriff		52.9	-8.5	H	STM	IE		M	03			0		55	Europe/Dublin	1993-12-27
-2961574	Scarriff	Scarriff	An Scairbh,Scariff,Scarriff	52.89889	-8.50917	P	PPL	IE		M	03			0		82	Europe/Dublin	2010-08-14
-2961575	Scariff Island	Scariff Island	Great Hog Island,Scariff Island	51.73556	-10.25333	T	ISL	IE	IE	M	11			0		47	Europe/Dublin	2010-08-14
-2961576	Scardaun	Scardaun		53.65	-9	P	PPL	IE		C	20			0		120	Europe/Dublin	1993-12-27
-2961577	Lough Scannive	Lough Scannive		53.43528	-9.9525	H	LK	IE		C	10			0		81	Europe/Dublin	2010-08-14
-2961578	Scalp Mountain	Scalp Mountain		55.08917	-7.36611	T	MT	IE		U	06			0	484	352	Europe/Dublin	2010-08-14
-2961579	The Scalp	The Scalp	An Scailp,The Scalp	53.21611	-6.17944	T	GAP	IE	IE	00				0		151	Europe/Dublin	2010-08-10
-2961580	Scalp	Scalp		53.08333	-6.58333	P	PPL	IE		L	31			0		304	Europe/Dublin	2010-08-14
-2961581	Scalp	Scalp		52.99139	-8.48972	T	MT	IE		C	10			0		304	Europe/Dublin	2010-08-14
-2961582	Saundersville	Saundersville		52.96667	-6.68333	P	PPL	IE		L	31			0		156	Europe/Dublin	1993-12-27
-2961583	Saunders Court	Saunders Court		52.36611	-6.49333	S	EST	IE		L	30			0		1	Europe/Dublin	2010-08-14
-2961584	Sarsfieldscourt House	Sarsfieldscourt House	Sarsfieldcourt,Sarsfieldscourt House	51.95139	-8.4025	S	HSEC	IE	IE	M	04			0		89	Europe/Dublin	2010-08-14
-2961585	Sarnaght	Sarnaght		53.89056	-9.31389	P	PPL	IE		C	20			0		104	Europe/Dublin	2010-08-14
-2961586	Sarahville	Sarahville		52.16667	-7.46667	S	EST	IE		M	27			0		78	Europe/Dublin	1993-12-27
-2961587	Santry	Santry		53.39812	-6.25268	P	PPL	IE		L	07			0		12	Europe/Dublin	2010-08-14
-2961588	Sandymount	Sandymount		53.97139	-6.36194	P	PPL	IE		L	19			0		-9999	Europe/Dublin	2010-08-14
-2961589	Sandymount	Sandymount		53.335	-6.21139	P	PPL	IE		L	07			0		-9999	Europe/Dublin	2010-08-14
-2961590	Sandy Ford	Sandy Ford		52.85194	-6.46139	P	PPL	IE		L	31			0		289	Europe/Dublin	2010-08-14
-2961591	Sandy Cove	Sandy Cove		51.67694	-8.54917	P	PPL	IE		M	04			0		72	Europe/Dublin	2010-08-14
-2961592	Sandeel Bay	Sandeel Bay		52.1575	-6.87	H	BAY	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961593	Samphire Island	Samphire Island		52.27167	-9.865	T	ISL	IE		M	11			0		-9999	Europe/Dublin	2010-08-14
-2961594	Saltmills	Saltmills		52.22194	-6.82667	P	PPL	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961595	Salt Hill	Salt Hill		53.26139	-9.06944	P	PPL	IE		C	10			0		1	Europe/Dublin	2010-08-14
-2961596	Salt Hill	Salt Hill		54.63111	-8.21111	S	EST	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961597	Salterstown	Salterstown		53.87167	-6.30694	P	PPL	IE		L	19			0		1	Europe/Dublin	2010-08-14
-2961598	Saltee Islands	Saltee Islands	Saltee Islands	52.125	-6.59722	T	ISLS	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961599	Little Saltee	Little Saltee	Little Saltee,North Saltee,Saltee Island Little	52.13333	-6.61667	T	ISL	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
-2961600	Great Saltee	Great Saltee	Great Saltee,Saltee Island Great,South Saltee	52.11667	-6.61667	T	ISL	IE	IE	L	30			0		-9999	Europe/Dublin	2010-08-14
-2961601	Lough Salt	Lough Salt		55.08278	-7.80611	H	LK	IE		U	06			0		340	Europe/Dublin	2010-08-14
-2961602	Salrock	Salrock		53.6	-9.85	P	PPL	IE		C	10			0		144	Europe/Dublin	1993-12-27
-2961603	Sallymount House	Sallymount House	Sallymount,Sallymount House	53.12222	-6.70972	S	EST	IE	IE	L	12			0		151	Europe/Dublin	2010-08-14
-2961604	Sally Gap	Sally Gap	Sally Gap,Sully Gap	53.13611	-6.31306	T	GAP	IE	IE	L	31			0		460	Europe/Dublin	2010-08-14
-2961605	Sallybrook Station	Sallybrook Station	Sallybrook,Sallybrook Station	54.95	-7.56667	S	RSTN	IE		U	06			0		86	Europe/Dublin	2010-08-10
-2961606	Sallybrook	Sallybrook	Sallybrook	51.935	-8.38639	P	PPL	IE		M	04			0		76	Europe/Dublin	2010-08-14
-2961607	Sallins	Sallins	Na Sollain,Na Solláin,Sallins	53.24889	-6.66611	P	PPL	IE		L	12			3164		97	Europe/Dublin	2010-08-14
-2961608	Salisbury Lodge	Salisbury Lodge		53.65	-8	S	EST	IE		L	18			0		79	Europe/Dublin	1993-12-27
-2961609	Salia	Salia		53.95111	-9.94806	P	PPL	IE		C	20			0		26	Europe/Dublin	2010-08-14
-2961610	Saleen Harbour	Saleen Harbour	Saleen Bay,Saleen Harbour	54.18361	-10.03	H	HBR	IE	IE	C	20			0		-9999	Europe/Dublin	2010-08-14
-2961611	Saleen	Saleen		52.55861	-9.46444	P	PPL	IE		M	11			0		11	Europe/Dublin	2010-08-14
-2961612	Saleen	Saleen		51.86333	-8.16556	P	PPL	IE		M	04			0		74	Europe/Dublin	2010-08-14
-2961613	Saivnose River	Saivnose River		51.61278	-9.27	H	STM	IE		M	04			0		56	Europe/Dublin	2010-08-14
-2961614	Saint Thomas Island	Saint Thomas Island		52.69	-8.62	T	ISL	IE		M	03			0		2	Europe/Dublin	2010-08-14
-2961615	Saint Stephens Green Park	Saint Stephens Green Park		53.33784	-6.25813	L	PRK	IE		L	07			0		5	Europe/Dublin	2010-08-14
-2961616	Saints Island	Saints Island		54.61528	-7.88639	T	ISL	IE		U	06			0		152	Europe/Dublin	2010-08-14
-2961617	Patrickswell	Patrickswell	Patrickswell,Saint Patrickswell,Tobar Phadraig,Tobar Phádraig	52.59722	-8.70889	P	PPL	IE		M	16			0		55	Europe/Dublin	2010-08-14
-2961618	Saint Patricks Island	Saint Patricks Island		53.58833	-6.07389	T	ISL	IE		L	07			0		-9999	Europe/Dublin	2010-08-14
-2961619	Saint Mullins	Saint Mullins		52.49278	-6.92306	P	PPL	IE		L	01			0		45	Europe/Dublin	2010-08-14
-2961620	Saint Margarets House	Saint Margarets House		52.20083	-6.34472	S	BLDG	IE		L	30			0		-9999	Europe/Dublin	2010-08-14
-2961621	Saint Macdaras Island	Saint Macdaras Island	Macdara,Saint Macdaras Island	53.305	-9.91889	T	ISL	IE	IE	C	10			0		-9999	Europe/Dublin	2010-08-14
-2961622	Saint Johnstown	Saint Johnstown	Baile Suingean,Saint Johnston,Saint Johnstown	54.93333	-7.45	P	PPL	IE		U	06			0		1	Europe/Dublin	2010-08-14
-2961623	Saint Johns Port	Saint Johns Port		54.33333	-8.6	P	PPL	IE		C	25			0		-9999	Europe/Dublin	1993-12-27
-2961624	Saint John’s Point	Saint John's Point		54.56667	-8.46667	T	PT	IE		U	06			0		-9999	Europe/Dublin	2010-08-14
-2961625	Saint Johns Lough	Saint Johns Lough		54.04028	-7.86167	H	LK	IE		C	14			0		70	Europe/Dublin	2010-08-14
-2961626	Saint Johns House	Saint Johns House		52.48833	-6.56944	S	EST	IE		L	30			0		51	Europe/Dublin	2010-08-14
-2961627	Saint Finans Bay	Saint Finans Bay	Saint Finans Bay,Saint Finian Bay,Saint Finnans Bay	51.81667	-10.36667	H	BAY	IE	IE	M	11			0		-9999	Europe/Dublin	2010-08-14
-2961628	Saint Edmonds	Saint Edmonds		52.38333	-6.48333	S	EST	IE		L	30			0		1	Europe/Dublin	2010-08-14
-2961629	Saint Doolaghs	Saint Doolaghs		53.41639	-6.18056	P	PPL	IE		L	07			0		3	Europe/Dublin	2010-08-14
-2961630	Saint Clerans	Saint Clerans	Saint Clerans,Saint Clernans	53.22667	-8.65778	S	EST	IE	IE	C	10			0		51	Europe/Dublin	2010-08-14
-2961631	Saint Catherines	Saint Catherines	Saint Catharine's,Saint Catharine’s,Saint Catherines	52.86667	-8.6	P	PPL	IE		M	03			0		76	Europe/Dublin	2010-08-10
-2961632	Saint Brendans House	Saint Brendans House		53.53333	-8.4	S	EST	IE		C	10			0		69	Europe/Dublin	1993-12-27
-2961633	Saint Brendans	Saint Brendans	Saint Bredan's,Saint Bredan’s,Saint Brendans	53.23417	-8.06083	S	EST	IE	IE	C	10			0		61	Europe/Dublin	2010-08-14
-2961634	Saint Anns Wells	Saint Anns Wells		53.23333	-6.35	P	PPL	IE		00				0		300	Europe/Dublin	2007-05-30
-2961635	Saint Anns Hill	Saint Anns Hill	Saint Ann's,Saint Anne's Hill,Saint Anne’s Hill,Saint Anns Hill,Saint Ann’s	51.93333	-8.6	P	PPL	IE	IE	M	04			0		68	Europe/Dublin	2010-08-14
-2961636	Saggart	Saggart	Saggart,Teach Sagard	53.28028	-6.44444	P	PPL	IE	IE	L	07			0		150	Europe/Dublin	2010-11-04
-2961637	Safe Harbour	Safe Harbour		53.53333	-8	H	COVE	IE		C	24			0		62	Europe/Dublin	1993-12-27
-2961638	Saddle Hill	Saddle Hill		54.34861	-8.12917	T	MT	IE		C	14			0	379	310	Europe/Dublin	2010-08-14
-2961639	Saddle Head	Saddle Head	Gubroenacoragh,Saddle Head	54.01222	-10.18889	T	CAPE	IE	IE	C	20			0		45	Europe/Dublin	2010-08-14
-2961640	Ryves Castle	Ryves Castle		52.42306	-8.36611	S	EST	IE		M	16			0		121	Europe/Dublin	2010-08-14
-2961641	Ryndville	Ryndville		53.43667	-6.82306	S	EST	IE		L	21			0		86	Europe/Dublin	2010-08-14
-2961642	Rylane Cross	Rylane Cross	Rylane,Rylane Cross	51.98333	-8.83333	P	PPL	IE	IE	M	04			0		191	Europe/Dublin	2010-08-14
-2961643	Rye Water	Rye Water	An Ri,Rye Water	53.365	-6.49111	H	STM	IE	IE	00				0		47	Europe/Dublin	2010-08-10
-2961644	Ryehill	Ryehill		53.39889	-8.69222	S	EST	IE		C	10			0		76	Europe/Dublin	2010-08-14
-2961645	Ryefield	Ryefield		53.78806	-7.05861	P	PPL	IE		U	02			0		126	Europe/Dublin	2010-08-14
-2961646	Rutland Island	Rutland Island		54.97667	-8.45722	T	ISL	IE		U	06			0		1	Europe/Dublin	2010-08-14
-2961647	Russborough House	Russborough House	Russborough,Russborough House	53.14111	-6.56806	S	HSEC	IE	IE	L	31			0		181	Europe/Dublin	2010-08-14
-2961648	Rushin House	Rushin House		53.01778	-7.49528	S	EST	IE		L	15			0		129	Europe/Dublin	2010-08-14
-2961649	Slieve Rushen	Slieve Rushen	Slieve Rushen	54.15	-7.63333	T	MT	IE		U	02			0		309	Europe/Dublin	1998-02-13
-2961650	Rushbrooke	Rushbrooke	Rushbrooke	51.85	-8.31667	P	PPL	IE		M	04			0		-9999	Europe/Dublin	2010-08-14
-2961651	An Ros	An Ros	Rush	53.5223	-6.09308	P	PPL	IE		L	07			7294		1	Europe/Dublin	2010-08-14
-2961652	Runnamoat House	Runnamoat House	Runnamoat,Runnamoat House	53.68333	-8.31667	S	EST	IE		C	24			0		77	Europe/Dublin	2010-08-10
-2961653	Rue Point	Rue Point	Bankmore Point,Rue Point	54.43639	-8.64583	T	PT	IE	IE	C	25			0		-9999	Europe/Dublin	2010-08-14
-2961654	Ruan	Ruan		52.93056	-8.98972	P	PPL	IE		M	03			0		38	Europe/Dublin	2010-08-14
-2961655	Royaloak	Royaloak		52.7	-6.98667	P	PPL	IE		L	01			0		40	Europe/Dublin	2010-08-14
-2961656	Royal Canal	Royal Canal	An Chanail Rioga,Royal Canal	53.35	-6.23333	H	CNL	IE	IE	00				0		1	Europe/Dublin	2010-08-10
-2961657	Roy	Roy		54.08028	-9.94528	P	PPLL	IE		C	20			0		1	Europe/Dublin	2010-08-14
-2961658	Roxborough House	Roxborough House	Roxborough,Roxborough House	53.65	-8.18333	S	EST	IE		C	24			0		75	Europe/Dublin	2010-08-10
-2961659	Roxborough House	Roxborough House	Roxborough,Roxborough House	52.61306	-8.615	S	EST	IE	IE	M	16			0		56	Europe/Dublin	2010-08-14
-2961660	Roxborough	Roxborough		53.16694	-8.69528	S	EST	IE		C	10			0		76	Europe/Dublin	2010-08-14
-2961661	Rowls Aldworth	Rowls Aldworth		52.3	-9.01667	S	BLDG	IE		M	04			0		232	Europe/Dublin	1

<TRUNCATED>

[73/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/simple-Queries-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/simple-Queries-BBox.txt b/lucene/spatial-extras/src/test-files/simple-Queries-BBox.txt
new file mode 100644
index 0000000..9f3d5b0
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/simple-Queries-BBox.txt
@@ -0,0 +1,9 @@
+C5 @ IsWithin(ENVELOPE(-6, 6, 6, -6))
+C5 @ BBoxWithin(ENVELOPE(-6, 6, 6, -6))
+C10 @ Contains(ENVELOPE(-6, 6, 6, -6))
+C10 @ IsEqualTo(ENVELOPE(-10, 10, 10, -10))
+C5 C10 @ Intersects(ENVELOPE(-2, 2, 2, -2))
+ @ Overlaps(ENVELOPE(-2, 2, 2, -2))
+C5 @ Overlaps(ENVELOPE(-2, 2, 8, -2))
+C5 C10 @ BBoxIntersects(ENVELOPE(-2, 2, 2, -2))
+NW15 @ IsDisjointTo(ENVELOPE(-10, 10, 10, -10))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/states-Intersects-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/states-Intersects-BBox.txt b/lucene/spatial-extras/src/test-files/states-Intersects-BBox.txt
new file mode 100644
index 0000000..a45df7b
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/states-Intersects-BBox.txt
@@ -0,0 +1,3 @@
+WY CO	@ Intersects(ENVELOPE(-106.964844, -105.734375, 42.800781, 39.460938))
+TX @ Intersects(ENVELOPE(-99.669922, -98.439453, 32.253906, 30.583984))
+MS TX LA @ Intersects(ENVELOPE(-95.363281, -90.133789, 32.473633, 29.792969))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/states-IsWithin-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/states-IsWithin-BBox.txt b/lucene/spatial-extras/src/test-files/states-IsWithin-BBox.txt
new file mode 100644
index 0000000..6a504da
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/states-IsWithin-BBox.txt
@@ -0,0 +1,4 @@
+KS	@ IsWithin(ENVELOPE(-103.493164, -93.825195, 41.086914, 36.208984))
+WA @ IsWithin(ENVELOPE(-126.916016, -115.314453, 50.688965, 44.36084))
+MA CT RI @ IsWithin(ENVELOPE(-73.894043, -69.521484, 43.198242, 40.825195))
+AL GA @ IsWithin(ENVELOPE(-89.472656, -80.244141, 35.90332, 29.311523))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
new file mode 100644
index 0000000..9a29677
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
@@ -0,0 +1,135 @@
+/*
+ * 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.lucene.spatial;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.index.IndexOptions;
+import org.apache.lucene.spatial.bbox.BBoxStrategy;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.PackedQuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
+import org.apache.lucene.spatial.vector.PointVectorStrategy;
+import org.junit.Test;
+
+public class DistanceStrategyTest extends StrategyTestCase {
+  @ParametersFactory(argumentFormatting = "strategy=%s")
+  public static Iterable<Object[]> parameters() {
+    List<Object[]> ctorArgs = new ArrayList<>();
+
+    SpatialContext ctx = SpatialContext.GEO;
+    SpatialPrefixTree grid;
+    SpatialStrategy strategy;
+
+    grid = new QuadPrefixTree(ctx,25);
+    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_quad");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    grid = new GeohashPrefixTree(ctx,12);
+    strategy = new TermQueryPrefixTreeStrategy(grid, "termquery_geohash");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    grid = new PackedQuadPrefixTree(ctx,25);
+    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_packedquad");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    strategy = new PointVectorStrategy(ctx, "pointvector");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    strategy = new BBoxStrategy(ctx, "bbox");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    strategy = new SerializedDVStrategy(ctx, "serialized");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    return ctorArgs;
+  }
+
+  public DistanceStrategyTest(String suiteName, SpatialStrategy strategy) {
+    this.ctx = strategy.getSpatialContext();
+    this.strategy = strategy;
+  }
+
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+    if (strategy instanceof BBoxStrategy && random().nextBoolean()) {//disable indexing sometimes
+      BBoxStrategy bboxStrategy = (BBoxStrategy)strategy;
+      final FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
+      fieldType.setIndexOptions(IndexOptions.NONE);
+      bboxStrategy.setFieldType(fieldType);
+    }
+  }
+
+  @Override
+  protected boolean needsDocValues() {
+    return true;
+  }
+
+  @Test
+  public void testDistanceOrder() throws IOException {
+    adoc("100", ctx.makePoint(2, 1));
+    adoc("101", ctx.makePoint(-1, 4));
+    adoc("103", (Shape)null);//test score for nothing
+    adoc("999", ctx.makePoint(2, 1));//test deleted
+    commit();
+    deleteDoc("999");
+    commit();
+    //FYI distances are in docid order
+    checkDistValueSource(ctx.makePoint(4, 3), 2.8274937f, 5.0898066f, 180f);
+    checkDistValueSource(ctx.makePoint(0, 4), 3.6043684f, 0.9975641f, 180f);
+  }
+
+  @Test
+  public void testRecipScore() throws IOException {
+    Point p100 = ctx.makePoint(2, 1);
+    adoc("100", p100);
+    Point p101 = ctx.makePoint(-1, 4);
+    adoc("101", p101);
+    adoc("103", (Shape)null);//test score for nothing
+    adoc("999", ctx.makePoint(2, 1));//test deleted
+    commit();
+    deleteDoc("999");
+    commit();
+
+    double dist = ctx.getDistCalc().distance(p100, p101);
+    Shape queryShape = ctx.makeCircle(2.01, 0.99, dist);
+    checkValueSource(strategy.makeRecipDistanceValueSource(queryShape),
+        new float[]{1.00f, 0.10f, 0f}, 0.09f);
+  }
+
+  void checkDistValueSource(Point pt, float... distances) throws IOException {
+    float multiplier = random().nextFloat() * 100f;
+    float[] dists2 = Arrays.copyOf(distances, distances.length);
+    for (int i = 0; i < dists2.length; i++) {
+      dists2[i] *= multiplier;
+    }
+    checkValueSource(strategy.makeDistanceValueSource(pt, multiplier), dists2, 1.0e-3f);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/PortedSolr3Test.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
new file mode 100644
index 0000000..8506c86
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
@@ -0,0 +1,167 @@
+/*
+ * 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.lucene.spatial;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.vector.PointVectorStrategy;
+import org.junit.Test;
+
+/**
+ * Based off of Solr 3's SpatialFilterTest.
+ */
+public class PortedSolr3Test extends StrategyTestCase {
+
+  @ParametersFactory(argumentFormatting = "strategy=%s")
+  public static Iterable<Object[]> parameters() {
+    List<Object[]> ctorArgs = new ArrayList<>();
+
+    SpatialContext ctx = SpatialContext.GEO;
+    SpatialPrefixTree grid;
+    SpatialStrategy strategy;
+
+    grid = new GeohashPrefixTree(ctx,12);
+    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_geohash");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    grid = new QuadPrefixTree(ctx,25);
+    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_quad");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    grid = new GeohashPrefixTree(ctx,12);
+    strategy = new TermQueryPrefixTreeStrategy(grid, "termquery_geohash");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    strategy = new PointVectorStrategy(ctx, "pointvector");
+    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
+
+    return ctorArgs;
+  }
+
+  public PortedSolr3Test(String suiteName, SpatialStrategy strategy) {
+    this.ctx = strategy.getSpatialContext();
+    this.strategy = strategy;
+  }
+
+  private void setupDocs() throws Exception {
+    super.deleteAll();
+    adoc("1", ctx.makePoint(-79.9289094, 32.7693246));
+    adoc("2", ctx.makePoint(-80.9289094, 33.7693246));
+    adoc("3", ctx.makePoint(50.9289094, -32.7693246));
+    adoc("4", ctx.makePoint(60.9289094, -50.7693246));
+    adoc("5", ctx.makePoint(0, 0));
+    adoc("6", ctx.makePoint(0.1, 0.1));
+    adoc("7", ctx.makePoint(-0.1, -0.1));
+    adoc("8", ctx.makePoint(179.9, 0));
+    adoc("9", ctx.makePoint(-179.9, 0));
+    adoc("10", ctx.makePoint(50, 89.9));
+    adoc("11", ctx.makePoint(-130, 89.9));
+    adoc("12", ctx.makePoint(50, -89.9));
+    adoc("13", ctx.makePoint(-130, -89.9));
+    commit();
+  }
+
+
+  @Test
+  public void testIntersections() throws Exception {
+    setupDocs();
+    //Try some edge cases
+      //NOTE: 2nd arg is distance in kilometers
+    checkHitsCircle(ctx.makePoint(1, 1), 175, 3, 5, 6, 7);
+    checkHitsCircle(ctx.makePoint(179.8, 0), 200, 2, 8, 9);
+    checkHitsCircle(ctx.makePoint(50, 89.8), 200, 2, 10, 11);//this goes over the north pole
+    checkHitsCircle(ctx.makePoint(50, -89.8), 200, 2, 12, 13);//this goes over the south pole
+    //try some normal cases
+    checkHitsCircle(ctx.makePoint(-80.0, 33.0), 300, 2);
+    //large distance
+    checkHitsCircle(ctx.makePoint(1, 1), 5000, 3, 5, 6, 7);
+    //Because we are generating a box based on the west/east longitudes and the south/north latitudes, which then
+    //translates to a range query, which is slightly more inclusive.  Thus, even though 0.0 is 15.725 kms away,
+    //it will be included, b/c of the box calculation.
+    checkHitsBBox(ctx.makePoint(0.1, 0.1), 15, 2, 5, 6);
+    //try some more
+    deleteAll();
+    adoc("14", ctx.makePoint(5, 0));
+    adoc("15", ctx.makePoint(15, 0));
+    //3000KM from 0,0, see http://www.movable-type.co.uk/scripts/latlong.html
+    adoc("16", ctx.makePoint(19.79750, 18.71111));
+    adoc("17", ctx.makePoint(-95.436643, 44.043900));
+    commit();
+
+    checkHitsCircle(ctx.makePoint(0, 0), 1000, 1, 14);
+    checkHitsCircle(ctx.makePoint(0, 0), 2000, 2, 14, 15);
+    checkHitsBBox(ctx.makePoint(0, 0), 3000, 3, 14, 15, 16);
+    checkHitsCircle(ctx.makePoint(0, 0), 3001, 3, 14, 15, 16);
+    checkHitsCircle(ctx.makePoint(0, 0), 3000.1, 3, 14, 15, 16);
+
+    //really fine grained distance and reflects some of the vagaries of how we are calculating the box
+    checkHitsCircle(ctx.makePoint(-96.789603, 43.517030), 109, 0);
+
+    // falls outside of the real distance, but inside the bounding box
+    checkHitsCircle(ctx.makePoint(-96.789603, 43.517030), 110, 0);
+    checkHitsBBox(ctx.makePoint(-96.789603, 43.517030), 110, 1, 17);
+  }
+
+  //---- these are similar to Solr test methods
+
+  private void checkHitsCircle(Point pt, double distKM, int assertNumFound, int... assertIds) {
+    _checkHits(false, pt, distKM, assertNumFound, assertIds);
+  }
+  private void checkHitsBBox(Point pt, double distKM, int assertNumFound, int... assertIds) {
+    _checkHits(true, pt, distKM, assertNumFound, assertIds);
+  }
+
+  private void _checkHits(boolean bbox, Point pt, double distKM, int assertNumFound, int... assertIds) {
+    SpatialOperation op = SpatialOperation.Intersects;
+    double distDEG = DistanceUtils.dist2Degrees(distKM, DistanceUtils.EARTH_MEAN_RADIUS_KM);
+    Shape shape = ctx.makeCircle(pt, distDEG);
+    if (bbox)
+      shape = shape.getBoundingBox();
+
+    SpatialArgs args = new SpatialArgs(op,shape);
+    //args.setDistPrecision(0.025);
+    Query query = strategy.makeQuery(args);
+    SearchResults results = executeQuery(query, 100);
+    assertEquals(""+shape,assertNumFound,results.numFound);
+    if (assertIds != null) {
+      Set<Integer> resultIds = new HashSet<>();
+      for (SearchResult result : results.results) {
+        resultIds.add(Integer.valueOf(result.document.get("id")));
+      }
+      for (int assertId : assertIds) {
+        assertTrue("has " + assertId, resultIds.contains(assertId));
+      }
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
new file mode 100644
index 0000000..b1a5e54
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
@@ -0,0 +1,119 @@
+/*
+ * 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.lucene.spatial;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.spatial.bbox.BBoxStrategy;
+import org.apache.lucene.spatial.composite.CompositeSpatialStrategy;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
+import org.apache.lucene.spatial.vector.PointVectorStrategy;
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Test;
+
+public class QueryEqualsHashCodeTest extends LuceneTestCase {
+
+  private final SpatialContext ctx = SpatialContext.GEO;
+
+  private SpatialOperation predicate;
+
+  @Test
+  public void testEqualsHashCode() {
+
+    switch (random().nextInt(4)) {//0-3
+      case 0: predicate = SpatialOperation.Contains; break;
+      case 1: predicate = SpatialOperation.IsWithin; break;
+
+      default: predicate = SpatialOperation.Intersects; break;
+    }
+    final SpatialPrefixTree gridQuad = new QuadPrefixTree(ctx,10);
+    final SpatialPrefixTree gridGeohash = new GeohashPrefixTree(ctx,10);
+
+    Collection<SpatialStrategy> strategies = new ArrayList<>();
+    RecursivePrefixTreeStrategy recursive_geohash = new RecursivePrefixTreeStrategy(gridGeohash, "recursive_geohash");
+    strategies.add(recursive_geohash);
+    strategies.add(new TermQueryPrefixTreeStrategy(gridQuad, "termquery_quad"));
+    strategies.add(new PointVectorStrategy(ctx, "pointvector"));
+    strategies.add(new BBoxStrategy(ctx, "bbox"));
+    final SerializedDVStrategy serialized = new SerializedDVStrategy(ctx, "serialized");
+    strategies.add(serialized);
+    strategies.add(new CompositeSpatialStrategy("composite", recursive_geohash, serialized));
+    for (SpatialStrategy strategy : strategies) {
+      testEqualsHashcode(strategy);
+    }
+  }
+
+  private void testEqualsHashcode(final SpatialStrategy strategy) {
+    final SpatialArgs args1 = makeArgs1();
+    final SpatialArgs args2 = makeArgs2();
+    testEqualsHashcode(args1, args2, new ObjGenerator() {
+      @Override
+      public Object gen(SpatialArgs args) {
+        return strategy.makeQuery(args);
+      }
+    });
+    testEqualsHashcode(args1, args2, new ObjGenerator() {
+      @Override
+      public Object gen(SpatialArgs args) {
+        return strategy.makeDistanceValueSource(args.getShape().getCenter());
+      }
+    });
+  }
+
+  private void testEqualsHashcode(SpatialArgs args1, SpatialArgs args2, ObjGenerator generator) {
+    Object first;
+    try {
+      first = generator.gen(args1);
+    } catch (UnsupportedOperationException e) {
+      return;
+    }
+    if (first == null)
+      return;//unsupported op?
+    Object second = generator.gen(args1);//should be the same
+    assertEquals(first, second);
+    assertEquals(first.hashCode(), second.hashCode());
+    assertTrue(args1.equals(args2) == false);
+    second = generator.gen(args2);//now should be different
+    assertTrue(first.equals(second) == false);
+    assertTrue(first.hashCode() != second.hashCode());
+  }
+
+  private SpatialArgs makeArgs1() {
+    final Shape shape1 = ctx.makeRectangle(0, 0, 10, 10);
+    return new SpatialArgs(predicate, shape1);
+  }
+
+  private SpatialArgs makeArgs2() {
+    final Shape shape2 = ctx.makeRectangle(0, 0, 20, 20);
+    return new SpatialArgs(predicate, shape2);
+  }
+
+  interface ObjGenerator {
+    Object gen(SpatialArgs args);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialArgsTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
new file mode 100644
index 0000000..09b5d46
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.lucene.spatial;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class SpatialArgsTest {
+
+  @Test
+  public void calcDistanceFromErrPct() {
+    final SpatialContext ctx = SpatialContext.GEO;
+    final double DEP = 0.5;//distErrPct
+
+    //the result is the diagonal distance from the center to the closest corner,
+    // times distErrPct
+
+    Shape superwide = ctx.makeRectangle(-180, 180, 0, 0);
+    //0 distErrPct means 0 distance always
+    assertEquals(0, SpatialArgs.calcDistanceFromErrPct(superwide, 0, ctx), 0);
+    assertEquals(180 * DEP, SpatialArgs.calcDistanceFromErrPct(superwide, DEP, ctx), 0);
+
+    Shape supertall = ctx.makeRectangle(0, 0, -90, 90);
+    assertEquals(90 * DEP, SpatialArgs.calcDistanceFromErrPct(supertall, DEP, ctx), 0);
+
+    Shape upperhalf = ctx.makeRectangle(-180, 180, 0, 90);
+    assertEquals(45 * DEP, SpatialArgs.calcDistanceFromErrPct(upperhalf, DEP, ctx), 0.0001);
+
+    Shape midCircle = ctx.makeCircle(0, 0, 45);
+    assertEquals(60 * DEP, SpatialArgs.calcDistanceFromErrPct(midCircle, DEP, ctx), 0.0001);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialExample.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialExample.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialExample.java
new file mode 100644
index 0000000..1bd7159
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialExample.java
@@ -0,0 +1,200 @@
+/*
+ * 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.lucene.spatial;
+
+import java.io.IOException;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Sort;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialArgsParser;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.util.LuceneTestCase;
+
+/**
+ * This class serves as example code to show how to use the Lucene spatial
+ * module.
+ */
+public class SpatialExample extends LuceneTestCase {
+
+  //Note: Test invoked via TestTestFramework.spatialExample()
+
+  public static void main(String[] args) throws Exception {
+    new SpatialExample().test();
+  }
+
+  public void test() throws Exception {
+    init();
+    indexPoints();
+    search();
+  }
+
+  /**
+   * The Spatial4j {@link SpatialContext} is a sort of global-ish singleton
+   * needed by Lucene spatial.  It's a facade to the rest of Spatial4j, acting
+   * as a factory for {@link Shape}s and provides access to reading and writing
+   * them from Strings.
+   */
+  private SpatialContext ctx;//"ctx" is the conventional variable name
+
+  /**
+   * The Lucene spatial {@link SpatialStrategy} encapsulates an approach to
+   * indexing and searching shapes, and providing distance values for them.
+   * It's a simple API to unify different approaches. You might use more than
+   * one strategy for a shape as each strategy has its strengths and weaknesses.
+   * <p />
+   * Note that these are initialized with a field name.
+   */
+  private SpatialStrategy strategy;
+
+  private Directory directory;
+
+  protected void init() {
+    //Typical geospatial context
+    //  These can also be constructed from SpatialContextFactory
+    this.ctx = SpatialContext.GEO;
+
+    int maxLevels = 11;//results in sub-meter precision for geohash
+    //TODO demo lookup by detail distance
+    //  This can also be constructed from SpatialPrefixTreeFactory
+    SpatialPrefixTree grid = new GeohashPrefixTree(ctx, maxLevels);
+
+    this.strategy = new RecursivePrefixTreeStrategy(grid, "myGeoField");
+
+    this.directory = new RAMDirectory();
+  }
+
+  private void indexPoints() throws Exception {
+    IndexWriterConfig iwConfig = new IndexWriterConfig(null);
+    IndexWriter indexWriter = new IndexWriter(directory, iwConfig);
+
+    //Spatial4j is x-y order for arguments
+    indexWriter.addDocument(newSampleDocument(
+        2, ctx.makePoint(-80.93, 33.77)));
+
+    //Spatial4j has a WKT parser which is also "x y" order
+    indexWriter.addDocument(newSampleDocument(
+        4, ctx.readShapeFromWkt("POINT(60.9289094 -50.7693246)")));
+
+    indexWriter.addDocument(newSampleDocument(
+        20, ctx.makePoint(0.1,0.1), ctx.makePoint(0, 0)));
+
+    indexWriter.close();
+  }
+
+  private Document newSampleDocument(int id, Shape... shapes) {
+    Document doc = new Document();
+    doc.add(new StoredField("id", id));
+    doc.add(new NumericDocValuesField("id", id));
+    //Potentially more than one shape in this field is supported by some
+    // strategies; see the javadocs of the SpatialStrategy impl to see.
+    for (Shape shape : shapes) {
+      for (Field f : strategy.createIndexableFields(shape)) {
+        doc.add(f);
+      }
+      //store it too; the format is up to you
+      //  (assume point in this example)
+      Point pt = (Point) shape;
+      doc.add(new StoredField(strategy.getFieldName(), pt.getX()+" "+pt.getY()));
+    }
+
+    return doc;
+  }
+
+  private void search() throws Exception {
+    IndexReader indexReader = DirectoryReader.open(directory);
+    IndexSearcher indexSearcher = new IndexSearcher(indexReader);
+    Sort idSort = new Sort(new SortField("id", SortField.Type.INT));
+
+    //--Filter by circle (<= distance from a point)
+    {
+      //Search with circle
+      //note: SpatialArgs can be parsed from a string
+      SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects,
+          ctx.makeCircle(-80.0, 33.0, DistanceUtils.dist2Degrees(200, DistanceUtils.EARTH_MEAN_RADIUS_KM)));
+      Query query = strategy.makeQuery(args);
+      TopDocs docs = indexSearcher.search(query, 10, idSort);
+      assertDocMatchedIds(indexSearcher, docs, 2);
+      //Now, lets get the distance for the 1st doc via computing from stored point value:
+      // (this computation is usually not redundant)
+      Document doc1 = indexSearcher.doc(docs.scoreDocs[0].doc);
+      String doc1Str = doc1.getField(strategy.getFieldName()).stringValue();
+      //assume doc1Str is "x y" as written in newSampleDocument()
+      int spaceIdx = doc1Str.indexOf(' ');
+      double x = Double.parseDouble(doc1Str.substring(0, spaceIdx));
+      double y = Double.parseDouble(doc1Str.substring(spaceIdx+1));
+      double doc1DistDEG = ctx.calcDistance(args.getShape().getCenter(), x, y);
+      assertEquals(121.6d, DistanceUtils.degrees2Dist(doc1DistDEG, DistanceUtils.EARTH_MEAN_RADIUS_KM), 0.1);
+      //or more simply:
+      assertEquals(121.6d, doc1DistDEG * DistanceUtils.DEG_TO_KM, 0.1);
+    }
+    //--Match all, order by distance ascending
+    {
+      Point pt = ctx.makePoint(60, -50);
+      ValueSource valueSource = strategy.makeDistanceValueSource(pt, DistanceUtils.DEG_TO_KM);//the distance (in km)
+      Sort distSort = new Sort(valueSource.getSortField(false)).rewrite(indexSearcher);//false=asc dist
+      TopDocs docs = indexSearcher.search(new MatchAllDocsQuery(), 10, distSort);
+      assertDocMatchedIds(indexSearcher, docs, 4, 20, 2);
+      //To get the distance, we could compute from stored values like earlier.
+      // However in this example we sorted on it, and the distance will get
+      // computed redundantly.  If the distance is only needed for the top-X
+      // search results then that's not a big deal. Alternatively, try wrapping
+      // the ValueSource with CachingDoubleValueSource then retrieve the value
+      // from the ValueSource now. See LUCENE-4541 for an example.
+    }
+    //demo arg parsing
+    {
+      SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects,
+          ctx.makeCircle(-80.0, 33.0, 1));
+      SpatialArgs args2 = new SpatialArgsParser().parse("Intersects(BUFFER(POINT(-80 33),1))", ctx);
+      assertEquals(args.toString(),args2.toString());
+    }
+
+    indexReader.close();
+  }
+
+  private void assertDocMatchedIds(IndexSearcher indexSearcher, TopDocs docs, int... ids) throws IOException {
+    int[] gotIds = new int[docs.totalHits];
+    for (int i = 0; i < gotIds.length; i++) {
+      gotIds[i] = indexSearcher.doc(docs.scoreDocs[i].doc).getField("id").numericValue().intValue();
+    }
+    assertArrayEquals(ids,gotIds);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
new file mode 100644
index 0000000..e995ee1
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
@@ -0,0 +1,31 @@
+/*
+ * 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.lucene.spatial;
+
+public class SpatialMatchConcern {
+  public final boolean orderIsImportant;
+  public final boolean resultsAreSuperset; // if the strategy can not give exact answers, but used to limit results
+
+  private SpatialMatchConcern( boolean order, boolean superset ) {
+    this.orderIsImportant = order;
+    this.resultsAreSuperset = superset;
+  }
+
+  public static final SpatialMatchConcern EXACT = new SpatialMatchConcern( true, false );
+  public static final SpatialMatchConcern FILTER = new SpatialMatchConcern( false, false );
+  public static final SpatialMatchConcern SUPERSET = new SpatialMatchConcern( false, true );
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestCase.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestCase.java
new file mode 100644
index 0000000..94e5a8e
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestCase.java
@@ -0,0 +1,280 @@
+/*
+ * 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.lucene.spatial;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.logging.Logger;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.uninverting.UninvertingReader;
+import org.apache.lucene.uninverting.UninvertingReader.Type;
+import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
+import org.apache.lucene.util.TestUtil;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomDouble;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomGaussian;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+
+/** A base test class for spatial lucene. It's mostly Lucene generic. */
+@SuppressSysoutChecks(bugUrl = "These tests use JUL extensively.")
+public abstract class SpatialTestCase extends LuceneTestCase {
+
+  protected Logger log = Logger.getLogger(getClass().getName());
+
+  private DirectoryReader indexReader;
+  protected RandomIndexWriter indexWriter;
+  private Directory directory;
+  private Analyzer analyzer;
+  protected IndexSearcher indexSearcher;
+
+  protected SpatialContext ctx;//subclass must initialize
+
+  protected Map<String,Type> uninvertMap = new HashMap<>();
+
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+    // TODO: change this module to index docvalues instead of uninverting
+    uninvertMap.clear();
+    uninvertMap.put("pointvector__x", Type.DOUBLE);
+    uninvertMap.put("pointvector__y", Type.DOUBLE);
+
+    directory = newDirectory();
+    final Random random = random();
+    analyzer = new MockAnalyzer(random);
+    indexWriter = new RandomIndexWriter(random,directory, newIWConfig(random, analyzer));
+    indexReader = UninvertingReader.wrap(indexWriter.getReader(), uninvertMap);
+    indexSearcher = newSearcher(indexReader);
+  }
+
+  protected IndexWriterConfig newIWConfig(Random random, Analyzer analyzer) {
+    final IndexWriterConfig indexWriterConfig = LuceneTestCase.newIndexWriterConfig(random, analyzer);
+    //TODO can we randomly choose a doc-values supported format?
+    if (needsDocValues())
+      indexWriterConfig.setCodec( TestUtil.getDefaultCodec());
+    return indexWriterConfig;
+  }
+
+  protected boolean needsDocValues() {
+    return false;
+  }
+
+  @Override
+  public void tearDown() throws Exception {
+    IOUtils.close(indexWriter, indexReader, analyzer, directory);
+    super.tearDown();
+  }
+
+  // ================================================= Helper Methods ================================================
+
+  protected void addDocument(Document doc) throws IOException {
+    indexWriter.addDocument(doc);
+  }
+
+  protected void addDocumentsAndCommit(List<Document> documents) throws IOException {
+    for (Document document : documents) {
+      indexWriter.addDocument(document);
+    }
+    commit();
+  }
+
+  protected void deleteAll() throws IOException {
+    indexWriter.deleteAll();
+  }
+
+  protected void commit() throws IOException {
+    indexWriter.commit();
+    DirectoryReader newReader = DirectoryReader.openIfChanged(indexReader);
+    if (newReader != null) {
+      IOUtils.close(indexReader);
+      indexReader = newReader;
+    }
+    indexSearcher = newSearcher(indexReader);
+  }
+
+  protected void verifyDocumentsIndexed(int numDocs) {
+    assertEquals(numDocs, indexReader.numDocs());
+  }
+
+  protected SearchResults executeQuery(Query query, int numDocs) {
+    try {
+      TopDocs topDocs = indexSearcher.search(query, numDocs);
+
+      List<SearchResult> results = new ArrayList<>();
+      for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
+        results.add(new SearchResult(scoreDoc.score, indexSearcher.doc(scoreDoc.doc)));
+      }
+      return new SearchResults(topDocs.totalHits, results);
+    } catch (IOException ioe) {
+      throw new RuntimeException("IOException thrown while executing query", ioe);
+    }
+  }
+
+  protected Point randomPoint() {
+    final Rectangle WB = ctx.getWorldBounds();
+    return ctx.makePoint(
+        randomIntBetween((int) WB.getMinX(), (int) WB.getMaxX()),
+        randomIntBetween((int) WB.getMinY(), (int) WB.getMaxY()));
+  }
+
+  protected Rectangle randomRectangle() {
+    return randomRectangle(ctx.getWorldBounds());
+  }
+
+  protected Rectangle randomRectangle(Rectangle bounds) {
+    double[] xNewStartAndWidth = randomSubRange(bounds.getMinX(), bounds.getWidth());
+    double xMin = xNewStartAndWidth[0];
+    double xMax = xMin + xNewStartAndWidth[1];
+    if (bounds.getCrossesDateLine()) {
+      xMin = DistanceUtils.normLonDEG(xMin);
+      xMax = DistanceUtils.normLonDEG(xMax);
+    }
+
+    double[] yNewStartAndHeight = randomSubRange(bounds.getMinY(), bounds.getHeight());
+    double yMin = yNewStartAndHeight[0];
+    double yMax = yMin + yNewStartAndHeight[1];
+
+    return ctx.makeRectangle(xMin, xMax, yMin, yMax);
+  }
+
+  /** Returns new minStart and new length that is inside the range specified by the arguments. */
+  protected double[] randomSubRange(double boundStart, double boundLen) {
+    if (boundLen >= 3 && usually()) { // typical
+      // prefer integers for ease of debugability ... and prefer 1/16th of bound
+      int intBoundStart = (int) Math.ceil(boundStart);
+      int intBoundEnd = (int) (boundStart + boundLen);
+      int intBoundLen = intBoundEnd - intBoundStart;
+      int newLen = (int) randomGaussianMeanMax(intBoundLen / 16.0, intBoundLen);
+      int newStart = intBoundStart + randomInt(intBoundLen - newLen);
+      return new double[]{newStart, newLen};
+    } else { // (no int rounding)
+      double newLen = randomGaussianMeanMax(boundLen / 16, boundLen);
+      double newStart = boundStart + (boundLen - newLen == 0 ? 0 : (randomDouble() % (boundLen - newLen)));
+      return new double[]{newStart, newLen};
+    }
+  }
+
+  private double randomGaussianMinMeanMax(double min, double mean, double max) {
+    assert mean > min;
+    return randomGaussianMeanMax(mean - min, max - min) + min;
+  }
+
+  /**
+   * Within one standard deviation (68% of the time) the result is "close" to
+   * mean. By "close": when greater than mean, it's the lesser of 2*mean or half
+   * way to max, when lesser than mean, it's the greater of max-2*mean or half
+   * way to 0. The other 32% of the time it's in the rest of the range, touching
+   * either 0 or max but never exceeding.
+   */
+  private double randomGaussianMeanMax(double mean, double max) {
+    // DWS: I verified the results empirically
+    assert mean <= max && mean >= 0;
+    double g = randomGaussian();
+    double mean2 = mean;
+    double flip = 1;
+    if (g < 0) {
+      mean2 = max - mean;
+      flip = -1;
+      g *= -1;
+    }
+    // pivot is the distance from mean2 towards max where the boundary of
+    // 1 standard deviation alters the calculation
+    double pivotMax = max - mean2;
+    double pivot = Math.min(mean2, pivotMax / 2);//from 0 to max-mean2
+    assert pivot >= 0 && pivotMax >= pivot && g >= 0;
+    double pivotResult;
+    if (g <= 1)
+      pivotResult = pivot * g;
+    else
+      pivotResult = Math.min(pivotMax, (g - 1) * (pivotMax - pivot) + pivot);
+
+    double result = mean + flip * pivotResult;
+    return (result < 0 || result > max) ? mean : result; // due this due to computational numerical precision
+  }
+
+  // ================================================= Inner Classes =================================================
+
+  protected static class SearchResults {
+
+    public int numFound;
+    public List<SearchResult> results;
+
+    public SearchResults(int numFound, List<SearchResult> results) {
+      this.numFound = numFound;
+      this.results = results;
+    }
+
+    public StringBuilder toDebugString() {
+      StringBuilder str = new StringBuilder();
+      str.append("found: ").append(numFound).append('[');
+      for(SearchResult r : results) {
+        String id = r.getId();
+        str.append(id).append(", ");
+      }
+      str.append(']');
+      return str;
+    }
+
+    @Override
+    public String toString() {
+      return "[found:"+numFound+" "+results+"]";
+    }
+  }
+
+  protected static class SearchResult {
+
+    public float score;
+    public Document document;
+
+    public SearchResult(float score, Document document) {
+      this.score = score;
+      this.document = document;
+    }
+
+    public String getId() {
+      return document.get("id");
+    }
+
+    @Override
+    public String toString() {
+      return "["+score+"="+document+"]";
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestData.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestData.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestData.java
new file mode 100644
index 0000000..27d47b3
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestData.java
@@ -0,0 +1,71 @@
+/*
+ * 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.lucene.spatial;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+// This class is modelled after SpatialTestQuery.
+// Before Lucene 4.7, this was a bit different in Spatial4j as SampleData & SampleDataReader.
+
+public class SpatialTestData {
+  public String id;
+  public String name;
+  public Shape shape;
+
+  /** Reads the stream, consuming a format that is a tab-separated values of 3 columns:
+   * an "id", a "name" and the "shape".  Empty lines and lines starting with a '#' are skipped.
+   * The stream is closed.
+   */
+  public static Iterator<SpatialTestData> getTestData(InputStream in, SpatialContext ctx) throws IOException {
+    List<SpatialTestData> results = new ArrayList<>();
+    BufferedReader bufInput = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
+    try {
+      String line;
+      while ((line = bufInput.readLine()) != null) {
+        if (line.length() == 0 || line.charAt(0) == '#')
+          continue;
+
+        SpatialTestData data = new SpatialTestData();
+        String[] vals = line.split("\t");
+        if (vals.length != 3)
+          throw new RuntimeException("bad format; expecting 3 tab-separated values for line: "+line);
+        data.id = vals[0];
+        data.name = vals[1];
+        try {
+          data.shape = ctx.readShapeFromWkt(vals[2]);
+        } catch (ParseException e) {
+          throw new RuntimeException(e);
+        }
+        results.add(data);
+      }
+    } finally {
+      bufInput.close();
+    }
+    return results.iterator();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestQuery.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
new file mode 100644
index 0000000..bac90cf
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
@@ -0,0 +1,96 @@
+/*
+ * 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.lucene.spatial;
+
+import com.spatial4j.core.context.SpatialContext;
+
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialArgsParser;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+
+/**
+ * Helper class to execute queries
+ */
+public class SpatialTestQuery {
+  public String testname;
+  public String line;
+  public int lineNumber = -1;
+  public SpatialArgs args;
+  public List<String> ids = new ArrayList<>();
+
+  /**
+   * Get Test Queries.  The InputStream is closed.
+   */
+  public static Iterator<SpatialTestQuery> getTestQueries(
+      final SpatialArgsParser parser,
+      final SpatialContext ctx,
+      final String name,
+      final InputStream in ) throws IOException {
+
+    List<SpatialTestQuery> results = new ArrayList<>();
+
+    BufferedReader bufInput = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
+    try {
+      String line;
+      for (int lineNumber = 1; (line = bufInput.readLine()) != null; lineNumber++) {
+        SpatialTestQuery test = new SpatialTestQuery();
+        test.line = line;
+        test.lineNumber = lineNumber;
+
+        try {
+          // skip a comment
+          if( line.startsWith( "[" ) ) {
+            int idx = line.indexOf( ']' );
+            if( idx > 0 ) {
+              line = line.substring( idx+1 );
+            }
+          }
+
+          int idx = line.indexOf('@');
+          StringTokenizer st = new StringTokenizer(line.substring(0, idx));
+          while (st.hasMoreTokens()) {
+            test.ids.add(st.nextToken().trim());
+          }
+          test.args = parser.parse(line.substring(idx + 1).trim(), ctx);
+          results.add(test);
+        }
+        catch( Exception ex ) {
+          throw new RuntimeException( "invalid query line: "+test.line, ex );
+        }
+      }
+    } finally {
+      bufInput.close();
+    }
+    return results.iterator();
+  }
+
+  @Override
+  public String toString() {
+    if (line != null)
+      return line;
+    return args.toString()+" "+ids;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/StrategyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/StrategyTestCase.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/StrategyTestCase.java
new file mode 100644
index 0000000..00e437b
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/StrategyTestCase.java
@@ -0,0 +1,252 @@
+/*
+ * 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.lucene.spatial;
+
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.logging.Logger;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.queries.function.FunctionQuery;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.CheckHits;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialArgsParser;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+public abstract class StrategyTestCase extends SpatialTestCase {
+
+  public static final String DATA_SIMPLE_BBOX = "simple-bbox.txt";
+  public static final String DATA_STATES_POLY = "states-poly.txt";
+  public static final String DATA_STATES_BBOX = "states-bbox.txt";
+  public static final String DATA_COUNTRIES_POLY = "countries-poly.txt";
+  public static final String DATA_COUNTRIES_BBOX = "countries-bbox.txt";
+  public static final String DATA_WORLD_CITIES_POINTS = "world-cities-points.txt";
+
+  public static final String QTEST_States_IsWithin_BBox   = "states-IsWithin-BBox.txt";
+  public static final String QTEST_States_Intersects_BBox = "states-Intersects-BBox.txt";
+  public static final String QTEST_Cities_Intersects_BBox = "cities-Intersects-BBox.txt";
+  public static final String QTEST_Simple_Queries_BBox = "simple-Queries-BBox.txt";
+
+  protected Logger log = Logger.getLogger(getClass().getName());
+
+  protected final SpatialArgsParser argsParser = new SpatialArgsParser();
+
+  protected SpatialStrategy strategy;
+  protected boolean storeShape = true;
+
+  protected void executeQueries(SpatialMatchConcern concern, String... testQueryFile) throws IOException {
+    log.info("testing queried for strategy "+strategy);
+    for( String path : testQueryFile ) {
+      Iterator<SpatialTestQuery> testQueryIterator = getTestQueries(path, ctx);
+      runTestQueries(testQueryIterator, concern);
+    }
+  }
+
+  protected void getAddAndVerifyIndexedDocuments(String testDataFile) throws IOException {
+    List<Document> testDocuments = getDocuments(testDataFile);
+    addDocumentsAndCommit(testDocuments);
+    verifyDocumentsIndexed(testDocuments.size());
+  }
+
+  protected List<Document> getDocuments(String testDataFile) throws IOException {
+    return getDocuments(getSampleData(testDataFile));
+  }
+
+  protected List<Document> getDocuments(Iterator<SpatialTestData> sampleData) {
+    List<Document> documents = new ArrayList<>();
+    while (sampleData.hasNext()) {
+      SpatialTestData data = sampleData.next();
+      Document document = new Document();
+      document.add(new StringField("id", data.id, Field.Store.YES));
+      document.add(new StringField("name", data.name, Field.Store.YES));
+      Shape shape = data.shape;
+      shape = convertShapeFromGetDocuments(shape);
+      if (shape != null) {
+        for (Field f : strategy.createIndexableFields(shape)) {
+          document.add(f);
+        }
+        if (storeShape)//just for diagnostics
+          document.add(new StoredField(strategy.getFieldName(), shape.toString()));
+      }
+
+      documents.add(document);
+    }
+    return documents;
+  }
+
+  /** Subclasses may override to transform or remove a shape for indexing */
+  protected Shape convertShapeFromGetDocuments(Shape shape) {
+    return shape;
+  }
+
+  protected Iterator<SpatialTestData> getSampleData(String testDataFile) throws IOException {
+    String path = "data/" + testDataFile;
+    InputStream stream = getClass().getClassLoader().getResourceAsStream(path);
+    if (stream == null)
+      throw new FileNotFoundException("classpath resource not found: "+path);
+    return SpatialTestData.getTestData(stream, ctx);//closes the InputStream
+  }
+
+  protected Iterator<SpatialTestQuery> getTestQueries(String testQueryFile, SpatialContext ctx) throws IOException {
+    InputStream in = getClass().getClassLoader().getResourceAsStream(testQueryFile);
+    return SpatialTestQuery.getTestQueries(
+        argsParser, ctx, testQueryFile, in );//closes the InputStream
+  }
+
+  public void runTestQueries(
+      Iterator<SpatialTestQuery> queries,
+      SpatialMatchConcern concern) {
+    while (queries.hasNext()) {
+      SpatialTestQuery q = queries.next();
+      runTestQuery(concern, q);
+    }
+  }
+
+  public void runTestQuery(SpatialMatchConcern concern, SpatialTestQuery q) {
+    String msg = q.toString(); //"Query: " + q.args.toString(ctx);
+    SearchResults got = executeQuery(makeQuery(q), Math.max(100, q.ids.size()+1));
+    if (storeShape && got.numFound > 0) {
+      //check stored value is there
+      assertNotNull(got.results.get(0).document.get(strategy.getFieldName()));
+    }
+    if (concern.orderIsImportant) {
+      Iterator<String> ids = q.ids.iterator();
+      for (SearchResult r : got.results) {
+        String id = r.document.get("id");
+        if (!ids.hasNext()) {
+          fail(msg + " :: Did not get enough results.  Expect" + q.ids + ", got: " + got.toDebugString());
+        }
+        assertEquals("out of order: " + msg, ids.next(), id);
+      }
+
+      if (ids.hasNext()) {
+        fail(msg + " :: expect more results then we got: " + ids.next());
+      }
+    } else {
+      // We are looking at how the results overlap
+      if (concern.resultsAreSuperset) {
+        Set<String> found = new HashSet<>();
+        for (SearchResult r : got.results) {
+          found.add(r.document.get("id"));
+        }
+        for (String s : q.ids) {
+          if (!found.contains(s)) {
+            fail("Results are mising id: " + s + " :: " + found);
+          }
+        }
+      } else {
+        List<String> found = new ArrayList<>();
+        for (SearchResult r : got.results) {
+          found.add(r.document.get("id"));
+        }
+
+        // sort both so that the order is not important
+        Collections.sort(q.ids);
+        Collections.sort(found);
+        assertEquals(msg, q.ids.toString(), found.toString());
+      }
+    }
+  }
+
+  protected Query makeQuery(SpatialTestQuery q) {
+    return strategy.makeQuery(q.args);
+  }
+
+  protected void adoc(String id, String shapeStr) throws IOException, ParseException {
+    Shape shape = shapeStr==null ? null : ctx.readShapeFromWkt(shapeStr);
+    addDocument(newDoc(id, shape));
+  }
+  protected void adoc(String id, Shape shape) throws IOException {
+    addDocument(newDoc(id, shape));
+  }
+
+  protected Document newDoc(String id, Shape shape) {
+    Document doc = new Document();
+    doc.add(new StringField("id", id, Field.Store.YES));
+    if (shape != null) {
+      for (Field f : strategy.createIndexableFields(shape)) {
+        doc.add(f);
+      }
+      if (storeShape)
+        doc.add(new StoredField(strategy.getFieldName(), shape.toString()));//not to be parsed; just for debug
+    }
+    return doc;
+  }
+
+  protected void deleteDoc(String id) throws IOException {
+    indexWriter.deleteDocuments(new TermQuery(new Term("id", id)));
+  }
+
+  /** scores[] are in docId order */
+  protected void checkValueSource(ValueSource vs, float scores[], float delta) throws IOException {
+    FunctionQuery q = new FunctionQuery(vs);
+
+//    //TODO is there any point to this check?
+//    int expectedDocs[] = new int[scores.length];//fill with ascending 0....length-1
+//    for (int i = 0; i < expectedDocs.length; i++) {
+//      expectedDocs[i] = i;
+//    }
+//    CheckHits.checkHits(random(), q, "", indexSearcher, expectedDocs);
+
+    //TopDocs is sorted but we actually don't care about the order
+    TopDocs docs = indexSearcher.search(q, 1000);//calculates the score
+    for (int i = 0; i < docs.scoreDocs.length; i++) {
+      ScoreDoc gotSD = docs.scoreDocs[i];
+      float expectedScore = scores[gotSD.doc];
+      assertEquals("Not equal for doc "+gotSD.doc, expectedScore, gotSD.score, delta);
+    }
+
+    CheckHits.checkExplanations(q, "", indexSearcher);
+  }
+
+  protected void testOperation(Shape indexedShape, SpatialOperation operation,
+                               Shape queryShape, boolean match) throws IOException {
+    assertTrue("Faulty test",
+        operation.evaluate(indexedShape, queryShape) == match ||
+            indexedShape.equals(queryShape) &&
+              (operation == SpatialOperation.Contains || operation == SpatialOperation.IsWithin));
+    adoc("0", indexedShape);
+    commit();
+    Query query = strategy.makeQuery(new SpatialArgs(operation, queryShape));
+    SearchResults got = executeQuery(query, 1);
+    assert got.numFound <= 1 : "unclean test env";
+    if ((got.numFound == 1) != match)
+      fail(operation+" I:" + indexedShape + " Q:" + queryShape);
+    deleteAll();//clean up after ourselves
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/TestTestFramework.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/TestTestFramework.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/TestTestFramework.java
new file mode 100644
index 0000000..6a8d59c
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/TestTestFramework.java
@@ -0,0 +1,68 @@
+/*
+ * 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.lucene.spatial;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Rectangle;
+import org.apache.lucene.spatial.query.SpatialArgsParser;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+
+/**
+ * Make sure we are reading the tests as expected
+ */
+public class TestTestFramework extends LuceneTestCase {
+
+  @Test
+  public void testQueries() throws IOException {
+    String name = StrategyTestCase.QTEST_Cities_Intersects_BBox;
+
+    InputStream in = getClass().getClassLoader().getResourceAsStream(name);
+    SpatialContext ctx = SpatialContext.GEO;
+    Iterator<SpatialTestQuery> iter = SpatialTestQuery.getTestQueries(
+        new SpatialArgsParser(), ctx, name, in );//closes the InputStream
+    List<SpatialTestQuery> tests = new ArrayList<>();
+    while( iter.hasNext() ) {
+      tests.add( iter.next() );
+    }
+    Assert.assertEquals( 3, tests.size() );
+
+    SpatialTestQuery sf = tests.get(0);
+    // assert
+    Assert.assertEquals( 1, sf.ids.size() );
+    Assert.assertTrue( sf.ids.get(0).equals( "G5391959" ) );
+    Assert.assertTrue( sf.args.getShape() instanceof Rectangle);
+    Assert.assertEquals(SpatialOperation.Intersects, sf.args.getOperation());
+  }
+
+  @Test
+  public void spatialExample() throws Exception {
+    //kind of a hack so that SpatialExample is tested despite
+    // it not starting or ending with "Test".
+    SpatialExample.main(null);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
new file mode 100644
index 0000000..6140996
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
@@ -0,0 +1,301 @@
+/*
+ * 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.lucene.spatial.bbox;
+
+import java.io.IOException;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.context.SpatialContextFactory;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.impl.RectangleImpl;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.index.DocValuesType;
+import org.apache.lucene.index.IndexOptions;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.SpatialMatchConcern;
+import org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.util.ShapeAreaValueSource;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class TestBBoxStrategy extends RandomSpatialOpStrategyTestCase {
+
+  @Override
+  protected boolean needsDocValues() {
+    return true;
+  }
+
+  @Override
+  protected Shape randomIndexedShape() {
+    Rectangle world = ctx.getWorldBounds();
+    if (random().nextInt(10) == 0) // increased chance of getting one of these
+      return world;
+
+    int worldWidth = (int) Math.round(world.getWidth());
+    int deltaLeft = nextIntInclusive(worldWidth);
+    int deltaRight = nextIntInclusive(worldWidth - deltaLeft);
+    int worldHeight = (int) Math.round(world.getHeight());
+    int deltaTop = nextIntInclusive(worldHeight);
+    int deltaBottom = nextIntInclusive(worldHeight - deltaTop);
+    if (ctx.isGeo() && (deltaLeft != 0 || deltaRight != 0)) {
+      //if geo & doesn't world-wrap, we shift randomly to potentially cross dateline
+      int shift = nextIntInclusive(360);
+      return ctx.makeRectangle(
+          DistanceUtils.normLonDEG(world.getMinX() + deltaLeft + shift),
+          DistanceUtils.normLonDEG(world.getMaxX() - deltaRight + shift),
+          world.getMinY() + deltaBottom, world.getMaxY() - deltaTop);
+    } else {
+      return ctx.makeRectangle(
+          world.getMinX() + deltaLeft, world.getMaxX() - deltaRight,
+          world.getMinY() + deltaBottom, world.getMaxY() - deltaTop);
+    }
+  }
+
+  /** next int, inclusive, rounds to multiple of 10 if given evenly divisible. */
+  private int nextIntInclusive(int toInc) {
+    final int DIVIS = 10;
+    if (toInc % DIVIS == 0) {
+      return random().nextInt(toInc/DIVIS + 1) * DIVIS;
+    } else {
+      return random().nextInt(toInc + 1);
+    }
+  }
+
+  @Override
+  protected Shape randomQueryShape() {
+    return randomIndexedShape();
+  }
+
+  @Test
+  @Repeat(iterations = 15)
+  public void testOperations() throws IOException {
+    //setup
+    if (random().nextInt(4) > 0) {//75% of the time choose geo (more interesting to test)
+      this.ctx = SpatialContext.GEO;
+    } else {
+      SpatialContextFactory factory = new SpatialContextFactory();
+      factory.geo = false;
+      factory.worldBounds = new RectangleImpl(-300, 300, -100, 100, null);
+      this.ctx = factory.newSpatialContext();
+    }
+    this.strategy = new BBoxStrategy(ctx, "bbox");
+    //test we can disable docValues for predicate tests
+    if (random().nextBoolean()) {
+      BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
+      FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
+      fieldType.setDocValuesType(DocValuesType.NONE);
+      bboxStrategy.setFieldType(fieldType);
+    }
+    for (SpatialOperation operation : SpatialOperation.values()) {
+      if (operation == SpatialOperation.Overlaps)
+        continue;//unsupported
+      testOperationRandomShapes(operation);
+
+      deleteAll();
+      commit();
+    }
+  }
+
+  @Test
+  public void testIntersectsBugDatelineEdge() throws IOException {
+    setupGeo();
+    testOperation(
+        ctx.makeRectangle(160, 180, -10, 10),
+        SpatialOperation.Intersects,
+        ctx.makeRectangle(-180, -160, -10, 10), true);
+  }
+
+  @Test
+  public void testIntersectsWorldDatelineEdge() throws IOException {
+    setupGeo();
+    testOperation(
+        ctx.makeRectangle(-180, 180, -10, 10),
+        SpatialOperation.Intersects,
+        ctx.makeRectangle(180, 180, -10, 10), true);
+  }
+
+  @Test
+  public void testWithinBugDatelineEdge() throws IOException {
+    setupGeo();
+    testOperation(
+        ctx.makeRectangle(180, 180, -10, 10),
+        SpatialOperation.IsWithin,
+        ctx.makeRectangle(-180, -100, -10, 10), true);
+  }
+
+  @Test
+  public void testContainsBugDatelineEdge() throws IOException {
+    setupGeo();
+    testOperation(
+        ctx.makeRectangle(-180, -150, -10, 10),
+        SpatialOperation.Contains,
+        ctx.makeRectangle(180, 180, -10, 10), true);
+  }
+
+  @Test
+  public void testWorldContainsXDL() throws IOException {
+    setupGeo();
+    testOperation(
+        ctx.makeRectangle(-180, 180, -10, 10),
+        SpatialOperation.Contains,
+        ctx.makeRectangle(170, -170, -10, 10), true);
+  }
+
+  /** See https://github.com/spatial4j/spatial4j/issues/85 */
+  @Test
+  public void testAlongDatelineOppositeSign() throws IOException {
+    // Due to Spatial4j bug #85, we can't simply do:
+    //    testOperation(indexedShape,
+    //        SpatialOperation.IsWithin,
+    //        queryShape, true);
+
+    //both on dateline but expressed using opposite signs
+    setupGeo();
+    final Rectangle indexedShape = ctx.makeRectangle(180, 180, -10, 10);
+    final Rectangle queryShape = ctx.makeRectangle(-180, -180, -20, 20);
+    final SpatialOperation operation = SpatialOperation.IsWithin;
+    final boolean match = true;//yes it is within
+
+    //the rest is super.testOperation without leading assert:
+
+    adoc("0", indexedShape);
+    commit();
+    Query query = strategy.makeQuery(new SpatialArgs(operation, queryShape));
+    SearchResults got = executeQuery(query, 1);
+    assert got.numFound <= 1 : "unclean test env";
+    if ((got.numFound == 1) != match)
+      fail(operation+" I:" + indexedShape + " Q:" + queryShape);
+    deleteAll();//clean up after ourselves
+  }
+
+  private void setupGeo() {
+    this.ctx = SpatialContext.GEO;
+    this.strategy = new BBoxStrategy(ctx, "bbox");
+  }
+
+  // OLD STATIC TESTS (worthless?)
+
+  @Test @Ignore("Overlaps not supported")
+  public void testBasicOperaions() throws IOException {
+    setupGeo();
+    getAddAndVerifyIndexedDocuments(DATA_SIMPLE_BBOX);
+
+    executeQueries(SpatialMatchConcern.EXACT, QTEST_Simple_Queries_BBox);
+  }
+
+  @Test
+  public void testStatesBBox() throws IOException {
+    setupGeo();
+    getAddAndVerifyIndexedDocuments(DATA_STATES_BBOX);
+
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_IsWithin_BBox);
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_Intersects_BBox);
+  }
+
+  @Test
+  public void testCitiesIntersectsBBox() throws IOException {
+    setupGeo();
+    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
+
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
+  }
+
+  /* Convert DATA_WORLD_CITIES_POINTS to bbox */
+  @Override
+  protected Shape convertShapeFromGetDocuments(Shape shape) {
+    return shape.getBoundingBox();
+  }
+
+  public void testOverlapRatio() throws IOException {
+    setupGeo();
+
+    //Simply assert null shape results in 0
+    adoc("999", (Shape) null);
+    commit();
+    BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
+    checkValueSource(bboxStrategy.makeOverlapRatioValueSource(randomRectangle(), 0.0), new float[]{0f}, 0f);
+
+    //we test raw BBoxOverlapRatioValueSource without actual indexing
+    for (int SHIFT = 0; SHIFT < 360; SHIFT += 10) {
+      Rectangle queryBox = shiftedRect(0, 40, -20, 20, SHIFT);//40x40, 1600 area
+
+      final boolean MSL = random().nextBoolean();
+      final double minSideLength = MSL ? 0.1 : 0.0;
+      BBoxOverlapRatioValueSource sim = new BBoxOverlapRatioValueSource(null, true, queryBox, 0.5, minSideLength);
+      int nudge = SHIFT == 0 ? 0 : random().nextInt(3) * 10 - 10;//-10, 0, or 10.  Keep 0 on first round.
+
+      final double EPS = 0.0000001;
+
+      assertEquals("within", (200d/1600d * 0.5) + (0.5), sim.score(shiftedRect(10, 30, 0, 10, SHIFT + nudge), null), EPS);
+
+      assertEquals("in25%", 0.25, sim.score(shiftedRect(30, 70, -20, 20, SHIFT), null), EPS);
+
+      assertEquals("wrap", 0.2794117, sim.score(shiftedRect(30, 10, -20, 20, SHIFT + nudge), null), EPS);
+
+      assertEquals("no intersection H", 0.0, sim.score(shiftedRect(-10, -10, -20, 20, SHIFT), null), EPS);
+      assertEquals("no intersection V", 0.0, sim.score(shiftedRect(0, 20, -30, -30, SHIFT), null), EPS);
+
+      assertEquals("point", 0.5 + (MSL?(0.1*0.1/1600.0/2.0):0), sim.score(shiftedRect(0, 0, 0, 0, SHIFT), null), EPS);
+
+      assertEquals("line 25% intersection", 0.25/2 + (MSL?(10.0*0.1/1600.0/2.0):0.0), sim.score(shiftedRect(-30, 10, 0, 0, SHIFT), null), EPS);
+
+      //test with point query
+      sim = new BBoxOverlapRatioValueSource(null, true, shiftedRect(0, 0, 0, 0, SHIFT), 0.5, minSideLength);
+      assertEquals("same", 1.0, sim.score(shiftedRect(0, 0, 0, 0, SHIFT), null), EPS);
+      assertEquals("contains", 0.5 + (MSL?(0.1*0.1/(30*10)/2.0):0.0), sim.score(shiftedRect(0, 30, 0, 10, SHIFT), null), EPS);
+
+      //test with line query (vertical this time)
+      sim = new BBoxOverlapRatioValueSource(null, true, shiftedRect(0, 0, 20, 40, SHIFT), 0.5, minSideLength);
+      assertEquals("line 50%", 0.5, sim.score(shiftedRect(0, 0, 10, 30, SHIFT), null), EPS);
+      assertEquals("point", 0.5 + (MSL?(0.1*0.1/(20*0.1)/2.0):0.0), sim.score(shiftedRect(0, 0, 30, 30, SHIFT), null), EPS);
+    }
+
+  }
+
+  private Rectangle shiftedRect(double minX, double maxX, double minY, double maxY, int xShift) {
+    return ctx.makeRectangle(
+        DistanceUtils.normLonDEG(minX + xShift),
+        DistanceUtils.normLonDEG(maxX + xShift),
+        minY, maxY);
+  }
+
+  public void testAreaValueSource() throws IOException {
+    setupGeo();
+    //test we can disable indexed for this test
+    BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
+    if (random().nextBoolean()) {
+      FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
+      fieldType.setIndexOptions(IndexOptions.NONE);
+      bboxStrategy.setFieldType(fieldType);
+    }
+
+    adoc("100", ctx.makeRectangle(0, 20, 40, 80));
+    adoc("999", (Shape) null);
+    commit();
+    checkValueSource(new ShapeAreaValueSource(bboxStrategy.makeShapeValueSource(), ctx, false, 1.0),
+        new float[]{800f, 0f}, 0f);
+    checkValueSource(new ShapeAreaValueSource(bboxStrategy.makeShapeValueSource(), ctx, true, 1.0),//geo
+        new float[]{391.93f, 0f}, 0.01f);
+    checkValueSource(new ShapeAreaValueSource(bboxStrategy.makeShapeValueSource(), ctx, true, 2.0),
+        new float[]{783.86f, 0f}, 0.01f); // testing with a different multiplier
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
new file mode 100644
index 0000000..8e1bb51
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
@@ -0,0 +1,142 @@
+/*
+ * 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.lucene.spatial.composite;
+
+import java.io.IOException;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.context.SpatialContextFactory;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.impl.RectangleImpl;
+import org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
+import org.junit.Test;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomBoolean;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomDouble;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+
+public class CompositeStrategyTest extends RandomSpatialOpStrategyTestCase {
+
+  private SpatialPrefixTree grid;
+  private RecursivePrefixTreeStrategy rptStrategy;
+
+  private void setupQuadGrid(int maxLevels) {
+    //non-geospatial makes this test a little easier (in gridSnap), and using boundary values 2^X raises
+    // the prospect of edge conditions we want to test, plus makes for simpler numbers (no decimals).
+    SpatialContextFactory factory = new SpatialContextFactory();
+    factory.geo = false;
+    factory.worldBounds = new RectangleImpl(0, 256, -128, 128, null);
+    this.ctx = factory.newSpatialContext();
+    //A fairly shallow grid
+    if (maxLevels == -1)
+      maxLevels = randomIntBetween(1, 8);//max 64k cells (4^8), also 256*256
+    this.grid = new QuadPrefixTree(ctx, maxLevels);
+    this.rptStrategy = newRPT();
+  }
+
+  private void setupGeohashGrid(int maxLevels) {
+    this.ctx = SpatialContext.GEO;
+    //A fairly shallow grid
+    if (maxLevels == -1)
+      maxLevels = randomIntBetween(1, 3);//max 16k cells (32^3)
+    this.grid = new GeohashPrefixTree(ctx, maxLevels);
+    this.rptStrategy = newRPT();
+  }
+
+  protected RecursivePrefixTreeStrategy newRPT() {
+    final RecursivePrefixTreeStrategy rpt = new RecursivePrefixTreeStrategy(this.grid,
+        getClass().getSimpleName() + "_rpt");
+    rpt.setDistErrPct(0.10);//not too many cells
+    return rpt;
+  }
+
+  @Test
+  @Repeat(iterations = 20)
+  public void testOperations() throws IOException {
+    //setup
+    if (randomBoolean()) {
+      setupQuadGrid(-1);
+    } else {
+      setupGeohashGrid(-1);
+    }
+    SerializedDVStrategy serializedDVStrategy = new SerializedDVStrategy(ctx, getClass().getSimpleName() + "_sdv");
+    this.strategy = new CompositeSpatialStrategy("composite_" + getClass().getSimpleName(),
+        rptStrategy, serializedDVStrategy);
+
+    //Do it!
+
+    for (SpatialOperation pred : SpatialOperation.values()) {
+      if (pred == SpatialOperation.BBoxIntersects || pred == SpatialOperation.BBoxWithin) {
+        continue;
+      }
+      if (pred == SpatialOperation.IsDisjointTo) {//TODO
+        continue;
+      }
+      testOperationRandomShapes(pred);
+      deleteAll();
+      commit();
+    }
+  }
+
+  @Override
+  protected boolean needsDocValues() {
+    return true;//due to SerializedDVStrategy
+  }
+
+  @Override
+  protected Shape randomIndexedShape() {
+    return randomShape();
+  }
+
+  @Override
+  protected Shape randomQueryShape() {
+    return randomShape();
+  }
+
+  private Shape randomShape() {
+    return random().nextBoolean() ? randomCircle() : randomRectangle();
+  }
+
+  //TODO move up
+  private Shape randomCircle() {
+    final Point point = randomPoint();
+    //TODO pick using gaussian
+    double radius;
+    if (ctx.isGeo()) {
+      radius = randomDouble() * 100;
+    } else {
+      //find distance to closest edge
+      final Rectangle worldBounds = ctx.getWorldBounds();
+      double maxRad = point.getX() - worldBounds.getMinX();
+      maxRad = Math.min(maxRad, worldBounds.getMaxX() - point.getX());
+      maxRad = Math.min(maxRad, point.getY() - worldBounds.getMinY());
+      maxRad = Math.min(maxRad, worldBounds.getMaxY() - point.getY());
+      radius = randomDouble() * maxRad;
+    }
+
+    return ctx.makeCircle(point, radius);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
new file mode 100644
index 0000000..cccec8e
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
@@ -0,0 +1,44 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.util.BytesRef;
+
+/** For testing Lucene <= 5.0. Index redundant prefixes for leaf cells. Fixed in LUCENE-4942. */
+class CellToBytesRefIterator50 extends CellToBytesRefIterator {
+
+  Cell repeatCell;
+
+  @Override
+  public BytesRef next() {
+    if (repeatCell != null) {
+      bytesRef = repeatCell.getTokenBytesWithLeaf(bytesRef);
+      repeatCell = null;
+      return bytesRef;
+    }
+    if (!cellIter.hasNext()) {
+      return null;
+    }
+    Cell cell = cellIter.next();
+    bytesRef = cell.getTokenBytesNoLeaf(bytesRef);
+    if (cell.isLeaf()) {
+      repeatCell = cell;
+    }
+    return bytesRef;
+  }
+}


[29/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BitDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BitDocIdSet.java b/lucene/core/src/java/org/apache/lucene/util/BitDocIdSet.java
index c499afb..90d4f7b 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BitDocIdSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BitDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.search.DocIdSetIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BitSet.java b/lucene/core/src/java/org/apache/lucene/util/BitSet.java
index c87cb3e..6f3a25c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BitSetIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BitSetIterator.java b/lucene/core/src/java/org/apache/lucene/util/BitSetIterator.java
index 147c137..9e181c6 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BitSetIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BitSetIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import org.apache.lucene.search.DocIdSetIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BitUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BitUtil.java b/lucene/core/src/java/org/apache/lucene/util/BitUtil.java
index 8059865..90f4f17 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BitUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BitUtil.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.util; // from org.apache.solr.util rev 555343
 
 /**  A variety of high efficiency bit twiddling routines.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Bits.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Bits.java b/lucene/core/src/java/org/apache/lucene/util/Bits.java
index a5cef3b..cfd3918 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Bits.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Bits.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * Interface for Bitset-like structures.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ByteBlockPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ByteBlockPool.java b/lucene/core/src/java/org/apache/lucene/util/ByteBlockPool.java
index 7540533..5f8fd41 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ByteBlockPool.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ByteBlockPool.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BytesRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BytesRef.java b/lucene/core/src/java/org/apache/lucene/util/BytesRef.java
index a114f5e..c30c0db 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BytesRef.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BytesRef.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BytesRefArray.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BytesRefArray.java b/lucene/core/src/java/org/apache/lucene/util/BytesRefArray.java
index 13d2dde..d7394c7 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BytesRefArray.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BytesRefArray.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.util;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.util;
 
 import java.util.Arrays;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BytesRefBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BytesRefBuilder.java b/lucene/core/src/java/org/apache/lucene/util/BytesRefBuilder.java
index 205425a..2bfa2f2 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BytesRefBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BytesRefBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BytesRefHash.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BytesRefHash.java b/lucene/core/src/java/org/apache/lucene/util/BytesRefHash.java
index ec5c4cf..149e8b7 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BytesRefHash.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BytesRefHash.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/BytesRefIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/BytesRefIterator.java b/lucene/core/src/java/org/apache/lucene/util/BytesRefIterator.java
index 063cc34..fa7bb45 100644
--- a/lucene/core/src/java/org/apache/lucene/util/BytesRefIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/BytesRefIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/CharsRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/CharsRef.java b/lucene/core/src/java/org/apache/lucene/util/CharsRef.java
index a105815..aacdfcc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CharsRef.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CharsRef.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java b/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
index b617306..0dc0e7a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CharsRefBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/CloseableThreadLocal.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/CloseableThreadLocal.java b/lucene/core/src/java/org/apache/lucene/util/CloseableThreadLocal.java
index 9681f42..6e75be4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CloseableThreadLocal.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CloseableThreadLocal.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.Closeable;
 import java.lang.ref.WeakReference;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/CollectionUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/CollectionUtil.java b/lucene/core/src/java/org/apache/lucene/util/CollectionUtil.java
index cb23d45..0fc6cc8 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CollectionUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CollectionUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java b/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
index 9150dad..c4b2277 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Constants.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Constants.java b/lucene/core/src/java/org/apache/lucene/util/Constants.java
index 3ec275b..7df0efc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Constants.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Constants.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.StringTokenizer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Counter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Counter.java b/lucene/core/src/java/org/apache/lucene/util/Counter.java
index 9aa5dec..0ac5c34 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Counter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Counter.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.concurrent.atomic.AtomicLong;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.concurrent.atomic.AtomicLong;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.concurrent.atomic.AtomicLong;
+
 
 /**
  * Simple counter class

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/DocIdSetBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/DocIdSetBuilder.java b/lucene/core/src/java/org/apache/lucene/util/DocIdSetBuilder.java
index 8f23847..31a9762 100644
--- a/lucene/core/src/java/org/apache/lucene/util/DocIdSetBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/DocIdSetBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/FilterIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/FilterIterator.java b/lucene/core/src/java/org/apache/lucene/util/FilterIterator.java
index fe26a08..0dbfef2 100644
--- a/lucene/core/src/java/org/apache/lucene/util/FilterIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/FilterIterator.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.util;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.util;
 
 import java.util.Iterator;
 import java.util.NoSuchElementException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java b/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
index 1313da9..3668604e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/FrequencyTrackingRingBuffer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/FrequencyTrackingRingBuffer.java b/lucene/core/src/java/org/apache/lucene/util/FrequencyTrackingRingBuffer.java
index a362e95..9b0fd49 100644
--- a/lucene/core/src/java/org/apache/lucene/util/FrequencyTrackingRingBuffer.java
+++ b/lucene/core/src/java/org/apache/lucene/util/FrequencyTrackingRingBuffer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/IOUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/IOUtils.java b/lucene/core/src/java/org/apache/lucene/util/IOUtils.java
index 510545f..de5e461 100644
--- a/lucene/core/src/java/org/apache/lucene/util/IOUtils.java
+++ b/lucene/core/src/java/org/apache/lucene/util/IOUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.BufferedReader;
 import java.io.Closeable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/InPlaceMergeSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/InPlaceMergeSorter.java b/lucene/core/src/java/org/apache/lucene/util/InPlaceMergeSorter.java
index 54e5bde..dbf7d72 100644
--- a/lucene/core/src/java/org/apache/lucene/util/InPlaceMergeSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/InPlaceMergeSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /** {@link Sorter} implementation based on the merge-sort algorithm that merges
  *  in place (no extra memory will be allocated). Small arrays are sorted with

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/InfoStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/InfoStream.java b/lucene/core/src/java/org/apache/lucene/util/InfoStream.java
index bc67637..c82d614 100644
--- a/lucene/core/src/java/org/apache/lucene/util/InfoStream.java
+++ b/lucene/core/src/java/org/apache/lucene/util/InfoStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import org.apache.lucene.index.IndexWriter; // javadocs
 import org.apache.lucene.index.SegmentInfos; // javadocs

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/IntArrayDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/IntArrayDocIdSet.java b/lucene/core/src/java/org/apache/lucene/util/IntArrayDocIdSet.java
index a201fc4..e82956c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/IntArrayDocIdSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/IntArrayDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/IntBlockPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/IntBlockPool.java b/lucene/core/src/java/org/apache/lucene/util/IntBlockPool.java
index 6e0f807..7585980 100644
--- a/lucene/core/src/java/org/apache/lucene/util/IntBlockPool.java
+++ b/lucene/core/src/java/org/apache/lucene/util/IntBlockPool.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/IntroSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/IntroSorter.java b/lucene/core/src/java/org/apache/lucene/util/IntroSorter.java
index 9efc4e8..d9cdd62 100644
--- a/lucene/core/src/java/org/apache/lucene/util/IntroSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/IntroSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * {@link Sorter} implementation based on a variant of the quicksort algorithm

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/IntsRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/IntsRef.java b/lucene/core/src/java/org/apache/lucene/util/IntsRef.java
index c696a21..981210d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/IntsRef.java
+++ b/lucene/core/src/java/org/apache/lucene/util/IntsRef.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.Arrays;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.Arrays;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.Arrays;
+
 
 /** Represents int[], as a slice (offset + length) into an
  *  existing int[].  The {@link #ints} member should never be null; use

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/IntsRefBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/IntsRefBuilder.java b/lucene/core/src/java/org/apache/lucene/util/IntsRefBuilder.java
index 17c20d3..4f160ba 100644
--- a/lucene/core/src/java/org/apache/lucene/util/IntsRefBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/IntsRefBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * A builder for {@link IntsRef} instances.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java b/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java
index 5d8208a..22f95b6 100644
--- a/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/LegacyNumericUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/LegacyNumericUtils.java b/lucene/core/src/java/org/apache/lucene/util/LegacyNumericUtils.java
index 1cec17f..3cada71 100644
--- a/lucene/core/src/java/org/apache/lucene/util/LegacyNumericUtils.java
+++ b/lucene/core/src/java/org/apache/lucene/util/LegacyNumericUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/LongBitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/LongBitSet.java b/lucene/core/src/java/org/apache/lucene/util/LongBitSet.java
index 6645707..ad8fa64 100644
--- a/lucene/core/src/java/org/apache/lucene/util/LongBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/LongBitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/LongValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/LongValues.java b/lucene/core/src/java/org/apache/lucene/util/LongValues.java
index 138ea55..e4b8a35 100644
--- a/lucene/core/src/java/org/apache/lucene/util/LongValues.java
+++ b/lucene/core/src/java/org/apache/lucene/util/LongValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import org.apache.lucene.index.NumericDocValues;
 import org.apache.lucene.util.packed.PackedInts;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/LongsRef.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/LongsRef.java b/lucene/core/src/java/org/apache/lucene/util/LongsRef.java
index 5446bc8..61b85cf 100644
--- a/lucene/core/src/java/org/apache/lucene/util/LongsRef.java
+++ b/lucene/core/src/java/org/apache/lucene/util/LongsRef.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.Arrays;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.Arrays;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.Arrays;
+
 
 /** Represents long[], as a slice (offset + length) into an
  *  existing long[].  The {@link #longs} member should never be null; use

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/MapOfSets.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/MapOfSets.java b/lucene/core/src/java/org/apache/lucene/util/MapOfSets.java
index e814495..3cebbd0 100644
--- a/lucene/core/src/java/org/apache/lucene/util/MapOfSets.java
+++ b/lucene/core/src/java/org/apache/lucene/util/MapOfSets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/MathUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/MathUtil.java b/lucene/core/src/java/org/apache/lucene/util/MathUtil.java
index 8b17600..09437fe 100644
--- a/lucene/core/src/java/org/apache/lucene/util/MathUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/MathUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.math.BigInteger;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/MergedIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/MergedIterator.java b/lucene/core/src/java/org/apache/lucene/util/MergedIterator.java
index 082a68d..16932ae 100644
--- a/lucene/core/src/java/org/apache/lucene/util/MergedIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/MergedIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Iterator;
 import java.util.NoSuchElementException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/MutableBits.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/MutableBits.java b/lucene/core/src/java/org/apache/lucene/util/MutableBits.java
index 9eedc30..3927cac 100644
--- a/lucene/core/src/java/org/apache/lucene/util/MutableBits.java
+++ b/lucene/core/src/java/org/apache/lucene/util/MutableBits.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * Extension of Bits for live documents.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java b/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java
index 33f45b2..b882ec7 100644
--- a/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java
+++ b/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Collections;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java b/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java
index 841743c..bae0031 100644
--- a/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Locale;
 import java.util.concurrent.Executors;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/NotDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/NotDocIdSet.java b/lucene/core/src/java/org/apache/lucene/util/NotDocIdSet.java
index 3f6d076..67a2c33 100644
--- a/lucene/core/src/java/org/apache/lucene/util/NotDocIdSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/NotDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/NumericUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/NumericUtils.java b/lucene/core/src/java/org/apache/lucene/util/NumericUtils.java
index 6d1ab2d..b66f468 100644
--- a/lucene/core/src/java/org/apache/lucene/util/NumericUtils.java
+++ b/lucene/core/src/java/org/apache/lucene/util/NumericUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.math.BigInteger;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/OfflineSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/OfflineSorter.java b/lucene/core/src/java/org/apache/lucene/util/OfflineSorter.java
index 92dfd84..8516ec7 100644
--- a/lucene/core/src/java/org/apache/lucene/util/OfflineSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/OfflineSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.Closeable;
 import java.io.EOFException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java b/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java
index d0ff941..ad26f85 100644
--- a/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java
+++ b/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/PrintStreamInfoStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/PrintStreamInfoStream.java b/lucene/core/src/java/org/apache/lucene/util/PrintStreamInfoStream.java
index c197d97..03dc3a1 100644
--- a/lucene/core/src/java/org/apache/lucene/util/PrintStreamInfoStream.java
+++ b/lucene/core/src/java/org/apache/lucene/util/PrintStreamInfoStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/PriorityQueue.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/PriorityQueue.java b/lucene/core/src/java/org/apache/lucene/util/PriorityQueue.java
index b58a9b8..83ac613 100644
--- a/lucene/core/src/java/org/apache/lucene/util/PriorityQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/util/PriorityQueue.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,11 @@ import java.util.NoSuchElementException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
 
 /**
  * A PriorityQueue maintains a partial ordering of its elements such that the

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java b/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java
index 4e3ded6..7acff49 100644
--- a/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/RamUsageEstimator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/RamUsageEstimator.java b/lucene/core/src/java/org/apache/lucene/util/RamUsageEstimator.java
index 3ff2632..763d9e5 100644
--- a/lucene/core/src/java/org/apache/lucene/util/RamUsageEstimator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/RamUsageEstimator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.reflect.Array;
 import java.lang.reflect.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/RecyclingByteBlockAllocator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/RecyclingByteBlockAllocator.java b/lucene/core/src/java/org/apache/lucene/util/RecyclingByteBlockAllocator.java
index b31ce2d..9e5b5d2 100644
--- a/lucene/core/src/java/org/apache/lucene/util/RecyclingByteBlockAllocator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/RecyclingByteBlockAllocator.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import org.apache.lucene.util.ByteBlockPool.Allocator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.ByteBlockPool.Allocator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.apache.lucene.util.ByteBlockPool.Allocator;
+
 
 /**
  * A {@link ByteBlockPool.Allocator} implementation that recycles unused byte

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/RecyclingIntBlockAllocator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/RecyclingIntBlockAllocator.java b/lucene/core/src/java/org/apache/lucene/util/RecyclingIntBlockAllocator.java
index 44f8905..437426c 100644
--- a/lucene/core/src/java/org/apache/lucene/util/RecyclingIntBlockAllocator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/RecyclingIntBlockAllocator.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import org.apache.lucene.util.IntBlockPool.Allocator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.IntBlockPool.Allocator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.apache.lucene.util.IntBlockPool.Allocator;
+
 
 /**
  * A {@link Allocator} implementation that recycles unused int

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/RefCount.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/RefCount.java b/lucene/core/src/java/org/apache/lucene/util/RefCount.java
index 836fdbe..989add2 100644
--- a/lucene/core/src/java/org/apache/lucene/util/RefCount.java
+++ b/lucene/core/src/java/org/apache/lucene/util/RefCount.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.util;
-
-import java.io.IOException;
-import java.util.concurrent.atomic.AtomicInteger;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,11 @@ import java.util.concurrent.atomic.AtomicInteger;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.io.IOException;
+import java.util.concurrent.atomic.AtomicInteger;
+
 
 /**
  * Manages reference counting for a given object. Extensions can override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/RoaringDocIdSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/RoaringDocIdSet.java b/lucene/core/src/java/org/apache/lucene/util/RoaringDocIdSet.java
index 2a5ebc2..9709c30 100644
--- a/lucene/core/src/java/org/apache/lucene/util/RoaringDocIdSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/RoaringDocIdSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/RollingBuffer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/RollingBuffer.java b/lucene/core/src/java/org/apache/lucene/util/RollingBuffer.java
index 4cf03f5..aad95b6 100644
--- a/lucene/core/src/java/org/apache/lucene/util/RollingBuffer.java
+++ b/lucene/core/src/java/org/apache/lucene/util/RollingBuffer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /** Acts like forever growing T[], but internally uses a
  *  circular buffer to reuse instances of T.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SPIClassIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SPIClassIterator.java b/lucene/core/src/java/org/apache/lucene/util/SPIClassIterator.java
index 6293e45..79a9573 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SPIClassIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SPIClassIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SentinelIntSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SentinelIntSet.java b/lucene/core/src/java/org/apache/lucene/util/SentinelIntSet.java
index 2bb4bde..46162d9 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SentinelIntSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SentinelIntSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SetOnce.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SetOnce.java b/lucene/core/src/java/org/apache/lucene/util/SetOnce.java
index d979254..9be88ec 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SetOnce.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SetOnce.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.util;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
 
 /**
  * A convenient class which offers a semi-immutable object wrapper

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java b/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
index 4112230..9a05704 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /* some code derived from jodk: http://code.google.com/p/jodk/ (apache 2.0)
  * asin() derived from fdlibm: http://www.netlib.org/fdlibm/e_asin.c (public domain):

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java b/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java
index 301e1f5..39395ac 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.util;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,7 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.util;
 
 /** Floating point numbers smaller than 32 bits.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Sorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Sorter.java b/lucene/core/src/java/org/apache/lucene/util/Sorter.java
index 6ae43c8..451d271 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Sorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Sorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Comparator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java b/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
index 7ee1a2f..0cb9bc5 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/StrictStringTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/StrictStringTokenizer.java b/lucene/core/src/java/org/apache/lucene/util/StrictStringTokenizer.java
index d93e087..14f176f 100644
--- a/lucene/core/src/java/org/apache/lucene/util/StrictStringTokenizer.java
+++ b/lucene/core/src/java/org/apache/lucene/util/StrictStringTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /** Used for parsing Version strings so we don't have to
  *  use overkill String.split nor StringTokenizer (which silently

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/StringHelper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/StringHelper.java b/lucene/core/src/java/org/apache/lucene/util/StringHelper.java
index bbbcdcd..c733e15 100644
--- a/lucene/core/src/java/org/apache/lucene/util/StringHelper.java
+++ b/lucene/core/src/java/org/apache/lucene/util/StringHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.io.DataInputStream;
 import java.math.BigInteger;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/SuppressForbidden.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SuppressForbidden.java b/lucene/core/src/java/org/apache/lucene/util/SuppressForbidden.java
index afe9b30..244d0dc 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SuppressForbidden.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SuppressForbidden.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ThreadInterruptedException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ThreadInterruptedException.java b/lucene/core/src/java/org/apache/lucene/util/ThreadInterruptedException.java
index e97ebe9..4e636b7 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ThreadInterruptedException.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ThreadInterruptedException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -7,15 +5,16 @@ package org.apache.lucene.util;
  * 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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ *     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.lucene.util;
 
 /**
  * Thrown by lucene on detecting that Thread.interrupt() had

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/TimSorter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/TimSorter.java b/lucene/core/src/java/org/apache/lucene/util/TimSorter.java
index dd0ddc3..d36b648 100644
--- a/lucene/core/src/java/org/apache/lucene/util/TimSorter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/TimSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/ToStringUtils.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/ToStringUtils.java b/lucene/core/src/java/org/apache/lucene/util/ToStringUtils.java
index 2685371..64ad946 100644
--- a/lucene/core/src/java/org/apache/lucene/util/ToStringUtils.java
+++ b/lucene/core/src/java/org/apache/lucene/util/ToStringUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 /**
  * Helper methods to ease implementing {@link Object#toString()}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java b/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java
index f24f5ed..1a8022d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.util;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+
 
 
 /*

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/Version.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/Version.java b/lucene/core/src/java/org/apache/lucene/util/Version.java
index 61c1093..2b4cc57 100644
--- a/lucene/core/src/java/org/apache/lucene/util/Version.java
+++ b/lucene/core/src/java/org/apache/lucene/util/Version.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/VirtualMethod.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/VirtualMethod.java b/lucene/core/src/java/org/apache/lucene/util/VirtualMethod.java
index 10d2be7..f21c16b 100644
--- a/lucene/core/src/java/org/apache/lucene/util/VirtualMethod.java
+++ b/lucene/core/src/java/org/apache/lucene/util/VirtualMethod.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.reflect.Method;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/WeakIdentityMap.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/WeakIdentityMap.java b/lucene/core/src/java/org/apache/lucene/util/WeakIdentityMap.java
index 2784615..bcee767 100644
--- a/lucene/core/src/java/org/apache/lucene/util/WeakIdentityMap.java
+++ b/lucene/core/src/java/org/apache/lucene/util/WeakIdentityMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
 
 import java.lang.ref.Reference;
 import java.lang.ref.ReferenceQueue;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/Automaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/Automaton.java b/lucene/core/src/java/org/apache/lucene/util/automaton/Automaton.java
index e7ca8a9..6c26a87 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/Automaton.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/Automaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 //import java.io.IOException;
 //import java.io.PrintWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/ByteRunAutomaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/ByteRunAutomaton.java b/lucene/core/src/java/org/apache/lucene/util/automaton/ByteRunAutomaton.java
index e020ab4..138f5c4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/ByteRunAutomaton.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/ByteRunAutomaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 /**
  * Automaton representation for matching UTF-8 byte[].

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/CharacterRunAutomaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/CharacterRunAutomaton.java b/lucene/core/src/java/org/apache/lucene/util/automaton/CharacterRunAutomaton.java
index 07c546e..2db30b4 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/CharacterRunAutomaton.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/CharacterRunAutomaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 /**
  * Automaton representation for matching char[].

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java b/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java
index f10d177..cd599e3 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
   
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java b/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
index 9a6269f..0ac2867 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/DaciukMihovAutomatonBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/FiniteStringsIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/FiniteStringsIterator.java b/lucene/core/src/java/org/apache/lucene/util/automaton/FiniteStringsIterator.java
index 454057f..229cdc9 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/FiniteStringsIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/FiniteStringsIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.IntsRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1ParametricDescription.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1ParametricDescription.java b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1ParametricDescription.java
index 51e244c..68325c1 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1ParametricDescription.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1ParametricDescription.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
 
 // The following code was generated with the moman/finenight pkg
 // This package is available under the MIT License, see NOTICE.txt

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1TParametricDescription.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1TParametricDescription.java b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1TParametricDescription.java
index 49d0abc..d1bda79 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1TParametricDescription.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev1TParametricDescription.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
 
 // The following code was generated with the moman/finenight pkg
 // This package is available under the MIT License, see NOTICE.txt

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2ParametricDescription.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2ParametricDescription.java b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2ParametricDescription.java
index 9869cfc..b1e191e 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2ParametricDescription.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2ParametricDescription.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
 
 // The following code was generated with the moman/finenight pkg
 // This package is available under the MIT License, see NOTICE.txt

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2TParametricDescription.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2TParametricDescription.java b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2TParametricDescription.java
index 2792130..52fb928 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2TParametricDescription.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/Lev2TParametricDescription.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
 
 // The following code was generated with the moman/finenight pkg
 // This package is available under the MIT License, see NOTICE.txt

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/LevenshteinAutomata.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/LevenshteinAutomata.java b/lucene/core/src/java/org/apache/lucene/util/automaton/LevenshteinAutomata.java
index 7fc3af4..4a07f4b 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/LevenshteinAutomata.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/LevenshteinAutomata.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.Iterator;
 import java.util.SortedSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/LimitedFiniteStringsIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/LimitedFiniteStringsIterator.java b/lucene/core/src/java/org/apache/lucene/util/automaton/LimitedFiniteStringsIterator.java
index 90107e4..5a67456 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/LimitedFiniteStringsIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/LimitedFiniteStringsIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import org.apache.lucene.util.IntsRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/SortedIntSet.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/SortedIntSet.java b/lucene/core/src/java/org/apache/lucene/util/automaton/SortedIntSet.java
index d66f9de..38218a5 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/SortedIntSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/SortedIntSet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 import java.util.TreeMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/TooComplexToDeterminizeException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/TooComplexToDeterminizeException.java b/lucene/core/src/java/org/apache/lucene/util/automaton/TooComplexToDeterminizeException.java
index 5fb4639..4b8c08d 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/TooComplexToDeterminizeException.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/TooComplexToDeterminizeException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 /**
  * This exception is thrown when determinizing an automaton would result in one

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/util/automaton/Transition.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/Transition.java b/lucene/core/src/java/org/apache/lucene/util/automaton/Transition.java
index fc5b658..8d87d46 100644
--- a/lucene/core/src/java/org/apache/lucene/util/automaton/Transition.java
+++ b/lucene/core/src/java/org/apache/lucene/util/automaton/Transition.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.automaton;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.util.automaton;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.automaton;
+
 
 /** Holds one transition from an {@link Automaton}.  This is typically
  *  used temporarily when iterating through transitions by invoking


[33/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java b/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java
index f320a1e..7c3ed72 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexCommit.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +13,8 @@ package org.apache.lucene.index;
  * 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.lucene.index;
 
 import java.util.Collection;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexDeletionPolicy.java b/lucene/core/src/java/org/apache/lucene/index/IndexDeletionPolicy.java
index 4f582f6..b556a04 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexDeletionPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java b/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java
index e2b29c9..abe831b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexFileDeleter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.FileNotFoundException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexFileNames.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexFileNames.java b/lucene/core/src/java/org/apache/lucene/index/IndexFileNames.java
index f0da20b..c4bcd2c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexFileNames.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexFileNames.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.regex.Pattern;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooNewException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooNewException.java b/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooNewException.java
index 8d4fe1d..a4b1376 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooNewException.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooNewException.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.index;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooOldException.java b/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
index 72f2276..0644dd6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.index;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexNotFoundException.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexNotFoundException.java b/lucene/core/src/java/org/apache/lucene/index/IndexNotFoundException.java
index 5fd1578..ce6d3bd 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexNotFoundException.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexNotFoundException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FileNotFoundException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexOptions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexOptions.java b/lucene/core/src/java/org/apache/lucene/index/IndexOptions.java
index 3fd5d25..2927a92 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexOptions.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexOptions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * Controls how much information is stored in the postings lists.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexReader.java b/lucene/core/src/java/org/apache/lucene/index/IndexReader.java
index f9f80f5..865f816 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexReaderContext.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexReaderContext.java b/lucene/core/src/java/org/apache/lucene/index/IndexReaderContext.java
index a13abff..247fa57 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexReaderContext.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexReaderContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java b/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java
index e8b2d52..02690c4 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
index b05e15a..62ce8b8 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.FileNotFoundException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
index c2683ac..4a7cf71 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.PrintStream;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexableField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexableField.java b/lucene/core/src/java/org/apache/lucene/index/IndexableField.java
index 2045f45..f6fc615 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexableField.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexableField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/IndexableFieldType.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexableFieldType.java b/lucene/core/src/java/org/apache/lucene/index/IndexableFieldType.java
index cf87b44..a797cf8 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexableFieldType.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexableFieldType.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.Analyzer; // javadocs
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java b/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java
index d0615ec..573103b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LeafReader.java b/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
index 9baaeb6..76db600 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/LeafReaderContext.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LeafReaderContext.java b/lucene/core/src/java/org/apache/lucene/index/LeafReaderContext.java
index b6c32df..12dc8c1 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LeafReaderContext.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LeafReaderContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Collections;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/LiveIndexWriterConfig.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LiveIndexWriterConfig.java b/lucene/core/src/java/org/apache/lucene/index/LiveIndexWriterConfig.java
index 3358781..1a0002c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LiveIndexWriterConfig.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LiveIndexWriterConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.codecs.Codec;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicy.java
index 9e92455..a82f4a0 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicy.java
index 1b9a061..e1c0297 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicy.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.IOException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import java.io.IOException;
+
 
 /** This is a {@link LogMergePolicy} that measures size of a
  *  segment as the number of documents (not taking deletions

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
index a8d4ed7..11869dc 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MappedMultiFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MappedMultiFields.java b/lucene/core/src/java/org/apache/lucene/index/MappedMultiFields.java
index fe41bc8..280b52b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MappedMultiFields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MappedMultiFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java b/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
index 5d6c505..a06c34f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MappingMultiPostingsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
index 10a9ece..1d67c4a 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MergeRateLimiter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeRateLimiter.java b/lucene/core/src/java/org/apache/lucene/index/MergeRateLimiter.java
index 9b19560..d04c2d2 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeRateLimiter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeRateLimiter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.store.RateLimiter;
 import org.apache.lucene.util.ThreadInterruptedException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java b/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
index ae451ce..3a9f98f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MergeState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeState.java b/lucene/core/src/java/org/apache/lucene/index/MergeState.java
index 09bdfbd..531c799 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java b/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java
index eb31c2c..fd4b613 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * MergeTrigger is passed to

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MergedPrefixCodedTermsIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergedPrefixCodedTermsIterator.java b/lucene/core/src/java/org/apache/lucene/index/MergedPrefixCodedTermsIterator.java
index c73a2fe..cd14eec 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergedPrefixCodedTermsIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergedPrefixCodedTermsIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiBits.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiBits.java b/lucene/core/src/java/org/apache/lucene/index/MultiBits.java
index 228a242..3f4397f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiBits.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiBits.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.util.Bits;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import org.apache.lucene.util.Bits;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.util.Bits;
+
 
 /**
  * Concatenates multiple Bits together, on every lookup.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java b/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java
index 3da30ff..383139f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiFields.java b/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
index 9348009..1736bac 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiPointValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiPointValues.java b/lucene/core/src/java/org/apache/lucene/index/MultiPointValues.java
index 5dd4fcc..dcc33da 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiPointValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiPointValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiPostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiPostingsEnum.java b/lucene/core/src/java/org/apache/lucene/index/MultiPostingsEnum.java
index 27fc9ad..5456325 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiPostingsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiPostingsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiReader.java b/lucene/core/src/java/org/apache/lucene/index/MultiReader.java
index 19aaa90..8f1bb66 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java b/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
index b6283e0..79e11c4 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java
index f173a64..ac6887f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java b/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java
index 2791cde..9b211e1 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NoDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NoMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NoMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/NoMergePolicy.java
index cade135..ec309b8 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NoMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NoMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java b/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java
index c4a6bc1..1630653 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * A {@link MergeScheduler} which never executes any merges. It is also a

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NormValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NormValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/NormValuesWriter.java
index d7f164e..a9797a1 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NormValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NormValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java b/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
index 526b1f3..33ab33b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NumericDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * A per-document numeric value.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesFieldUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesFieldUpdates.java b/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesFieldUpdates.java
index 641c594..1d28611 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesFieldUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesFieldUpdates.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.index;
-
-import org.apache.lucene.document.NumericDocValuesField;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.util.InPlaceMergeSorter;
-import org.apache.lucene.util.packed.PackedInts;
-import org.apache.lucene.util.packed.PagedGrowableWriter;
-import org.apache.lucene.util.packed.PagedMutable;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,15 @@ import org.apache.lucene.util.packed.PagedMutable;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
+import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.util.InPlaceMergeSorter;
+import org.apache.lucene.util.packed.PackedInts;
+import org.apache.lucene.util.packed.PagedGrowableWriter;
+import org.apache.lucene.util.packed.PagedMutable;
+
 
 /**
  * A {@link DocValuesFieldUpdates} which holds updates of documents, of a single

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesWriter.java
index d37fd6a..917af66 100644
--- a/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/NumericDocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/OrdTermState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/OrdTermState.java b/lucene/core/src/java/org/apache/lucene/index/OrdTermState.java
index 825c112..274e7ff 100644
--- a/lucene/core/src/java/org/apache/lucene/index/OrdTermState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/OrdTermState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * An ordinal based {@link TermState}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ParallelCompositeReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ParallelCompositeReader.java b/lucene/core/src/java/org/apache/lucene/index/ParallelCompositeReader.java
index 5132f60..dd82976 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ParallelCompositeReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ParallelCompositeReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java b/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java
index 73c605f..3d51a0b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ParallelPostingsArray.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ParallelPostingsArray.java b/lucene/core/src/java/org/apache/lucene/index/ParallelPostingsArray.java
index 75f223f..400f441 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ParallelPostingsArray.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ParallelPostingsArray.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.RamUsageEstimator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/PersistentSnapshotDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/PersistentSnapshotDeletionPolicy.java b/lucene/core/src/java/org/apache/lucene/index/PersistentSnapshotDeletionPolicy.java
index 0464852..82dfcf9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/PersistentSnapshotDeletionPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/PersistentSnapshotDeletionPolicy.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/PointValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/PointValues.java b/lucene/core/src/java/org/apache/lucene/index/PointValues.java
index 488baeb..0392b5c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/PointValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/PointValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/PointValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/PointValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/PointValuesWriter.java
index e05f270..1008f05 100644
--- a/lucene/core/src/java/org/apache/lucene/index/PointValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/PointValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/PostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/PostingsEnum.java b/lucene/core/src/java/org/apache/lucene/index/PostingsEnum.java
index 3a28f5c..fdd32a9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/PostingsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/PostingsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java b/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java
index 7f5b1a4..d4b23fe 100644
--- a/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java
+++ b/lucene/core/src/java/org/apache/lucene/index/PrefixCodedTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/QueryTimeout.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/QueryTimeout.java b/lucene/core/src/java/org/apache/lucene/index/QueryTimeout.java
index e519ab7..f0bc306 100644
--- a/lucene/core/src/java/org/apache/lucene/index/QueryTimeout.java
+++ b/lucene/core/src/java/org/apache/lucene/index/QueryTimeout.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * Base for query timeout implementations, which will provide a {@code shouldExit()} method,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/QueryTimeoutImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/QueryTimeoutImpl.java b/lucene/core/src/java/org/apache/lucene/index/QueryTimeoutImpl.java
index 03186ba..8a18e38 100644
--- a/lucene/core/src/java/org/apache/lucene/index/QueryTimeoutImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/index/QueryTimeoutImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.concurrent.TimeUnit;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java b/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java
index eafff93..d0494f5 100644
--- a/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java
+++ b/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /** 
  * Extension of {@link SortedSetDocValues} that supports random access

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ReaderManager.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ReaderManager.java b/lucene/core/src/java/org/apache/lucene/index/ReaderManager.java
index 79d9a94..380a3c0 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ReaderManager.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ReaderManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ReaderSlice.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ReaderSlice.java b/lucene/core/src/java/org/apache/lucene/index/ReaderSlice.java
index 2f5a9b3..2c00a3d 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ReaderSlice.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ReaderSlice.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * Subreader slice from a parent composite reader.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ReaderUtil.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ReaderUtil.java b/lucene/core/src/java/org/apache/lucene/index/ReaderUtil.java
index 1e8608e..32c7b32 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ReaderUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ReaderUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/ReadersAndUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/ReadersAndUpdates.java b/lucene/core/src/java/org/apache/lucene/index/ReadersAndUpdates.java
index e258364..b9a71a3 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ReadersAndUpdates.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ReadersAndUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentCommitInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentCommitInfo.java b/lucene/core/src/java/org/apache/lucene/index/SegmentCommitInfo.java
index e3b483e..b1084a6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentCommitInfo.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentCommitInfo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentCoreReaders.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentCoreReaders.java b/lucene/core/src/java/org/apache/lucene/index/SegmentCoreReaders.java
index b5d1221..296fbbc 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentCoreReaders.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentCoreReaders.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentDocValues.java b/lucene/core/src/java/org/apache/lucene/index/SegmentDocValues.java
index 093ef20..ce2050f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java
index ee0f4ea..e3662d5 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java b/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
index 15a11b1..bed8458 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentInfo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Arrays;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
index de5dbff..8d052e6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.CodecUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java b/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
index d80646f..bb8e256 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentReadState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentReadState.java b/lucene/core/src/java/org/apache/lucene/index/SegmentReadState.java
index b7eef06..73f5042 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentReadState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentReadState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.codecs.PostingsFormat; // javadocs
 import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat; // javadocs

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java b/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
index 20f87fd..205017b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SegmentWriteState.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentWriteState.java b/lucene/core/src/java/org/apache/lucene/index/SegmentWriteState.java
index 23565fe..4cd020e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentWriteState.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentWriteState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.codecs.PostingsFormat; // javadocs
 import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat; // javadocs

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java b/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java
index f851272..5a8f98b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SimpleMergedSegmentWarmer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SimpleMergedSegmentWarmer.java b/lucene/core/src/java/org/apache/lucene/index/SimpleMergedSegmentWarmer.java
index b4117a6..cf092ac 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SimpleMergedSegmentWarmer.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SimpleMergedSegmentWarmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SingleTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SingleTermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/SingleTermsEnum.java
index 2048641..e6a77df 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SingleTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SingleTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.search.MultiTermQuery;  // javadocs
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SingletonSortedNumericDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SingletonSortedNumericDocValues.java b/lucene/core/src/java/org/apache/lucene/index/SingletonSortedNumericDocValues.java
index b704df8..69f3714 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SingletonSortedNumericDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SingletonSortedNumericDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.Bits.MatchAllBits;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SingletonSortedSetDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SingletonSortedSetDocValues.java b/lucene/core/src/java/org/apache/lucene/index/SingletonSortedSetDocValues.java
index b11c53a..c90fcc5 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SingletonSortedSetDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SingletonSortedSetDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SlowCodecReaderWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SlowCodecReaderWrapper.java b/lucene/core/src/java/org/apache/lucene/index/SlowCodecReaderWrapper.java
index c925efb..50d9778 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SlowCodecReaderWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SlowCodecReaderWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java b/lucene/core/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java
index 0f6cadf..db9579c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java b/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java
index ad4ed7d..1ffbf6e 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SnapshotDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Collection;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedDocValues.java b/lucene/core/src/java/org/apache/lucene/index/SortedDocValues.java
index 774180d..e9a55a3 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java
index 48b57c0..58247be 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesWriter.java
index eb4c432..3231c60 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import static org.apache.lucene.util.ByteBlockPool.BYTE_BLOCK_SIZE;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValues.java b/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValues.java
index da631fe..8b85a6c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 /**
  * A list of per-document numeric values, sorted 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValuesWriter.java
index 3481c17..5ce9a91 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java
index 51ec2ef..f68efcc 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java
index 5e1b443..d2b1b96 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
index d42141d..52c6b5d 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import static org.apache.lucene.util.ByteBlockPool.BYTE_BLOCK_SIZE;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java b/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
index 8d51532..c5053a9 100644
--- a/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/StandardDirectoryReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;


[41/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/package-info.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/package-info.java
index a396db4..239b574 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/package-info.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analysis components based on ICU
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/BreakIteratorWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/BreakIteratorWrapper.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/BreakIteratorWrapper.java
index f7cbe50..d8ecb77 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/BreakIteratorWrapper.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/BreakIteratorWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.text.CharacterIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CharArrayIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CharArrayIterator.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CharArrayIterator.java
index 260e836..3a8ee76 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CharArrayIterator.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CharArrayIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.text.CharacterIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CompositeBreakIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CompositeBreakIterator.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CompositeBreakIterator.java
index 51ff164..e7b5f76 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CompositeBreakIterator.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/CompositeBreakIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import com.ibm.icu.lang.UScript;
 import com.ibm.icu.text.BreakIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/DefaultICUTokenizerConfig.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/DefaultICUTokenizerConfig.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/DefaultICUTokenizerConfig.java
index c3a66d2..dbf9b2e 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/DefaultICUTokenizerConfig.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/DefaultICUTokenizerConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizer.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizer.java
index efaffb6..64c6785 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizer.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerConfig.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerConfig.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerConfig.java
index c972d0c..69694fc 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerConfig.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import com.ibm.icu.text.BreakIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
index 26c6fcf..deb5d4f 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ScriptIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ScriptIterator.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ScriptIterator.java
index 4913f11..d17889b 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ScriptIterator.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ScriptIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /** 
  * Copyright (C) 1999-2010, International Business Machines
  * Corporation and others.  All Rights Reserved.
@@ -27,6 +25,7 @@ package org.apache.lucene.analysis.icu.segmentation;
  * dealings in this Software without prior written authorization of the 
  * copyright holder.
  */
+package org.apache.lucene.analysis.icu.segmentation;
 
 import com.ibm.icu.lang.UCharacter;
 import com.ibm.icu.lang.UCharacterEnums.ECharacterCategory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/package-info.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/package-info.java
index 81c904f..6d61333 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/package-info.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Tokenizer that breaks text into words with the Unicode Text Segmentation algorithm.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttribute.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttribute.java
index a196a6b..54c8341 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttribute.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
index e9d9119..ed12fbd 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/package-info.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/package-info.java
index d600eb3..cecd9d3 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/package-info.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Additional ICU-specific Attributes for text analysis.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationAttributeFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationAttributeFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationAttributeFactory.java
index 2f89046..5ad9209 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationAttributeFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationAttributeFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.collation.tokenattributes.ICUCollatedTermAttributeImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationDocValuesField.java b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationDocValuesField.java
index e76ac57..9ae4685 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationDocValuesField.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.SortedDocValuesField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
index 3ff4f3a..67b64bb 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 
 import com.ibm.icu.text.Collator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/collation/tokenattributes/ICUCollatedTermAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/collation/tokenattributes/ICUCollatedTermAttributeImpl.java b/lucene/analysis/icu/src/java/org/apache/lucene/collation/tokenattributes/ICUCollatedTermAttributeImpl.java
index fdbaf74..793dec2 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/collation/tokenattributes/ICUCollatedTermAttributeImpl.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/collation/tokenattributes/ICUCollatedTermAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation.tokenattributes;
+
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
index 259895c..e9d9ce9 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
index eeec55d..719ad20 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
index 6c13cb0..438a931 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
index eee19a8..da81777 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
index ac0b59e..6b6c8e5 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
index 789f22a..90a14f3 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
index 6fe9353..b7350c8 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
index 720570c..b74984c 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
index 9c51caf..14d7f0f 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.text.CharacterIterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
index ca742ae..f60954f 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
index f666868..a29686c 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
index dacd373..e288c4d 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
index 6d58a5f..f2fd50a 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu.segmentation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu.segmentation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu.segmentation;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationDocValuesField.java b/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationDocValuesField.java
index f938c89..28fdd43 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationDocValuesField.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationKeyAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationKeyAnalyzer.java b/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationKeyAnalyzer.java
index 532f03f..91f8aed 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationKeyAnalyzer.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/collation/TestICUCollationKeyAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 
 import com.ibm.icu.text.Collator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateUTR30DataFiles.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateUTR30DataFiles.java b/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateUTR30DataFiles.java
index ddba919..035a3a0 100644
--- a/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateUTR30DataFiles.java
+++ b/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/GenerateUTR30DataFiles.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import com.ibm.icu.lang.UCharacter;
 import com.ibm.icu.lang.UProperty;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/RBBIRuleCompiler.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/RBBIRuleCompiler.java b/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/RBBIRuleCompiler.java
index a4745d7..50e1275 100644
--- a/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/RBBIRuleCompiler.java
+++ b/lucene/analysis/icu/src/tools/java/org/apache/lucene/analysis/icu/RBBIRuleCompiler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.BufferedReader;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/GraphvizFormatter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/GraphvizFormatter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/GraphvizFormatter.java
index ac5ba30..df3c067 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/GraphvizFormatter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/GraphvizFormatter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseAnalyzer.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseAnalyzer.java
index fe3dc2e..bff30f1 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseAnalyzer.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilter.java
index 5c704bd..255ea2c 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilterFactory.java
index e033f6d..a811f8d 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseBaseFormFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilter.java
index 43a0f00..4f768b7 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.util.RollingCharBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilterFactory.java
index 5ec7654..0b5b72f 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseIterationMarkCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.ja.JapaneseIterationMarkCharFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilter.java
index a1ab824..e97b2c6 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilterFactory.java
index b0a9268..740f8ab 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseKatakanaStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.ja.JapaneseKatakanaStemFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilter.java
index d70e805..b8d0a78 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.math.BigDecimal;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilterFactory.java
index 8cb3ac1..3279c8b 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseNumberFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilter.java
index 11bb4e6..0ee9ccf 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
index 3e9365a..8b5483c 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilter.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilter.java
index ec92769..359de90 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilter.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilterFactory.java
index f09c5e6..e0ac05f 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseReadingFormFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.ja.JapaneseReadingFormFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java
index a1f9545..5641e6c 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizerFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizerFactory.java
index 6afd54c..99ad61b 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizerFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/Token.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/Token.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/Token.java
index 81a10c8..12f9221 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/Token.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/Token.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import org.apache.lucene.analysis.ja.JapaneseTokenizer.Type;
 import org.apache.lucene.analysis.ja.dict.Dictionary;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/BinaryDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/BinaryDictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/BinaryDictionary.java
index 393faee..180c0a9 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/BinaryDictionary.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/BinaryDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.BufferedInputStream;
 import java.io.EOFException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/CharacterDefinition.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/CharacterDefinition.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/CharacterDefinition.java
index e153ef2..955659c 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/CharacterDefinition.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/CharacterDefinition.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.BufferedInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
index 6c354c0..96cf1b5 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/ConnectionCosts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.BufferedInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/Dictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/Dictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/Dictionary.java
index 56ffec9..38f3b6e 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/Dictionary.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/Dictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 /**
  * Dictionary interface for retrieving morphological data

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoDictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoDictionary.java
index bc0ccd5..6b75138 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoDictionary.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.BufferedInputStream;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java
index dfeae8c..30ae1f9 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UnknownDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UnknownDictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UnknownDictionary.java
index 185f0ab..ed5d39a 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UnknownDictionary.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UnknownDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
index 3e72745..c8ab8d7 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.dict;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.dict;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.dict;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/package-info.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/package-info.java
index 284c2d6..ef3bd10 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/package-info.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Kuromoji dictionary implementation.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/package-info.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/package-info.java
index b000563..692ad2c 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/package-info.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Japanese.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttribute.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttribute.java
index 917f5e2..594d966 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttribute.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
index 1e3f789..f6e6e36 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.util.AttributeImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttribute.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttribute.java
index d171b75..61450e9 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttribute.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
index e4e226d..83a4c73 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.analysis.ja.util.ToStringUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttribute.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttribute.java
index 2644379..6bec3ef 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttribute.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
index 62100f7..e26219b 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.analysis.ja.util.ToStringUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttribute.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttribute.java
index 7ddac5f..b5d4f48 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttribute.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
index 7a89e03..d46cf87 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.tokenattributes;
+
 
 import org.apache.lucene.analysis.ja.Token;
 import org.apache.lucene.analysis.ja.util.ToStringUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/package-info.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/package-info.java
index 932871d..7ff6826 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/package-info.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Additional Kuromoji-specific Attributes for text analysis.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/CSVUtil.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/CSVUtil.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/CSVUtil.java
index 4ce4fb0..6301d2c 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/CSVUtil.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/CSVUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.util.ArrayList;
 import java.util.regex.Matcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/ToStringUtil.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/ToStringUtil.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/ToStringUtil.java
index d5a6211..d1cb487 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/ToStringUtil.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/ToStringUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja.util;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/package-info.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/package-info.java
index 28558b3..d3ae365 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/package-info.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/util/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Kuromoji utility classes.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/StringMockResourceLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/StringMockResourceLoader.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/StringMockResourceLoader.java
index 611b202..61a8a85 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/StringMockResourceLoader.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/StringMockResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
index 2bbbf52..e4a9711 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
index b31e4b0..e5b5b40 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
index 68488dc..b9ebd36 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
index 8c996ba..b140516 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ja;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ja;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ja;
+
 
 import java.io.IOException;
 import java.io.StringReader;


[31/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Query.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Query.java b/lucene/core/src/java/org/apache/lucene/search/Query.java
index 9646ff7..49134ec 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Query.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Query.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/QueryCache.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/QueryCache.java b/lucene/core/src/java/org/apache/lucene/search/QueryCache.java
index 6446156..25412b9 100644
--- a/lucene/core/src/java/org/apache/lucene/search/QueryCache.java
+++ b/lucene/core/src/java/org/apache/lucene/search/QueryCache.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 /**
  * A cache for queries.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/QueryCachingPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/QueryCachingPolicy.java b/lucene/core/src/java/org/apache/lucene/search/QueryCachingPolicy.java
index f9118aa..d62779e 100644
--- a/lucene/core/src/java/org/apache/lucene/search/QueryCachingPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/search/QueryCachingPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/QueryRescorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/QueryRescorer.java b/lucene/core/src/java/org/apache/lucene/search/QueryRescorer.java
index 539b591..a8477e9 100644
--- a/lucene/core/src/java/org/apache/lucene/search/QueryRescorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/QueryRescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/RandomAccessWeight.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/RandomAccessWeight.java b/lucene/core/src/java/org/apache/lucene/search/RandomAccessWeight.java
index 2d25e29..fcc1d1a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/RandomAccessWeight.java
+++ b/lucene/core/src/java/org/apache/lucene/search/RandomAccessWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java b/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java
index 2abb23e..6ecf81b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ReferenceManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java b/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
index afb7c04..39d56dc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.util.ToStringUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ReqExclBulkScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqExclBulkScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqExclBulkScorer.java
index aaf34d8..6ad8be1 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ReqExclBulkScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ReqExclBulkScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
index d585cbb..5ce6f5e 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
index 292066b..be22a6d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Rescorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Rescorer.java b/lucene/core/src/java/org/apache/lucene/search/Rescorer.java
index f3e19c9..01e322a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Rescorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Rescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java b/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java
index 2ffe3d5..9a99d89 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ScoreDoc.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ScoreDoc.java b/lucene/core/src/java/org/apache/lucene/search/ScoreDoc.java
index 512a1d4..69464cf 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ScoreDoc.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ScoreDoc.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 /** Holds one hit in {@link TopDocs}. */
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Scorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Scorer.java b/lucene/core/src/java/org/apache/lucene/search/Scorer.java
index 84ce3e3..f434327 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Scorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Scorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java b/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java
index d987d64..f472f5c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java
+++ b/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SearcherFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SearcherFactory.java b/lucene/core/src/java/org/apache/lucene/search/SearcherFactory.java
index dbdade9..eeb817e 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SearcherFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SearcherFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.concurrent.ExecutorService; // javadocs

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SearcherLifetimeManager.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SearcherLifetimeManager.java b/lucene/core/src/java/org/apache/lucene/search/SearcherLifetimeManager.java
index 8a81156..0146674 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SearcherLifetimeManager.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SearcherLifetimeManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SearcherManager.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SearcherManager.java b/lucene/core/src/java/org/apache/lucene/search/SearcherManager.java
index 3d3b064..80dcacf 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SearcherManager.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SearcherManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SimpleCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SimpleCollector.java b/lucene/core/src/java/org/apache/lucene/search/SimpleCollector.java
index dbe90a7..b299f52 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SimpleCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SimpleCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SimpleFieldComparator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SimpleFieldComparator.java b/lucene/core/src/java/org/apache/lucene/search/SimpleFieldComparator.java
index eb304c1..3f1e6c2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SimpleFieldComparator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SimpleFieldComparator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java b/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
index 73df12d..2ee3e70 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Sort.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Sort.java b/lucene/core/src/java/org/apache/lucene/search/Sort.java
index 4340cec..7493e9b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Sort.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Sort.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SortField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortField.java b/lucene/core/src/java/org/apache/lucene/search/SortField.java
index 8b2c0e5..3c5974f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortField.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SortRescorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortRescorer.java b/lucene/core/src/java/org/apache/lucene/search/SortRescorer.java
index 2a0d27e..f051d38 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortRescorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortRescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SortedNumericSelector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortedNumericSelector.java b/lucene/core/src/java/org/apache/lucene/search/SortedNumericSelector.java
index b2bc0cd..bdf67cc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortedNumericSelector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortedNumericSelector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.NumericDocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SortedNumericSortField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortedNumericSortField.java b/lucene/core/src/java/org/apache/lucene/search/SortedNumericSortField.java
index 9531706..188a408 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortedNumericSortField.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortedNumericSortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SortedSetSelector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortedSetSelector.java b/lucene/core/src/java/org/apache/lucene/search/SortedSetSelector.java
index 0e356d4..dee5e26 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortedSetSelector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortedSetSelector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.RandomAccessOrds;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SortedSetSortField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SortedSetSortField.java b/lucene/core/src/java/org/apache/lucene/search/SortedSetSortField.java
index d204819..5f81e85 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SortedSetSortField.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SortedSetSortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java b/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
index 502102a..6bca14b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java b/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java
index 8a96965..fffa5a8 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TermQuery.java b/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
index aa9f20f..b7b6d29 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TermRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TermRangeQuery.java b/lucene/core/src/java/org/apache/lucene/search/TermRangeQuery.java
index b61a234..cd73902 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TermRangeQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TermRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TermScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TermScorer.java b/lucene/core/src/java/org/apache/lucene/search/TermScorer.java
index 72964c9..6c823f1 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TermScorer.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TermScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TermStatistics.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TermStatistics.java b/lucene/core/src/java/org/apache/lucene/search/TermStatistics.java
index 13480ab..c00774b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TermStatistics.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TermStatistics.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.TermsEnum; // javadocs
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TimeLimitingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TimeLimitingCollector.java b/lucene/core/src/java/org/apache/lucene/search/TimeLimitingCollector.java
index b2139ed..4708b20 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TimeLimitingCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TimeLimitingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TopDocs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TopDocs.java b/lucene/core/src/java/org/apache/lucene/search/TopDocs.java
index 48bdcdd..69fa3c6 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TopDocs.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TopDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TopDocsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TopDocsCollector.java b/lucene/core/src/java/org/apache/lucene/search/TopDocsCollector.java
index d9da8ae..86bf17e 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TopDocsCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TopDocsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 
 import org.apache.lucene.util.PriorityQueue;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TopFieldCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TopFieldCollector.java b/lucene/core/src/java/org/apache/lucene/search/TopFieldCollector.java
index 4139346..7ecb9f6 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TopFieldCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TopFieldCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TopFieldDocs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TopFieldDocs.java b/lucene/core/src/java/org/apache/lucene/search/TopFieldDocs.java
index 59cfc71..af187f3 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TopFieldDocs.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TopFieldDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 
 /** Represents hits returned by {@link

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TopScoreDocCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TopScoreDocCollector.java b/lucene/core/src/java/org/apache/lucene/search/TopScoreDocCollector.java
index f643727..a840b82 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TopScoreDocCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TopScoreDocCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java b/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java
index 000b893..013171d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java b/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java
index 59b548f..e5180f9 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 /**
  * Just counts the total number of hits.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java b/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
index 2df1db2..38176bf 100644
--- a/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
+++ b/lucene/core/src/java/org/apache/lucene/search/TwoPhaseIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/UsageTrackingQueryCachingPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/UsageTrackingQueryCachingPolicy.java b/lucene/core/src/java/org/apache/lucene/search/UsageTrackingQueryCachingPolicy.java
index 24f1652..1f48645 100644
--- a/lucene/core/src/java/org/apache/lucene/search/UsageTrackingQueryCachingPolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/search/UsageTrackingQueryCachingPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/Weight.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/Weight.java b/lucene/core/src/java/org/apache/lucene/search/Weight.java
index db99781..40d2aaf 100644
--- a/lucene/core/src/java/org/apache/lucene/search/Weight.java
+++ b/lucene/core/src/java/org/apache/lucene/search/Weight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/WildcardQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/WildcardQuery.java b/lucene/core/src/java/org/apache/lucene/search/WildcardQuery.java
index 7a54fa8..b775dca 100644
--- a/lucene/core/src/java/org/apache/lucene/search/WildcardQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/WildcardQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/package-info.java b/lucene/core/src/java/org/apache/lucene/search/package-info.java
index 27f7d55..b52c8f9 100644
--- a/lucene/core/src/java/org/apache/lucene/search/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/search/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Code to search indices.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffect.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffect.java b/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffect.java
index 186d20b..df6f3d2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffect.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffect.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectB.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectB.java b/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectB.java
index 21f0193..32d1748 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectB.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectB.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectL.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectL.java b/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectL.java
index 33012de..f6ba312 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectL.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/AfterEffectL.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
index 5891a61..99f76ef 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModel.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModel.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModel.java
index 1c6b007..9293422 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModel.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModel.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelBE.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelBE.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelBE.java
index f9d2fd1..12be56c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelBE.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelBE.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelD.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelD.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelD.java
index 67295c5..28cd877 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelD.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelD.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelG.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelG.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelG.java
index 2e287c6..d2d2f0d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelG.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelG.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIF.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIF.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIF.java
index e5c5841..fe54122 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIF.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIF.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIn.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIn.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIn.java
index 17c9a88..5865177 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIn.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIn.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIne.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIne.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIne.java
index 4bae8b1..28fa57e 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIne.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelIne.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelP.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelP.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelP.java
index 9528bac..d032a2c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelP.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicModelP.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/BasicStats.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicStats.java b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicStats.java
index d09c9f1..5304d1f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/BasicStats.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/BasicStats.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.index.Terms;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java
index 93ebf81..3b6cbdd 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.index.FieldInvertState;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/DFISimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/DFISimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/DFISimilarity.java
index 33da280..5dea8a4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/DFISimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/DFISimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Implements the <em>Divergence from Independence (DFI)</em> model based on Chi-square statistics

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/DFRSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/DFRSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/DFRSimilarity.java
index 773c1a0..b77fc53 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/DFRSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/DFRSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/Distribution.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/Distribution.java b/lucene/core/src/java/org/apache/lucene/search/similarities/Distribution.java
index a171735..8e670b0 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/Distribution.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/Distribution.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionLL.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionLL.java b/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionLL.java
index 85cdd38..e34085a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionLL.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionLL.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Log-logistic distribution.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionSPL.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionSPL.java b/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionSPL.java
index 661abd4..1a9299f 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionSPL.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/DistributionSPL.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * The smoothed power-law (SPL) distribution for the information-based framework

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/IBSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/IBSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/IBSimilarity.java
index 46805aa..0dff0f4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/IBSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/IBSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/Independence.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/Independence.java b/lucene/core/src/java/org/apache/lucene/search/similarities/Independence.java
index 1ce820d..9293f0b 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/Independence.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/Independence.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Computes the measure of divergence from independence for DFI

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceChiSquared.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceChiSquared.java b/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceChiSquared.java
index e703449..e209063 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceChiSquared.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceChiSquared.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Normalized chi-squared measure of distance from independence

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceSaturated.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceSaturated.java b/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceSaturated.java
index dadd6f8..af4bf63 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceSaturated.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceSaturated.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Saturated measure of distance from independence

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceStandardized.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceStandardized.java b/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceStandardized.java
index 8d36507..1f7cda0 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceStandardized.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/IndependenceStandardized.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Standardized measure of distance from independence

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/LMDirichletSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/LMDirichletSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/LMDirichletSimilarity.java
index b1c4563..de59eb9 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/LMDirichletSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/LMDirichletSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/LMJelinekMercerSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/LMJelinekMercerSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/LMJelinekMercerSimilarity.java
index 9f78f93..3788b5c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/LMJelinekMercerSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/LMJelinekMercerSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/LMSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/LMSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/LMSimilarity.java
index 47b1e70..fb8fbf4 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/LMSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/LMSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/Lambda.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/Lambda.java b/lucene/core/src/java/org/apache/lucene/search/similarities/Lambda.java
index 7680325..39b92ec 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/Lambda.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/Lambda.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaDF.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaDF.java b/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaDF.java
index c34cfc6..ef87c8a 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaDF.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaDF.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaTTF.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaTTF.java b/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaTTF.java
index c5ffb50..20fe652 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaTTF.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/LambdaTTF.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/MultiSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/MultiSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/MultiSimilarity.java
index 47e1fbf..c4b7dd6 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/MultiSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/MultiSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/Normalization.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/Normalization.java b/lucene/core/src/java/org/apache/lucene/search/similarities/Normalization.java
index 786726f..0ab70f6 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/Normalization.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/Normalization.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.search.Explanation;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH1.java b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
index 744ec8e..e7f47ca 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Normalization model that assumes a uniform distribution of the term frequency.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH2.java b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
index cbeaef1..4bc5004 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import static org.apache.lucene.search.similarities.SimilarityBase.log2;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH3.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH3.java b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH3.java
index 5a1bae8..579cdb5 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH3.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationH3.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Dirichlet Priors normalization

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationZ.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationZ.java b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationZ.java
index d5551a6..97b92a2 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationZ.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/NormalizationZ.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 /**
  * Pareto-Zipf Normalization

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.java b/lucene/core/src/java/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.java
index 8da73a8..cfbb9a5 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
index 9deaf47..9605c83 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import org.apache.lucene.index.FieldInvertState;
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/SimilarityBase.java b/lucene/core/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
index f69ac17..0b7c342 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java b/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
index 8ec82d5..a6b1ee5 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.similarities;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search.similarities;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.similarities;
+
 
 import java.io.IOException;
 import java.util.ArrayList;


[57/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/simple-Queries-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/simple-Queries-BBox.txt b/lucene/spatial/src/test-files/simple-Queries-BBox.txt
deleted file mode 100644
index 9f3d5b0..0000000
--- a/lucene/spatial/src/test-files/simple-Queries-BBox.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-C5 @ IsWithin(ENVELOPE(-6, 6, 6, -6))
-C5 @ BBoxWithin(ENVELOPE(-6, 6, 6, -6))
-C10 @ Contains(ENVELOPE(-6, 6, 6, -6))
-C10 @ IsEqualTo(ENVELOPE(-10, 10, 10, -10))
-C5 C10 @ Intersects(ENVELOPE(-2, 2, 2, -2))
- @ Overlaps(ENVELOPE(-2, 2, 2, -2))
-C5 @ Overlaps(ENVELOPE(-2, 2, 8, -2))
-C5 C10 @ BBoxIntersects(ENVELOPE(-2, 2, 2, -2))
-NW15 @ IsDisjointTo(ENVELOPE(-10, 10, 10, -10))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/states-Intersects-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/states-Intersects-BBox.txt b/lucene/spatial/src/test-files/states-Intersects-BBox.txt
deleted file mode 100644
index a45df7b..0000000
--- a/lucene/spatial/src/test-files/states-Intersects-BBox.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-WY CO	@ Intersects(ENVELOPE(-106.964844, -105.734375, 42.800781, 39.460938))
-TX @ Intersects(ENVELOPE(-99.669922, -98.439453, 32.253906, 30.583984))
-MS TX LA @ Intersects(ENVELOPE(-95.363281, -90.133789, 32.473633, 29.792969))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test-files/states-IsWithin-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test-files/states-IsWithin-BBox.txt b/lucene/spatial/src/test-files/states-IsWithin-BBox.txt
deleted file mode 100644
index 6a504da..0000000
--- a/lucene/spatial/src/test-files/states-IsWithin-BBox.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-KS	@ IsWithin(ENVELOPE(-103.493164, -93.825195, 41.086914, 36.208984))
-WA @ IsWithin(ENVELOPE(-126.916016, -115.314453, 50.688965, 44.36084))
-MA CT RI @ IsWithin(ENVELOPE(-73.894043, -69.521484, 43.198242, 40.825195))
-AL GA @ IsWithin(ENVELOPE(-89.472656, -80.244141, 35.90332, 29.311523))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
deleted file mode 100644
index 9a29677..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.index.IndexOptions;
-import org.apache.lucene.spatial.bbox.BBoxStrategy;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.PackedQuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
-import org.apache.lucene.spatial.vector.PointVectorStrategy;
-import org.junit.Test;
-
-public class DistanceStrategyTest extends StrategyTestCase {
-  @ParametersFactory(argumentFormatting = "strategy=%s")
-  public static Iterable<Object[]> parameters() {
-    List<Object[]> ctorArgs = new ArrayList<>();
-
-    SpatialContext ctx = SpatialContext.GEO;
-    SpatialPrefixTree grid;
-    SpatialStrategy strategy;
-
-    grid = new QuadPrefixTree(ctx,25);
-    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_quad");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    grid = new GeohashPrefixTree(ctx,12);
-    strategy = new TermQueryPrefixTreeStrategy(grid, "termquery_geohash");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    grid = new PackedQuadPrefixTree(ctx,25);
-    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_packedquad");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    strategy = new PointVectorStrategy(ctx, "pointvector");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    strategy = new BBoxStrategy(ctx, "bbox");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    strategy = new SerializedDVStrategy(ctx, "serialized");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    return ctorArgs;
-  }
-
-  public DistanceStrategyTest(String suiteName, SpatialStrategy strategy) {
-    this.ctx = strategy.getSpatialContext();
-    this.strategy = strategy;
-  }
-
-  @Override
-  public void setUp() throws Exception {
-    super.setUp();
-    if (strategy instanceof BBoxStrategy && random().nextBoolean()) {//disable indexing sometimes
-      BBoxStrategy bboxStrategy = (BBoxStrategy)strategy;
-      final FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
-      fieldType.setIndexOptions(IndexOptions.NONE);
-      bboxStrategy.setFieldType(fieldType);
-    }
-  }
-
-  @Override
-  protected boolean needsDocValues() {
-    return true;
-  }
-
-  @Test
-  public void testDistanceOrder() throws IOException {
-    adoc("100", ctx.makePoint(2, 1));
-    adoc("101", ctx.makePoint(-1, 4));
-    adoc("103", (Shape)null);//test score for nothing
-    adoc("999", ctx.makePoint(2, 1));//test deleted
-    commit();
-    deleteDoc("999");
-    commit();
-    //FYI distances are in docid order
-    checkDistValueSource(ctx.makePoint(4, 3), 2.8274937f, 5.0898066f, 180f);
-    checkDistValueSource(ctx.makePoint(0, 4), 3.6043684f, 0.9975641f, 180f);
-  }
-
-  @Test
-  public void testRecipScore() throws IOException {
-    Point p100 = ctx.makePoint(2, 1);
-    adoc("100", p100);
-    Point p101 = ctx.makePoint(-1, 4);
-    adoc("101", p101);
-    adoc("103", (Shape)null);//test score for nothing
-    adoc("999", ctx.makePoint(2, 1));//test deleted
-    commit();
-    deleteDoc("999");
-    commit();
-
-    double dist = ctx.getDistCalc().distance(p100, p101);
-    Shape queryShape = ctx.makeCircle(2.01, 0.99, dist);
-    checkValueSource(strategy.makeRecipDistanceValueSource(queryShape),
-        new float[]{1.00f, 0.10f, 0f}, 0.09f);
-  }
-
-  void checkDistValueSource(Point pt, float... distances) throws IOException {
-    float multiplier = random().nextFloat() * 100f;
-    float[] dists2 = Arrays.copyOf(distances, distances.length);
-    for (int i = 0; i < dists2.length; i++) {
-      dists2[i] *= multiplier;
-    }
-    checkValueSource(strategy.makeDistanceValueSource(pt, multiplier), dists2, 1.0e-3f);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java b/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
deleted file mode 100644
index 8506c86..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.vector.PointVectorStrategy;
-import org.junit.Test;
-
-/**
- * Based off of Solr 3's SpatialFilterTest.
- */
-public class PortedSolr3Test extends StrategyTestCase {
-
-  @ParametersFactory(argumentFormatting = "strategy=%s")
-  public static Iterable<Object[]> parameters() {
-    List<Object[]> ctorArgs = new ArrayList<>();
-
-    SpatialContext ctx = SpatialContext.GEO;
-    SpatialPrefixTree grid;
-    SpatialStrategy strategy;
-
-    grid = new GeohashPrefixTree(ctx,12);
-    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_geohash");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    grid = new QuadPrefixTree(ctx,25);
-    strategy = new RecursivePrefixTreeStrategy(grid, "recursive_quad");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    grid = new GeohashPrefixTree(ctx,12);
-    strategy = new TermQueryPrefixTreeStrategy(grid, "termquery_geohash");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    strategy = new PointVectorStrategy(ctx, "pointvector");
-    ctorArgs.add(new Object[]{strategy.getFieldName(), strategy});
-
-    return ctorArgs;
-  }
-
-  public PortedSolr3Test(String suiteName, SpatialStrategy strategy) {
-    this.ctx = strategy.getSpatialContext();
-    this.strategy = strategy;
-  }
-
-  private void setupDocs() throws Exception {
-    super.deleteAll();
-    adoc("1", ctx.makePoint(-79.9289094, 32.7693246));
-    adoc("2", ctx.makePoint(-80.9289094, 33.7693246));
-    adoc("3", ctx.makePoint(50.9289094, -32.7693246));
-    adoc("4", ctx.makePoint(60.9289094, -50.7693246));
-    adoc("5", ctx.makePoint(0, 0));
-    adoc("6", ctx.makePoint(0.1, 0.1));
-    adoc("7", ctx.makePoint(-0.1, -0.1));
-    adoc("8", ctx.makePoint(179.9, 0));
-    adoc("9", ctx.makePoint(-179.9, 0));
-    adoc("10", ctx.makePoint(50, 89.9));
-    adoc("11", ctx.makePoint(-130, 89.9));
-    adoc("12", ctx.makePoint(50, -89.9));
-    adoc("13", ctx.makePoint(-130, -89.9));
-    commit();
-  }
-
-
-  @Test
-  public void testIntersections() throws Exception {
-    setupDocs();
-    //Try some edge cases
-      //NOTE: 2nd arg is distance in kilometers
-    checkHitsCircle(ctx.makePoint(1, 1), 175, 3, 5, 6, 7);
-    checkHitsCircle(ctx.makePoint(179.8, 0), 200, 2, 8, 9);
-    checkHitsCircle(ctx.makePoint(50, 89.8), 200, 2, 10, 11);//this goes over the north pole
-    checkHitsCircle(ctx.makePoint(50, -89.8), 200, 2, 12, 13);//this goes over the south pole
-    //try some normal cases
-    checkHitsCircle(ctx.makePoint(-80.0, 33.0), 300, 2);
-    //large distance
-    checkHitsCircle(ctx.makePoint(1, 1), 5000, 3, 5, 6, 7);
-    //Because we are generating a box based on the west/east longitudes and the south/north latitudes, which then
-    //translates to a range query, which is slightly more inclusive.  Thus, even though 0.0 is 15.725 kms away,
-    //it will be included, b/c of the box calculation.
-    checkHitsBBox(ctx.makePoint(0.1, 0.1), 15, 2, 5, 6);
-    //try some more
-    deleteAll();
-    adoc("14", ctx.makePoint(5, 0));
-    adoc("15", ctx.makePoint(15, 0));
-    //3000KM from 0,0, see http://www.movable-type.co.uk/scripts/latlong.html
-    adoc("16", ctx.makePoint(19.79750, 18.71111));
-    adoc("17", ctx.makePoint(-95.436643, 44.043900));
-    commit();
-
-    checkHitsCircle(ctx.makePoint(0, 0), 1000, 1, 14);
-    checkHitsCircle(ctx.makePoint(0, 0), 2000, 2, 14, 15);
-    checkHitsBBox(ctx.makePoint(0, 0), 3000, 3, 14, 15, 16);
-    checkHitsCircle(ctx.makePoint(0, 0), 3001, 3, 14, 15, 16);
-    checkHitsCircle(ctx.makePoint(0, 0), 3000.1, 3, 14, 15, 16);
-
-    //really fine grained distance and reflects some of the vagaries of how we are calculating the box
-    checkHitsCircle(ctx.makePoint(-96.789603, 43.517030), 109, 0);
-
-    // falls outside of the real distance, but inside the bounding box
-    checkHitsCircle(ctx.makePoint(-96.789603, 43.517030), 110, 0);
-    checkHitsBBox(ctx.makePoint(-96.789603, 43.517030), 110, 1, 17);
-  }
-
-  //---- these are similar to Solr test methods
-
-  private void checkHitsCircle(Point pt, double distKM, int assertNumFound, int... assertIds) {
-    _checkHits(false, pt, distKM, assertNumFound, assertIds);
-  }
-  private void checkHitsBBox(Point pt, double distKM, int assertNumFound, int... assertIds) {
-    _checkHits(true, pt, distKM, assertNumFound, assertIds);
-  }
-
-  private void _checkHits(boolean bbox, Point pt, double distKM, int assertNumFound, int... assertIds) {
-    SpatialOperation op = SpatialOperation.Intersects;
-    double distDEG = DistanceUtils.dist2Degrees(distKM, DistanceUtils.EARTH_MEAN_RADIUS_KM);
-    Shape shape = ctx.makeCircle(pt, distDEG);
-    if (bbox)
-      shape = shape.getBoundingBox();
-
-    SpatialArgs args = new SpatialArgs(op,shape);
-    //args.setDistPrecision(0.025);
-    Query query = strategy.makeQuery(args);
-    SearchResults results = executeQuery(query, 100);
-    assertEquals(""+shape,assertNumFound,results.numFound);
-    if (assertIds != null) {
-      Set<Integer> resultIds = new HashSet<>();
-      for (SearchResult result : results.results) {
-        resultIds.add(Integer.valueOf(result.document.get("id")));
-      }
-      for (int assertId : assertIds) {
-        assertTrue("has " + assertId, resultIds.contains(assertId));
-      }
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
deleted file mode 100644
index b1a5e54..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.spatial.bbox.BBoxStrategy;
-import org.apache.lucene.spatial.composite.CompositeSpatialStrategy;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
-import org.apache.lucene.spatial.vector.PointVectorStrategy;
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Test;
-
-public class QueryEqualsHashCodeTest extends LuceneTestCase {
-
-  private final SpatialContext ctx = SpatialContext.GEO;
-
-  private SpatialOperation predicate;
-
-  @Test
-  public void testEqualsHashCode() {
-
-    switch (random().nextInt(4)) {//0-3
-      case 0: predicate = SpatialOperation.Contains; break;
-      case 1: predicate = SpatialOperation.IsWithin; break;
-
-      default: predicate = SpatialOperation.Intersects; break;
-    }
-    final SpatialPrefixTree gridQuad = new QuadPrefixTree(ctx,10);
-    final SpatialPrefixTree gridGeohash = new GeohashPrefixTree(ctx,10);
-
-    Collection<SpatialStrategy> strategies = new ArrayList<>();
-    RecursivePrefixTreeStrategy recursive_geohash = new RecursivePrefixTreeStrategy(gridGeohash, "recursive_geohash");
-    strategies.add(recursive_geohash);
-    strategies.add(new TermQueryPrefixTreeStrategy(gridQuad, "termquery_quad"));
-    strategies.add(new PointVectorStrategy(ctx, "pointvector"));
-    strategies.add(new BBoxStrategy(ctx, "bbox"));
-    final SerializedDVStrategy serialized = new SerializedDVStrategy(ctx, "serialized");
-    strategies.add(serialized);
-    strategies.add(new CompositeSpatialStrategy("composite", recursive_geohash, serialized));
-    for (SpatialStrategy strategy : strategies) {
-      testEqualsHashcode(strategy);
-    }
-  }
-
-  private void testEqualsHashcode(final SpatialStrategy strategy) {
-    final SpatialArgs args1 = makeArgs1();
-    final SpatialArgs args2 = makeArgs2();
-    testEqualsHashcode(args1, args2, new ObjGenerator() {
-      @Override
-      public Object gen(SpatialArgs args) {
-        return strategy.makeQuery(args);
-      }
-    });
-    testEqualsHashcode(args1, args2, new ObjGenerator() {
-      @Override
-      public Object gen(SpatialArgs args) {
-        return strategy.makeDistanceValueSource(args.getShape().getCenter());
-      }
-    });
-  }
-
-  private void testEqualsHashcode(SpatialArgs args1, SpatialArgs args2, ObjGenerator generator) {
-    Object first;
-    try {
-      first = generator.gen(args1);
-    } catch (UnsupportedOperationException e) {
-      return;
-    }
-    if (first == null)
-      return;//unsupported op?
-    Object second = generator.gen(args1);//should be the same
-    assertEquals(first, second);
-    assertEquals(first.hashCode(), second.hashCode());
-    assertTrue(args1.equals(args2) == false);
-    second = generator.gen(args2);//now should be different
-    assertTrue(first.equals(second) == false);
-    assertTrue(first.hashCode() != second.hashCode());
-  }
-
-  private SpatialArgs makeArgs1() {
-    final Shape shape1 = ctx.makeRectangle(0, 0, 10, 10);
-    return new SpatialArgs(predicate, shape1);
-  }
-
-  private SpatialArgs makeArgs2() {
-    final Shape shape2 = ctx.makeRectangle(0, 0, 20, 20);
-    return new SpatialArgs(predicate, shape2);
-  }
-
-  interface ObjGenerator {
-    Object gen(SpatialArgs args);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
deleted file mode 100644
index 09b5d46..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class SpatialArgsTest {
-
-  @Test
-  public void calcDistanceFromErrPct() {
-    final SpatialContext ctx = SpatialContext.GEO;
-    final double DEP = 0.5;//distErrPct
-
-    //the result is the diagonal distance from the center to the closest corner,
-    // times distErrPct
-
-    Shape superwide = ctx.makeRectangle(-180, 180, 0, 0);
-    //0 distErrPct means 0 distance always
-    assertEquals(0, SpatialArgs.calcDistanceFromErrPct(superwide, 0, ctx), 0);
-    assertEquals(180 * DEP, SpatialArgs.calcDistanceFromErrPct(superwide, DEP, ctx), 0);
-
-    Shape supertall = ctx.makeRectangle(0, 0, -90, 90);
-    assertEquals(90 * DEP, SpatialArgs.calcDistanceFromErrPct(supertall, DEP, ctx), 0);
-
-    Shape upperhalf = ctx.makeRectangle(-180, 180, 0, 90);
-    assertEquals(45 * DEP, SpatialArgs.calcDistanceFromErrPct(upperhalf, DEP, ctx), 0.0001);
-
-    Shape midCircle = ctx.makeCircle(0, 0, 45);
-    assertEquals(60 * DEP, SpatialArgs.calcDistanceFromErrPct(midCircle, DEP, ctx), 0.0001);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
deleted file mode 100644
index 1bd7159..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import java.io.IOException;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.NumericDocValuesField;
-import org.apache.lucene.document.StoredField;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialArgsParser;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.util.LuceneTestCase;
-
-/**
- * This class serves as example code to show how to use the Lucene spatial
- * module.
- */
-public class SpatialExample extends LuceneTestCase {
-
-  //Note: Test invoked via TestTestFramework.spatialExample()
-
-  public static void main(String[] args) throws Exception {
-    new SpatialExample().test();
-  }
-
-  public void test() throws Exception {
-    init();
-    indexPoints();
-    search();
-  }
-
-  /**
-   * The Spatial4j {@link SpatialContext} is a sort of global-ish singleton
-   * needed by Lucene spatial.  It's a facade to the rest of Spatial4j, acting
-   * as a factory for {@link Shape}s and provides access to reading and writing
-   * them from Strings.
-   */
-  private SpatialContext ctx;//"ctx" is the conventional variable name
-
-  /**
-   * The Lucene spatial {@link SpatialStrategy} encapsulates an approach to
-   * indexing and searching shapes, and providing distance values for them.
-   * It's a simple API to unify different approaches. You might use more than
-   * one strategy for a shape as each strategy has its strengths and weaknesses.
-   * <p />
-   * Note that these are initialized with a field name.
-   */
-  private SpatialStrategy strategy;
-
-  private Directory directory;
-
-  protected void init() {
-    //Typical geospatial context
-    //  These can also be constructed from SpatialContextFactory
-    this.ctx = SpatialContext.GEO;
-
-    int maxLevels = 11;//results in sub-meter precision for geohash
-    //TODO demo lookup by detail distance
-    //  This can also be constructed from SpatialPrefixTreeFactory
-    SpatialPrefixTree grid = new GeohashPrefixTree(ctx, maxLevels);
-
-    this.strategy = new RecursivePrefixTreeStrategy(grid, "myGeoField");
-
-    this.directory = new RAMDirectory();
-  }
-
-  private void indexPoints() throws Exception {
-    IndexWriterConfig iwConfig = new IndexWriterConfig(null);
-    IndexWriter indexWriter = new IndexWriter(directory, iwConfig);
-
-    //Spatial4j is x-y order for arguments
-    indexWriter.addDocument(newSampleDocument(
-        2, ctx.makePoint(-80.93, 33.77)));
-
-    //Spatial4j has a WKT parser which is also "x y" order
-    indexWriter.addDocument(newSampleDocument(
-        4, ctx.readShapeFromWkt("POINT(60.9289094 -50.7693246)")));
-
-    indexWriter.addDocument(newSampleDocument(
-        20, ctx.makePoint(0.1,0.1), ctx.makePoint(0, 0)));
-
-    indexWriter.close();
-  }
-
-  private Document newSampleDocument(int id, Shape... shapes) {
-    Document doc = new Document();
-    doc.add(new StoredField("id", id));
-    doc.add(new NumericDocValuesField("id", id));
-    //Potentially more than one shape in this field is supported by some
-    // strategies; see the javadocs of the SpatialStrategy impl to see.
-    for (Shape shape : shapes) {
-      for (Field f : strategy.createIndexableFields(shape)) {
-        doc.add(f);
-      }
-      //store it too; the format is up to you
-      //  (assume point in this example)
-      Point pt = (Point) shape;
-      doc.add(new StoredField(strategy.getFieldName(), pt.getX()+" "+pt.getY()));
-    }
-
-    return doc;
-  }
-
-  private void search() throws Exception {
-    IndexReader indexReader = DirectoryReader.open(directory);
-    IndexSearcher indexSearcher = new IndexSearcher(indexReader);
-    Sort idSort = new Sort(new SortField("id", SortField.Type.INT));
-
-    //--Filter by circle (<= distance from a point)
-    {
-      //Search with circle
-      //note: SpatialArgs can be parsed from a string
-      SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects,
-          ctx.makeCircle(-80.0, 33.0, DistanceUtils.dist2Degrees(200, DistanceUtils.EARTH_MEAN_RADIUS_KM)));
-      Query query = strategy.makeQuery(args);
-      TopDocs docs = indexSearcher.search(query, 10, idSort);
-      assertDocMatchedIds(indexSearcher, docs, 2);
-      //Now, lets get the distance for the 1st doc via computing from stored point value:
-      // (this computation is usually not redundant)
-      Document doc1 = indexSearcher.doc(docs.scoreDocs[0].doc);
-      String doc1Str = doc1.getField(strategy.getFieldName()).stringValue();
-      //assume doc1Str is "x y" as written in newSampleDocument()
-      int spaceIdx = doc1Str.indexOf(' ');
-      double x = Double.parseDouble(doc1Str.substring(0, spaceIdx));
-      double y = Double.parseDouble(doc1Str.substring(spaceIdx+1));
-      double doc1DistDEG = ctx.calcDistance(args.getShape().getCenter(), x, y);
-      assertEquals(121.6d, DistanceUtils.degrees2Dist(doc1DistDEG, DistanceUtils.EARTH_MEAN_RADIUS_KM), 0.1);
-      //or more simply:
-      assertEquals(121.6d, doc1DistDEG * DistanceUtils.DEG_TO_KM, 0.1);
-    }
-    //--Match all, order by distance ascending
-    {
-      Point pt = ctx.makePoint(60, -50);
-      ValueSource valueSource = strategy.makeDistanceValueSource(pt, DistanceUtils.DEG_TO_KM);//the distance (in km)
-      Sort distSort = new Sort(valueSource.getSortField(false)).rewrite(indexSearcher);//false=asc dist
-      TopDocs docs = indexSearcher.search(new MatchAllDocsQuery(), 10, distSort);
-      assertDocMatchedIds(indexSearcher, docs, 4, 20, 2);
-      //To get the distance, we could compute from stored values like earlier.
-      // However in this example we sorted on it, and the distance will get
-      // computed redundantly.  If the distance is only needed for the top-X
-      // search results then that's not a big deal. Alternatively, try wrapping
-      // the ValueSource with CachingDoubleValueSource then retrieve the value
-      // from the ValueSource now. See LUCENE-4541 for an example.
-    }
-    //demo arg parsing
-    {
-      SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects,
-          ctx.makeCircle(-80.0, 33.0, 1));
-      SpatialArgs args2 = new SpatialArgsParser().parse("Intersects(BUFFER(POINT(-80 33),1))", ctx);
-      assertEquals(args.toString(),args2.toString());
-    }
-
-    indexReader.close();
-  }
-
-  private void assertDocMatchedIds(IndexSearcher indexSearcher, TopDocs docs, int... ids) throws IOException {
-    int[] gotIds = new int[docs.totalHits];
-    for (int i = 0; i < gotIds.length; i++) {
-      gotIds[i] = indexSearcher.doc(docs.scoreDocs[i].doc).getField("id").numericValue().intValue();
-    }
-    assertArrayEquals(ids,gotIds);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
deleted file mode 100644
index e995ee1..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-public class SpatialMatchConcern {
-  public final boolean orderIsImportant;
-  public final boolean resultsAreSuperset; // if the strategy can not give exact answers, but used to limit results
-
-  private SpatialMatchConcern( boolean order, boolean superset ) {
-    this.orderIsImportant = order;
-    this.resultsAreSuperset = superset;
-  }
-
-  public static final SpatialMatchConcern EXACT = new SpatialMatchConcern( true, false );
-  public static final SpatialMatchConcern FILTER = new SpatialMatchConcern( false, false );
-  public static final SpatialMatchConcern SUPERSET = new SpatialMatchConcern( false, true );
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
deleted file mode 100644
index 31b57f9..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.logging.Logger;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.uninverting.UninvertingReader;
-import org.apache.lucene.uninverting.UninvertingReader.Type;
-import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
-import org.apache.lucene.util.TestUtil;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomDouble;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomGaussian;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-
-/** A base test class for spatial lucene. It's mostly Lucene generic. */
-@SuppressSysoutChecks(bugUrl = "These tests use JUL extensively.")
-public abstract class SpatialTestCase extends LuceneTestCase {
-
-  protected Logger log = Logger.getLogger(getClass().getName());
-
-  private DirectoryReader indexReader;
-  protected RandomIndexWriter indexWriter;
-  private Directory directory;
-  private Analyzer analyzer;
-  protected IndexSearcher indexSearcher;
-
-  protected SpatialContext ctx;//subclass must initialize
-
-  protected Map<String,Type> uninvertMap = new HashMap<>();
-  
-  @Override
-  public void setUp() throws Exception {
-    super.setUp();
-    // TODO: change this module to index docvalues instead of uninverting
-    uninvertMap.clear();
-    uninvertMap.put("pointvector__x", Type.DOUBLE);
-    uninvertMap.put("pointvector__y", Type.DOUBLE);
-
-    directory = newDirectory();
-    final Random random = random();
-    analyzer = new MockAnalyzer(random);
-    indexWriter = new RandomIndexWriter(random,directory, newIWConfig(random, analyzer));
-    indexReader = UninvertingReader.wrap(indexWriter.getReader(), uninvertMap);
-    indexSearcher = newSearcher(indexReader);
-  }
-
-  protected IndexWriterConfig newIWConfig(Random random, Analyzer analyzer) {
-    final IndexWriterConfig indexWriterConfig = LuceneTestCase.newIndexWriterConfig(random, analyzer);
-    //TODO can we randomly choose a doc-values supported format?
-    if (needsDocValues())
-      indexWriterConfig.setCodec( TestUtil.getDefaultCodec());
-    return indexWriterConfig;
-  }
-
-  protected boolean needsDocValues() {
-    return false;
-  }
-
-  @Override
-  public void tearDown() throws Exception {
-    IOUtils.close(indexWriter, indexReader, analyzer, directory);
-    super.tearDown();
-  }
-
-  // ================================================= Helper Methods ================================================
-
-  protected void addDocument(Document doc) throws IOException {
-    indexWriter.addDocument(doc);
-  }
-
-  protected void addDocumentsAndCommit(List<Document> documents) throws IOException {
-    for (Document document : documents) {
-      indexWriter.addDocument(document);
-    }
-    commit();
-  }
-
-  protected void deleteAll() throws IOException {
-    indexWriter.deleteAll();
-  }
-
-  protected void commit() throws IOException {
-    indexWriter.commit();
-    DirectoryReader newReader = DirectoryReader.openIfChanged(indexReader);
-    if (newReader != null) {
-      IOUtils.close(indexReader);
-      indexReader = newReader;
-    }
-    indexSearcher = newSearcher(indexReader);
-  }
-
-  protected void verifyDocumentsIndexed(int numDocs) {
-    assertEquals(numDocs, indexReader.numDocs());
-  }
-
-  protected SearchResults executeQuery(Query query, int numDocs) {
-    try {
-      TopDocs topDocs = indexSearcher.search(query, numDocs);
-
-      List<SearchResult> results = new ArrayList<>();
-      for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
-        results.add(new SearchResult(scoreDoc.score, indexSearcher.doc(scoreDoc.doc)));
-      }
-      return new SearchResults(topDocs.totalHits, results);
-    } catch (IOException ioe) {
-      throw new RuntimeException("IOException thrown while executing query", ioe);
-    }
-  }
-
-  protected Point randomPoint() {
-    final Rectangle WB = ctx.getWorldBounds();
-    return ctx.makePoint(
-        randomIntBetween((int) WB.getMinX(), (int) WB.getMaxX()),
-        randomIntBetween((int) WB.getMinY(), (int) WB.getMaxY()));
-  }
-
-  protected Rectangle randomRectangle() {
-    return randomRectangle(ctx.getWorldBounds());
-  }
-
-  protected Rectangle randomRectangle(Rectangle bounds) {
-    double[] xNewStartAndWidth = randomSubRange(bounds.getMinX(), bounds.getWidth());
-    double xMin = xNewStartAndWidth[0];
-    double xMax = xMin + xNewStartAndWidth[1];
-    if (bounds.getCrossesDateLine()) {
-      xMin = DistanceUtils.normLonDEG(xMin);
-      xMax = DistanceUtils.normLonDEG(xMax);
-    }
-
-    double[] yNewStartAndHeight = randomSubRange(bounds.getMinY(), bounds.getHeight());
-    double yMin = yNewStartAndHeight[0];
-    double yMax = yMin + yNewStartAndHeight[1];
-
-    return ctx.makeRectangle(xMin, xMax, yMin, yMax);
-  }
-
-  /** Returns new minStart and new length that is inside the range specified by the arguments. */
-  protected double[] randomSubRange(double boundStart, double boundLen) {
-    if (boundLen >= 3 && usually()) { // typical
-      // prefer integers for ease of debugability ... and prefer 1/16th of bound
-      int intBoundStart = (int) Math.ceil(boundStart);
-      int intBoundEnd = (int) (boundStart + boundLen);
-      int intBoundLen = intBoundEnd - intBoundStart;
-      int newLen = (int) randomGaussianMeanMax(intBoundLen / 16.0, intBoundLen);
-      int newStart = intBoundStart + randomInt(intBoundLen - newLen);
-      return new double[]{newStart, newLen};
-    } else { // (no int rounding)
-      double newLen = randomGaussianMeanMax(boundLen / 16, boundLen);
-      double newStart = boundStart + (boundLen - newLen == 0 ? 0 : (randomDouble() % (boundLen - newLen)));
-      return new double[]{newStart, newLen};
-    }
-  }
-
-  private double randomGaussianMinMeanMax(double min, double mean, double max) {
-    assert mean > min;
-    return randomGaussianMeanMax(mean - min, max - min) + min;
-  }
-
-  /**
-   * Within one standard deviation (68% of the time) the result is "close" to
-   * mean. By "close": when greater than mean, it's the lesser of 2*mean or half
-   * way to max, when lesser than mean, it's the greater of max-2*mean or half
-   * way to 0. The other 32% of the time it's in the rest of the range, touching
-   * either 0 or max but never exceeding.
-   */
-  private double randomGaussianMeanMax(double mean, double max) {
-    // DWS: I verified the results empirically
-    assert mean <= max && mean >= 0;
-    double g = randomGaussian();
-    double mean2 = mean;
-    double flip = 1;
-    if (g < 0) {
-      mean2 = max - mean;
-      flip = -1;
-      g *= -1;
-    }
-    // pivot is the distance from mean2 towards max where the boundary of
-    // 1 standard deviation alters the calculation
-    double pivotMax = max - mean2;
-    double pivot = Math.min(mean2, pivotMax / 2);//from 0 to max-mean2
-    assert pivot >= 0 && pivotMax >= pivot && g >= 0;
-    double pivotResult;
-    if (g <= 1)
-      pivotResult = pivot * g;
-    else
-      pivotResult = Math.min(pivotMax, (g - 1) * (pivotMax - pivot) + pivot);
-
-    double result = mean + flip * pivotResult;
-    return (result < 0 || result > max) ? mean : result; // due this due to computational numerical precision
-  }
-
-  // ================================================= Inner Classes =================================================
-
-  protected static class SearchResults {
-
-    public int numFound;
-    public List<SearchResult> results;
-
-    public SearchResults(int numFound, List<SearchResult> results) {
-      this.numFound = numFound;
-      this.results = results;
-    }
-
-    public StringBuilder toDebugString() {
-      StringBuilder str = new StringBuilder();
-      str.append("found: ").append(numFound).append('[');
-      for(SearchResult r : results) {
-        String id = r.getId();
-        str.append(id).append(", ");
-      }
-      str.append(']');
-      return str;
-    }
-
-    @Override
-    public String toString() {
-      return "[found:"+numFound+" "+results+"]";
-    }
-  }
-
-  protected static class SearchResult {
-
-    public float score;
-    public Document document;
-
-    public SearchResult(float score, Document document) {
-      this.score = score;
-      this.document = document;
-    }
-
-    public String getId() {
-      return document.get("id");
-    }
-    
-    @Override
-    public String toString() {
-      return "["+score+"="+document+"]";
-    }
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
deleted file mode 100644
index 27d47b3..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-// This class is modelled after SpatialTestQuery.
-// Before Lucene 4.7, this was a bit different in Spatial4j as SampleData & SampleDataReader.
-
-public class SpatialTestData {
-  public String id;
-  public String name;
-  public Shape shape;
-
-  /** Reads the stream, consuming a format that is a tab-separated values of 3 columns:
-   * an "id", a "name" and the "shape".  Empty lines and lines starting with a '#' are skipped.
-   * The stream is closed.
-   */
-  public static Iterator<SpatialTestData> getTestData(InputStream in, SpatialContext ctx) throws IOException {
-    List<SpatialTestData> results = new ArrayList<>();
-    BufferedReader bufInput = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
-    try {
-      String line;
-      while ((line = bufInput.readLine()) != null) {
-        if (line.length() == 0 || line.charAt(0) == '#')
-          continue;
-
-        SpatialTestData data = new SpatialTestData();
-        String[] vals = line.split("\t");
-        if (vals.length != 3)
-          throw new RuntimeException("bad format; expecting 3 tab-separated values for line: "+line);
-        data.id = vals[0];
-        data.name = vals[1];
-        try {
-          data.shape = ctx.readShapeFromWkt(vals[2]);
-        } catch (ParseException e) {
-          throw new RuntimeException(e);
-        }
-        results.add(data);
-      }
-    } finally {
-      bufInput.close();
-    }
-    return results.iterator();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
deleted file mode 100644
index bac90cf..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import com.spatial4j.core.context.SpatialContext;
-
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialArgsParser;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-/**
- * Helper class to execute queries
- */
-public class SpatialTestQuery {
-  public String testname;
-  public String line;
-  public int lineNumber = -1;
-  public SpatialArgs args;
-  public List<String> ids = new ArrayList<>();
-
-  /**
-   * Get Test Queries.  The InputStream is closed.
-   */
-  public static Iterator<SpatialTestQuery> getTestQueries(
-      final SpatialArgsParser parser,
-      final SpatialContext ctx,
-      final String name,
-      final InputStream in ) throws IOException {
-
-    List<SpatialTestQuery> results = new ArrayList<>();
-
-    BufferedReader bufInput = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
-    try {
-      String line;
-      for (int lineNumber = 1; (line = bufInput.readLine()) != null; lineNumber++) {
-        SpatialTestQuery test = new SpatialTestQuery();
-        test.line = line;
-        test.lineNumber = lineNumber;
-
-        try {
-          // skip a comment
-          if( line.startsWith( "[" ) ) {
-            int idx = line.indexOf( ']' );
-            if( idx > 0 ) {
-              line = line.substring( idx+1 );
-            }
-          }
-
-          int idx = line.indexOf('@');
-          StringTokenizer st = new StringTokenizer(line.substring(0, idx));
-          while (st.hasMoreTokens()) {
-            test.ids.add(st.nextToken().trim());
-          }
-          test.args = parser.parse(line.substring(idx + 1).trim(), ctx);
-          results.add(test);
-        }
-        catch( Exception ex ) {
-          throw new RuntimeException( "invalid query line: "+test.line, ex );
-        }
-      }
-    } finally {
-      bufInput.close();
-    }
-    return results.iterator();
-  }
-
-  @Override
-  public String toString() {
-    if (line != null)
-      return line;
-    return args.toString()+" "+ids;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
deleted file mode 100644
index 00e437b..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Logger;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.StoredField;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.queries.function.FunctionQuery;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.CheckHits;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialArgsParser;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-public abstract class StrategyTestCase extends SpatialTestCase {
-
-  public static final String DATA_SIMPLE_BBOX = "simple-bbox.txt";
-  public static final String DATA_STATES_POLY = "states-poly.txt";
-  public static final String DATA_STATES_BBOX = "states-bbox.txt";
-  public static final String DATA_COUNTRIES_POLY = "countries-poly.txt";
-  public static final String DATA_COUNTRIES_BBOX = "countries-bbox.txt";
-  public static final String DATA_WORLD_CITIES_POINTS = "world-cities-points.txt";
-
-  public static final String QTEST_States_IsWithin_BBox   = "states-IsWithin-BBox.txt";
-  public static final String QTEST_States_Intersects_BBox = "states-Intersects-BBox.txt";
-  public static final String QTEST_Cities_Intersects_BBox = "cities-Intersects-BBox.txt";
-  public static final String QTEST_Simple_Queries_BBox = "simple-Queries-BBox.txt";
-
-  protected Logger log = Logger.getLogger(getClass().getName());
-
-  protected final SpatialArgsParser argsParser = new SpatialArgsParser();
-
-  protected SpatialStrategy strategy;
-  protected boolean storeShape = true;
-
-  protected void executeQueries(SpatialMatchConcern concern, String... testQueryFile) throws IOException {
-    log.info("testing queried for strategy "+strategy);
-    for( String path : testQueryFile ) {
-      Iterator<SpatialTestQuery> testQueryIterator = getTestQueries(path, ctx);
-      runTestQueries(testQueryIterator, concern);
-    }
-  }
-
-  protected void getAddAndVerifyIndexedDocuments(String testDataFile) throws IOException {
-    List<Document> testDocuments = getDocuments(testDataFile);
-    addDocumentsAndCommit(testDocuments);
-    verifyDocumentsIndexed(testDocuments.size());
-  }
-
-  protected List<Document> getDocuments(String testDataFile) throws IOException {
-    return getDocuments(getSampleData(testDataFile));
-  }
-
-  protected List<Document> getDocuments(Iterator<SpatialTestData> sampleData) {
-    List<Document> documents = new ArrayList<>();
-    while (sampleData.hasNext()) {
-      SpatialTestData data = sampleData.next();
-      Document document = new Document();
-      document.add(new StringField("id", data.id, Field.Store.YES));
-      document.add(new StringField("name", data.name, Field.Store.YES));
-      Shape shape = data.shape;
-      shape = convertShapeFromGetDocuments(shape);
-      if (shape != null) {
-        for (Field f : strategy.createIndexableFields(shape)) {
-          document.add(f);
-        }
-        if (storeShape)//just for diagnostics
-          document.add(new StoredField(strategy.getFieldName(), shape.toString()));
-      }
-
-      documents.add(document);
-    }
-    return documents;
-  }
-
-  /** Subclasses may override to transform or remove a shape for indexing */
-  protected Shape convertShapeFromGetDocuments(Shape shape) {
-    return shape;
-  }
-
-  protected Iterator<SpatialTestData> getSampleData(String testDataFile) throws IOException {
-    String path = "data/" + testDataFile;
-    InputStream stream = getClass().getClassLoader().getResourceAsStream(path);
-    if (stream == null)
-      throw new FileNotFoundException("classpath resource not found: "+path);
-    return SpatialTestData.getTestData(stream, ctx);//closes the InputStream
-  }
-
-  protected Iterator<SpatialTestQuery> getTestQueries(String testQueryFile, SpatialContext ctx) throws IOException {
-    InputStream in = getClass().getClassLoader().getResourceAsStream(testQueryFile);
-    return SpatialTestQuery.getTestQueries(
-        argsParser, ctx, testQueryFile, in );//closes the InputStream
-  }
-
-  public void runTestQueries(
-      Iterator<SpatialTestQuery> queries,
-      SpatialMatchConcern concern) {
-    while (queries.hasNext()) {
-      SpatialTestQuery q = queries.next();
-      runTestQuery(concern, q);
-    }
-  }
-
-  public void runTestQuery(SpatialMatchConcern concern, SpatialTestQuery q) {
-    String msg = q.toString(); //"Query: " + q.args.toString(ctx);
-    SearchResults got = executeQuery(makeQuery(q), Math.max(100, q.ids.size()+1));
-    if (storeShape && got.numFound > 0) {
-      //check stored value is there
-      assertNotNull(got.results.get(0).document.get(strategy.getFieldName()));
-    }
-    if (concern.orderIsImportant) {
-      Iterator<String> ids = q.ids.iterator();
-      for (SearchResult r : got.results) {
-        String id = r.document.get("id");
-        if (!ids.hasNext()) {
-          fail(msg + " :: Did not get enough results.  Expect" + q.ids + ", got: " + got.toDebugString());
-        }
-        assertEquals("out of order: " + msg, ids.next(), id);
-      }
-
-      if (ids.hasNext()) {
-        fail(msg + " :: expect more results then we got: " + ids.next());
-      }
-    } else {
-      // We are looking at how the results overlap
-      if (concern.resultsAreSuperset) {
-        Set<String> found = new HashSet<>();
-        for (SearchResult r : got.results) {
-          found.add(r.document.get("id"));
-        }
-        for (String s : q.ids) {
-          if (!found.contains(s)) {
-            fail("Results are mising id: " + s + " :: " + found);
-          }
-        }
-      } else {
-        List<String> found = new ArrayList<>();
-        for (SearchResult r : got.results) {
-          found.add(r.document.get("id"));
-        }
-
-        // sort both so that the order is not important
-        Collections.sort(q.ids);
-        Collections.sort(found);
-        assertEquals(msg, q.ids.toString(), found.toString());
-      }
-    }
-  }
-
-  protected Query makeQuery(SpatialTestQuery q) {
-    return strategy.makeQuery(q.args);
-  }
-
-  protected void adoc(String id, String shapeStr) throws IOException, ParseException {
-    Shape shape = shapeStr==null ? null : ctx.readShapeFromWkt(shapeStr);
-    addDocument(newDoc(id, shape));
-  }
-  protected void adoc(String id, Shape shape) throws IOException {
-    addDocument(newDoc(id, shape));
-  }
-
-  protected Document newDoc(String id, Shape shape) {
-    Document doc = new Document();
-    doc.add(new StringField("id", id, Field.Store.YES));
-    if (shape != null) {
-      for (Field f : strategy.createIndexableFields(shape)) {
-        doc.add(f);
-      }
-      if (storeShape)
-        doc.add(new StoredField(strategy.getFieldName(), shape.toString()));//not to be parsed; just for debug
-    }
-    return doc;
-  }
-
-  protected void deleteDoc(String id) throws IOException {
-    indexWriter.deleteDocuments(new TermQuery(new Term("id", id)));
-  }
-
-  /** scores[] are in docId order */
-  protected void checkValueSource(ValueSource vs, float scores[], float delta) throws IOException {
-    FunctionQuery q = new FunctionQuery(vs);
-
-//    //TODO is there any point to this check?
-//    int expectedDocs[] = new int[scores.length];//fill with ascending 0....length-1
-//    for (int i = 0; i < expectedDocs.length; i++) {
-//      expectedDocs[i] = i;
-//    }
-//    CheckHits.checkHits(random(), q, "", indexSearcher, expectedDocs);
-
-    //TopDocs is sorted but we actually don't care about the order
-    TopDocs docs = indexSearcher.search(q, 1000);//calculates the score
-    for (int i = 0; i < docs.scoreDocs.length; i++) {
-      ScoreDoc gotSD = docs.scoreDocs[i];
-      float expectedScore = scores[gotSD.doc];
-      assertEquals("Not equal for doc "+gotSD.doc, expectedScore, gotSD.score, delta);
-    }
-
-    CheckHits.checkExplanations(q, "", indexSearcher);
-  }
-
-  protected void testOperation(Shape indexedShape, SpatialOperation operation,
-                               Shape queryShape, boolean match) throws IOException {
-    assertTrue("Faulty test",
-        operation.evaluate(indexedShape, queryShape) == match ||
-            indexedShape.equals(queryShape) &&
-              (operation == SpatialOperation.Contains || operation == SpatialOperation.IsWithin));
-    adoc("0", indexedShape);
-    commit();
-    Query query = strategy.makeQuery(new SpatialArgs(operation, queryShape));
-    SearchResults got = executeQuery(query, 1);
-    assert got.numFound <= 1 : "unclean test env";
-    if ((got.numFound == 1) != match)
-      fail(operation+" I:" + indexedShape + " Q:" + queryShape);
-    deleteAll();//clean up after ourselves
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java b/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
deleted file mode 100644
index 6a8d59c..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Rectangle;
-import org.apache.lucene.spatial.query.SpatialArgsParser;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-
-/**
- * Make sure we are reading the tests as expected
- */
-public class TestTestFramework extends LuceneTestCase {
-
-  @Test
-  public void testQueries() throws IOException {
-    String name = StrategyTestCase.QTEST_Cities_Intersects_BBox;
-
-    InputStream in = getClass().getClassLoader().getResourceAsStream(name);
-    SpatialContext ctx = SpatialContext.GEO;
-    Iterator<SpatialTestQuery> iter = SpatialTestQuery.getTestQueries(
-        new SpatialArgsParser(), ctx, name, in );//closes the InputStream
-    List<SpatialTestQuery> tests = new ArrayList<>();
-    while( iter.hasNext() ) {
-      tests.add( iter.next() );
-    }
-    Assert.assertEquals( 3, tests.size() );
-
-    SpatialTestQuery sf = tests.get(0);
-    // assert
-    Assert.assertEquals( 1, sf.ids.size() );
-    Assert.assertTrue( sf.ids.get(0).equals( "G5391959" ) );
-    Assert.assertTrue( sf.args.getShape() instanceof Rectangle);
-    Assert.assertEquals(SpatialOperation.Intersects, sf.args.getOperation());
-  }
-
-  @Test
-  public void spatialExample() throws Exception {
-    //kind of a hack so that SpatialExample is tested despite
-    // it not starting or ending with "Test".
-    SpatialExample.main(null);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
deleted file mode 100644
index 6140996..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * 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.lucene.spatial.bbox;
-
-import java.io.IOException;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.SpatialContextFactory;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.impl.RectangleImpl;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.index.DocValuesType;
-import org.apache.lucene.index.IndexOptions;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.SpatialMatchConcern;
-import org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.util.ShapeAreaValueSource;
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class TestBBoxStrategy extends RandomSpatialOpStrategyTestCase {
-
-  @Override
-  protected boolean needsDocValues() {
-    return true;
-  }
-
-  @Override
-  protected Shape randomIndexedShape() {
-    Rectangle world = ctx.getWorldBounds();
-    if (random().nextInt(10) == 0) // increased chance of getting one of these
-      return world;
-
-    int worldWidth = (int) Math.round(world.getWidth());
-    int deltaLeft = nextIntInclusive(worldWidth);
-    int deltaRight = nextIntInclusive(worldWidth - deltaLeft);
-    int worldHeight = (int) Math.round(world.getHeight());
-    int deltaTop = nextIntInclusive(worldHeight);
-    int deltaBottom = nextIntInclusive(worldHeight - deltaTop);
-    if (ctx.isGeo() && (deltaLeft != 0 || deltaRight != 0)) {
-      //if geo & doesn't world-wrap, we shift randomly to potentially cross dateline
-      int shift = nextIntInclusive(360);
-      return ctx.makeRectangle(
-          DistanceUtils.normLonDEG(world.getMinX() + deltaLeft + shift),
-          DistanceUtils.normLonDEG(world.getMaxX() - deltaRight + shift),
-          world.getMinY() + deltaBottom, world.getMaxY() - deltaTop);
-    } else {
-      return ctx.makeRectangle(
-          world.getMinX() + deltaLeft, world.getMaxX() - deltaRight,
-          world.getMinY() + deltaBottom, world.getMaxY() - deltaTop);
-    }
-  }
-
-  /** next int, inclusive, rounds to multiple of 10 if given evenly divisible. */
-  private int nextIntInclusive(int toInc) {
-    final int DIVIS = 10;
-    if (toInc % DIVIS == 0) {
-      return random().nextInt(toInc/DIVIS + 1) * DIVIS;
-    } else {
-      return random().nextInt(toInc + 1);
-    }
-  }
-
-  @Override
-  protected Shape randomQueryShape() {
-    return randomIndexedShape();
-  }
-
-  @Test
-  @Repeat(iterations = 15)
-  public void testOperations() throws IOException {
-    //setup
-    if (random().nextInt(4) > 0) {//75% of the time choose geo (more interesting to test)
-      this.ctx = SpatialContext.GEO;
-    } else {
-      SpatialContextFactory factory = new SpatialContextFactory();
-      factory.geo = false;
-      factory.worldBounds = new RectangleImpl(-300, 300, -100, 100, null);
-      this.ctx = factory.newSpatialContext();
-    }
-    this.strategy = new BBoxStrategy(ctx, "bbox");
-    //test we can disable docValues for predicate tests
-    if (random().nextBoolean()) {
-      BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
-      FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
-      fieldType.setDocValuesType(DocValuesType.NONE);
-      bboxStrategy.setFieldType(fieldType);
-    }
-    for (SpatialOperation operation : SpatialOperation.values()) {
-      if (operation == SpatialOperation.Overlaps)
-        continue;//unsupported
-      testOperationRandomShapes(operation);
-
-      deleteAll();
-      commit();
-    }
-  }
-
-  @Test
-  public void testIntersectsBugDatelineEdge() throws IOException {
-    setupGeo();
-    testOperation(
-        ctx.makeRectangle(160, 180, -10, 10),
-        SpatialOperation.Intersects,
-        ctx.makeRectangle(-180, -160, -10, 10), true);
-  }
-
-  @Test
-  public void testIntersectsWorldDatelineEdge() throws IOException {
-    setupGeo();
-    testOperation(
-        ctx.makeRectangle(-180, 180, -10, 10),
-        SpatialOperation.Intersects,
-        ctx.makeRectangle(180, 180, -10, 10), true);
-  }
-
-  @Test
-  public void testWithinBugDatelineEdge() throws IOException {
-    setupGeo();
-    testOperation(
-        ctx.makeRectangle(180, 180, -10, 10),
-        SpatialOperation.IsWithin,
-        ctx.makeRectangle(-180, -100, -10, 10), true);
-  }
-
-  @Test
-  public void testContainsBugDatelineEdge() throws IOException {
-    setupGeo();
-    testOperation(
-        ctx.makeRectangle(-180, -150, -10, 10),
-        SpatialOperation.Contains,
-        ctx.makeRectangle(180, 180, -10, 10), true);
-  }
-
-  @Test
-  public void testWorldContainsXDL() throws IOException {
-    setupGeo();
-    testOperation(
-        ctx.makeRectangle(-180, 180, -10, 10),
-        SpatialOperation.Contains,
-        ctx.makeRectangle(170, -170, -10, 10), true);
-  }
-
-  /** See https://github.com/spatial4j/spatial4j/issues/85 */
-  @Test
-  public void testAlongDatelineOppositeSign() throws IOException {
-    // Due to Spatial4j bug #85, we can't simply do:
-    //    testOperation(indexedShape,
-    //        SpatialOperation.IsWithin,
-    //        queryShape, true);
-
-    //both on dateline but expressed using opposite signs
-    setupGeo();
-    final Rectangle indexedShape = ctx.makeRectangle(180, 180, -10, 10);
-    final Rectangle queryShape = ctx.makeRectangle(-180, -180, -20, 20);
-    final SpatialOperation operation = SpatialOperation.IsWithin;
-    final boolean match = true;//yes it is within
-
-    //the rest is super.testOperation without leading assert:
-
-    adoc("0", indexedShape);
-    commit();
-    Query query = strategy.makeQuery(new SpatialArgs(operation, queryShape));
-    SearchResults got = executeQuery(query, 1);
-    assert got.numFound <= 1 : "unclean test env";
-    if ((got.numFound == 1) != match)
-      fail(operation+" I:" + indexedShape + " Q:" + queryShape);
-    deleteAll();//clean up after ourselves
-  }
-
-  private void setupGeo() {
-    this.ctx = SpatialContext.GEO;
-    this.strategy = new BBoxStrategy(ctx, "bbox");
-  }
-
-  // OLD STATIC TESTS (worthless?)
-
-  @Test @Ignore("Overlaps not supported")
-  public void testBasicOperaions() throws IOException {
-    setupGeo();
-    getAddAndVerifyIndexedDocuments(DATA_SIMPLE_BBOX);
-
-    executeQueries(SpatialMatchConcern.EXACT, QTEST_Simple_Queries_BBox);
-  }
-
-  @Test
-  public void testStatesBBox() throws IOException {
-    setupGeo();
-    getAddAndVerifyIndexedDocuments(DATA_STATES_BBOX);
-
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_IsWithin_BBox);
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_Intersects_BBox);
-  }
-
-  @Test
-  public void testCitiesIntersectsBBox() throws IOException {
-    setupGeo();
-    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
-
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
-  }
-
-  /* Convert DATA_WORLD_CITIES_POINTS to bbox */
-  @Override
-  protected Shape convertShapeFromGetDocuments(Shape shape) {
-    return shape.getBoundingBox();
-  }
-
-  public void testOverlapRatio() throws IOException {
-    setupGeo();
-
-    //Simply assert null shape results in 0
-    adoc("999", (Shape) null);
-    commit();
-    BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
-    checkValueSource(bboxStrategy.makeOverlapRatioValueSource(randomRectangle(), 0.0), new float[]{0f}, 0f);
-
-    //we test raw BBoxOverlapRatioValueSource without actual indexing
-    for (int SHIFT = 0; SHIFT < 360; SHIFT += 10) {
-      Rectangle queryBox = shiftedRect(0, 40, -20, 20, SHIFT);//40x40, 1600 area
-
-      final boolean MSL = random().nextBoolean();
-      final double minSideLength = MSL ? 0.1 : 0.0;
-      BBoxOverlapRatioValueSource sim = new BBoxOverlapRatioValueSource(null, true, queryBox, 0.5, minSideLength);
-      int nudge = SHIFT == 0 ? 0 : random().nextInt(3) * 10 - 10;//-10, 0, or 10.  Keep 0 on first round.
-
-      final double EPS = 0.0000001;
-
-      assertEquals("within", (200d/1600d * 0.5) + (0.5), sim.score(shiftedRect(10, 30, 0, 10, SHIFT + nudge), null), EPS);
-
-      assertEquals("in25%", 0.25, sim.score(shiftedRect(30, 70, -20, 20, SHIFT), null), EPS);
-
-      assertEquals("wrap", 0.2794117, sim.score(shiftedRect(30, 10, -20, 20, SHIFT + nudge), null), EPS);
-
-      assertEquals("no intersection H", 0.0, sim.score(shiftedRect(-10, -10, -20, 20, SHIFT), null), EPS);
-      assertEquals("no intersection V", 0.0, sim.score(shiftedRect(0, 20, -30, -30, SHIFT), null), EPS);
-
-      assertEquals("point", 0.5 + (MSL?(0.1*0.1/1600.0/2.0):0), sim.score(shiftedRect(0, 0, 0, 0, SHIFT), null), EPS);
-
-      assertEquals("line 25% intersection", 0.25/2 + (MSL?(10.0*0.1/1600.0/2.0):0.0), sim.score(shiftedRect(-30, 10, 0, 0, SHIFT), null), EPS);
-
-      //test with point query
-      sim = new BBoxOverlapRatioValueSource(null, true, shiftedRect(0, 0, 0, 0, SHIFT), 0.5, minSideLength);
-      assertEquals("same", 1.0, sim.score(shiftedRect(0, 0, 0, 0, SHIFT), null), EPS);
-      assertEquals("contains", 0.5 + (MSL?(0.1*0.1/(30*10)/2.0):0.0), sim.score(shiftedRect(0, 30, 0, 10, SHIFT), null), EPS);
-
-      //test with line query (vertical this time)
-      sim = new BBoxOverlapRatioValueSource(null, true, shiftedRect(0, 0, 20, 40, SHIFT), 0.5, minSideLength);
-      assertEquals("line 50%", 0.5, sim.score(shiftedRect(0, 0, 10, 30, SHIFT), null), EPS);
-      assertEquals("point", 0.5 + (MSL?(0.1*0.1/(20*0.1)/2.0):0.0), sim.score(shiftedRect(0, 0, 30, 30, SHIFT), null), EPS);
-    }
-
-  }
-
-  private Rectangle shiftedRect(double minX, double maxX, double minY, double maxY, int xShift) {
-    return ctx.makeRectangle(
-        DistanceUtils.normLonDEG(minX + xShift),
-        DistanceUtils.normLonDEG(maxX + xShift),
-        minY, maxY);
-  }
-
-  public void testAreaValueSource() throws IOException {
-    setupGeo();
-    //test we can disable indexed for this test
-    BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
-    if (random().nextBoolean()) {
-      FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
-      fieldType.setIndexOptions(IndexOptions.NONE);
-      bboxStrategy.setFieldType(fieldType);
-    }
-
-    adoc("100", ctx.makeRectangle(0, 20, 40, 80));
-    adoc("999", (Shape) null);
-    commit();
-    checkValueSource(new ShapeAreaValueSource(bboxStrategy.makeShapeValueSource(), ctx, false, 1.0),
-        new float[]{800f, 0f}, 0f);
-    checkValueSource(new ShapeAreaValueSource(bboxStrategy.makeShapeValueSource(), ctx, true, 1.0),//geo
-        new float[]{391.93f, 0f}, 0.01f);
-    checkValueSource(new ShapeAreaValueSource(bboxStrategy.makeShapeValueSource(), ctx, true, 2.0),
-        new float[]{783.86f, 0f}, 0.01f); // testing with a different multiplier
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
deleted file mode 100644
index 8e1bb51..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * 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.lucene.spatial.composite;
-
-import java.io.IOException;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.SpatialContextFactory;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.impl.RectangleImpl;
-import org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
-import org.junit.Test;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomBoolean;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomDouble;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-
-public class CompositeStrategyTest extends RandomSpatialOpStrategyTestCase {
-
-  private SpatialPrefixTree grid;
-  private RecursivePrefixTreeStrategy rptStrategy;
-
-  private void setupQuadGrid(int maxLevels) {
-    //non-geospatial makes this test a little easier (in gridSnap), and using boundary values 2^X raises
-    // the prospect of edge conditions we want to test, plus makes for simpler numbers (no decimals).
-    SpatialContextFactory factory = new SpatialContextFactory();
-    factory.geo = false;
-    factory.worldBounds = new RectangleImpl(0, 256, -128, 128, null);
-    this.ctx = factory.newSpatialContext();
-    //A fairly shallow grid
-    if (maxLevels == -1)
-      maxLevels = randomIntBetween(1, 8);//max 64k cells (4^8), also 256*256
-    this.grid = new QuadPrefixTree(ctx, maxLevels);
-    this.rptStrategy = newRPT();
-  }
-
-  private void setupGeohashGrid(int maxLevels) {
-    this.ctx = SpatialContext.GEO;
-    //A fairly shallow grid
-    if (maxLevels == -1)
-      maxLevels = randomIntBetween(1, 3);//max 16k cells (32^3)
-    this.grid = new GeohashPrefixTree(ctx, maxLevels);
-    this.rptStrategy = newRPT();
-  }
-
-  protected RecursivePrefixTreeStrategy newRPT() {
-    final RecursivePrefixTreeStrategy rpt = new RecursivePrefixTreeStrategy(this.grid,
-        getClass().getSimpleName() + "_rpt");
-    rpt.setDistErrPct(0.10);//not too many cells
-    return rpt;
-  }
-
-  @Test
-  @Repeat(iterations = 20)
-  public void testOperations() throws IOException {
-    //setup
-    if (randomBoolean()) {
-      setupQuadGrid(-1);
-    } else {
-      setupGeohashGrid(-1);
-    }
-    SerializedDVStrategy serializedDVStrategy = new SerializedDVStrategy(ctx, getClass().getSimpleName() + "_sdv");
-    this.strategy = new CompositeSpatialStrategy("composite_" + getClass().getSimpleName(),
-        rptStrategy, serializedDVStrategy);
-
-    //Do it!
-
-    for (SpatialOperation pred : SpatialOperation.values()) {
-      if (pred == SpatialOperation.BBoxIntersects || pred == SpatialOperation.BBoxWithin) {
-        continue;
-      }
-      if (pred == SpatialOperation.IsDisjointTo) {//TODO
-        continue;
-      }
-      testOperationRandomShapes(pred);
-      deleteAll();
-      commit();
-    }
-  }
-
-  @Override
-  protected boolean needsDocValues() {
-    return true;//due to SerializedDVStrategy
-  }
-
-  @Override
-  protected Shape randomIndexedShape() {
-    return randomShape();
-  }
-
-  @Override
-  protected Shape randomQueryShape() {
-    return randomShape();
-  }
-
-  private Shape randomShape() {
-    return random().nextBoolean() ? randomCircle() : randomRectangle();
-  }
-
-  //TODO move up
-  private Shape randomCircle() {
-    final Point point = randomPoint();
-    //TODO pick using gaussian
-    double radius;
-    if (ctx.isGeo()) {
-      radius = randomDouble() * 100;
-    } else {
-      //find distance to closest edge
-      final Rectangle worldBounds = ctx.getWorldBounds();
-      double maxRad = point.getX() - worldBounds.getMinX();
-      maxRad = Math.min(maxRad, worldBounds.getMaxX() - point.getX());
-      maxRad = Math.min(maxRad, point.getY() - worldBounds.getMinY());
-      maxRad = Math.min(maxRad, worldBounds.getMaxY() - point.getY());
-      radius = randomDouble() * maxRad;
-    }
-
-    return ctx.makeCircle(point, radius);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
deleted file mode 100644
index cccec8e..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.util.BytesRef;
-
-/** For testing Lucene <= 5.0. Index redundant prefixes for leaf cells. Fixed in LUCENE-4942. */
-class CellToBytesRefIterator50 extends CellToBytesRefIterator {
-
-  Cell repeatCell;
-
-  @Override
-  public BytesRef next() {
-    if (repeatCell != null) {
-      bytesRef = repeatCell.getTokenBytesWithLeaf(bytesRef);
-      repeatCell = null;
-      return bytesRef;
-    }
-    if (!cellIter.hasNext()) {
-      return null;
-    }
-    Cell cell = cellIter.next();
-    bytesRef = cell.getTokenBytesNoLeaf(bytesRef);
-    if (cell.isLeaf()) {
-      repeatCell = cell;
-    }
-    return bytesRef;
-  }
-}


[02/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/DistributedQueue.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/DistributedQueue.java b/solr/core/src/java/org/apache/solr/cloud/DistributedQueue.java
index f272392..87d92c6 100644
--- a/solr/core/src/java/org/apache/solr/cloud/DistributedQueue.java
+++ b/solr/core/src/java/org/apache/solr/cloud/DistributedQueue.java
@@ -1,5 +1,4 @@
 /*
- *
  * 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.
@@ -7,7 +6,7 @@
  * (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
+ *     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,
@@ -15,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.cloud;
 
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
index 3d05fb2..30db6f1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ElectionContext.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java b/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
index 2a8f84b..056b4b9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
+++ b/solr/core/src/java/org/apache/solr/cloud/LeaderElector.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java b/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java
index 44ec101..7a72a67 100644
--- a/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java
+++ b/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java
@@ -1,3 +1,19 @@
+/*
+ * 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.cloud;
 
 import org.apache.http.NoHttpResponseException;
@@ -24,23 +40,6 @@ import java.net.ConnectException;
 import java.net.SocketException;
 import java.util.List;
 
-/*
- * 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.
- */
-
 /**
  * Background daemon thread that tries to send the REQUESTRECOVERY to a downed
  * replica; used by a shard leader to nag a replica into recovering after the

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/Overseer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index e9a3c61..53611c0 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -1,21 +1,20 @@
-package org.apache.solr.cloud;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.cloud;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java b/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java
index 9b0899d..d6aa392 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import com.google.common.cache.Cache;
 import com.google.common.cache.CacheBuilder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionConfigSetProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionConfigSetProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionConfigSetProcessor.java
index eef56c6..f1d0ab2 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionConfigSetProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionConfigSetProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import org.apache.solr.common.cloud.ZkNodeProps;
 import org.apache.solr.common.cloud.ZkStateReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
index 14e74b4..d0548a0 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerConfigSetMessageHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerConfigSetMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/OverseerConfigSetMessageHandler.java
index 686d72b..1f972ff 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerConfigSetMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerConfigSetMessageHandler.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerMessageHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/OverseerMessageHandler.java
index e374b47..2d2408f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerMessageHandler.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import org.apache.solr.client.solrj.SolrResponse;
 import org.apache.solr.common.cloud.ZkNodeProps;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java b/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
index 2e7c2fe..fbd8218 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.List;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java b/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java
index 4d2c60e..92f6443 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import org.apache.solr.client.solrj.SolrResponse;
 import org.apache.solr.common.util.NamedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index ddaa5e2..eaad765 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.Closeable;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
index c307cc4..ea219d3 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskQueue.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
index aae53c7..5daa6af 100644
--- a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.Closeable;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java b/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
index b9d0dec..418eb66 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SizeLimitedDistributedMap.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java b/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
index 596de0f..736101a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
@@ -1,21 +1,20 @@
-package org.apache.solr.cloud;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.cloud;
 
 import org.apache.solr.common.SolrException;
 import org.apache.zookeeper.server.ServerConfig;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java b/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
index d555f61..7a16598 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
@@ -1,11 +1,3 @@
-package org.apache.solr.cloud;
-
-import java.io.IOException;
-import java.lang.invoke.MethodHandles;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import java.util.concurrent.ExecutorService;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
+
+import java.io.IOException;
+import java.lang.invoke.MethodHandles;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
 
 import org.apache.http.client.HttpClient;
 import org.apache.solr.client.solrj.SolrServerException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java b/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java
index b756e16..8d52ea2 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java
@@ -1,3 +1,19 @@
+/*
+ * 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.cloud;
 
 import static org.apache.solr.common.params.CommonParams.*;
@@ -33,23 +49,6 @@ import java.nio.file.Paths;
 import java.util.List;
 import java.util.concurrent.TimeoutException;
 
-/*
- * 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.
- */
-
 public class ZkCLI {
   
   private static final String MAKEPATH = "makepath";

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/ZkController.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index fea82ec..44af3f1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/ZkSolrResourceLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkSolrResourceLoader.java b/solr/core/src/java/org/apache/solr/cloud/ZkSolrResourceLoader.java
index 94780a6..4d12db9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkSolrResourceLoader.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkSolrResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
index 0e10ea2..7ffa8c1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
index 6bf5e2e..4f7cb52 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.Collections;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java b/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
index 9a2c70b..ad766a3 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/OverseerAction.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud.overseer;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
index bfba78d..a3efc80 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
index adcca56..63c37ef 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.HashMap;
 import java.util.LinkedHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index 78418da..9fb3ada 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud.overseer;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/ZkWriteCommand.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkWriteCommand.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkWriteCommand.java
index 2ef2998..1697522 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkWriteCommand.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkWriteCommand.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.overseer;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud.overseer;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.overseer;
 
 import org.apache.solr.common.cloud.DocCollection;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/overseer/package-info.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/package-info.java b/solr/core/src/java/org/apache/solr/cloud/overseer/package-info.java
index dbd3b1d6..d74ba92 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/package-info.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Classes for updating cluster state in <a href="http://wiki.apache.org/solr/SolrCloud">SolrCloud</a> mode.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/package-info.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/package-info.java b/solr/core/src/java/org/apache/solr/cloud/package-info.java
index 096d6fa..5c830c7 100644
--- a/solr/core/src/java/org/apache/solr/cloud/package-info.java
+++ b/solr/core/src/java/org/apache/solr/cloud/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Classes for dealing with ZooKeeper when operating in <a href="http://wiki.apache.org/solr/SolrCloud">SolrCloud</a> mode.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java b/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java
index 37191a0..cbaa90f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.rule;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.solr.cloud.rule;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.cloud.rule;
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/RemoteCallback.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/RemoteCallback.java b/solr/core/src/java/org/apache/solr/cloud/rule/RemoteCallback.java
index 124519b..5b6987d 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/RemoteCallback.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/RemoteCallback.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.rule;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud.rule;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.rule;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java b/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
index 2e29111..f3f5b41 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud.rule;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.rule;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.ArrayList;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/Rule.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/Rule.java b/solr/core/src/java/org/apache/solr/cloud/rule/Rule.java
index 51ef002..d73a9bf 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/Rule.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/Rule.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.rule;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.solr.cloud.rule;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.cloud.rule;
 
 import java.util.LinkedHashMap;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/Snitch.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/Snitch.java b/solr/core/src/java/org/apache/solr/cloud/rule/Snitch.java
index 85a3596..a469e19 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/Snitch.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/Snitch.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.rule;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud.rule;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.rule;
 
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/SnitchContext.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/SnitchContext.java b/solr/core/src/java/org/apache/solr/cloud/rule/SnitchContext.java
index f648616..b8993da 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/SnitchContext.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/SnitchContext.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud.rule;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud.rule;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud.rule;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/rule/package-info.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/package-info.java b/solr/core/src/java/org/apache/solr/cloud/rule/package-info.java
index f4f0dd0..b650a60 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/package-info.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Classes for managing Replica placement strategy when operating in <a href="http://wiki.apache.org/solr/SolrCloud">SolrCloud</a> mode.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/AbstractSolrEventListener.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/AbstractSolrEventListener.java b/solr/core/src/java/org/apache/solr/core/AbstractSolrEventListener.java
index 8a7101d..83b2a93 100644
--- a/solr/core/src/java/org/apache/solr/core/AbstractSolrEventListener.java
+++ b/solr/core/src/java/org/apache/solr/core/AbstractSolrEventListener.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import org.apache.solr.common.util.NamedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
index dbb31d0..b9fe834 100644
--- a/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.File;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CloseHook.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CloseHook.java b/solr/core/src/java/org/apache/solr/core/CloseHook.java
index d59c179..812d89a 100644
--- a/solr/core/src/java/org/apache/solr/core/CloseHook.java
+++ b/solr/core/src/java/org/apache/solr/core/CloseHook.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.solr.core;
 /**
  * Used to request notification when the core is closed.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CloudConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CloudConfig.java b/solr/core/src/java/org/apache/solr/core/CloudConfig.java
index 78d9130..ced0470 100644
--- a/solr/core/src/java/org/apache/solr/core/CloudConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/CloudConfig.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import org.apache.solr.common.SolrException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CodecFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CodecFactory.java b/solr/core/src/java/org/apache/solr/core/CodecFactory.java
index 17c7d93..36c67eb 100644
--- a/solr/core/src/java/org/apache/solr/core/CodecFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/CodecFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.solr.common.util.NamedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/Config.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/Config.java b/solr/core/src/java/org/apache/solr/core/Config.java
index f37719c..a998c6f 100644
--- a/solr/core/src/java/org/apache/solr/core/Config.java
+++ b/solr/core/src/java/org/apache/solr/core/Config.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import javax.xml.namespace.QName;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
index 518695c..0252bd5 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/ConfigSet.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigSet.java b/solr/core/src/java/org/apache/solr/core/ConfigSet.java
index dd0cdba..c406506 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigSet.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigSet.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import org.apache.solr.common.util.NamedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/ConfigSetProperties.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigSetProperties.java b/solr/core/src/java/org/apache/solr/core/ConfigSetProperties.java
index 8fd9595..ca768ed 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigSetProperties.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigSetProperties.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.InputStreamReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigSetService.java b/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
index 229895a..ac0cabd 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigSetService.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CoreContainer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 95c8520..bca7e6c 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CoreDescriptor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CoreDescriptor.java b/solr/core/src/java/org/apache/solr/core/CoreDescriptor.java
index dd6dc98..d2e9558 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreDescriptor.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreDescriptor.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CorePropertiesLocator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CorePropertiesLocator.java b/solr/core/src/java/org/apache/solr/core/CorePropertiesLocator.java
index bf9172f..30038c5 100644
--- a/solr/core/src/java/org/apache/solr/core/CorePropertiesLocator.java
+++ b/solr/core/src/java/org/apache/solr/core/CorePropertiesLocator.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/CoresLocator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/CoresLocator.java b/solr/core/src/java/org/apache/solr/core/CoresLocator.java
index daeef04..d4f40cd 100644
--- a/solr/core/src/java/org/apache/solr/core/CoresLocator.java
+++ b/solr/core/src/java/org/apache/solr/core/CoresLocator.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/Diagnostics.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/Diagnostics.java b/solr/core/src/java/org/apache/solr/core/Diagnostics.java
index d9dccfc..d7d6178 100644
--- a/solr/core/src/java/org/apache/solr/core/Diagnostics.java
+++ b/solr/core/src/java/org/apache/solr/core/Diagnostics.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.solr.core;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
index 715b6a6..99c3583 100644
--- a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.Closeable;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/EphemeralDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/EphemeralDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/EphemeralDirectoryFactory.java
index f7f5809..cee7860 100644
--- a/solr/core/src/java/org/apache/solr/core/EphemeralDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/EphemeralDirectoryFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import java.io.IOException;
 
 import org.apache.lucene.store.Directory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
index 56c9cba..0d53667 100644
--- a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/ImplicitPlugins.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ImplicitPlugins.java b/solr/core/src/java/org/apache/solr/core/ImplicitPlugins.java
index a833760..f6a74da 100644
--- a/solr/core/src/java/org/apache/solr/core/ImplicitPlugins.java
+++ b/solr/core/src/java/org/apache/solr/core/ImplicitPlugins.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/IndexDeletionPolicyWrapper.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/IndexDeletionPolicyWrapper.java b/solr/core/src/java/org/apache/solr/core/IndexDeletionPolicyWrapper.java
index c677fc2..207c0e5 100644
--- a/solr/core/src/java/org/apache/solr/core/IndexDeletionPolicyWrapper.java
+++ b/solr/core/src/java/org/apache/solr/core/IndexDeletionPolicyWrapper.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import org.apache.lucene.index.IndexCommit;
 import org.apache.lucene.index.IndexDeletionPolicy;
 import org.apache.lucene.index.IndexWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java b/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
index 7576bfe3..03e73b7 100644
--- a/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import java.io.IOException;
 
 import org.apache.lucene.index.DirectoryReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/InitParams.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/InitParams.java b/solr/core/src/java/org/apache/solr/core/InitParams.java
index af0a9ef..d79dfea 100644
--- a/solr/core/src/java/org/apache/solr/core/InitParams.java
+++ b/solr/core/src/java/org/apache/solr/core/InitParams.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.util.Collections;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/JarRepository.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/JarRepository.java b/solr/core/src/java/org/apache/solr/core/JarRepository.java
index 3cda89c..c760b59 100644
--- a/solr/core/src/java/org/apache/solr/core/JarRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/JarRepository.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import static org.apache.solr.common.SolrException.ErrorCode.SERVICE_UNAVAILABLE;
 import static org.apache.solr.common.cloud.ZkStateReader.BASE_URL_PROP;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java
index 8543a7b..c68ae62 100644
--- a/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.solr.core;
 import java.io.File;
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/MapSerializable.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/MapSerializable.java b/solr/core/src/java/org/apache/solr/core/MapSerializable.java
index e534808..6ebcdfd 100644
--- a/solr/core/src/java/org/apache/solr/core/MapSerializable.java
+++ b/solr/core/src/java/org/apache/solr/core/MapSerializable.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/MemClassLoader.java b/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
index c550ea5..4df0a8b 100644
--- a/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/NIOFSDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/NIOFSDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/NIOFSDirectoryFactory.java
index 96027fd..459b12e 100644
--- a/solr/core/src/java/org/apache/solr/core/NIOFSDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/NIOFSDirectoryFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import java.io.File;
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/NRTCachingDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/NRTCachingDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/NRTCachingDirectoryFactory.java
index 59ac105..4ecc44c 100644
--- a/solr/core/src/java/org/apache/solr/core/NRTCachingDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/NRTCachingDirectoryFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/NodeConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/NodeConfig.java b/solr/core/src/java/org/apache/solr/core/NodeConfig.java
index 3fb6447..546f27c 100644
--- a/solr/core/src/java/org/apache/solr/core/NodeConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/NodeConfig.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.nio.file.Path;
 import java.util.Properties;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/PluginBag.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/PluginBag.java b/solr/core/src/java/org/apache/solr/core/PluginBag.java
index a1e0280..454633d 100644
--- a/solr/core/src/java/org/apache/solr/core/PluginBag.java
+++ b/solr/core/src/java/org/apache/solr/core/PluginBag.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/QuerySenderListener.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/QuerySenderListener.java b/solr/core/src/java/org/apache/solr/core/QuerySenderListener.java
index cc2cc0f..f3c1b4e 100644
--- a/solr/core/src/java/org/apache/solr/core/QuerySenderListener.java
+++ b/solr/core/src/java/org/apache/solr/core/QuerySenderListener.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import org.apache.solr.request.SolrQueryRequest;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/RAMDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/RAMDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/RAMDirectoryFactory.java
index 1fd526b..25d0a1c 100644
--- a/solr/core/src/java/org/apache/solr/core/RAMDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/RAMDirectoryFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/RequestHandlers.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/RequestHandlers.java b/solr/core/src/java/org/apache/solr/core/RequestHandlers.java
index a74153f..d2fbdf9 100644
--- a/solr/core/src/java/org/apache/solr/core/RequestHandlers.java
+++ b/solr/core/src/java/org/apache/solr/core/RequestHandlers.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/RequestParams.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/RequestParams.java b/solr/core/src/java/org/apache/solr/core/RequestParams.java
index 0905692..d27a1c6 100644
--- a/solr/core/src/java/org/apache/solr/core/RequestParams.java
+++ b/solr/core/src/java/org/apache/solr/core/RequestParams.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java b/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
index 024075d..ba0046e 100644
--- a/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
+++ b/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import org.apache.solr.common.SolrException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java b/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
index 12b3321..dc423d9 100644
--- a/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
@@ -1,3 +1,19 @@
+/*
+ * 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.core;
 
 import java.lang.invoke.MethodHandles;
@@ -17,23 +33,6 @@ import org.apache.solr.util.plugin.SolrCoreAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/*
- * 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.
- */
-
 /**
  * Per-field CodecFactory implementation, extends Lucene's 
  * and returns postings format implementations according to the 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
index 304fca2..f2413c9 100644
--- a/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/SimpleFSDirectoryFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import java.io.File;
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrConfig.java b/solr/core/src/java/org/apache/solr/core/SolrConfig.java
index df1d39a..e66fc7e 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrConfig.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrCore.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index 595beda..70954d5 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.Closeable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrCores.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCores.java b/solr/core/src/java/org/apache/solr/core/SolrCores.java
index 38df2b1..3d01d63 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCores.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCores.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import com.google.common.collect.Lists;
 import org.apache.solr.common.SolrException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrDeletionPolicy.java b/solr/core/src/java/org/apache/solr/core/SolrDeletionPolicy.java
index 5779669..24b0e61 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrDeletionPolicy.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrDeletionPolicy.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import org.apache.lucene.index.IndexCommit;
 import org.apache.lucene.index.IndexDeletionPolicy;
 import org.apache.lucene.store.Directory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrEventListener.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrEventListener.java b/solr/core/src/java/org/apache/solr/core/SolrEventListener.java
index fb78e53..ab1d485 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrEventListener.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrEventListener.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import org.apache.solr.search.SolrIndexSearcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java b/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
index ac6137a..c119e2f 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.net.URL;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
index ee70e95..5db04ca 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import javax.naming.Context;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrResourceNotFoundException.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrResourceNotFoundException.java b/solr/core/src/java/org/apache/solr/core/SolrResourceNotFoundException.java
index 5213c0ab..47a863b 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrResourceNotFoundException.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrResourceNotFoundException.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.core;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java b/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
index 127aa1e..96a5935 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrXmlConfig.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import javax.xml.xpath.XPath;
 import javax.xml.xpath.XPathConstants;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
index 73d6e6e..532655b 100644
--- a/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import java.io.File;
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java b/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
index d44cfcb..71cb012 100644
--- a/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.core;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.core;
 import java.io.IOException;
 
 import org.apache.lucene.index.DirectoryReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/ZkContainer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/ZkContainer.java b/solr/core/src/java/org/apache/solr/core/ZkContainer.java
index 1384147..0daafd6 100644
--- a/solr/core/src/java/org/apache/solr/core/ZkContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/ZkContainer.java
@@ -1,5 +1,3 @@
-package org.apache.solr.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.core;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/core/package-info.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/package-info.java b/solr/core/src/java/org/apache/solr/core/package-info.java
index 6fd201f..b80f272 100644
--- a/solr/core/src/java/org/apache/solr/core/package-info.java
+++ b/solr/core/src/java/org/apache/solr/core/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Core classes implementin Solr internals and the management of {@link org.apache.solr.core.SolrCore}s
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java
index dd3f9e5..d7cfc45 100644
--- a/solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
index f08af9e..9a96730 100644
--- a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler;
 
 import java.io.IOException;
 import java.io.OutputStream;


[84/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java b/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
deleted file mode 100644
index 5650614..0000000
--- a/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
+++ /dev/null
@@ -1,545 +0,0 @@
-/*
- * 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.lucene.util;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.junit.BeforeClass;
-
-import com.carrotsearch.randomizedtesting.generators.RandomInts;
-
-import static org.apache.lucene.util.GeoDistanceUtils.DISTANCE_PCT_ERR;
-
-/**
- * Tests class for methods in GeoUtils
- *
- * @lucene.experimental
- */
-public class TestGeoUtils extends LuceneTestCase {
-
-  private static final double LON_SCALE = (0x1L<<GeoUtils.BITS)/360.0D;
-  private static final double LAT_SCALE = (0x1L<<GeoUtils.BITS)/180.0D;
-
-  // Global bounding box we will "cover" in the random test; we have to make this "smallish" else the queries take very long:
-  private static double originLat;
-  private static double originLon;
-  //  private static double range;
-  private static double lonRange;
-  private static double latRange;
-
-  @BeforeClass
-  public static void beforeClass() throws Exception {
-    // Between 1.0 and 3.0:
-    lonRange = 2 * (random().nextDouble() + 0.5);
-    latRange = 2 * (random().nextDouble() + 0.5);
-
-    originLon = GeoUtils.MIN_LON_INCL + lonRange + (GeoUtils.MAX_LON_INCL - GeoUtils.MIN_LON_INCL - 2 * lonRange) * random().nextDouble();
-    originLon = GeoUtils.normalizeLon(originLon);
-    originLat = GeoUtils.MIN_LAT_INCL + latRange + (GeoUtils.MAX_LAT_INCL - GeoUtils.MIN_LAT_INCL - 2 * latRange) * random().nextDouble();
-    originLat = GeoUtils.normalizeLat(originLat);
-
-    if (VERBOSE) {
-      System.out.println("TEST: originLon=" + originLon + " lonRange= " + lonRange + " originLat=" + originLat + " latRange=" + latRange);
-    }
-  }
-
-  public void testGeoHash() {
-    int numPoints = atLeast(100);
-    String randomGeoHashString;
-    String mortonGeoHash;
-    long mortonLongFromGHLong, geoHashLong, mortonLongFromGHString;
-    int randomLevel;
-    for (int i = 0; i < numPoints; ++i) {
-      // random point
-      double lat = randomLat(false);
-      double lon = randomLon(false);
-
-      // compute geohash straight from lat/lon and from morton encoded value to ensure they're the same
-      randomGeoHashString = GeoHashUtils.stringEncode(lon, lat, randomLevel = random().nextInt(12 - 1) + 1);
-      mortonGeoHash = GeoHashUtils.stringEncodeFromMortonLong(GeoUtils.mortonHash(lon, lat), randomLevel);
-      assertEquals(randomGeoHashString, mortonGeoHash);
-
-      // v&v conversion from lat/lon or geohashstring to geohash long and back to geohash string
-      geoHashLong = (random().nextBoolean()) ? GeoHashUtils.longEncode(lon, lat, randomLevel) : GeoHashUtils.longEncode(randomGeoHashString);
-      assertEquals(randomGeoHashString, GeoHashUtils.stringEncode(geoHashLong));
-
-      // v&v conversion from geohash long to morton long
-      mortonLongFromGHString = GeoHashUtils.mortonEncode(randomGeoHashString);
-      mortonLongFromGHLong = GeoHashUtils.mortonEncode(geoHashLong);
-      assertEquals(mortonLongFromGHLong, mortonLongFromGHString);
-
-      // v&v lat/lon from geohash string and geohash long
-      assertEquals(GeoUtils.mortonUnhashLat(mortonLongFromGHString), GeoUtils.mortonUnhashLat(mortonLongFromGHLong), 0);
-      assertEquals(GeoUtils.mortonUnhashLon(mortonLongFromGHString), GeoUtils.mortonUnhashLon(mortonLongFromGHLong), 0);
-    }
-  }
-
-  /**
-   * Pass condition: lat=42.6, lng=-5.6 should be encoded as "ezs42e44yx96",
-   * lat=57.64911 lng=10.40744 should be encoded as "u4pruydqqvj8"
-   */
-  public void testEncode() {
-    String hash = GeoHashUtils.stringEncode(-5.6, 42.6, 12);
-    assertEquals("ezs42e44yx96", hash);
-
-    hash = GeoHashUtils.stringEncode(10.40744, 57.64911, 12);
-    assertEquals("u4pruydqqvj8", hash);
-  }
-
-  /**
-   * Pass condition: lat=52.3738007, lng=4.8909347 should be encoded and then
-   * decoded within 0.00001 of the original value
-   */
-  public void testDecodePreciseLongitudeLatitude() {
-    final String geohash = GeoHashUtils.stringEncode(4.8909347, 52.3738007);
-    final long hash = GeoHashUtils.mortonEncode(geohash);
-
-    assertEquals(52.3738007, GeoUtils.mortonUnhashLat(hash), 0.00001D);
-    assertEquals(4.8909347, GeoUtils.mortonUnhashLon(hash), 0.00001D);
-  }
-
-  /**
-   * Pass condition: lat=84.6, lng=10.5 should be encoded and then decoded
-   * within 0.00001 of the original value
-   */
-  public void testDecodeImpreciseLongitudeLatitude() {
-    final String geohash = GeoHashUtils.stringEncode(10.5, 84.6);
-
-    final long hash = GeoHashUtils.mortonEncode(geohash);
-
-    assertEquals(84.6, GeoUtils.mortonUnhashLat(hash), 0.00001D);
-    assertEquals(10.5, GeoUtils.mortonUnhashLon(hash), 0.00001D);
-  }
-
-  public void testDecodeEncode() {
-    final String geoHash = "u173zq37x014";
-    assertEquals(geoHash, GeoHashUtils.stringEncode(4.8909347, 52.3738007));
-    final long mortonHash = GeoHashUtils.mortonEncode(geoHash);
-    final double lon = GeoUtils.mortonUnhashLon(mortonHash);
-    final double lat = GeoUtils.mortonUnhashLat(mortonHash);
-    assertEquals(52.37380061d, GeoUtils.mortonUnhashLat(mortonHash), 0.000001d);
-    assertEquals(4.8909343d, GeoUtils.mortonUnhashLon(mortonHash), 0.000001d);
-
-    assertEquals(geoHash, GeoHashUtils.stringEncode(lon, lat));
-  }
-
-  public void testNeighbors() {
-    String geohash = "gcpv";
-    List<String> expectedNeighbors = new ArrayList<>();
-    expectedNeighbors.add("gcpw");
-    expectedNeighbors.add("gcpy");
-    expectedNeighbors.add("u10n");
-    expectedNeighbors.add("gcpt");
-    expectedNeighbors.add("u10j");
-    expectedNeighbors.add("gcps");
-    expectedNeighbors.add("gcpu");
-    expectedNeighbors.add("u10h");
-    Collection<? super String> neighbors = new ArrayList<>();
-    GeoHashUtils.addNeighbors(geohash, neighbors );
-    assertEquals(expectedNeighbors, neighbors);
-
-    // Border odd geohash
-    geohash = "u09x";
-    expectedNeighbors = new ArrayList<>();
-    expectedNeighbors.add("u0c2");
-    expectedNeighbors.add("u0c8");
-    expectedNeighbors.add("u0cb");
-    expectedNeighbors.add("u09r");
-    expectedNeighbors.add("u09z");
-    expectedNeighbors.add("u09q");
-    expectedNeighbors.add("u09w");
-    expectedNeighbors.add("u09y");
-    neighbors = new ArrayList<>();
-    GeoHashUtils.addNeighbors(geohash, neighbors);
-    assertEquals(expectedNeighbors, neighbors);
-
-    // Border even geohash
-    geohash = "u09tv";
-    expectedNeighbors = new ArrayList<>();
-    expectedNeighbors.add("u09wh");
-    expectedNeighbors.add("u09wj");
-    expectedNeighbors.add("u09wn");
-    expectedNeighbors.add("u09tu");
-    expectedNeighbors.add("u09ty");
-    expectedNeighbors.add("u09ts");
-    expectedNeighbors.add("u09tt");
-    expectedNeighbors.add("u09tw");
-    neighbors = new ArrayList<>();
-    GeoHashUtils.addNeighbors(geohash, neighbors );
-    assertEquals(expectedNeighbors, neighbors);
-
-    // Border even and odd geohash
-    geohash = "ezzzz";
-    expectedNeighbors = new ArrayList<>();
-    expectedNeighbors.add("gbpbn");
-    expectedNeighbors.add("gbpbp");
-    expectedNeighbors.add("u0000");
-    expectedNeighbors.add("ezzzy");
-    expectedNeighbors.add("spbpb");
-    expectedNeighbors.add("ezzzw");
-    expectedNeighbors.add("ezzzx");
-    expectedNeighbors.add("spbp8");
-    neighbors = new ArrayList<>();
-    GeoHashUtils.addNeighbors(geohash, neighbors );
-    assertEquals(expectedNeighbors, neighbors);
-  }
-
-  public void testClosestPointOnBBox() {
-    double[] result = new double[2];
-    GeoDistanceUtils.closestPointOnBBox(20, 30, 40, 50, 70, 70, result);
-    assertEquals(40.0, result[0], 0.0);
-    assertEquals(50.0, result[1], 0.0);
-
-    GeoDistanceUtils.closestPointOnBBox(-20, -20, 0, 0, 70, 70, result);
-    assertEquals(0.0, result[0], 0.0);
-    assertEquals(0.0, result[1], 0.0);
-  }
-
-  private static class Cell {
-    static int nextCellID;
-
-    final Cell parent;
-    final int cellID;
-    final double minLon, maxLon;
-    final double minLat, maxLat;
-    final int splitCount;
-
-    public Cell(Cell parent,
-                double minLon, double minLat,
-                double maxLon, double maxLat,
-                int splitCount) {
-      assert maxLon >= minLon;
-      assert maxLat >= minLat;
-      this.parent = parent;
-      this.minLon = minLon;
-      this.minLat = minLat;
-      this.maxLon = maxLon;
-      this.maxLat = maxLat;
-      this.cellID = nextCellID++;
-      this.splitCount = splitCount;
-    }
-
-    /** Returns true if the quantized point lies within this cell, inclusive on all bounds. */
-    public boolean contains(double lon, double lat) {
-      return lon >= minLon && lon <= maxLon && lat >= minLat && lat <= maxLat;
-    }
-
-    @Override
-    public String toString() {
-      return "cell=" + cellID + (parent == null ? "" : " parentCellID=" + parent.cellID) + " lon: " + minLon + " TO " + maxLon + ", lat: " + minLat + " TO " + maxLat + ", splits: " + splitCount;
-    }
-  }
-
-  public long scaleLon(final double val) {
-    return (long) ((val-GeoUtils.MIN_LON_INCL) * LON_SCALE);
-  }
-
-  public long scaleLat(final double val) {
-    return (long) ((val-GeoUtils.MIN_LAT_INCL) * LAT_SCALE);
-  }
-
-  public double unscaleLon(final long val) {
-    return (val / LON_SCALE) + GeoUtils.MIN_LON_INCL;
-  }
-
-  public double unscaleLat(final long val) {
-    return (val / LAT_SCALE) + GeoUtils.MIN_LAT_INCL;
-  }
-
-  public double randomLat(boolean small) {
-    double result;
-    if (small) {
-      result = GeoUtils.normalizeLat(originLat + latRange * (random().nextDouble() - 0.5));
-    } else {
-      result = -90 + 180.0 * random().nextDouble();
-    }
-    return result;
-  }
-
-  public double randomLon(boolean small) {
-    double result;
-    if (small) {
-      result = GeoUtils.normalizeLon(originLon + lonRange * (random().nextDouble() - 0.5));
-    } else {
-      result = -180 + 360.0 * random().nextDouble();
-    }
-    return result;
-  }
-
-  private void findMatches(Set<Integer> hits, PrintWriter log, Cell root,
-                           double centerLon, double centerLat, double radiusMeters,
-                           double[] docLons, double[] docLats) {
-
-    if (VERBOSE) {
-      log.println("  root cell: " + root);
-    }
-
-    List<Cell> queue = new ArrayList<>();
-    queue.add(root);
-
-    int recurseDepth = RandomInts.randomIntBetween(random(), 5, 15);
-
-    while (queue.size() > 0) {
-      Cell cell = queue.get(queue.size()-1);
-      queue.remove(queue.size()-1);
-      if (VERBOSE) {
-        log.println("  cycle: " + cell + " queue.size()=" + queue.size());
-      }
-
-      if (random().nextInt(10) == 7 || cell.splitCount > recurseDepth) {
-        if (VERBOSE) {
-          log.println("    leaf");
-        }
-        // Leaf cell: brute force check all docs that fall within this cell:
-        for(int docID=0;docID<docLons.length;docID++) {
-          if (cell.contains(docLons[docID], docLats[docID])) {
-            double distanceMeters = GeoDistanceUtils.haversin(centerLat, centerLon, docLats[docID], docLons[docID]);
-            if (distanceMeters <= radiusMeters) {
-              if (VERBOSE) {
-                log.println("    check doc=" + docID + ": match!");
-              }
-              hits.add(docID);
-            } else {
-              if (VERBOSE) {
-                log.println("    check doc=" + docID + ": no match");
-              }
-            }
-          }
-        }
-      } else {
-
-        if (GeoRelationUtils.rectWithinCircle(cell.minLon, cell.minLat, cell.maxLon, cell.maxLat, centerLon, centerLat, radiusMeters)) {
-          // Query circle fully contains this cell, just addAll:
-          if (VERBOSE) {
-            log.println("    circle fully contains cell: now addAll");
-          }
-          for(int docID=0;docID<docLons.length;docID++) {
-            if (cell.contains(docLons[docID], docLats[docID])) {
-              if (VERBOSE) {
-                log.println("    addAll doc=" + docID);
-              }
-              hits.add(docID);
-            }
-          }
-          continue;
-        } else if (GeoRelationUtils.rectWithin(root.minLon, root.minLat, root.maxLon, root.maxLat,
-                                       cell.minLon, cell.minLat, cell.maxLon, cell.maxLat)) {
-          // Fall through below to "recurse"
-          if (VERBOSE) {
-            log.println("    cell fully contains circle: keep splitting");
-          }
-        } else if (GeoRelationUtils.rectCrossesCircle(cell.minLon, cell.minLat, cell.maxLon, cell.maxLat,
-                                              centerLon, centerLat, radiusMeters)) {
-          // Fall through below to "recurse"
-          if (VERBOSE) {
-            log.println("    cell overlaps circle: keep splitting");
-          }
-        } else {
-          if (VERBOSE) {
-            log.println("    no overlap: drop this cell");
-            for(int docID=0;docID<docLons.length;docID++) {
-              if (cell.contains(docLons[docID], docLats[docID])) {
-                if (VERBOSE) {
-                  log.println("    skip doc=" + docID);
-                }
-              }
-            }
-          }
-          continue;
-        }
-          
-        // Randomly split:
-        if (random().nextBoolean()) {
-
-          // Split on lon:
-          double splitValue = cell.minLon + (cell.maxLon - cell.minLon) * random().nextDouble();
-          if (VERBOSE) {
-            log.println("    now split on lon=" + splitValue);
-          }
-          Cell cell1 = new Cell(cell,
-                                cell.minLon, cell.minLat,
-                                splitValue, cell.maxLat,
-                                cell.splitCount+1);
-          Cell cell2 = new Cell(cell,
-                                splitValue, cell.minLat,
-                                cell.maxLon, cell.maxLat,
-                                cell.splitCount+1);
-          if (VERBOSE) {
-            log.println("    split cell1: " + cell1);
-            log.println("    split cell2: " + cell2);
-          }
-          queue.add(cell1);
-          queue.add(cell2);
-        } else {
-
-          // Split on lat:
-          double splitValue = cell.minLat + (cell.maxLat - cell.minLat) * random().nextDouble();
-          if (VERBOSE) {
-            log.println("    now split on lat=" + splitValue);
-          }
-          Cell cell1 = new Cell(cell,
-                                cell.minLon, cell.minLat,
-                                cell.maxLon, splitValue,
-                                cell.splitCount+1);
-          Cell cell2 = new Cell(cell,
-                                cell.minLon, splitValue,
-                                cell.maxLon, cell.maxLat,
-                                cell.splitCount+1);
-          if (VERBOSE) {
-            log.println("    split cells:\n      " + cell1 + "\n      " + cell2);
-          }
-          queue.add(cell1);
-          queue.add(cell2);
-        }
-      }
-    }
-  }
-
-  /** Tests consistency of GeoUtils.rectWithinCircle, .rectCrossesCircle, .rectWithin and SloppyMath.haversine distance check */
-  public void testGeoRelations() throws Exception {
-
-    int numDocs = atLeast(1000);
-    
-    boolean useSmallRanges = random().nextBoolean();
-
-    if (VERBOSE) {
-      System.out.println("TEST: " + numDocs + " docs useSmallRanges=" + useSmallRanges);
-    }
-
-    double[] docLons = new double[numDocs];
-    double[] docLats = new double[numDocs];
-    for(int docID=0;docID<numDocs;docID++) {
-      docLons[docID] = randomLon(useSmallRanges);
-      docLats[docID] = randomLat(useSmallRanges);
-      if (VERBOSE) {
-        System.out.println("  doc=" + docID + ": lon=" + docLons[docID] + " lat=" + docLats[docID]);
-      }
-    }
-
-    int iters = atLeast(10);
-
-    iters = atLeast(50);
-    
-    for(int iter=0;iter<iters;iter++) {
-
-      Cell.nextCellID = 0;
-
-      double centerLon = randomLon(useSmallRanges);
-      double centerLat = randomLat(useSmallRanges);
-
-      // So the circle covers at most 50% of the earth's surface:
-
-      double radiusMeters;
-
-      // TODO: large exotic rectangles created by BKD may be inaccurate up to 2 times DISTANCE_PCT_ERR.
-      // restricting size until LUCENE-6994 can be addressed
-      if (true || useSmallRanges) {
-        // Approx 3 degrees lon at the equator:
-        radiusMeters = random().nextDouble() * 333000;
-      } else {
-        radiusMeters = random().nextDouble() * GeoProjectionUtils.SEMIMAJOR_AXIS * Math.PI / 2.0;
-      }
-
-      StringWriter sw = new StringWriter();
-      PrintWriter log = new PrintWriter(sw, true);
-
-      if (VERBOSE) {
-        log.println("\nTEST: iter=" + iter + " radiusMeters=" + radiusMeters + " centerLon=" + centerLon + " centerLat=" + centerLat);
-      }
-
-      GeoRect bbox = GeoUtils.circleToBBox(centerLon, centerLat, radiusMeters);
-      
-      Set<Integer> hits = new HashSet<>();
-
-      if (bbox.maxLon < bbox.minLon) {
-        // Crosses dateline
-        log.println("  circle crosses dateline; first left query");
-        double unwrappedLon = centerLon;
-        if (unwrappedLon > bbox.maxLon) {
-          // unwrap left
-          unwrappedLon += -360.0D;
-        }
-        findMatches(hits, log,
-                    new Cell(null,
-                             -180, bbox.minLat,
-                             bbox.maxLon, bbox.maxLat,
-                             0),
-                    unwrappedLon, centerLat, radiusMeters, docLons, docLats);
-        log.println("  circle crosses dateline; now right query");
-        if (unwrappedLon < bbox.maxLon) {
-          // unwrap right
-          unwrappedLon += 360.0D;
-        }
-        findMatches(hits, log,
-                    new Cell(null,
-                             bbox.minLon, bbox.minLat,
-                             180, bbox.maxLat,
-                             0),
-                    unwrappedLon, centerLat, radiusMeters, docLons, docLats);
-      } else {
-        // Start with the root cell that fully contains the shape:
-        findMatches(hits, log,
-                    new Cell(null,
-                             bbox.minLon, bbox.minLat,
-                             bbox.maxLon, bbox.maxLat,
-                             0),
-                    centerLon, centerLat, radiusMeters,
-                    docLons, docLats);
-      }
-
-      if (VERBOSE) {
-        log.println("  " + hits.size() + " hits");
-      }
-
-      int failCount = 0;
-
-      // Done matching, now verify:
-      for(int docID=0;docID<numDocs;docID++) {
-        double distanceMeters = GeoDistanceUtils.haversin(centerLat, centerLon, docLats[docID], docLons[docID]);
-        final Boolean expected;
-        final double percentError = Math.abs(distanceMeters - radiusMeters) / distanceMeters;
-        if (percentError <= DISTANCE_PCT_ERR) {
-          expected = null;
-        } else {
-          expected = distanceMeters <= radiusMeters;
-        }
-
-        boolean actual = hits.contains(docID);
-        if (expected != null && actual != expected) {
-          if (actual) {
-            log.println("doc=" + docID + " matched but should not with distance error " + percentError + " on iteration " + iter);
-          } else {
-            log.println("doc=" + docID + " did not match but should with distance error " + percentError + " on iteration " + iter);
-          }
-          log.println("  lon=" + docLons[docID] + " lat=" + docLats[docID] + " distanceMeters=" + distanceMeters + " vs radiusMeters=" + radiusMeters);
-          failCount++;
-        }
-      }
-
-      if (failCount != 0) {
-        System.out.print(sw.toString());
-        fail(failCount + " incorrect hits (see above)");
-      }
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/build.xml
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/build.xml b/lucene/spatial-extras/build.xml
new file mode 100644
index 0000000..e1a1365
--- /dev/null
+++ b/lucene/spatial-extras/build.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!--
+   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.
+-->
+<project name="spatial-extras" default="default">
+  <description>
+    Geospatial search
+  </description>
+
+  <import file="../module-build.xml"/>
+
+  <path id="spatialextrasjar">
+     <fileset dir="lib"/>
+  </path>
+
+  <path id="classpath">
+    <path refid="base.classpath"/>
+    <path refid="spatialextrasjar"/>
+    <pathelement path="${queries.jar}" />
+    <pathelement path="${misc.jar}" />
+    <pathelement path="${spatial3d.jar}" />
+  </path>
+
+  <path id="test.classpath">
+    <path refid="test.base.classpath" />
+    <path refid="spatialextrasjar"/>
+    <pathelement path="src/test-files" />
+  </path>
+
+  <target name="compile-core" depends="jar-queries,jar-misc,jar-spatial3d,common.compile-core" />
+
+  <target name="javadocs" depends="javadocs-queries,javadocs-misc,javadocs-spatial3d,compile-core,check-javadocs-uptodate"
+          unless="javadocs-uptodate-${name}">
+    <invoke-module-javadoc>
+      <links>
+        <link href="../queries"/>
+        <link href="../misc"/>
+        <link href="../spatial3d"/>
+      </links>
+    </invoke-module-javadoc>
+  </target>
+</project>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/ivy.xml
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/ivy.xml b/lucene/spatial-extras/ivy.xml
new file mode 100644
index 0000000..0229a9f
--- /dev/null
+++ b/lucene/spatial-extras/ivy.xml
@@ -0,0 +1,36 @@
+<!--
+   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.
+-->
+<ivy-module version="2.0"  xmlns:maven="http://ant.apache.org/ivy/maven">
+  <info organisation="org.apache.lucene" module="spatial-extras"/>
+  <configurations defaultconfmapping="compile->master;test->master">
+    <conf name="compile" transitive="false"/>
+    <conf name="test" transitive="false"/>
+  </configurations>
+  <dependencies>
+    <dependency org="com.spatial4j" name="spatial4j" rev="${/com.spatial4j/spatial4j}" conf="compile"/>
+
+    <dependency org="com.spatial4j" name="spatial4j" rev="${/com.spatial4j/spatial4j}" conf="test">
+      <artifact name="spatial4j" type="test" ext="jar" maven:classifier="tests" />
+    </dependency>
+
+    <dependency org="org.slf4j" name="slf4j-api" rev="${/org.slf4j/slf4j-api}" conf="test"/>
+
+    <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
+  </dependencies>
+</ivy-module>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/SpatialStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/SpatialStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/SpatialStrategy.java
new file mode 100644
index 0000000..f433c11
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/SpatialStrategy.java
@@ -0,0 +1,149 @@
+/*
+ * 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.lucene.spatial;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.ReciprocalFloatFunction;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.query.SpatialArgs;
+
+/**
+ * The SpatialStrategy encapsulates an approach to indexing and searching based
+ * on shapes.
+ * <p>
+ * Different implementations will support different features. A strategy should
+ * document these common elements:
+ * <ul>
+ *   <li>Can it index more than one shape per field?</li>
+ *   <li>What types of shapes can be indexed?</li>
+ *   <li>What types of query shapes can be used?</li>
+ *   <li>What types of query operations are supported?
+ *   This might vary per shape.</li>
+ *   <li>Does it use some type of cache?  When?
+ * </ul>
+ * If a strategy only supports certain shapes at index or query time, then in
+ * general it will throw an exception if given an incompatible one.  It will not
+ * be coerced into compatibility.
+ * <p>
+ * Note that a SpatialStrategy is not involved with the Lucene stored field
+ * values of shapes, which is immaterial to indexing and search.
+ * <p>
+ * Thread-safe.
+ * <p>
+ * This API is marked as experimental, however it is quite stable.
+ *
+ * @lucene.experimental
+ */
+public abstract class SpatialStrategy {
+
+  protected final SpatialContext ctx;
+  private final String fieldName;
+
+  /**
+   * Constructs the spatial strategy with its mandatory arguments.
+   */
+  public SpatialStrategy(SpatialContext ctx, String fieldName) {
+    if (ctx == null)
+      throw new IllegalArgumentException("ctx is required");
+    this.ctx = ctx;
+    if (fieldName == null || fieldName.length() == 0)
+      throw new IllegalArgumentException("fieldName is required");
+    this.fieldName = fieldName;
+  }
+
+  public SpatialContext getSpatialContext() {
+    return ctx;
+  }
+
+  /**
+   * The name of the field or the prefix of them if there are multiple
+   * fields needed internally.
+   * @return Not null.
+   */
+  public String getFieldName() {
+    return fieldName;
+  }
+
+  /**
+   * Returns the IndexableField(s) from the {@code shape} that are to be
+   * added to the {@link org.apache.lucene.document.Document}.  These fields
+   * are expected to be marked as indexed and not stored.
+   * <p>
+   * Note: If you want to <i>store</i> the shape as a string for retrieval in
+   * search results, you could add it like this:
+   * <pre>document.add(new StoredField(fieldName,ctx.toString(shape)));</pre>
+   * The particular string representation used doesn't matter to the Strategy
+   * since it doesn't use it.
+   *
+   * @return Not null nor will it have null elements.
+   * @throws UnsupportedOperationException if given a shape incompatible with the strategy
+   */
+  public abstract Field[] createIndexableFields(Shape shape);
+
+  /**
+   * See {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point, double)} called with
+   * a multiplier of 1.0 (i.e. units of degrees).
+   */
+  public ValueSource makeDistanceValueSource(Point queryPoint) {
+    return makeDistanceValueSource(queryPoint, 1.0);
+  }
+
+  /**
+   * Make a ValueSource returning the distance between the center of the
+   * indexed shape and {@code queryPoint}.  If there are multiple indexed shapes
+   * then the closest one is chosen. The result is multiplied by {@code multiplier}, which
+   * conveniently is used to get the desired units.
+   */
+  public abstract ValueSource makeDistanceValueSource(Point queryPoint, double multiplier);
+
+  /**
+   * Make a Query based principally on {@link org.apache.lucene.spatial.query.SpatialOperation}
+   * and {@link Shape} from the supplied {@code args}.  It should be constant scoring of 1.
+   *
+   * @throws UnsupportedOperationException If the strategy does not support the shape in {@code args}
+   * @throws org.apache.lucene.spatial.query.UnsupportedSpatialOperation If the strategy does not support the {@link
+   * org.apache.lucene.spatial.query.SpatialOperation} in {@code args}.
+   */
+  public abstract Query makeQuery(SpatialArgs args);
+
+  /**
+   * Returns a ValueSource with values ranging from 1 to 0, depending inversely
+   * on the distance from {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point,double)}.
+   * The formula is {@code c/(d + c)} where 'd' is the distance and 'c' is
+   * one tenth the distance to the farthest edge from the center. Thus the
+   * scores will be 1 for indexed points at the center of the query shape and as
+   * low as ~0.1 at its furthest edges.
+   */
+  public final ValueSource makeRecipDistanceValueSource(Shape queryShape) {
+    Rectangle bbox = queryShape.getBoundingBox();
+    double diagonalDist = ctx.getDistCalc().distance(
+        ctx.makePoint(bbox.getMinX(), bbox.getMinY()), bbox.getMaxX(), bbox.getMaxY());
+    double distToEdge = diagonalDist * 0.5;
+    float c = (float)distToEdge * 0.1f;//one tenth
+    return new ReciprocalFloatFunction(makeDistanceValueSource(queryShape.getCenter(), 1.0), 1f, c, c);
+  }
+
+  @Override
+  public String toString() {
+    return getClass().getSimpleName()+" field:"+fieldName+" ctx="+ctx;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java
new file mode 100644
index 0000000..9d0afe1
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java
@@ -0,0 +1,251 @@
+/*
+ * 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.lucene.spatial.bbox;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.Explanation;
+
+import com.spatial4j.core.shape.Rectangle;
+
+/**
+ * The algorithm is implemented as envelope on envelope (rect on rect) overlays rather than
+ * complex polygon on complex polygon overlays.
+ * <p>
+ * Spatial relevance scoring algorithm:
+ * <DL>
+ *   <DT>queryArea</DT> <DD>the area of the input query envelope</DD>
+ *   <DT>targetArea</DT> <DD>the area of the target envelope (per Lucene document)</DD>
+ *   <DT>intersectionArea</DT> <DD>the area of the intersection between the query and target envelopes</DD>
+ *   <DT>queryTargetProportion</DT> <DD>A 0-1 factor that divides the score proportion between query and target.
+ *   0.5 is evenly.</DD>
+ *
+ *   <DT>queryRatio</DT> <DD>intersectionArea / queryArea; (see note)</DD>
+ *   <DT>targetRatio</DT> <DD>intersectionArea / targetArea; (see note)</DD>
+ *   <DT>queryFactor</DT> <DD>queryRatio * queryTargetProportion;</DD>
+ *   <DT>targetFactor</DT> <DD>targetRatio * (1 - queryTargetProportion);</DD>
+ *   <DT>score</DT> <DD>queryFactor + targetFactor;</DD>
+ * </DL>
+ * Additionally, note that an optional minimum side length {@code minSideLength} may be used whenever an
+ * area is calculated (queryArea, targetArea, intersectionArea). This allows for points or horizontal/vertical lines
+ * to be used as the query shape and in such case the descending order should have smallest boxes up front. Without
+ * this, a point or line query shape typically scores everything with the same value since there is 0 area.
+ * <p>
+ * Note: The actual computation of queryRatio and targetRatio is more complicated so that it considers
+ * points and lines. Lines have the ratio of overlap, and points are either 1.0 or 0.0 depending on whether
+ * it intersects or not.
+ * <p>
+ * Originally based on Geoportal's
+ * <a href="http://geoportal.svn.sourceforge.net/svnroot/geoportal/Geoportal/trunk/src/com/esri/gpt/catalog/lucene/SpatialRankingValueSource.java">
+ *   SpatialRankingValueSource</a> but modified quite a bit. GeoPortal's algorithm will yield a score of 0
+ * if either a line or point is compared, and it doesn't output a 0-1 normalized score (it multiplies the factors),
+ * and it doesn't support minSideLength, and it had dateline bugs.
+ *
+ * @lucene.experimental
+ */
+public class BBoxOverlapRatioValueSource extends BBoxSimilarityValueSource {
+
+  private final boolean isGeo;//-180/+180 degrees  (not part of identity; attached to parent strategy/field)
+
+  private final Rectangle queryExtent;
+  private final double queryArea;//not part of identity
+
+  private final double minSideLength;
+
+  private final double queryTargetProportion;
+
+  //TODO option to compute geodetic area
+
+  /**
+   *
+   * @param rectValueSource mandatory; source of rectangles
+   * @param isGeo True if ctx.isGeo() and thus dateline issues should be attended to
+   * @param queryExtent mandatory; the query rectangle
+   * @param queryTargetProportion see class javadocs. Between 0 and 1.
+   * @param minSideLength see class javadocs. 0.0 will effectively disable.
+   */
+  public BBoxOverlapRatioValueSource(ValueSource rectValueSource, boolean isGeo, Rectangle queryExtent,
+                                     double queryTargetProportion, double minSideLength) {
+    super(rectValueSource);
+    this.isGeo = isGeo;
+    this.minSideLength = minSideLength;
+    this.queryExtent = queryExtent;
+    this.queryArea = calcArea(queryExtent.getWidth(), queryExtent.getHeight());
+    assert queryArea >= 0;
+    this.queryTargetProportion = queryTargetProportion;
+    if (queryTargetProportion < 0 || queryTargetProportion > 1.0)
+      throw new IllegalArgumentException("queryTargetProportion must be >= 0 and <= 1");
+  }
+
+  /** Construct with 75% weighting towards target (roughly GeoPortal's default), geo degrees assumed, no
+   * minimum side length. */
+  public BBoxOverlapRatioValueSource(ValueSource rectValueSource, Rectangle queryExtent) {
+    this(rectValueSource, true, queryExtent, 0.25, 0.0);
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (!super.equals(o)) return false;
+
+    BBoxOverlapRatioValueSource that = (BBoxOverlapRatioValueSource) o;
+
+    if (Double.compare(that.minSideLength, minSideLength) != 0) return false;
+    if (Double.compare(that.queryTargetProportion, queryTargetProportion) != 0) return false;
+    if (!queryExtent.equals(that.queryExtent)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    long temp;
+    result = 31 * result + queryExtent.hashCode();
+    temp = Double.doubleToLongBits(minSideLength);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(queryTargetProportion);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    return result;
+  }
+
+  @Override
+  protected String similarityDescription() {
+    return queryExtent.toString() + "," + queryTargetProportion;
+  }
+
+  @Override
+  protected double score(Rectangle target, AtomicReference<Explanation> exp) {
+    // calculate "height": the intersection height between two boxes.
+    double top = Math.min(queryExtent.getMaxY(), target.getMaxY());
+    double bottom = Math.max(queryExtent.getMinY(), target.getMinY());
+    double height = top - bottom;
+    if (height < 0) {
+      if (exp != null) {
+        exp.set(Explanation.noMatch("No intersection"));
+      }
+      return 0;//no intersection
+    }
+
+    // calculate "width": the intersection width between two boxes.
+    double width = 0;
+    {
+      Rectangle a = queryExtent;
+      Rectangle b = target;
+      if (a.getCrossesDateLine() == b.getCrossesDateLine()) {
+        //both either cross or don't
+        double left = Math.max(a.getMinX(), b.getMinX());
+        double right = Math.min(a.getMaxX(), b.getMaxX());
+        if (!a.getCrossesDateLine()) {//both don't
+          if (left <= right) {
+            width = right - left;
+          } else if (isGeo && (Math.abs(a.getMinX()) == 180 || Math.abs(a.getMaxX()) == 180)
+              && (Math.abs(b.getMinX()) == 180 || Math.abs(b.getMaxX()) == 180)) {
+            width = 0;//both adjacent to dateline
+          } else {
+            if (exp != null) {
+              exp.set(Explanation.noMatch("No intersection"));
+            }
+            return 0;//no intersection
+          }
+        } else {//both cross
+          width = right - left + 360;
+        }
+      } else {
+        if (!a.getCrossesDateLine()) {//then flip
+          a = target;
+          b = queryExtent;
+        }
+        //a crosses, b doesn't
+        double qryWestLeft = Math.max(a.getMinX(), b.getMinX());
+        double qryWestRight = b.getMaxX();
+        if (qryWestLeft < qryWestRight)
+          width += qryWestRight - qryWestLeft;
+
+        double qryEastLeft = b.getMinX();
+        double qryEastRight = Math.min(a.getMaxX(), b.getMaxX());
+        if (qryEastLeft < qryEastRight)
+          width += qryEastRight - qryEastLeft;
+
+        if (qryWestLeft > qryWestRight && qryEastLeft > qryEastRight) {
+          if (exp != null) {
+            exp.set(Explanation.noMatch("No intersection"));
+          }
+          return 0;//no intersection
+        }
+      }
+    }
+
+    // calculate queryRatio and targetRatio
+    double intersectionArea = calcArea(width, height);
+    double queryRatio;
+    if (queryArea > 0) {
+      queryRatio = intersectionArea / queryArea;
+    } else if (queryExtent.getHeight() > 0) {//vert line
+      queryRatio = height / queryExtent.getHeight();
+    } else if (queryExtent.getWidth() > 0) {//horiz line
+      queryRatio = width / queryExtent.getWidth();
+    } else {
+      queryRatio = queryExtent.relate(target).intersects() ? 1 : 0;//could be optimized
+    }
+
+    double targetArea = calcArea(target.getWidth(), target.getHeight());
+    assert targetArea >= 0;
+    double targetRatio;
+    if (targetArea > 0) {
+      targetRatio = intersectionArea / targetArea;
+    } else if (target.getHeight() > 0) {//vert line
+      targetRatio = height / target.getHeight();
+    } else if (target.getWidth() > 0) {//horiz line
+      targetRatio = width / target.getWidth();
+    } else {
+      targetRatio = target.relate(queryExtent).intersects() ? 1 : 0;//could be optimized
+    }
+    assert queryRatio >= 0 && queryRatio <= 1 : queryRatio;
+    assert targetRatio >= 0 && targetRatio <= 1 : targetRatio;
+
+    // combine ratios into a score
+
+    double queryFactor = queryRatio * queryTargetProportion;
+    double targetFactor = targetRatio * (1.0 - queryTargetProportion);
+    double score = queryFactor + targetFactor;
+
+    if (exp!=null) {
+      String minSideDesc = minSideLength > 0.0 ? " (minSide="+minSideLength+")" : "";
+      exp.set(Explanation.match((float) score,
+          this.getClass().getSimpleName()+": queryFactor + targetFactor",
+          Explanation.match((float)intersectionArea, "IntersectionArea" + minSideDesc,
+              Explanation.match((float)width, "width"),
+              Explanation.match((float)height, "height"),
+              Explanation.match((float)queryTargetProportion, "queryTargetProportion")),
+          Explanation.match((float)queryFactor, "queryFactor",
+              Explanation.match((float)targetRatio, "ratio"),
+              Explanation.match((float)queryArea,  "area of " + queryExtent + minSideDesc)),
+          Explanation.match((float)targetFactor, "targetFactor",
+              Explanation.match((float)targetRatio, "ratio"),
+              Explanation.match((float)targetArea,  "area of " + target + minSideDesc))));
+    }
+
+    return score;
+  }
+
+  /** Calculates the area while applying the minimum side length. */
+  private double calcArea(double width, double height) {
+    return Math.max(minSideLength, width) * Math.max(minSideLength, height);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
new file mode 100644
index 0000000..15cd646
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
@@ -0,0 +1,117 @@
+/*
+ * 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.lucene.spatial.bbox;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.IndexSearcher;
+
+import com.spatial4j.core.shape.Rectangle;
+
+/**
+ * A base class for calculating a spatial relevance rank per document from a provided
+ * {@link ValueSource} in which {@link FunctionValues#objectVal(int)} returns a {@link
+ * com.spatial4j.core.shape.Rectangle}.
+ * <p>
+ * Implementers: remember to implement equals and hashCode if you have
+ * fields!
+ *
+ * @lucene.experimental
+ */
+public abstract class BBoxSimilarityValueSource extends ValueSource {
+
+  private final ValueSource bboxValueSource;
+
+  public BBoxSimilarityValueSource(ValueSource bboxValueSource) {
+    this.bboxValueSource = bboxValueSource;
+  }
+
+  @Override
+  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
+    bboxValueSource.createWeight(context, searcher);
+  }
+
+  @Override
+  public String description() {
+    return getClass().getSimpleName()+"(" + bboxValueSource.description() + "," + similarityDescription() + ")";
+  }
+
+  /** A comma-separated list of configurable items of the subclass to put into {@link #description()}. */
+  protected abstract String similarityDescription();
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+
+    final FunctionValues shapeValues = bboxValueSource.getValues(context, readerContext);
+
+    return new DoubleDocValues(this) {
+      @Override
+      public double doubleVal(int doc) {
+        //? limit to Rect or call getBoundingBox()? latter would encourage bad practice
+        final Rectangle rect = (Rectangle) shapeValues.objectVal(doc);
+        return rect==null ? 0 : score(rect, null);
+      }
+
+      @Override
+      public boolean exists(int doc) {
+        return shapeValues.exists(doc);
+      }
+
+      @Override
+      public Explanation explain(int doc) {
+        final Rectangle rect = (Rectangle) shapeValues.objectVal(doc);
+        if (rect == null)
+          return Explanation.noMatch("no rect");
+        AtomicReference<Explanation> explanation = new AtomicReference<>();
+        score(rect, explanation);
+        return explanation.get();
+      }
+    };
+  }
+
+  /**
+   * Return a relevancy score. If {@code exp} is provided then diagnostic information is added.
+   * @param rect The indexed rectangle; not null.
+   * @param exp Optional diagnostic holder.
+   * @return a score.
+   */
+  protected abstract double score(Rectangle rect, AtomicReference<Explanation> exp);
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;//same class
+
+    BBoxSimilarityValueSource that = (BBoxSimilarityValueSource) o;
+
+    if (!bboxValueSource.equals(that.bboxValueSource)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return bboxValueSource.hashCode();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
new file mode 100644
index 0000000..d5f7747
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
@@ -0,0 +1,588 @@
+/*
+ * 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.lucene.spatial.bbox;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.LegacyDoubleField;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.index.DocValuesType;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.LegacyNumericRangeQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.spatial.SpatialStrategy;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
+import org.apache.lucene.spatial.util.DistanceToShapeValueSource;
+import org.apache.lucene.util.BytesRefBuilder;
+import org.apache.lucene.util.LegacyNumericUtils;
+
+
+/**
+ * A SpatialStrategy for indexing and searching Rectangles by storing its
+ * coordinates in numeric fields. It supports all {@link SpatialOperation}s and
+ * has a custom overlap relevancy. It is based on GeoPortal's <a
+ * href="http://geoportal.svn.sourceforge.net/svnroot/geoportal/Geoportal/trunk/src/com/esri/gpt/catalog/lucene/SpatialClauseAdapter.java">SpatialClauseAdapter</a>.
+ * <p>
+ * <b>Characteristics:</b>
+ * <br>
+ * <ul>
+ * <li>Only indexes Rectangles; just one per field value. Other shapes can be provided
+ * and the bounding box will be used.</li>
+ * <li>Can query only by a Rectangle. Providing other shapes is an error.</li>
+ * <li>Supports most {@link SpatialOperation}s but not Overlaps.</li>
+ * <li>Uses the DocValues API for any sorting / relevancy.</li>
+ * </ul>
+ * <p>
+ * <b>Implementation:</b>
+ * <p>
+ * This uses 4 double fields for minX, maxX, minY, maxY
+ * and a boolean to mark a dateline cross. Depending on the particular {@link
+ * SpatialOperation}s, there are a variety of {@link org.apache.lucene.search.LegacyNumericRangeQuery}s to be
+ * done.
+ * The {@link #makeOverlapRatioValueSource(com.spatial4j.core.shape.Rectangle, double)}
+ * works by calculating the query bbox overlap percentage against the indexed
+ * shape overlap percentage. The indexed shape's coordinates are retrieved from
+ * {@link org.apache.lucene.index.LeafReader#getNumericDocValues}.
+ *
+ * @lucene.experimental
+ */
+public class BBoxStrategy extends SpatialStrategy {
+
+  public static final String SUFFIX_MINX = "__minX";
+  public static final String SUFFIX_MAXX = "__maxX";
+  public static final String SUFFIX_MINY = "__minY";
+  public static final String SUFFIX_MAXY = "__maxY";
+  public static final String SUFFIX_XDL  = "__xdl";
+
+  /*
+   * The Bounding Box gets stored as four fields for x/y min/max and a flag
+   * that says if the box crosses the dateline (xdl).
+   */
+  protected final String field_bbox;
+  protected final String field_minX;
+  protected final String field_minY;
+  protected final String field_maxX;
+  protected final String field_maxY;
+  protected final String field_xdl; // crosses dateline
+
+  protected FieldType fieldType;//for the 4 numbers
+  protected FieldType xdlFieldType;
+
+  public BBoxStrategy(SpatialContext ctx, String fieldNamePrefix) {
+    super(ctx, fieldNamePrefix);
+    field_bbox = fieldNamePrefix;
+    field_minX = fieldNamePrefix + SUFFIX_MINX;
+    field_maxX = fieldNamePrefix + SUFFIX_MAXX;
+    field_minY = fieldNamePrefix + SUFFIX_MINY;
+    field_maxY = fieldNamePrefix + SUFFIX_MAXY;
+    field_xdl = fieldNamePrefix + SUFFIX_XDL;
+
+    FieldType fieldType = new FieldType(LegacyDoubleField.TYPE_NOT_STORED);
+    fieldType.setNumericPrecisionStep(8);//Solr's default
+    fieldType.setDocValuesType(DocValuesType.NUMERIC);
+    setFieldType(fieldType);
+  }
+
+  private int getPrecisionStep() {
+    return fieldType.numericPrecisionStep();
+  }
+
+  public FieldType getFieldType() {
+    return fieldType;
+  }
+
+  /** Used to customize the indexing options of the 4 number fields, and to a lesser degree the XDL field too. Search
+   * requires indexed=true, and relevancy requires docValues. If these features aren't needed then disable them.
+   * {@link FieldType#freeze()} is called on the argument. */
+  public void setFieldType(FieldType fieldType) {
+    fieldType.freeze();
+    this.fieldType = fieldType;
+    //only double's supported right now
+    if (fieldType.numericType() != FieldType.LegacyNumericType.DOUBLE)
+      throw new IllegalArgumentException("BBoxStrategy only supports doubles at this time.");
+    //for xdlFieldType, copy some similar options. Don't do docValues since it isn't needed here.
+    xdlFieldType = new FieldType(StringField.TYPE_NOT_STORED);
+    xdlFieldType.setStored(fieldType.stored());
+    xdlFieldType.setIndexOptions(fieldType.indexOptions());
+    xdlFieldType.freeze();
+  }
+
+  //---------------------------------
+  // Indexing
+  //---------------------------------
+
+  @Override
+  public Field[] createIndexableFields(Shape shape) {
+    return createIndexableFields(shape.getBoundingBox());
+  }
+
+  public Field[] createIndexableFields(Rectangle bbox) {
+    Field[] fields = new Field[5];
+    fields[0] = new ComboField(field_minX, bbox.getMinX(), fieldType);
+    fields[1] = new ComboField(field_maxX, bbox.getMaxX(), fieldType);
+    fields[2] = new ComboField(field_minY, bbox.getMinY(), fieldType);
+    fields[3] = new ComboField(field_maxY, bbox.getMaxY(), fieldType);
+    fields[4] = new ComboField(field_xdl, bbox.getCrossesDateLine()?"T":"F", xdlFieldType);
+    return fields;
+  }
+
+  /** Field subclass circumventing Field limitations. This one instance can have any combination of indexed, stored,
+   * and docValues.
+   */
+  private static class ComboField extends Field {
+    private ComboField(String name, Object value, FieldType type) {
+      super(name, type);//this expert constructor allows us to have a field that has docValues & indexed/stored
+      super.fieldsData = value;
+    }
+
+    //Is this a hack?  We assume that numericValue() is only called for DocValues purposes.
+    @Override
+    public Number numericValue() {
+      //Numeric DocValues only supports Long,
+      final Number number = super.numericValue();
+      if (number == null)
+        return null;
+      if (fieldType().numericType() == FieldType.LegacyNumericType.DOUBLE)
+        return Double.doubleToLongBits(number.doubleValue());
+      if (fieldType().numericType() == FieldType.LegacyNumericType.FLOAT)
+        return Float.floatToIntBits(number.floatValue());
+      return number.longValue();
+    }
+  }
+
+  //---------------------------------
+  // Value Source / Relevancy
+  //---------------------------------
+
+  /**
+   * Provides access to each rectangle per document as a ValueSource in which
+   * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)} returns a {@link
+   * Shape}.
+   */ //TODO raise to SpatialStrategy
+  public ValueSource makeShapeValueSource() {
+    return new BBoxValueSource(this);
+  }
+
+  @Override
+  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
+    //TODO if makeShapeValueSource gets lifted to the top; this could become a generic impl.
+    return new DistanceToShapeValueSource(makeShapeValueSource(), queryPoint, multiplier, ctx);
+  }
+
+  /** Returns a similarity based on {@link BBoxOverlapRatioValueSource}. This is just a
+   * convenience method. */
+  public ValueSource makeOverlapRatioValueSource(Rectangle queryBox, double queryTargetProportion) {
+    return new BBoxOverlapRatioValueSource(
+        makeShapeValueSource(), ctx.isGeo(), queryBox, queryTargetProportion, 0.0);
+  }
+
+  //---------------------------------
+  // Query Building
+  //---------------------------------
+
+  //  Utility on SpatialStrategy?
+//  public Query makeQueryWithValueSource(SpatialArgs args, ValueSource valueSource) {
+//    return new CustomScoreQuery(makeQuery(args), new FunctionQuery(valueSource));
+  //or...
+//  return new BooleanQuery.Builder()
+//      .add(new FunctionQuery(valueSource), BooleanClause.Occur.MUST)//matches everything and provides score
+//      .add(filterQuery, BooleanClause.Occur.FILTER)//filters (score isn't used)
+//  .build();
+//  }
+
+  @Override
+  public Query makeQuery(SpatialArgs args) {
+    Shape shape = args.getShape();
+    if (!(shape instanceof Rectangle))
+      throw new UnsupportedOperationException("Can only query by Rectangle, not " + shape);
+
+    Rectangle bbox = (Rectangle) shape;
+    Query spatial;
+
+    // Useful for understanding Relations:
+    // http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm
+    SpatialOperation op = args.getOperation();
+         if( op == SpatialOperation.BBoxIntersects ) spatial = makeIntersects(bbox);
+    else if( op == SpatialOperation.BBoxWithin     ) spatial = makeWithin(bbox);
+    else if( op == SpatialOperation.Contains       ) spatial = makeContains(bbox);
+    else if( op == SpatialOperation.Intersects     ) spatial = makeIntersects(bbox);
+    else if( op == SpatialOperation.IsEqualTo      ) spatial = makeEquals(bbox);
+    else if( op == SpatialOperation.IsDisjointTo   ) spatial = makeDisjoint(bbox);
+    else if( op == SpatialOperation.IsWithin       ) spatial = makeWithin(bbox);
+    else { //no Overlaps support yet
+        throw new UnsupportedSpatialOperation(op);
+    }
+    return new ConstantScoreQuery(spatial);
+  }
+
+  /**
+   * Constructs a query to retrieve documents that fully contain the input envelope.
+   *
+   * @return the spatial query
+   */
+  Query makeContains(Rectangle bbox) {
+
+    // general case
+    // docMinX <= queryExtent.getMinX() AND docMinY <= queryExtent.getMinY() AND docMaxX >= queryExtent.getMaxX() AND docMaxY >= queryExtent.getMaxY()
+
+    // Y conditions
+    // docMinY <= queryExtent.getMinY() AND docMaxY >= queryExtent.getMaxY()
+    Query qMinY = LegacyNumericRangeQuery.newDoubleRange(field_minY, getPrecisionStep(), null, bbox.getMinY(), false, true);
+    Query qMaxY = LegacyNumericRangeQuery.newDoubleRange(field_maxY, getPrecisionStep(), bbox.getMaxY(), null, true, false);
+    Query yConditions = this.makeQuery(BooleanClause.Occur.MUST, qMinY, qMaxY);
+
+    // X conditions
+    Query xConditions;
+
+    // queries that do not cross the date line
+    if (!bbox.getCrossesDateLine()) {
+
+      // X Conditions for documents that do not cross the date line,
+      // documents that contain the min X and max X of the query envelope,
+      // docMinX <= queryExtent.getMinX() AND docMaxX >= queryExtent.getMaxX()
+      Query qMinX = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), null, bbox.getMinX(), false, true);
+      Query qMaxX = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), bbox.getMaxX(), null, true, false);
+      Query qMinMax = this.makeQuery(BooleanClause.Occur.MUST, qMinX, qMaxX);
+      Query qNonXDL = this.makeXDL(false, qMinMax);
+
+      if (!ctx.isGeo()) {
+        xConditions = qNonXDL;
+      } else {
+        // X Conditions for documents that cross the date line,
+        // the left portion of the document contains the min X of the query
+        // OR the right portion of the document contains the max X of the query,
+        // docMinXLeft <= queryExtent.getMinX() OR docMaxXRight >= queryExtent.getMaxX()
+        Query qXDLLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), null, bbox.getMinX(), false, true);
+        Query qXDLRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), bbox.getMaxX(), null, true, false);
+        Query qXDLLeftRight = this.makeQuery(BooleanClause.Occur.SHOULD, qXDLLeft, qXDLRight);
+        Query qXDL = this.makeXDL(true, qXDLLeftRight);
+
+        Query qEdgeDL = null;
+        if (bbox.getMinX() == bbox.getMaxX() && Math.abs(bbox.getMinX()) == 180) {
+          double edge = bbox.getMinX() * -1;//opposite dateline edge
+          qEdgeDL = makeQuery(BooleanClause.Occur.SHOULD,
+              makeNumberTermQuery(field_minX, edge), makeNumberTermQuery(field_maxX, edge));
+        }
+
+        // apply the non-XDL and XDL conditions
+        xConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qNonXDL, qXDL, qEdgeDL);
+      }
+    } else {
+      // queries that cross the date line
+
+      // No need to search for documents that do not cross the date line
+
+      // X Conditions for documents that cross the date line,
+      // the left portion of the document contains the min X of the query
+      // AND the right portion of the document contains the max X of the query,
+      // docMinXLeft <= queryExtent.getMinX() AND docMaxXRight >= queryExtent.getMaxX()
+      Query qXDLLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), null, bbox.getMinX(), false, true);
+      Query qXDLRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), bbox.getMaxX(), null, true, false);
+      Query qXDLLeftRight = this.makeXDL(true, this.makeQuery(BooleanClause.Occur.MUST, qXDLLeft, qXDLRight));
+
+      Query qWorld = makeQuery(BooleanClause.Occur.MUST,
+          makeNumberTermQuery(field_minX, -180), makeNumberTermQuery(field_maxX, 180));
+
+      xConditions = makeQuery(BooleanClause.Occur.SHOULD, qXDLLeftRight, qWorld);
+    }
+
+    // both X and Y conditions must occur
+    return this.makeQuery(BooleanClause.Occur.MUST, xConditions, yConditions);
+  }
+
+  /**
+   * Constructs a query to retrieve documents that are disjoint to the input envelope.
+   *
+   * @return the spatial query
+   */
+  Query makeDisjoint(Rectangle bbox) {
+
+    // general case
+    // docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX() OR docMinY > queryExtent.getMaxY() OR docMaxY < queryExtent.getMinY()
+
+    // Y conditions
+    // docMinY > queryExtent.getMaxY() OR docMaxY < queryExtent.getMinY()
+    Query qMinY = LegacyNumericRangeQuery.newDoubleRange(field_minY, getPrecisionStep(), bbox.getMaxY(), null, false, false);
+    Query qMaxY = LegacyNumericRangeQuery.newDoubleRange(field_maxY, getPrecisionStep(), null, bbox.getMinY(), false, false);
+    Query yConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qMinY, qMaxY);
+
+    // X conditions
+    Query xConditions;
+
+    // queries that do not cross the date line
+    if (!bbox.getCrossesDateLine()) {
+
+      // X Conditions for documents that do not cross the date line,
+      // docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX()
+      Query qMinX = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
+      if (bbox.getMinX() == -180.0 && ctx.isGeo()) {//touches dateline; -180 == 180
+        BooleanQuery.Builder bq = new BooleanQuery.Builder();
+        bq.add(qMinX, BooleanClause.Occur.MUST);
+        bq.add(makeNumberTermQuery(field_maxX, 180.0), BooleanClause.Occur.MUST_NOT);
+        qMinX = bq.build();
+      }
+      Query qMaxX = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
+      if (bbox.getMaxX() == 180.0 && ctx.isGeo()) {//touches dateline; -180 == 180
+        BooleanQuery.Builder bq = new BooleanQuery.Builder();
+        bq.add(qMaxX, BooleanClause.Occur.MUST);
+        bq.add(makeNumberTermQuery(field_minX, -180.0), BooleanClause.Occur.MUST_NOT);
+        qMaxX = bq.build();
+      }
+      Query qMinMax = this.makeQuery(BooleanClause.Occur.SHOULD, qMinX, qMaxX);
+      Query qNonXDL = this.makeXDL(false, qMinMax);
+
+      if (!ctx.isGeo()) {
+        xConditions = qNonXDL;
+      } else {
+        // X Conditions for documents that cross the date line,
+
+        // both the left and right portions of the document must be disjoint to the query
+        // (docMinXLeft > queryExtent.getMaxX() OR docMaxXLeft < queryExtent.getMinX()) AND
+        // (docMinXRight > queryExtent.getMaxX() OR docMaxXRight < queryExtent.getMinX())
+        // where: docMaxXLeft = 180.0, docMinXRight = -180.0
+        // (docMaxXLeft  < queryExtent.getMinX()) equates to (180.0  < queryExtent.getMinX()) and is ignored
+        // (docMinXRight > queryExtent.getMaxX()) equates to (-180.0 > queryExtent.getMaxX()) and is ignored
+        Query qMinXLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
+        Query qMaxXRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
+        Query qLeftRight = this.makeQuery(BooleanClause.Occur.MUST, qMinXLeft, qMaxXRight);
+        Query qXDL = this.makeXDL(true, qLeftRight);
+
+        // apply the non-XDL and XDL conditions
+        xConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qNonXDL, qXDL);
+      }
+      // queries that cross the date line
+    } else {
+
+      // X Conditions for documents that do not cross the date line,
+      // the document must be disjoint to both the left and right query portions
+      // (docMinX > queryExtent.getMaxX()Left OR docMaxX < queryExtent.getMinX()) AND (docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX()Left)
+      // where: queryExtent.getMaxX()Left = 180.0, queryExtent.getMinX()Left = -180.0
+      Query qMinXLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), 180.0, null, false, false);
+      Query qMaxXLeft = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
+      Query qMinXRight = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
+      Query qMaxXRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, -180.0, false, false);
+      Query qLeft = this.makeQuery(BooleanClause.Occur.SHOULD, qMinXLeft, qMaxXLeft);
+      Query qRight = this.makeQuery(BooleanClause.Occur.SHOULD, qMinXRight, qMaxXRight);
+      Query qLeftRight = this.makeQuery(BooleanClause.Occur.MUST, qLeft, qRight);
+
+      // No need to search for documents that do not cross the date line
+
+      xConditions = this.makeXDL(false, qLeftRight);
+    }
+
+    // either X or Y conditions should occur
+    return this.makeQuery(BooleanClause.Occur.SHOULD, xConditions, yConditions);
+  }
+
+  /**
+   * Constructs a query to retrieve documents that equal the input envelope.
+   *
+   * @return the spatial query
+   */
+  Query makeEquals(Rectangle bbox) {
+
+    // docMinX = queryExtent.getMinX() AND docMinY = queryExtent.getMinY() AND docMaxX = queryExtent.getMaxX() AND docMaxY = queryExtent.getMaxY()
+    Query qMinX = makeNumberTermQuery(field_minX, bbox.getMinX());
+    Query qMinY = makeNumberTermQuery(field_minY, bbox.getMinY());
+    Query qMaxX = makeNumberTermQuery(field_maxX, bbox.getMaxX());
+    Query qMaxY = makeNumberTermQuery(field_maxY, bbox.getMaxY());
+    return makeQuery(BooleanClause.Occur.MUST, qMinX, qMinY, qMaxX, qMaxY);
+  }
+
+  /**
+   * Constructs a query to retrieve documents that intersect the input envelope.
+   *
+   * @return the spatial query
+   */
+  Query makeIntersects(Rectangle bbox) {
+
+    // the original intersects query does not work for envelopes that cross the date line,
+    // switch to a NOT Disjoint query
+
+    // MUST_NOT causes a problem when it's the only clause type within a BooleanQuery,
+    // to get around it we add all documents as a SHOULD
+
+    // there must be an envelope, it must not be disjoint
+    Query qHasEnv;
+    if (ctx.isGeo()) {
+      Query qIsNonXDL = this.makeXDL(false);
+      Query qIsXDL = ctx.isGeo() ? this.makeXDL(true) : null;
+      qHasEnv = this.makeQuery(BooleanClause.Occur.SHOULD, qIsNonXDL, qIsXDL);
+    } else {
+      qHasEnv = this.makeXDL(false);
+    }
+
+    BooleanQuery.Builder qNotDisjoint = new BooleanQuery.Builder();
+    qNotDisjoint.add(qHasEnv, BooleanClause.Occur.MUST);
+    Query qDisjoint = makeDisjoint(bbox);
+    qNotDisjoint.add(qDisjoint, BooleanClause.Occur.MUST_NOT);
+
+    //Query qDisjoint = makeDisjoint();
+    //BooleanQuery qNotDisjoint = new BooleanQuery();
+    //qNotDisjoint.add(new MatchAllDocsQuery(),BooleanClause.Occur.SHOULD);
+    //qNotDisjoint.add(qDisjoint,BooleanClause.Occur.MUST_NOT);
+    return qNotDisjoint.build();
+  }
+
+  /**
+   * Makes a boolean query based upon a collection of queries and a logical operator.
+   *
+   * @param occur the logical operator
+   * @param queries the query collection
+   * @return the query
+   */
+  BooleanQuery makeQuery(BooleanClause.Occur occur, Query... queries) {
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
+    for (Query query : queries) {
+      if (query != null)
+        bq.add(query, occur);
+    }
+    return bq.build();
+  }
+
+  /**
+   * Constructs a query to retrieve documents are fully within the input envelope.
+   *
+   * @return the spatial query
+   */
+  Query makeWithin(Rectangle bbox) {
+
+    // general case
+    // docMinX >= queryExtent.getMinX() AND docMinY >= queryExtent.getMinY() AND docMaxX <= queryExtent.getMaxX() AND docMaxY <= queryExtent.getMaxY()
+
+    // Y conditions
+    // docMinY >= queryExtent.getMinY() AND docMaxY <= queryExtent.getMaxY()
+    Query qMinY = LegacyNumericRangeQuery.newDoubleRange(field_minY, getPrecisionStep(), bbox.getMinY(), null, true, false);
+    Query qMaxY = LegacyNumericRangeQuery.newDoubleRange(field_maxY, getPrecisionStep(), null, bbox.getMaxY(), false, true);
+    Query yConditions = this.makeQuery(BooleanClause.Occur.MUST, qMinY, qMaxY);
+
+    // X conditions
+    Query xConditions;
+
+    if (ctx.isGeo() && bbox.getMinX() == -180.0 && bbox.getMaxX() == 180.0) {
+      //if query world-wraps, only the y condition matters
+      return yConditions;
+
+    } else if (!bbox.getCrossesDateLine()) {
+      // queries that do not cross the date line
+
+      // docMinX >= queryExtent.getMinX() AND docMaxX <= queryExtent.getMaxX()
+      Query qMinX = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMinX(), null, true, false);
+      Query qMaxX = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMaxX(), false, true);
+      Query qMinMax = this.makeQuery(BooleanClause.Occur.MUST, qMinX, qMaxX);
+
+      double edge = 0;//none, otherwise opposite dateline of query
+      if (bbox.getMinX() == -180.0)
+        edge = 180;
+      else if (bbox.getMaxX() == 180.0)
+        edge = -180;
+      if (edge != 0 && ctx.isGeo()) {
+        Query edgeQ = makeQuery(BooleanClause.Occur.MUST,
+            makeNumberTermQuery(field_minX, edge), makeNumberTermQuery(field_maxX, edge));
+        qMinMax = makeQuery(BooleanClause.Occur.SHOULD, qMinMax, edgeQ);
+      }
+
+      xConditions = this.makeXDL(false, qMinMax);
+
+      // queries that cross the date line
+    } else {
+
+      // X Conditions for documents that do not cross the date line
+
+      // the document should be within the left portion of the query
+      // docMinX >= queryExtent.getMinX() AND docMaxX <= 180.0
+      Query qMinXLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMinX(), null, true, false);
+      Query qMaxXLeft = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, 180.0, false, true);
+      Query qLeft = this.makeQuery(BooleanClause.Occur.MUST, qMinXLeft, qMaxXLeft);
+
+      // the document should be within the right portion of the query
+      // docMinX >= -180.0 AND docMaxX <= queryExtent.getMaxX()
+      Query qMinXRight = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), -180.0, null, true, false);
+      Query qMaxXRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMaxX(), false, true);
+      Query qRight = this.makeQuery(BooleanClause.Occur.MUST, qMinXRight, qMaxXRight);
+
+      // either left or right conditions should occur,
+      // apply the left and right conditions to documents that do not cross the date line
+      Query qLeftRight = this.makeQuery(BooleanClause.Occur.SHOULD, qLeft, qRight);
+      Query qNonXDL = this.makeXDL(false, qLeftRight);
+
+      // X Conditions for documents that cross the date line,
+      // the left portion of the document must be within the left portion of the query,
+      // AND the right portion of the document must be within the right portion of the query
+      // docMinXLeft >= queryExtent.getMinX() AND docMaxXLeft <= 180.0
+      // AND docMinXRight >= -180.0 AND docMaxXRight <= queryExtent.getMaxX()
+      Query qXDLLeft = LegacyNumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMinX(), null, true, false);
+      Query qXDLRight = LegacyNumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMaxX(), false, true);
+      Query qXDLLeftRight = this.makeQuery(BooleanClause.Occur.MUST, qXDLLeft, qXDLRight);
+      Query qXDL = this.makeXDL(true, qXDLLeftRight);
+
+      // apply the non-XDL and XDL conditions
+      xConditions = this.makeQuery(BooleanClause.Occur.SHOULD, qNonXDL, qXDL);
+    }
+
+    // both X and Y conditions must occur
+    return this.makeQuery(BooleanClause.Occur.MUST, xConditions, yConditions);
+  }
+
+  /**
+   * Constructs a query to retrieve documents that do or do not cross the date line.
+   *
+   * @param crossedDateLine <code>true</true> for documents that cross the date line
+   * @return the query
+   */
+  private Query makeXDL(boolean crossedDateLine) {
+    // The 'T' and 'F' values match solr fields
+    return new TermQuery(new Term(field_xdl, crossedDateLine ? "T" : "F"));
+  }
+
+  /**
+   * Constructs a query to retrieve documents that do or do not cross the date line
+   * and match the supplied spatial query.
+   *
+   * @param crossedDateLine <code>true</true> for documents that cross the date line
+   * @param query the spatial query
+   * @return the query
+   */
+  private Query makeXDL(boolean crossedDateLine, Query query) {
+    if (!ctx.isGeo()) {
+      assert !crossedDateLine;
+      return query;
+    }
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
+    bq.add(this.makeXDL(crossedDateLine), BooleanClause.Occur.MUST);
+    bq.add(query, BooleanClause.Occur.MUST);
+    return bq.build();
+  }
+
+  private Query makeNumberTermQuery(String field, double number) {
+    BytesRefBuilder bytes = new BytesRefBuilder();
+    LegacyNumericUtils.longToPrefixCodedBytes(LegacyNumericUtils.doubleToSortableLong(number), 0, bytes);
+    return new TermQuery(new Term(field, bytes.get()));
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
new file mode 100644
index 0000000..5d95407
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
@@ -0,0 +1,115 @@
+/*
+ * 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.lucene.spatial.bbox;
+
+import com.spatial4j.core.shape.Rectangle;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.util.Bits;
+
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * A ValueSource in which the indexed Rectangle is returned from
+ * {@link org.apache.lucene.queries.function.FunctionValues#objectVal(int)}.
+ *
+ * @lucene.internal
+ */
+class BBoxValueSource extends ValueSource {
+
+  private final BBoxStrategy strategy;
+
+  public BBoxValueSource(BBoxStrategy strategy) {
+    this.strategy = strategy;
+  }
+
+  @Override
+  public String description() {
+    return "bboxShape(" + strategy.getFieldName() + ")";
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+    LeafReader reader = readerContext.reader();
+    final NumericDocValues minX = DocValues.getNumeric(reader, strategy.field_minX);
+    final NumericDocValues minY = DocValues.getNumeric(reader, strategy.field_minY);
+    final NumericDocValues maxX = DocValues.getNumeric(reader, strategy.field_maxX);
+    final NumericDocValues maxY = DocValues.getNumeric(reader, strategy.field_maxY);
+
+    final Bits validBits = DocValues.getDocsWithField(reader, strategy.field_minX);//could have chosen any field
+    //reused
+    final Rectangle rect = strategy.getSpatialContext().makeRectangle(0,0,0,0);
+
+    return new FunctionValues() {
+      @Override
+      public Object objectVal(int doc) {
+        if (!validBits.get(doc)) {
+          return null;
+        } else {
+          rect.reset(
+              Double.longBitsToDouble(minX.get(doc)), Double.longBitsToDouble(maxX.get(doc)),
+              Double.longBitsToDouble(minY.get(doc)), Double.longBitsToDouble(maxY.get(doc)));
+          return rect;
+        }
+      }
+
+      @Override
+      public String strVal(int doc) {//TODO support WKT output once Spatial4j does
+        Object v = objectVal(doc);
+        return v == null ? null : v.toString();
+      }
+
+      @Override
+      public boolean exists(int doc) {
+        return validBits.get(doc);
+      }
+
+      @Override
+      public Explanation explain(int doc) {
+        return Explanation.match(Float.NaN, toString(doc));
+      }
+
+      @Override
+      public String toString(int doc) {
+        return description() + '=' + strVal(doc);
+      }
+    };
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    BBoxValueSource that = (BBoxValueSource) o;
+
+    if (!strategy.equals(that.strategy)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return strategy.hashCode();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/package-info.java
new file mode 100644
index 0000000..a229311
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+/**
+ * Bounding Box Spatial Strategy
+ * <p>
+ * Index a shape extent using 4 numeric fields and a flag to say if it crosses the dateline
+ */
+package org.apache.lucene.spatial.bbox;
\ No newline at end of file


[12/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
index 310399f..b62747f 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.ByteArrayOutputStream;
 import java.io.Closeable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
index 2c832da..833088b 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyRevisionTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
index 3f91013..3059e0d 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
index 6ebdd15..ff50abc 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexRevisionTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.InputStream;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
index 3c9a8d1..da60377 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/LocalReplicatorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java b/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
index 410d551..a6045b5 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/ReplicatorTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.util.Random;
 import java.util.concurrent.TimeUnit;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/SessionTokenTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/SessionTokenTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/SessionTokenTest.java
index 7416f1c..d595a7d 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/SessionTokenTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/SessionTokenTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
index ecbe3b6..1143d9a 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator.http;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator.http;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator.http;
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/replicator/src/test/org/apache/lucene/replicator/http/ReplicationServlet.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/http/ReplicationServlet.java b/lucene/replicator/src/test/org/apache/lucene/replicator/http/ReplicationServlet.java
index 11b34a7..ccafc2a 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/http/ReplicationServlet.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/http/ReplicationServlet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.replicator.http;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.replicator.http;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.replicator.http;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsFormat.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsFormat.java
index 042e361..53b64dc 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsFormat.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
index d6a6a61..ce73e40 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsWriter.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsWriter.java
index 9d25fd3..334f784 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsWriter.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
index 138bb59..dbb2981 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnumFrame.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnumFrame.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnumFrame.java
index f789d76..6d26077 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnumFrame.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnumFrame.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionTermState.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionTermState.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionTermState.java
index 227f3f8..27f766d 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionTermState.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionTermState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import org.apache.lucene.codecs.BlockTermState;
 import org.apache.lucene.index.TermState;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsEnum.java
index 5bba79c..87886d3 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SinglePostingsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SinglePostingsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SinglePostingsEnum.java
index 04b9480..d65423a 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SinglePostingsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SinglePostingsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import org.apache.lucene.index.PostingsEnum;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java
index 1f892fa..167bb48 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java
index 8866dee..b49ea79 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java
index 05ab818..581201f 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/package-info.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/package-info.java
index 43c3ec2..cccb9a6 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/package-info.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * A primary-key postings format that associates a version (long) with each term and
  * can provide fail-fast lookups by ID and version.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java b/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
index be70db5..ad1483d 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
 
 import org.apache.lucene.index.DocValuesType;
 import org.apache.lucene.index.IndexOptions;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
index ac52b00..71d9527 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
 
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.GeoUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanCollector.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanCollector.java b/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanCollector.java
index 690bbcc..cbade08 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanCollector.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.payloads;
 
 import org.apache.lucene.index.PostingsEnum;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanUtil.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanUtil.java b/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanUtil.java
index 6c9ced2..400e42c 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanUtil.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/payloads/PayloadSpanUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.payloads;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/payloads/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/payloads/package-info.java b/lucene/sandbox/src/java/org/apache/lucene/payloads/package-info.java
index b2a6bb3..a42da0c 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/payloads/package-info.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/payloads/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Experimental classes for interacting with payloads
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
index a920537..adfa9d3 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.sandbox.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.sandbox.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.sandbox.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyQuery.java b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyQuery.java
index 42098c1..fb4c202 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.sandbox.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.sandbox.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.sandbox.queries;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
index 5f4dfcf..21724bd 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.sandbox.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.sandbox.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.sandbox.queries;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/package-info.java b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/package-info.java
index 499403f..7766b8a 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/package-info.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Additional queries (some may have caveats or limitations)
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
index f48b96c..d9ad4be 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.document.NumericDocValuesField;
 import org.apache.lucene.document.SortedNumericDocValuesField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
index a45e4b0..8105968 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
index 7a0ea8e..5faddc1 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.AbstractList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
index 3e3650d..c2c92ea 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.util.GeoUtils;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
index 21f2768..a77798b 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.util.GeoDistanceUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
index 8de7f9f..ef2155b 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
index 7ebaf99..5324a6d 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.util.GeoProjectionUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
index bdd6c9f..0926a4f 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.util.GeoUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
index f192c73..b385a54 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
index 950beae..abdcf95 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
index 48de1cc..5ec0774 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.util.GeoUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
index e9099ac..e00bb72 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
index 38f4d22..e2f96d4 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.util.Collections;
 import java.util.LinkedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
index 81e49e7..861a109 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
index 9af6097..6ef1703 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
index 60b1e68..e9321df 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java b/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java
index 31d55fc..9c5cf7f 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
index e8f838b..cac0783 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/TokenStreamToTermAutomatonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
index 8ad09b9..9134709 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import static org.apache.lucene.util.SloppyMath.TO_RADIANS;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
index e5a6e46..d421cc9 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
index 4ff80f2..7e285da 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import static org.apache.lucene.util.SloppyMath.PIO2;
 import static org.apache.lucene.util.SloppyMath.TO_DEGREES;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
index 1e9317c..f8cf1da 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 /** Represents a lat/lon rectangle. */
 public class GeoRect {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
index 9d42ba1..092b949 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/util/GeoRelationUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 /**
  * Reusable geo-relation utility methods

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
index 5239e5a..a2d0fd1 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/util/GeoUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.ArrayList;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java b/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java
index 41624f3..ddfce17 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java b/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
index 5a7a3d6..efbd6ad 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/TestIDVersionPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.idversion;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.idversion;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.idversion;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/payloads/TestPayloadSpanUtil.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/payloads/TestPayloadSpanUtil.java b/lucene/sandbox/src/test/org/apache/lucene/payloads/TestPayloadSpanUtil.java
index b081644..ecf2ff6 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/payloads/TestPayloadSpanUtil.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/payloads/TestPayloadSpanUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.payloads;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java b/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
index 64cc5f2..b321494 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.sandbox.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.sandbox.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.sandbox.queries;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery.java b/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery.java
index 731d060..4b4aa38 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.sandbox.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.sandbox.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.sandbox.queries;
 
 import java.util.List;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java b/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java
index 637b8ae..84145a1 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.sandbox.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.sandbox.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.sandbox.queries;
 
 import java.io.BufferedReader;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java
index 65ae541..06c2d23 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field.Store;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java
index 694fcda..7960ce0 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java
index 5f4c63c..6e99492 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
index 796336c..96b5713 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.SortedDocValuesField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
index 9763d6e..a91cbd6 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
index 1a9e2c7..e898f1c 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestLatLonPointQueries.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import org.apache.lucene.document.LatLonPoint;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
index 6b1538c..b5e784e 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java b/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
index 42adeab..5a469db 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/util/BaseGeoPointTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 import java.text.DecimalFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java b/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
index cf0576d..5650614 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/util/TestGeoUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
index c56da58..f433c11 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Point;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
index 4752052..15cd646 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.bbox;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.bbox;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.bbox;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
index 934b3b9..9bae0dc 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.bbox;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.bbox;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.bbox;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Point;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
index 10fa7b9..5d95407 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.bbox;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.bbox;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.bbox;
 
 import com.spatial4j.core.shape.Rectangle;
 import org.apache.lucene.index.LeafReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
index c19529f..19e9fd3 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Bounding Box Spatial Strategy
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
index 6522862..7dc2dfa 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeSpatialStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.composite;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.composite;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.composite;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
index 1ae1326..e03d959 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.composite;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.composite;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.composite;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
index 7810c21..a963b6e 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.composite;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.composite;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.composite;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
index c207ea6..04cb9fc 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/composite/package-info.java
@@ -14,6 +14,5 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** Composite strategies. */
 package org.apache.lucene.spatial.composite;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
index 9e768b6..8a4b1d1 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Lucene spatial search
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
index b0def9b..127e689 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
index c70cedb..2237ca9 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/AbstractVisitingPrefixTreeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
index 071edf4..e724ab0 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
index ac7e54a..0b81b26 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.util.Iterator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
index 3e86948..7eadb64 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
index d6d98f2..c6700cd 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.HashMap;


[75/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/states-poly.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/states-poly.txt b/lucene/spatial-extras/src/test-files/data/states-poly.txt
new file mode 100644
index 0000000..e210c39
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/states-poly.txt
@@ -0,0 +1,52 @@
+#id	name	shape
+HI	Hawaii	MULTIPOLYGON (((-160.07380334546815 22.00417734795773, -160.0497093454457 21.988164347942817, -160.0898583454831 21.915870347875487, -160.17013734555786 21.867596347830528, -160.20225934558778 21.795308347763203, -160.24240634562517 21.803280347770627, -160.2263363456102 21.891592347852875, -160.121962345513 21.96397834792029, -160.07380334546815 22.00417734795773)), ((-159.33517434478023 21.94834334790573, -159.43954534487744 21.86807134783097, -159.57602134500453 21.88413634784593, -159.64024734506435 21.94836534790575, -159.7365923451541 21.9644203479207, -159.8008143452139 22.036666347987985, -159.71250634513166 22.14905934809266, -159.57601234500453 22.213179348152376, -159.39136734483256 22.229120348167225, -159.34319534478772 22.197016348137325, -159.29502534474284 22.12481234807008, -159.32713034477274 22.044639347995414, -159.33517434478023 21.94834334790573)), ((-157.67333034323252 21.298027347300074, -157.68137134324002 21.273942347277643, -157.7215013432774 21.
 281971347285122, -157.8258713433746 21.249863347255218, -157.89813434344188 21.330144347329988, -157.94630634348675 21.30606134730756, -158.0988333436288 21.290008347292606, -158.13095134365872 21.354232347352422, -158.23531834375592 21.47465234746457, -158.24334234376337 21.538879347524386, -158.26743134378583 21.58704234756924, -158.11489434364375 21.579016347561765, -158.04262634357644 21.675350347651484, -157.98642834352412 21.699433347673914, -157.91417934345682 21.6352083476141, -157.84995934339702 21.506758347494472, -157.80981534335962 21.43450534742718, -157.76164334331477 21.45858734744961, -157.7134723432699 21.386335347382317, -157.67333034323252 21.298027347300074)), ((-156.71787234234267 21.137419347150498, -156.76604834238753 21.065176347083217, -156.88648434249973 21.049134347068275, -157.0711323426717 21.105331347120615, -157.28789734287355 21.081250347098187, -157.3039483428885 21.137448347150524, -157.24774734283616 21.161530347172953, -157.2316943428212 21.233776
 347240237, -157.16747134276142 21.19364034720286, -157.00690334261185 21.18561034719538, -156.9925463425985 21.195420347204514, -156.958733342567 21.209693347217808, -156.94334634255267 21.172778347183428, -156.91424234252557 21.167372347178393, -156.9102143425218 21.158045347169708, -156.71787234234267 21.137419347150498)), ((-157.03905034264181 20.92870734695612, -156.91058634252215 20.92871834695613, -156.80620534242496 20.840418346873893, -156.81422534243242 20.792252346829034, -156.88648734249972 20.736049346776692, -156.9667653425745 20.728020346769213, -156.99086334259692 20.792237346829022, -156.98282634258945 20.832377346866405, -157.05509834265675 20.88053834691126, -157.03905034264181 20.92870734695612)), ((-156.1960453418567 20.631649346679463, -156.27631734193145 20.583484346634606, -156.3967353420436 20.567427346619652, -156.436879342081 20.623621346671985, -156.46097234210342 20.727981346769177, -156.49307434213333 20.792204346828992, -156.52519334216322 20.7761493468
 14037, -156.63758634226792 20.808261346843945, -156.69378234232025 20.91262434694114, -156.65363634228285 21.016985347038336, -156.59743934223053 21.04106434706076, -156.52519134216323 20.984870347008425, -156.47702234211837 20.896565346926185, -156.35660334200622 20.944726346971038, -156.2602633419165 20.928671346956087, -156.0113923416847 20.800225346836463, -155.9873173416623 20.752061346791606, -156.04351134171463 20.655732346701893, -156.13180934179687 20.623623346671987, -156.1960453418567 20.631649346679463)), ((-155.66619234136323 18.92178634508703, -155.7785853414679 19.01009234516927, -155.85886134154265 19.01010134516928, -155.90703134158753 19.130513345281422, -155.87492734155762 19.371358345505726, -155.94717834162492 19.4837503456104, -155.97125834164734 19.628252345744976, -156.04352434171466 19.78078334588703, -155.97930134165483 19.820922345924416, -155.88295834156511 19.933312346029084, -155.82676134151276 20.005563346096373, -155.83478634152024 20.06175734614871, 
 -155.89097834157258 20.174149346253383, -155.85885834154266 20.270479346343098, -155.73844234143053 20.206256346283283, -155.56182634126603 20.134007346216, -155.20055034092957 19.99752834608889, -155.09618534083236 19.877114345976747, -155.07210634080994 19.724585345834694, -154.97576334072022 19.740643345849648, -154.97576234072022 19.652335345767405, -154.79109634054822 19.53996034566275, -154.81518734057067 19.459676345587976, -154.92758134067535 19.41951834555058, -155.01588134075757 19.331211345468336, -155.1523723408847 19.266992345408525, -155.30489934102675 19.23487834537862, -155.52167834122864 19.122484345273943, -155.5377293412436 19.04221034519918, -155.66619234136323 18.92178634508703)))
+WA	Washington	MULTIPOLYGON (((-122.40201531038355 48.22521637237797, -122.4628553104402 48.22836337238091, -122.45441931043234 48.128492372287894, -122.36133331034566 48.06009737222419, -122.51451131048832 48.133973372293, -122.54207431051398 48.21046037236424, -122.5091303104833 48.25379337240459, -122.40440431038577 48.24659437239789, -122.37832031036149 48.28972137243805, -122.56436631053475 48.414246372554025, -122.66703231063036 48.41289537255277, -122.69941331066052 48.4943283726286, -122.60817831057555 48.51882437265142, -122.52322831049644 48.45840337259515, -122.47383331045043 48.46219537259868, -122.50529931047973 48.55944437268925, -122.4295453104092 48.59939737272646, -122.48779831046343 48.63857037276294, -122.52655831049954 48.71172437283107, -122.51685331049049 48.757921372874094, -122.69740431065864 48.80301537291609, -122.75424231071159 48.90998837301572, -122.82242131077507 48.95072537305366, -122.74394031070199 48.95580837305839, -122.76511931072172 48.99974637309
 931, -120.85705930894468 48.99983037309939, -118.84360330706951 48.999898373099455, -118.20035430647044 48.999908373099466, -117.43858030576098 48.999918373099476, -117.03204930538237 48.999931373099486, -117.02911130537964 48.838075372948744, -117.03886830538872 48.04618637221124, -117.03747230538742 47.9710923721413, -117.04179430539145 47.36144137157352, -117.04239230539201 47.25850137147765, -117.04096830539069 47.11931937134803, -117.04192630539157 46.53660137080533, -117.03855830538843 46.42798037070417, -117.04447030539394 46.38857437066747, -117.06418430541231 46.34869837063033, -117.02797330537858 46.33542737061797, -117.00164230535405 46.30244837058726, -116.97272530532712 46.24930937053777, -116.96749030532226 46.19755437048957, -116.9294263052868 46.1654833704597, -116.9616373053168 46.09727437039618, -116.98721130534062 46.0785093703787, -116.95772330531315 46.06568737036676, -116.91913230527722 45.995175370301084, -117.4816633058011 45.99983437030543, -117.602826305913
 95 46.00026837030583, -117.98267730626772 45.99988037030547, -117.99252730627688 46.0016393703071, -118.98213330719852 45.99905837030471, -119.03222130724518 45.96627437027417, -119.14025030734578 45.92570837023639, -119.17874230738164 45.922351370233265, -119.30276330749714 45.932662370242866, -119.37944130756856 45.91761037022885, -119.4388613076239 45.91426837022574, -119.51222030769222 45.8992003702117, -119.58929430776399 45.91331537022485, -119.62211630779456 45.899410370211896, -119.67844530784703 45.852539370168245, -119.83355630799147 45.84160937015807, -119.86973530802518 45.83169837014884, -119.9943203081412 45.81114037012969, -120.06864830821043 45.78020237010088, -120.1559083082917 45.76126137008324, -120.20744530833969 45.71978437004461, -120.28363530841065 45.71658337004163, -120.44338330855942 45.6892793700162, -120.49915630861136 45.695630370022116, -120.57008230867743 45.74091837006429, -120.62375730872742 45.743610370066804, -120.65840330875969 45.73261237005656, 
 -120.69699430879562 45.71050937003597, -120.86141930894875 45.66518636999376, -120.90793730899208 45.6354773699661, -120.94857330902992 45.65031636997991, -120.96847830904846 45.6451543699751, -121.033482309109 45.65284436998227, -121.07353030914629 45.64661036997646, -121.12520430919443 45.60705936993963, -121.17431630924017 45.60051636993353, -121.19205430925669 45.61324236994538, -121.20330830926716 45.657287369986406, -121.21427130927736 45.66564536999419, -121.27639130933522 45.67834037000601, -121.31997730937582 45.696642370023056, -121.36781430942037 45.699686370025894, -121.42202930947087 45.690603370017435, -121.44255230948997 45.6949673700215, -121.52905430957054 45.71956737004441, -121.70641730973571 45.688793370015745, -121.7586943097844 45.68971637001661, -121.81104130983316 45.70068337002682, -121.88828330990509 45.67685637000463, -121.92682030994098 45.642028369972195, -121.97265930998367 45.63577636996637, -122.00001131000914 45.61782436994965, -122.08203731008555 45
 .590504369924204, -122.24492231023724 45.54811236988473, -122.30315031029147 45.54309236988006, -122.35645731034111 45.56617136990155, -122.43715431041628 45.56477936990025, -122.56542931053573 45.59481836992823, -122.65120931061563 45.606830369939416, -122.69632331065765 45.63104536996197, -122.76054131071746 45.649397369979056, -122.77255131072863 45.72768537005197, -122.76428831072094 45.760568370082595, -122.78800931074304 45.800343370119634, -122.78451631073978 45.8504493701663, -122.78407331073936 45.867886370182546, -122.80622331076 45.90407237021624, -122.8077413107614 45.94389037025333, -122.87541731082445 46.0271833703309, -122.89975731084711 46.07932937037946, -122.97416931091641 46.110483370408474, -123.05059631098759 46.155736370450626, -123.11855431105087 46.17931037047258, -123.17619631110456 46.18358637047656, -123.2124373111383 46.17000637046391, -123.24879931117218 46.14402037043971, -123.30471731122425 46.14473737044038, -123.4707733113789 46.27502337056171, -123.
 62007631151795 46.25866537054648, -123.7254593116161 46.28542337057141, -123.88577131176541 46.2404383705295, -123.99332931186558 46.31027437059455, -124.07910731194546 46.267259370554484, -124.0655103119328 46.639745370901394, -124.02304331189325 46.58354137084905, -124.0130023118839 46.383680370662915, -123.84145131172413 46.404343370682156, -123.94069331181655 46.481115370753656, -123.89356731177267 46.51107937078156, -123.95771231183241 46.61722537088042, -123.92647031180331 46.67306037093242, -123.84096631172368 46.71828837097454, -123.8955423117745 46.7449863709994, -124.04315831191198 46.71585537097228, -124.09104931195658 46.72902237098454, -124.10206731196683 46.78946937104083, -124.13882731200107 46.89998537114376, -124.10576031197029 46.908148371151356, -124.10473831196933 46.874145371119695, -124.02880831189862 46.823767371072776, -124.04692931191549 46.887253371131905, -123.81265531169731 46.963965371203344, -123.99586431186793 46.97638537121491, -124.03439431190381 47.
 031033371265806, -124.11236131197643 47.042675371276644, -124.16203631202269 46.92961237117135, -124.19273331205127 47.16698237139242, -124.23142531208731 47.275070371493086, -124.31942731216927 47.34923837156216, -124.34908031219689 47.526910371727624, -124.37360531221972 47.6387633718318, -124.48403531232259 47.80825537198965, -124.60668531243681 47.87373537205063, -124.73276931255424 48.149989372307914, -124.70520931252857 48.23199637238429, -124.71717531253971 48.37755737251986, -124.56354731239662 48.35727837250097, -123.99121531186361 48.15916137231646, -123.39685731131007 48.11103037227163, -123.12322231105523 48.14873337230675, -122.92159431086745 48.09417937225594, -122.92484431087047 48.066796372230435, -122.84111131079248 48.13313637229222, -122.76888231072522 48.14399437230233, -122.80293131075693 48.08532137224769, -122.66156031062528 47.91715737209107, -122.65358531061784 47.86443137204197, -122.7458703107038 47.80898837199034, -122.7898013107447 47.80254837198434, -12
 2.80951731076306 47.85707537203512, -122.85880431080896 47.827328372007415, -122.89936331084674 47.672517371863236, -122.9827443109244 47.605474371800796, -123.11391531104655 47.45627337166184, -123.15406031108395 47.348547371561516, -123.01047131095021 47.35302737156569, -122.83324731078517 47.43846437164525, -123.03620631097418 47.3560513715685, -123.11268531104541 47.37156937158295, -123.026336310965 47.51593637171741, -122.91696931086314 47.6146063718093, -122.75294231071038 47.66068837185222, -122.72306231068254 47.75689937194182, -122.61116231057832 47.85000837202854, -122.61321731058024 47.9361893721088, -122.5318883105045 47.90946137208391, -122.4735883104502 47.754980371940036, -122.62150931058797 47.69696837188601, -122.58646031055532 47.57119137176887, -122.55526231052627 47.58350537178033, -122.54270231051457 47.52273437172374, -122.50446131047896 47.50721637170929, -122.55844631052923 47.398363371607914, -122.5441253105159 47.373927371585154, -122.588254310557 47.333929
 371547896, -122.55315631052432 47.28333237150078, -122.5805303105498 47.251387371471026, -122.61154631057869 47.29339837151015, -122.60691431057438 47.2705713714889, -122.69974431066083 47.29208537150893, -122.62875431059472 47.39855337160809, -122.6374363106028 47.39858037160811, -122.74154931069975 47.341450371554906, -122.76970831072599 47.26615637148478, -122.71980131067951 47.22313137144471, -122.7612383107181 47.162496371388244, -122.82510831077758 47.234826371455604, -122.77333531072937 47.3373603715511, -122.80218431075623 47.360740371572874, -122.88037331082904 47.299233371515584, -123.11543631104797 47.207981371430606, -123.08120031101609 47.09005837132078, -123.03134831096966 47.10077437133076, -122.92315031086889 47.04796337128157, -122.79004831074494 47.125859371354125, -122.72818631068732 47.082441371313685, -122.70007931066114 47.09832537132848, -122.5918063105603 47.18006037140459, -122.53076331050346 47.28745637150462, -122.54658831051819 47.31627637153146, -122.424
 09431040412 47.25947237147855, -122.39284331037501 47.27772237149556, -122.44160431042042 47.301125371517344, -122.42083731040108 47.31884437153385, -122.32537631031218 47.34432337155758, -122.31973831030692 47.39011537160023, -122.3926333103748 47.5102423717121, -122.38222031036511 47.59540937179142, -122.41481531039547 47.664180371855466, -122.39449231037653 47.77417637195791, -122.30292231029125 47.95021437212186, -122.23012131022347 47.96911337213946, -122.21699231021123 48.007439372175156, -122.36833331035217 48.12814137228757, -122.40201531038355 48.22521637237797)), ((-122.96797831091064 48.44379437258154, -123.09523331102915 48.47942237261472, -123.15972031108922 48.521842372654234, -123.1698993110987 48.56256437269215, -123.14105331107183 48.62364737274905, -123.10372131103706 48.60837737273482, -123.01209531095174 48.557477372687416, -123.00869831094857 48.53371937266529, -122.96798031091063 48.526933372658974, -123.0222713109612 48.513359372646335, -123.01888331095805 48.
 48960537262421, -122.96797831091064 48.44379437258154)), ((-122.73318731069197 48.27664737242587, -122.66561231062904 48.396777372537755, -122.60438431057202 48.40478937254522, -122.52575031049878 48.32104337246722, -122.52864831050148 48.28351037243227, -122.62350931058984 48.29635037244422, -122.73203431069089 48.22541437237816, -122.61092531057811 48.20632137236038, -122.54620231051783 48.07685837223981, -122.49621231047126 48.09407137225584, -122.37999431036303 48.03214637219817, -122.35540031034013 47.963886372134596, -122.38696131036953 47.90454937207933, -122.44278831042152 47.91805637209191, -122.47161631044837 47.987509372156595, -122.54496131051667 47.967531372137984, -122.60862831057597 48.0314303721975, -122.69555431065692 48.18118537233697, -122.76877831072511 48.21881837237201, -122.73318731069197 48.27664737242587)))
+MT	Montana	MULTIPOLYGON (((-111.47542530020736 44.702162369096875, -111.48080430021237 44.691416369086866, -111.46069230019364 44.67002336906694, -111.45826530019139 44.652555369050674, -111.47016830020247 44.640710369039645, -111.50769030023741 44.63768836903683, -111.50174730023188 44.615971369016606, -111.51452630024379 44.59319736899539, -111.49290430022364 44.55118936895627, -111.46282730019563 44.549942368955115, -111.45932530019238 44.53792136894391, -111.48257330021403 44.53614336894226, -111.49024130022117 44.528697368935326, -111.56723130029286 44.55286636895784, -111.60524830032827 44.54298936894864, -111.68486230040241 44.55075236895587, -111.71699730043235 44.53376036894004, -111.76691830047884 44.51882536892613, -111.79260830050276 44.518462368925796, -111.80783730051695 44.503982368912304, -111.87250230057717 44.556265368961, -111.9403863006404 44.54972636895491, -111.97781830067525 44.52967636893624, -112.02361330071791 44.53504336894123, -112.02707730072113 44.52284
 336892987, -112.0593673007512 44.528611368935245, -112.09989730078895 44.518231368925576, -112.12419030081158 44.52825336893491, -112.19965830088186 44.531449368937885, -112.21776330089872 44.53849536894445, -112.2303983009105 44.559491368964004, -112.25667530093496 44.55997236896445, -112.28234130095886 44.54170236894744, -112.3425073010149 44.52510036893197, -112.3405773010131 44.49718036890597, -112.36758330103825 44.44927036886135, -112.42075330108777 44.44928436886136, -112.45851930112295 44.46883436887957, -112.50183930116329 44.462997368874134, -112.53932430119819 44.47749736888764, -112.65318930130424 44.48080236889072, -112.71432630136118 44.49693536890574, -112.73371230137924 44.48432036889399, -112.77986330142222 44.47392236888431, -112.79622830143747 44.45801136886949, -112.82669130146583 44.4210843688351, -112.8187103014584 44.394819368810644, -112.81739630145718 44.36420236878213, -112.84427530148221 44.35363936877229, -112.8707813015069 44.36997836878751, -112.8873073
 0152228 44.3928523688088, -112.93828130156976 44.407192368822166, -112.98524930161349 44.435540368848564, -113.01201430163843 44.43771536885059, -113.00665830163344 44.45261536886447, -113.02030930164615 44.48177636889163, -113.00771330163442 44.51061236891848, -113.03782130166246 44.532959368939295, -113.03966030166417 44.55629436896103, -113.08303730170456 44.582681368985604, -113.0542893016778 44.62428936902435, -113.07314430169536 44.67552536907207, -113.0989563017194 44.69591636909106, -113.10170330172195 44.715173369108996, -113.12743130174591 44.73737936912967, -113.13827430175601 44.761439369152086, -113.24033830185107 44.81184136919902, -113.25715430186673 44.81048636919776, -113.31868030192403 44.78022836916958, -113.34063130194447 44.779000369168436, -113.35002430195323 44.80756836919504, -113.42137930201967 44.833699369219374, -113.4455733020422 44.851239369235714, -113.49619130208936 44.930670369309695, -113.48734830208112 44.93957436931798, -113.46341330205883 44.94077
 53693191, -113.44876530204519 44.94952236932725, -113.44102930203798 44.99819436937258, -113.45885330205458 45.02744936939982, -113.4554353020514 45.04334936941463, -113.48630530208014 45.058321369428576, -113.49015930208374 45.071219369440584, -113.52060930211209 45.08206336945069, -113.51022530210243 45.107835369474685, -113.55227230214157 45.10754936947443, -113.57437630216216 45.117711369483885, -113.57158430215956 45.13454536949956, -113.59409930218054 45.14974236951372, -113.6009283021869 45.18099236954282, -113.6455923022285 45.206790369566846, -113.69012030226996 45.26228136961853, -113.68870930226865 45.27778836963297, -113.73908030231556 45.32153036967371, -113.74131030231763 45.38238636973038, -113.77502630234903 45.41017236975626, -113.78566230235894 45.44563336978929, -113.76916830234359 45.47770736981916, -113.7723043023465 45.507054369846486, -113.78093330235454 45.51686536985562, -113.83371530240369 45.514908369853806, -113.8037543023758 45.583729369917904, -113.8224
 8530239323 45.600636369933646, -113.85202730242075 45.609562369941955, -113.90330530246851 45.61349136994562, -113.90219930246748 45.63725336996775, -113.92353230248735 45.65512436998439, -113.9266983024903 45.67121136999937, -113.96414430252517 45.67937837000698, -113.97114930253169 45.69737637002374, -114.00947230256737 45.68633237001346, -114.01987830257707 45.67237837000046, -114.0109903025688 45.65251136998196, -114.01803230257535 45.64077336997103, -114.05651530261119 45.62514436995647, -114.08296730263582 45.58637836992037, -114.11813930266858 45.571127369906165, -114.13204830268154 45.55038236988685, -114.17266730271938 45.54392436988083, -114.19480830273999 45.52791736986592, -114.24199830278394 45.53529036987278, -114.24788030278941 45.502945369842664, -114.26223930280278 45.485859369826755, -114.32643430286257 45.457424369800265, -114.35024630288476 45.46338336980582, -114.3714573029045 45.485740369826644, -114.41905130294883 45.499008369839, -114.43355530296233 45.527633
 369865654, -114.46270830298948 45.54784736988448, -114.49659130302105 45.54664936988337, -114.52739230304974 45.55819336989411, -114.56092430308095 45.54874036988531, -114.54095830306237 45.5963973699297, -114.56467830308446 45.62427136995566, -114.50174130302585 45.65239336998185, -114.5107063030342 45.674057370002025, -114.49756130302194 45.69440137002097, -114.5349763030568 45.7229963700476, -114.5419583030633 45.74599937006903, -114.56354230308341 45.7623983700843, -114.51737530304041 45.81006737012869, -114.49916430302343 45.842683370159065, -114.47380330299983 45.83946837015607, -114.44323130297136 45.85262137016832, -114.4075253029381 45.84645337016258, -114.39283830292442 45.87088637018533, -114.41353030294368 45.91065137022237, -114.42946030295852 45.92147737023245, -114.40529030293601 45.95397937026272, -114.41244730294268 45.97197337027948, -114.48445530300975 45.98980637029609, -114.47452930300051 46.009765370314675, -114.49432130301894 46.02341037032738, -114.4657563029
 9233 46.05081537035291, -114.45602930298327 46.082229370382166, -114.47737030300314 46.107357370405566, -114.50656830303033 46.11614237041375, -114.51894430304186 46.136063370432296, -114.50961330303318 46.15741737045219, -114.4670183029935 46.15526237045018, -114.44087930296917 46.168969370462946, -114.43955330296792 46.22025437051071, -114.47283330299892 46.243783370532626, -114.47379530299982 46.25296137054117, -114.4317953029607 46.28471137057074, -114.40979630294021 46.39291137067151, -114.3970173029283 46.399545370677686, -114.38402530291621 46.428179370704356, -114.41071530294107 46.48737137075948, -114.36046830289428 46.50612537077694, -114.35011530288463 46.51738937078744, -114.3433193028783 46.58788137085309, -114.32471230286097 46.62283937088564, -114.33468530287027 46.65422737091488, -114.3840173029162 46.66159637092174, -114.44153630296978 46.645715370906956, -114.48471830301 46.62357437088633, -114.54039130306184 46.637891370899666, -114.61082630312744 46.6290483708914
 25, -114.64474030315901 46.66082437092102, -114.6450383031593 46.67092137093043, -114.6259263031415 46.6871073709455, -114.67388730318616 46.734721370989845, -114.69843130320902 46.733760370988946, -114.74810530325529 46.695132370952976, -114.78291930328771 46.70304037096034, -114.77783230328296 46.755717371009396, -114.79403030329806 46.76653137101947, -114.8407923033416 46.77553837102786, -114.86660330336565 46.797045371047886, -114.90232530339892 46.799433371050114, -114.94840930344184 46.85244637109949, -114.94056630343454 46.89088837113529, -114.92412530341922 46.90716537115044, -114.96473030345703 46.92521337116725, -115.00157430349134 46.95880937119854, -115.03733430352466 46.963001371202445, -115.0556383035417 46.97335837121209, -115.08133630356564 47.02652437126161, -115.13550730361608 47.06355037129609, -115.14868430362836 47.09174237132235, -115.17249630365053 47.09757037132778, -115.1930733036697 47.124026371352414, -115.29623430376577 47.17955037140412, -115.32522830379
 278 47.245150371465215, -115.34366130380994 47.25502237147441, -115.40820730387006 47.26359337148239, -115.42664130388722 47.274374371492435, -115.50193030395735 47.281644371499205, -115.52306430397702 47.29198237150884, -115.55552030400725 47.33461337154854, -115.59953630404824 47.3700033715815, -115.6387823040848 47.38004437159085, -115.66647730411059 47.399167371608655, -115.75032630418868 47.42247537163037, -115.75010530418848 47.43396637164106, -115.73248130417207 47.445303371651626, -115.65608730410091 47.44918037165523, -115.64318530408889 47.45779337166326, -115.64014230408605 47.4752353716795, -115.69277030413508 47.489540371692826, -115.70152230414323 47.520893371722025, -115.7428293041817 47.533691371733944, -115.69208830413444 47.590721371787055, -115.6982843041402 47.616080371810675, -115.73406730417354 47.63987937183283, -115.73366530417316 47.69555437188469, -115.77572730421232 47.70973237189789, -115.79053730422612 47.744838371930584, -115.83674230426917 47.756281371
 94124, -115.84932430428088 47.80518237198679, -115.86980930429996 47.82745237200753, -115.90392130433173 47.841074372020216, -115.93784230436331 47.86712437204447, -115.99893230442021 47.92514037209851, -116.02531630444479 47.964939372135575, -116.05349230447102 47.976191372146054, -116.0554973044729 48.208483372362394, -116.05669230447401 48.498665372632644, -116.06353130448036 48.9999503730995, -114.7293253032378 48.99997037309952, -114.06346330261766 48.999977373099526, -112.18838730087137 48.999992373099545, -111.28267930002785 49.00001137309956, -110.75079729953251 49.000005373099555, -109.50073729836829 49.000005373099555, -108.25067529720408 49.00000937309956, -107.1881212962145 49.00001737309957, -106.12557929522494 49.00002137309957, -105.06303429423536 49.00002137309957, -104.062991293304 49.00002637309957, -104.05231729329405 48.645824372769695, -104.05211129329386 48.39101937253239, -104.04842529329044 48.0000813721683, -104.04730729328939 47.40001737160945, -104.0459262
 932881 47.333832371547814, -104.04743729328952 46.64294737090437, -104.04670529328884 46.54253937081086, -104.04783629328989 46.28088137056717, -104.04890629329088 45.942993370252495, -104.04951729329144 45.883052370196665, -104.04385129328617 45.212875369572515, -104.04307229328545 44.997805369372216, -104.05984229330106 44.99733636937178, -105.04179629421559 45.00107636937526, -105.08500329425583 44.999817369374085, -106.02115029512768 44.997213369371664, -106.25923129534941 44.99616236937068, -107.89437429687226 44.99977336937405, -108.25923829721206 45.00011536937437, -108.62525629755294 44.99759336937201, -109.79938529864643 44.999522369373814, -109.99552929882911 45.00279336937686, -110.39276029919905 44.998625369372974, -110.42964929923342 44.992285369367075, -111.05342829981436 44.99569536937025, -111.05161629981266 44.664490369061795, -111.0515602998126 44.473323368883754, -111.09463029985272 44.48612436889567, -111.12891829988466 44.500757368909305, -111.13435929988972 44.
 52790236893458, -111.17024229992315 44.54518636895068, -111.17876429993107 44.564851368968995, -111.21950729996902 44.57317036897675, -111.23423329998273 44.60256236900412, -111.2197972999693 44.61798136901848, -111.22397129997319 44.62690836902679, -111.27066530001667 44.64221236904105, -111.27020830001624 44.673802369070465, -111.29566830003995 44.68293836907897, -111.3154753000584 44.7051933690997, -111.31922130006188 44.72786436912081, -111.34997730009053 44.72617736911924, -111.37230930011133 44.745087369136854, -111.38495930012311 44.73769436912997, -111.39508430013254 44.70886936910313, -111.44363230017775 44.71317936910714, -111.47542530020736 44.702162369096875)))
+ME	Maine	MULTIPOLYGON (((-69.77727626137293 44.07414836851199, -69.85992826144991 44.00000136844294, -69.7915282613862 43.75608536821577, -69.8303922614224 43.727986368189605, -69.85178526144233 43.74432836820482, -69.84615526143709 43.84234436829611, -69.88679126147493 43.87671336832811, -69.90313226149014 43.790732368248044, -69.97290326155513 43.768847368227654, -69.9995002615799 43.78620736824382, -69.9873702615686 43.845738368299266, -70.02640326160495 43.84560136829914, -70.15662826172624 43.78981036824718, -70.23579826179997 43.68579636815031, -70.22223926178734 43.57724036804921, -70.34161026189851 43.53490836800978, -70.36592526192116 43.430303367912366, -70.45697726200596 43.349470367837085, -70.53894126208229 43.33571836782427, -70.66567226220032 43.09105036759641, -70.81866826234281 43.12187136762512, -70.83054826235387 43.15917436765986, -70.81320726233773 43.235222367730685, -70.90108626241957 43.28102036777334, -70.90580126242396 43.30206936779294, -70.96969926248347 
 43.36638036785283, -70.97909926249223 43.39618436788059, -70.96148326247581 43.43812636791965, -70.97079126248448 43.47021136794953, -70.95927826247376 43.51638836799253, -70.96426826247841 43.53198936800707, -70.94961926246476 43.548953368022865, -70.95652426247119 43.56414336803701, -70.97387426248736 43.571830368044175, -70.9844422624972 43.79116336824844, -71.00859626251969 44.28214636870571, -71.02872626253844 44.66853836906556, -71.08750926259319 45.301469369655024, -70.95938226247385 45.338865369689856, -70.87644426239662 45.22544536958422, -70.84287526236535 45.2781373696333, -70.81266626233722 45.35467836970458, -70.82913226235256 45.39072636973815, -70.7969672623226 45.42517236977023, -70.63492926217168 45.391967369739305, -70.71991026225083 45.51295436985198, -70.55227026209471 45.66066436998955, -70.39638326194952 45.72204637004671, -70.416214261968 45.79030937011029, -70.25396426181689 45.89900437021152, -70.24746426181083 45.944619370254, -70.31029526186934 45.96878237
 027651, -70.28002226184115 46.05315437035509, -70.30484926186428 46.06665837036766, -70.22932526179395 46.13743437043358, -70.28349626184439 46.19024937048276, -70.1910582617583 46.33483937061742, -70.04660726162378 46.42611537070243, -70.01414426159354 46.57059837083699, -69.98497726156637 46.69136537094947, -69.23029626086353 47.4533343716591, -69.04697626069279 47.42203037162995, -69.03671426068324 47.25736137147659, -68.89487226055114 47.182256371406645, -68.51467326019704 47.296964371513475, -68.3912572600821 47.28509737150242, -68.33481426002953 47.35737437156973, -68.23080725993267 47.352148371564866, -67.79101125952309 47.06100337129372, -67.7802892595131 45.947062370256276, -67.75561525949011 45.91658037022789, -67.79457125952639 45.878475370192405, -67.75936725949362 45.8277983701452, -67.8030532595343 45.7945083701142, -67.80343325953466 45.6781133700058, -67.75295525948763 45.65928936998827, -67.71803425945512 45.68129937000877, -67.6151402593593 45.60519936993789, -67.4
 3930125919553 45.59256136992612, -67.4160842591739 45.50355436984323, -67.50410625925588 45.48581636982671, -67.4185552591762 45.3758523697243, -67.47795025923152 45.28028036963529, -67.43943525919565 45.18958436955082, -67.34560525910827 45.122252369488116, -67.27409525904167 45.18278336954449, -67.16590525894091 45.15626436951979, -67.1506612589267 45.121990369487875, -67.06535825884727 44.959295369336346, -67.14670625892303 44.904581369285395, -66.96927125875777 44.82865536921469, -67.00771925879359 44.780625369169954, -67.200364258973 44.65378136905181, -67.30846825907368 44.653521369051575, -67.38851025914822 44.69140036908685, -67.57099325931817 44.59833336900017, -67.61883825936273 44.540239368946075, -67.8112192595419 44.5540093689589, -67.858560259586 44.5360773689422, -67.90004225962463 44.45239936886426, -67.96834225968823 44.4712283688818, -67.96343625968366 44.505327368913555, -67.98652325970517 44.48481236889445, -68.01639325973298 44.384956368801454, -68.074379259787 
 44.38137436879812, -68.13626425984462 44.47523736888554, -68.24561425994646 44.49064836889988, -68.3637652600565 44.4313863688447, -68.42857126011685 44.465306368876284, -68.55218626023198 44.39904936881458, -68.53007526021139 44.28983636871287, -68.55942726023872 44.25988736868497, -68.74031026040718 44.34633036876548, -68.81285126047474 44.32743236874788, -68.8137682604756 44.41399036882849, -68.74134826040816 44.50728536891538, -68.74527926041182 44.552320368957325, -68.82355226048472 44.60890636901003, -68.82381326048495 44.664089369061415, -68.86060926051923 44.61097036901195, -68.80790326047014 44.56965436897347, -68.81167826047366 44.494593368903566, -68.95917926061102 44.43033136884371, -68.9850282606351 44.27111236869543, -69.02148226066905 44.24409336867026, -69.07445826071839 44.06906636850726, -69.21914026085314 43.94678736839337, -69.29365026092252 43.94219036838909, -69.3464542609717 44.01596936845781, -69.39448826101643 44.02512836846634, -69.48323326109909 43.8871603
 68337845, -69.5893262611979 43.84486236829845, -69.66445326126787 43.85222436830531, -69.65524526125928 43.98025036842454, -69.61293226121988 44.03361236847424, -69.72063526132018 43.93797936838517, -69.74852826134617 43.893375368343634, -69.72467126132395 43.784477368242214, -69.75035926134787 43.761704368221004, -69.77767326137331 43.79127036824854, -69.80001326139411 44.02686636846796, -69.76675526136314 44.04773236848739, -69.77727626137293 44.07414836851199)), ((-68.387921260079 44.377253368794285, -68.35025426004391 44.398951368814494, -68.35544926004876 44.428857368842344, -68.23870925994004 44.43756336885045, -68.16476925987118 44.33449536875446, -68.3047052600015 44.290031368713045, -68.32071126001641 44.22507936865256, -68.40289026009295 44.27080136869514, -68.387921260079 44.377253368794285)))
+ND	North Dakota	MULTIPOLYGON (((-98.73043728833767 45.93827137024809, -99.00683328859509 45.93955537024929, -99.7173452892568 45.94276137025227, -99.87578328940435 45.94354737025301, -100.51440628999912 45.94038837025006, -102.00277529138528 45.942505370252036, -102.9463972922641 45.94166537025126, -102.99482329230919 45.94111537025074, -104.04890629329088 45.942993370252495, -104.04783629328989 46.28088137056717, -104.04670529328884 46.54253937081086, -104.04743729328952 46.64294737090437, -104.0459262932881 47.333832371547814, -104.04730729328939 47.40001737160945, -104.04842529329044 48.0000813721683, -104.05211129329386 48.39101937253239, -104.05231729329405 48.645824372769695, -104.062991293304 49.00002637309957, -102.93795929225622 49.00002637309957, -102.02226429140342 49.000015373099565, -101.50043729091743 49.000020373099574, -100.18790828969505 49.00000237309955, -99.53356628908564 49.00000837309956, -99.0004032885891 49.00000637309955, -97.93786728759953 48.99999237309954
 5, -97.22943628693976 48.999987373099536, -97.21636928692759 48.931830373036064, -97.17572728688974 48.87375737298198, -97.17120428688553 48.83598037294679, -97.1804222868941 48.81553737292775, -97.16471228687948 48.81036837292294, -97.17394428688807 48.801514372914696, -97.14751628686346 48.781170372895744, -97.13924628685575 48.76354237287933, -97.14789828686382 48.75565337287198, -97.13250228684947 48.747218372864126, -97.13480628685163 48.72623837284459, -97.11010128682861 48.708583372828144, -97.1167392868348 48.695243372815725, -97.09716928681657 48.67452937279643, -97.1076302868263 48.629946372754915, -97.12744428684476 48.62979437275477, -97.12295828684059 48.62076837274636, -97.14471828686085 48.61402437274008, -97.14081228685721 48.586905372714824, -97.1581922868734 48.583640372711784, -97.15212728686775 48.572856372701736, -97.16794328688249 48.56226337269187, -97.14661828686262 48.54953737268002, -97.1604352868755 48.545078372675874, -97.15553728687092 48.53839837266965,
  -97.13938528685588 48.534648372666155, -97.14832728686422 48.51795137265061, -97.13459428685142 48.51731437265001, -97.14361328685983 48.43810937257625, -97.1196332868375 48.43710237257531, -97.12260128684025 48.416110372555764, -97.1516472868673 48.41961237255902, -97.14982328686561 48.40999137255006, -97.12912428684633 48.4078853725481, -97.15881928687399 48.38820637252977, -97.135205286852 48.38441037252623, -97.13378628685068 48.3724543725151, -97.15039628686614 48.3632153725065, -97.1311232868482 48.361491372504894, -97.13713628685379 48.32599137247183, -97.11259128683093 48.319926372466185, -97.1326342868496 48.31096937245784, -97.11475128683294 48.303618372451, -97.11372128683199 48.294882372442856, -97.13051328684763 48.29304037244114, -97.11268328683101 48.286147372434726, -97.11171428683012 48.277876372427016, -97.13665528685334 48.264483372414546, -97.12378428684136 48.259173372409606, -97.12755428684487 48.23352337238571, -97.10923528682781 48.22804937238061, -97.139754
 28685623 48.22175537237475, -97.11089928682935 48.20760537236157, -97.13082828684792 48.20374237235798, -97.13727528685392 48.19506337234989, -97.13629128685301 48.17522737233142, -97.13744328685408 48.16776937232447, -97.11606528683417 48.15922337231652, -97.13651328685322 48.14839837230643, -97.12091828683869 48.1427743723012, -97.12187328683957 48.11636937227661, -97.0990302868183 48.10097237226226, -97.09272128681243 48.07034437223374, -97.06707128678855 48.04816437221308, -97.04805328677082 47.95492437212624, -97.01533128674035 47.917890372091755, -97.02056628674522 47.87556937205234, -97.0003402867264 47.87019737204734, -96.97723128670486 47.82802937200807, -96.98389328671108 47.809661371990956, -96.9578302866868 47.79444037197678, -96.93201228666275 47.763506371947976, -96.92365928665498 47.71409437190196, -96.8894252866231 47.67392537186454, -96.87333528660811 47.61525537180991, -96.85221728658844 47.601151371796774, -96.85866428659445 47.56297837176122, -96.84918828658562 4
 7.54456837174408, -96.86068728659633 47.521356371722455, -96.85161528658789 47.50061937170314, -96.86668428660191 47.46153737166674, -96.8558272865918 47.43675337164366, -96.86724828660245 47.41308737162162, -96.85000528658638 47.408936371617756, -96.8398272865769 47.38411737159464, -96.85063128658696 47.36095437157307, -96.83846128657564 47.34224337155564, -96.84674728658335 47.3146023715299, -96.83771428657494 47.2938843715106, -96.84962328658602 47.25684337147611, -96.83706528657433 47.240458371460846, -96.82649128656448 47.17006337139529, -96.83916428657629 47.15188637137836, -96.81915128655764 47.09260437132315, -96.82696428656492 47.07883237131033, -96.82260828656086 47.033932371268506, -96.83529628657269 47.010231371246434, -96.82453128656266 47.003436371240106, -96.81677228655543 46.96977937120876, -96.79342528653369 46.96964137120863, -96.80188728654157 46.95584337119578, -96.78971028653022 46.948202371188664, -96.78792528652856 46.93218437117375, -96.76306828650542 46.9362
 61371177544, -96.75691128649969 46.92278037116499, -96.77806128651937 46.86734937111336, -96.76825028651024 46.84486137109242, -96.7971972865372 46.812033371061844, -96.78038228652154 46.76231237101554, -96.78155628652263 46.70704437096407, -96.79369528653393 46.67880437093777, -96.79024628653073 46.6297733708921, -96.78431728652521 46.624112370886834, -96.77104128651284 46.59998337086436, -96.75122728649438 46.58861937085378, -96.74031628648423 46.4894323707614, -96.71489428646055 46.46871837074211, -96.70968228645569 46.42716837070341, -96.68822828643572 46.41221837068949, -96.65210128640207 46.35943337064033, -96.61486128636739 46.3508123706323, -96.60207428635547 46.33632437061881, -96.59818328635185 46.23868237052787, -96.58645628634093 46.2154133705062, -96.58789028634227 46.191918370484316, -96.57116628632669 46.17717437047059, -96.55193128630877 46.09552937039455, -96.57621528633139 46.0212793703254, -96.56180228631797 45.947683370256854, -96.56692128632274 45.93411037024421
 , -97.23331028694336 45.936502370246444, -97.97872228763758 45.93082237024116, -98.0147092876711 45.93149837024178, -98.73043728833767 45.93827137024809)))
+SD	South Dakota	MULTIPOLYGON (((-102.78838429211693 42.99530336750724, -103.00587529231949 42.99935436751102, -103.50146429278104 42.99861836751033, -104.05619929329767 43.00306236751447, -104.05915729330043 43.47913436795784, -104.05791429329928 43.50371236798073, -104.05947929330073 43.852906368305945, -104.05973129330096 44.14582536857875, -104.06103629330218 44.18182536861227, -104.05946529330072 44.57435236897784, -104.05984229330106 44.99733636937178, -104.04307229328545 44.997805369372216, -104.04385129328617 45.212875369572515, -104.04951729329144 45.883052370196665, -104.04890629329088 45.942993370252495, -102.99482329230919 45.94111537025074, -102.9463972922641 45.94166537025126, -102.00277529138528 45.942505370252036, -100.51440628999912 45.94038837025006, -99.87578328940435 45.94354737025301, -99.7173452892568 45.94276137025227, -99.00683328859509 45.93955537024929, -98.73043728833767 45.93827137024809, -98.0147092876711 45.93149837024178, -97.97872228763758 45.930822370
 24116, -97.23331028694336 45.936502370246444, -96.56692128632274 45.93411037024421, -96.58795528634232 45.81785437013595, -96.60461028635784 45.80826437012701, -96.65739128640699 45.738970370062475, -96.83279628657036 45.65068736998026, -96.85499028659102 45.609122369941545, -96.84308728657994 45.584090369918236, -96.76924628651116 45.5174783698562, -96.7380322864821 45.45819536980099, -96.69316928644032 45.4106383697567, -96.60508428635828 45.39652436974355, -96.53254928629073 45.37513236972363, -96.47759228623954 45.328509369680205, -96.45760228622093 45.298850369652584, -96.45449628621803 45.27519536963055, -96.4560802862195 44.97199436934818, -96.45521728621871 44.801347369189244, -96.45671828622011 44.62880836902856, -96.45510628621861 44.53834336894431, -96.45739728622074 44.19906136862833, -96.45660228621999 43.848741368302065, -96.46045428622358 43.49971836797701, -96.59831528635198 43.499849367977134, -96.58379628633845 43.48192036796044, -96.5891132863434 43.43553936791724
 4, -96.55770828631415 43.40072736788482, -96.52505328628375 43.38422536786945, -96.52289428628174 43.356966367844066, -96.5405632862982 43.307659367798145, -96.5791312863341 43.29007436778177, -96.57072228632627 43.26361236775712, -96.5595672863159 43.25326336774748, -96.5669912863228 43.23963336773479, -96.558605286315 43.22548936772162, -96.48724528624854 43.217909367714554, -96.47311428623537 43.20908236770634, -96.45150528621525 43.12630836762925, -96.46080528622392 43.08787236759345, -96.46209428622511 43.075582367582, -96.47957328624139 43.06188436756925, -96.52001028627905 43.051508367559585, -96.4990202862595 43.01205036752283, -96.51714828627638 42.986458367499, -96.51493528627432 42.952382367467266, -96.54426328630164 42.913866367431396, -96.53751128629536 42.896906367415596, -96.55621128631276 42.846660367368806, -96.57312628632852 42.83434736735734, -96.58764528634204 42.8353813673583, -96.60087528635437 42.799558367324934, -96.63298028638427 42.776835367303775, -96.6407
 0928639146 42.74860336727748, -96.62654028637826 42.70835436724, -96.56303928631912 42.66851336720289, -96.54116528629875 42.66240536719721, -96.51284428627237 42.629755367166794, -96.48849828624971 42.580480367120906, -96.50094228626129 42.57388536711476, -96.48933728625049 42.56402836710558, -96.48024328624201 42.51713036706191, -96.43939428620396 42.48924036703593, -96.49470128625548 42.488459367035205, -96.5472152863044 42.52049936706504, -96.58475328633935 42.51828736706298, -96.60546728635863 42.50723636705269, -96.62929428638083 42.52269336706709, -96.6366722863877 42.5507313670932, -96.71405928645977 42.61230236715054, -96.7152732864609 42.62190736715949, -96.69459628644165 42.64116336717742, -96.6990602864458 42.657715367192836, -96.72265828646778 42.66859236720296, -96.7993442865392 42.67001936720429, -96.81043728654953 42.68134136721484, -96.81014028654926 42.70408436723602, -96.9082342866406 42.73169936726174, -96.97077328669886 42.721147367251916, -96.97786928670547 42.
 72730836725765, -96.97000328669814 42.75206536728071, -96.97959328670707 42.758313367286526, -97.01513928674018 42.759542367287665, -97.13046928684759 42.773923367301066, -97.16142228687642 42.798619367324065, -97.21183128692336 42.81257336733706, -97.2244432869351 42.84120236736372, -97.24318928695256 42.85182636737362, -97.27145728697889 42.85001436737193, -97.3114142870161 42.86177136738288, -97.38930628708864 42.86743336738815, -97.45726328715193 42.85044336737233, -97.48315928717605 42.857157367378576, -97.50613228719745 42.86013636738136, -97.57065428725754 42.847990367370045, -97.63497028731744 42.86128536738242, -97.68575228736474 42.83683736735966, -97.72525028740152 42.85800836737937, -97.77218628744522 42.846164367368345, -97.79702828746836 42.849597367371544, -97.8186432874885 42.86658736738737, -97.88865928755371 42.855807367377324, -97.88994128755489 42.831271367354475, -97.92947728759172 42.7923243673182, -97.96355828762346 42.773690367300844, -97.99514428765288 42.76
 681236729444, -98.03314028768825 42.769192367296654, -98.12182028777084 42.80836036733314, -98.12311728777206 42.820223367344184, -98.14486928779232 42.83579436735869, -98.1678262878137 42.839571367362204, -98.31033928794642 42.881794367401525, -98.39120428802174 42.92013536743723, -98.45744428808342 42.93716036745309, -98.49765128812088 42.991778367503954, -99.25397128882526 42.99238936750453, -99.53279028908491 42.992335367504474, -100.19814228970458 42.99109536750332, -101.23173729066718 42.98684336749936, -102.08670129146344 42.98988736750219, -102.78838429211693 42.99530336750724)))
+WY	Wyoming	MULTIPOLYGON (((-104.05361529329527 41.69821836629923, -104.05550029329702 41.56422236617444, -104.05401229329564 41.3880853660104, -104.0517052932935 41.003211365651964, -104.93449329411565 40.99428936564365, -105.2787972944363 40.99634936564557, -106.20347129529748 41.00008536564905, -106.3291252954145 41.001289365650166, -106.86543829591398 40.99845736564753, -107.30405129632247 41.00013336564909, -107.91867129689489 41.00337536565211, -109.04831429794694 40.998433365647514, -110.00216529883528 40.997599365646735, -110.06318529889211 40.997892365647004, -111.0510222998121 40.99658336564579, -111.05165129981269 41.25842536588965, -111.05106829981216 41.57859236618782, -111.04869729980994 41.99620336657675, -111.04678029980816 42.50325236704899, -111.04921529981043 43.01988336753013, -111.04749829980882 43.28473436777679, -111.04677129980816 43.515528367991735, -111.05040529981153 43.98255336842669, -111.0515602998126 44.473323368883754, -111.05161629981266 44.6644903690
 61795, -111.05342829981436 44.99569536937025, -110.42964929923342 44.992285369367075, -110.39276029919905 44.998625369372974, -109.99552929882911 45.00279336937686, -109.79938529864643 44.999522369373814, -108.62525629755294 44.99759336937201, -108.25923829721206 45.00011536937437, -107.89437429687226 44.99977336937405, -106.25923129534941 44.99616236937068, -106.02115029512768 44.997213369371664, -105.08500329425583 44.999817369374085, -105.04179629421559 45.00107636937526, -104.05984229330106 44.99733636937178, -104.05946529330072 44.57435236897784, -104.06103629330218 44.18182536861227, -104.05973129330096 44.14582536857875, -104.05947929330073 43.852906368305945, -104.05791429329928 43.50371236798073, -104.05915729330043 43.47913436795784, -104.05619929329767 43.00306236751447, -104.05621929329769 42.61466936715274, -104.05351329329517 41.99981536658012, -104.05361529329527 41.69821836629923)))
+WI	Wisconsin	MULTIPOLYGON (((-87.74855527810999 44.961616369338515, -87.83999227819515 44.92732336930658, -87.8310202781868 44.8733463692563, -87.98579127833094 44.72047436911393, -87.98318227832851 44.67726536907369, -88.01328827835654 44.63911836903816, -87.97575827832159 44.595814368997836, -88.0130212783563 44.622234369022436, -88.04041727838181 44.57144936897514, -87.96622827831271 44.53549636894166, -87.92640827827563 44.539139368945044, -87.86878227822197 44.61690636901747, -87.7642262781246 44.64404836904275, -87.72382127808696 44.68928736908488, -87.6144642779851 44.833047369218775, -87.55278727792768 44.851335369235805, -87.55167227792663 44.82302336920944, -87.4337472778168 44.89109636927283, -87.36745927775507 44.81156736919877, -87.31446527770572 44.79471836918307, -87.37307027776029 44.67691836907336, -87.47352827785386 44.533946368940214, -87.53748927791342 44.32785136874827, -87.51732227789465 44.17575436860662, -87.64437027801297 44.09783036853405, -87.7261222780891
 1 43.893904368344124, -87.70273027806732 43.673176368138556, -87.78604527814491 43.54629736802039, -87.80295927816066 43.458714367938825, -87.87533227822807 43.358592367845574, -87.88983427824157 43.19721636769529, -87.86006927821386 43.07587536758228, -87.89198327824357 43.02577436753562, -87.83643827819185 42.96459236747864, -87.81984927817639 42.84156336736406, -87.75680327811767 42.77754636730444, -87.79150927815 42.66664236720115, -87.79738227815547 42.48915236703585, -88.19479027852559 42.489631367036296, -88.2979892786217 42.49198836703849, -88.70662327900227 42.48967136703634, -88.76505827905669 42.4909223670375, -88.93918727921886 42.49087936703746, -89.35955927961037 42.49791736704401, -89.4006132796486 42.49750236704362, -89.8347392800529 42.50346836704918, -89.92369128013574 42.504115367049785, -90.42010328059807 42.50836536705374, -90.63845628080142 42.509363367054675, -90.62570728078956 42.52856236707255, -90.63921928080214 42.55571436709784, -90.66438028082557 42.5713
 9136711244, -90.69479128085389 42.63792836717441, -90.74561028090122 42.65700136719217, -90.89254528103807 42.678240367211956, -90.91940928106308 42.68067736721422, -90.99918228113738 42.70705836723879, -91.06616828119977 42.744913367274044, -91.08203028121454 42.783365367309855, -91.09342828122514 42.871440367391884, -91.1391212812677 42.9258933674426, -91.1522142812799 43.00131636751284, -91.15975228128691 43.08118236758722, -91.16857128129513 43.08288836758881, -91.16135428128841 43.14757636764905, -91.06905228120245 43.2578983677518, -91.0664282812 43.28068336777302, -91.07849828121125 43.31329736780339, -91.17704828130303 43.35394636784125, -91.19824328132277 43.37051336785668, -91.21091628133458 43.42405136790654, -91.23590328135784 43.464684367944386, -91.22356628134635 43.500808367978024, -91.24055828136218 43.54871236802264, -91.23299028135513 43.59889036806938, -91.25838928137878 43.67732236814242, -91.25891628137927 43.722395368184394, -91.251105281372 43.788075368245565,
  -91.29194828141004 43.847190368300616, -91.37335728148585 43.94719136839375, -91.42590228153479 43.98561936842954, -91.52842028163028 44.034215368474804, -91.56916228166821 44.034955368475494, -91.6017862816986 44.04082236848096, -91.65223328174558 44.066895368505236, -91.75321928183963 44.137227368570734, -91.84874428192859 44.191187368620994, -91.8886942819658 44.25749536868275, -91.92234928199714 44.28834136871147, -91.92275428199753 44.31752036873865, -91.93886828201254 44.33911136875876, -91.97238628204374 44.36448736878239, -92.09133328215452 44.415589368829984, -92.20613728226144 44.43839436885122, -92.24910028230146 44.45621636886782, -92.29668728234577 44.49218236890132, -92.32047828236793 44.540491368946306, -92.34087228238693 44.5528353689578, -92.5092152825437 44.575159368978596, -92.60897328263661 44.61029236901132, -92.63036728265654 44.64265236904146, -92.73714528275598 44.713594369107525, -92.80558428281972 44.746160369137854, -92.76102828277823 44.83537136922094, -
 92.76426328278124 44.862234369245954, -92.77187128278833 44.899496369280655, -92.75392628277162 44.915002369295095, -92.74976828276773 44.93565536931433, -92.7671262827839 45.00100536937519, -92.76299128278005 45.02211936939486, -92.7967622828115 45.06561036943536, -92.74542228276368 45.1130043694795, -92.74493528276324 45.15642236951994, -92.76258328277967 45.18661236954806, -92.755419282773 45.21237636957205, -92.74659328276478 45.297603369651426, -92.70738428272827 45.318201369670604, -92.6848692827073 45.3630763697124, -92.64875128267366 45.395466369742564, -92.64497528267015 45.43945236978353, -92.6548172826793 45.45522136979822, -92.68542128270781 45.470053369812035, -92.72815428274761 45.54724236988392, -92.7621752827793 45.56426336989977, -92.83503728284715 45.56340236989897, -92.87683128288607 45.57883636991335, -92.88539728289405 45.64495536997492, -92.86001928287041 45.71056237003602, -92.83363628284584 45.73089037005495, -92.77910728279507 45.763340370085174, -92.7487622
 827668 45.837302370154056, -92.73409728275314 45.84498037016121, -92.7062402827272 45.89095837020403, -92.66620828268992 45.91570337022708, -92.55267228258418 45.9512693702602, -92.52397728255745 45.98258337028936, -92.46234528250005 45.98119737028807, -92.42499928246528 46.02550437032933, -92.36496328240936 46.01624837032071, -92.34622528239191 46.022596370326625, -92.32737228237436 46.056878370358554, -92.28937028233896 46.07323137037378, -92.28894428233856 46.15660037045143, -92.28868528233832 46.415984370692996, -92.287271282337 46.658786370919124, -92.20915428226425 46.64687237090803, -92.09597028215885 46.74262737099721, -92.00415728207334 46.68380037094242, -91.92146128199632 46.680134370939, -91.55577328165575 46.75686037101046, -90.86173028100937 46.95247937119265, -90.77448628092812 46.92023537116262, -90.77744528093086 46.88312237112805, -90.92624428106944 46.58550337085087, -90.73071428088734 46.64569637090693, -90.54087728071055 46.58752637085276, -90.40820028058698 46.
 568610370835145, -90.38552528056586 46.53965737080817, -90.31370828049899 46.55156337081927, -90.30239328048845 46.544296370812496, -90.30018128048638 46.52505137079457, -90.26978528045808 46.52248037079218, -90.25840128044747 46.508789370779425, -90.21152628040382 46.50629537077711, -90.16139128035712 46.44238037071758, -90.14179728033888 46.39389937067243, -90.11517728031409 46.36515537064566, -90.1116592803108 46.34042937062263, -89.9251362801371 46.30402537058873, -89.09980627936845 46.14564237044122, -88.9853012792618 46.10039137039908, -88.92519527920582 46.07360137037413, -88.80439727909332 46.026804370330545, -88.79381527908347 46.036360370339445, -88.77748027906826 46.032614370335956, -88.7730172790641 46.02114737032528, -88.72640927902069 46.02958137033313, -88.70360527899946 46.01892337032321, -88.67738427897504 46.020144370324346, -88.64366927894363 45.99338837029943, -88.6155022789174 45.99412037030011, -88.59753627890068 46.01551637032003, -88.57535727888002 46.0089593
 70313924, -88.54835827885486 46.019300370323556, -88.51561327882438 46.01860937032291, -88.49408327880433 46.01296037031766, -88.48381427879475 45.99915137030479, -88.45431927876729 46.00076037030629, -88.40352227871998 45.98342237029014, -88.3699382786887 45.994587370300536, -88.32132327864343 45.96671237027458, -88.29915227862278 45.96194437027014, -88.25716827858368 45.9670553702749, -88.2149922785444 45.94790137025706, -88.18019427851199 45.95351637026229, -88.15043827848427 45.93629337024625, -88.11139027844791 45.926287370236935, -88.09385027843157 45.920615370231644, -88.09576427843336 45.89180337020481, -88.0654212784051 45.8736423701879, -88.12178627845759 45.8348783701518, -88.12994927846519 45.81940237013738, -88.08873427842681 45.791532370111426, -88.05163927839226 45.78611237010638, -87.99007027833493 45.795046370114704, -87.96917927831547 45.76644837008807, -87.87362927822647 45.750699370073406, -87.84236227819736 45.722418370047066, -87.80155327815935 45.7113913700367
 9, -87.80115627815898 45.70132437002742, -87.77747327813692 45.684101370011376, -87.78094527814017 45.67591537000375, -87.81705427817379 45.66539036999395, -87.81993827817648 45.65445036998376, -87.7760452781356 45.613200369945346, -87.7750752781347 45.600387369933415, -87.78631227814516 45.56851936990373, -87.82860227818455 45.5685913699038, -87.8051412781627 45.544525369881384, -87.78938527814802 45.499067369839054, -87.81361427817059 45.466460369808686, -87.86026727821404 45.44509836978879, -87.84953127820404 45.40611736975249, -87.88361027823578 45.36585436971499, -87.8739742782268 45.36208536971148, -87.86853527822174 45.37207236972078, -87.86209627821574 45.370165369719004, -87.84128227819636 45.34614936969663, -87.82800827818399 45.35832136970797, -87.76003827812069 45.352897369702916, -87.68959827805509 45.39126936973865, -87.64368427801233 45.36185636971126, -87.64536227801389 45.34816936969852, -87.70447127806894 45.27220536962777, -87.70514227806956 45.247086369604375, -8
 7.71966827808309 45.23677136959477, -87.72162827808492 45.211672369571396, -87.7362002780985 45.19907236955966, -87.7296692780924 45.17660436953874, -87.67281427803945 45.14067236950527, -87.66488627803207 45.10905436947583, -87.5812762779542 45.0946403694624, -87.61852127798889 45.05680736942716, -87.62033527799058 44.99199736936681, -87.74855527810999 44.961616369338515)), ((-87.034524277445 45.290405369644716, -86.98625327740005 45.2986573696524, -86.96771227738277 45.24027736959803, -86.99573427740887 45.218411369577666, -87.04511227745486 45.249019369606174, -87.02544827743655 45.149974369513934, -87.07987627748724 45.14730736951145, -87.04490127745467 45.09551336946321, -87.0876782774945 45.09217836946011, -87.08390027749098 45.05328536942389, -87.11255727751768 45.06476336943457, -87.17869227757927 44.982806369358244, -87.16878827757004 44.93332336931216, -87.20565027760438 44.873239369256204, -87.3111232777026 44.79877336918685, -87.37873727776558 44.83774236922314, -87.4054
 1927779043 44.91120036929156, -87.3421612777315 45.01521336938843, -87.28348427767686 45.05261936942327, -87.2309152776279 45.1750633695373, -87.17791327757854 45.154973369518586, -87.06606427747438 45.29646236965036, -87.034524277445 45.290405369644716)))
+ID	Idaho	MULTIPOLYGON (((-117.02629530537702 43.67903136814401, -117.02379430537468 43.753701368213555, -117.0371173053871 43.8001423682568, -117.02762630537825 43.83156736828607, -117.0105053053623 43.83976936829371, -117.01622030536763 43.852972368306006, -116.98577030533927 43.85935136831195, -116.97814830533218 43.8734693683251, -116.97814130533217 43.90444136835394, -116.95971630531501 43.92857736837642, -116.96795730532268 43.96319536840866, -116.93359330529069 44.01420236845617, -116.97681730533094 44.07389436851176, -116.96344330531849 44.09029836852703, -116.94688630530305 44.093025368529574, -116.9022543052615 44.1463133685792, -116.91305130527155 44.17730436860806, -116.98187130533564 44.19784236862719, -116.9761273053303 44.22518236865265, -116.99270730534573 44.24706336867303, -117.0303523053808 44.249336368675145, -117.05202730540098 44.23155636865859, -117.08138730542832 44.243846368670035, -117.10056030544618 44.26707836869167, -117.11269230545747 44.26980536869421, 
 -117.14327930548598 44.25063236867636, -117.17072330551153 44.25333236867887, -117.21357230555142 44.2847193687081, -117.21745530555505 44.30066536872295, -117.20160230554029 44.33943836875906, -117.23692130557318 44.38998236880613, -117.21722130555483 44.427855368841406, -117.22441030556152 44.47298736888344, -117.20396230554249 44.485785368895364, -117.18739130552706 44.511805368919596, -117.14516030548772 44.534655368940875, -117.14394030548658 44.55928736896381, -117.13050430547406 44.572523368976135, -117.07935430542643 44.68933636908493, -117.06651330541447 44.697557369092586, -117.03957230538938 44.749115369140604, -116.95149430530736 44.776035369165676, -116.90962030526836 44.82894036921495, -116.89736730525695 44.84855536923321, -116.86707630522874 44.86860836925189, -116.83539630519923 44.92014436929989, -116.84755630521056 44.954850369332206, -116.83139630519551 44.97263336934877, -116.84815930521111 44.97174136934794, -116.85588730521832 44.9799653693556, -116.8480973052
 1106 45.0000423693743, -116.85451330521704 45.016945369390044, -116.80730730517307 45.049755369420595, -116.78721030515436 45.075752369444814, -116.77809230514586 45.0994803694669, -116.76126830513019 45.10630036947326, -116.73658530510721 45.13730736950214, -116.68881330506271 45.26235036961859, -116.6722653050473 45.335410369686635, -116.56577230494813 45.45986336980254, -116.55450330493763 45.49364736983401, -116.4785513048669 45.56605836990144, -116.47041830485932 45.60625736993888, -116.51491530490075 45.664491369993115, -116.5282753049132 45.71072837003618, -116.56063230494334 45.74742437007035, -116.65439830503067 45.78063037010128, -116.7031803050761 45.819169370137175, -116.77370730514178 45.81976337013772, -116.79126230515813 45.84586737016203, -116.85647230521886 45.9035973702158, -116.89819730525772 45.98051637028743, -116.91913230527722 45.995175370301084, -116.95772330531315 46.06568737036676, -116.98721130534062 46.0785093703787, -116.9616373053168 46.09727437039618, 
 -116.9294263052868 46.1654833704597, -116.96749030532226 46.19755437048957, -116.97272530532712 46.24930937053777, -117.00164230535405 46.30244837058726, -117.02797330537858 46.33542737061797, -117.06418430541231 46.34869837063033, -117.04447030539394 46.38857437066747, -117.03855830538843 46.42798037070417, -117.04192630539157 46.53660137080533, -117.04096830539069 47.11931937134803, -117.04239230539201 47.25850137147765, -117.04179430539145 47.36144137157352, -117.03747230538742 47.9710923721413, -117.03886830538872 48.04618637221124, -117.02911130537964 48.838075372948744, -117.03204930538237 48.999931373099486, -116.06353130448036 48.9999503730995, -116.05669230447401 48.498665372632644, -116.0554973044729 48.208483372362394, -116.05349230447102 47.976191372146054, -116.02531630444479 47.964939372135575, -115.99893230442021 47.92514037209851, -115.93784230436331 47.86712437204447, -115.90392130433173 47.841074372020216, -115.86980930429996 47.82745237200753, -115.84932430428088 
 47.80518237198679, -115.83674230426917 47.75628137194124, -115.79053730422612 47.744838371930584, -115.77572730421232 47.70973237189789, -115.73366530417316 47.69555437188469, -115.73406730417354 47.63987937183283, -115.6982843041402 47.616080371810675, -115.69208830413444 47.590721371787055, -115.7428293041817 47.533691371733944, -115.70152230414323 47.520893371722025, -115.69277030413508 47.489540371692826, -115.64014230408605 47.4752353716795, -115.64318530408889 47.45779337166326, -115.65608730410091 47.44918037165523, -115.73248130417207 47.445303371651626, -115.75010530418848 47.43396637164106, -115.75032630418868 47.42247537163037, -115.66647730411059 47.399167371608655, -115.6387823040848 47.38004437159085, -115.59953630404824 47.3700033715815, -115.55552030400725 47.33461337154854, -115.52306430397702 47.29198237150884, -115.50193030395735 47.281644371499205, -115.42664130388722 47.274374371492435, -115.40820730387006 47.26359337148239, -115.34366130380994 47.25502237147441
 , -115.32522830379278 47.245150371465215, -115.29623430376577 47.17955037140412, -115.1930733036697 47.124026371352414, -115.17249630365053 47.09757037132778, -115.14868430362836 47.09174237132235, -115.13550730361608 47.06355037129609, -115.08133630356564 47.02652437126161, -115.0556383035417 46.97335837121209, -115.03733430352466 46.963001371202445, -115.00157430349134 46.95880937119854, -114.96473030345703 46.92521337116725, -114.92412530341922 46.90716537115044, -114.94056630343454 46.89088837113529, -114.94840930344184 46.85244637109949, -114.90232530339892 46.799433371050114, -114.86660330336565 46.797045371047886, -114.8407923033416 46.77553837102786, -114.79403030329806 46.76653137101947, -114.77783230328296 46.755717371009396, -114.78291930328771 46.70304037096034, -114.74810530325529 46.695132370952976, -114.69843130320902 46.733760370988946, -114.67388730318616 46.734721370989845, -114.6259263031415 46.6871073709455, -114.6450383031593 46.67092137093043, -114.644740303159
 01 46.66082437092102, -114.61082630312744 46.629048370891425, -114.54039130306184 46.637891370899666, -114.48471830301 46.62357437088633, -114.44153630296978 46.645715370906956, -114.3840173029162 46.66159637092174, -114.33468530287027 46.65422737091488, -114.32471230286097 46.62283937088564, -114.3433193028783 46.58788137085309, -114.35011530288463 46.51738937078744, -114.36046830289428 46.50612537077694, -114.41071530294107 46.48737137075948, -114.38402530291621 46.428179370704356, -114.3970173029283 46.399545370677686, -114.40979630294021 46.39291137067151, -114.4317953029607 46.28471137057074, -114.47379530299982 46.25296137054117, -114.47283330299892 46.243783370532626, -114.43955330296792 46.22025437051071, -114.44087930296917 46.168969370462946, -114.4670183029935 46.15526237045018, -114.50961330303318 46.15741737045219, -114.51894430304186 46.136063370432296, -114.50656830303033 46.11614237041375, -114.47737030300314 46.107357370405566, -114.45602930298327 46.082229370382166
 , -114.46575630299233 46.05081537035291, -114.49432130301894 46.02341037032738, -114.47452930300051 46.009765370314675, -114.48445530300975 45.98980637029609, -114.41244730294268 45.97197337027948, -114.40529030293601 45.95397937026272, -114.42946030295852 45.92147737023245, -114.41353030294368 45.91065137022237, -114.39283830292442 45.87088637018533, -114.4075253029381 45.84645337016258, -114.44323130297136 45.85262137016832, -114.47380330299983 45.83946837015607, -114.49916430302343 45.842683370159065, -114.51737530304041 45.81006737012869, -114.56354230308341 45.7623983700843, -114.5419583030633 45.74599937006903, -114.5349763030568 45.7229963700476, -114.49756130302194 45.69440137002097, -114.5107063030342 45.674057370002025, -114.50174130302585 45.65239336998185, -114.56467830308446 45.62427136995566, -114.54095830306237 45.5963973699297, -114.56092430308095 45.54874036988531, -114.52739230304974 45.55819336989411, -114.49659130302105 45.54664936988337, -114.46270830298948 45.5
 4784736988448, -114.43355530296233 45.527633369865654, -114.41905130294883 45.499008369839, -114.3714573029045 45.485740369826644, -114.35024630288476 45.46338336980582, -114.32643430286257 45.457424369800265, -114.26223930280278 45.485859369826755, -114.24788030278941 45.502945369842664, -114.24199830278394 45.53529036987278, -114.19480830273999 45.52791736986592, -114.17266730271938 45.54392436988083, -114.13204830268154 45.55038236988685, -114.11813930266858 45.571127369906165, -114.08296730263582 45.58637836992037, -114.05651530261119 45.62514436995647, -114.01803230257535 45.64077336997103, -114.0109903025688 45.65251136998196, -114.01987830257707 45.67237837000046, -114.00947230256737 45.68633237001346, -113.97114930253169 45.69737637002374, -113.96414430252517 45.67937837000698, -113.9266983024903 45.67121136999937, -113.92353230248735 45.65512436998439, -113.90219930246748 45.63725336996775, -113.90330530246851 45.61349136994562, -113.85202730242075 45.609562369941955, -113.
 82248530239323 45.600636369933646, -113.8037543023758 45.583729369917904, -113.83371530240369 45.514908369853806, -113.78093330235454 45.51686536985562, -113.7723043023465 45.507054369846486, -113.76916830234359 45.47770736981916, -113.78566230235894 45.44563336978929, -113.77502630234903 45.41017236975626, -113.74131030231763 45.38238636973038, -113.73908030231556 45.32153036967371, -113.68870930226865 45.27778836963297, -113.69012030226996 45.26228136961853, -113.6455923022285 45.206790369566846, -113.6009283021869 45.18099236954282, -113.59409930218054 45.14974236951372, -113.57158430215956 45.13454536949956, -113.57437630216216 45.117711369483885, -113.55227230214157 45.10754936947443, -113.51022530210243 45.107835369474685, -113.52060930211209 45.08206336945069, -113.49015930208374 45.071219369440584, -113.48630530208014 45.058321369428576, -113.4554353020514 45.04334936941463, -113.45885330205458 45.02744936939982, -113.44102930203798 44.99819436937258, -113.44876530204519 44.
 94952236932725, -113.46341330205883 44.9407753693191, -113.48734830208112 44.93957436931798, -113.49619130208936 44.930670369309695, -113.4455733020422 44.851239369235714, -113.42137930201967 44.833699369219374, -113.35002430195323 44.80756836919504, -113.34063130194447 44.779000369168436, -113.31868030192403 44.78022836916958, -113.25715430186673 44.81048636919776, -113.24033830185107 44.81184136919902, -113.13827430175601 44.761439369152086, -113.12743130174591 44.73737936912967, -113.10170330172195 44.715173369108996, -113.0989563017194 44.69591636909106, -113.07314430169536 44.67552536907207, -113.0542893016778 44.62428936902435, -113.08303730170456 44.582681368985604, -113.03966030166417 44.55629436896103, -113.03782130166246 44.532959368939295, -113.00771330163442 44.51061236891848, -113.02030930164615 44.48177636889163, -113.00665830163344 44.45261536886447, -113.01201430163843 44.43771536885059, -112.98524930161349 44.435540368848564, -112.93828130156976 44.407192368822166, 
 -112.88730730152228 44.3928523688088, -112.8707813015069 44.36997836878751, -112.84427530148221 44.35363936877229, -112.81739630145718 44.36420236878213, -112.8187103014584 44.394819368810644, -112.82669130146583 44.4210843688351, -112.79622830143747 44.45801136886949, -112.77986330142222 44.47392236888431, -112.73371230137924 44.48432036889399, -112.71432630136118 44.49693536890574, -112.65318930130424 44.48080236889072, -112.53932430119819 44.47749736888764, -112.50183930116329 44.462997368874134, -112.45851930112295 44.46883436887957, -112.42075330108777 44.44928436886136, -112.36758330103825 44.44927036886135, -112.3405773010131 44.49718036890597, -112.3425073010149 44.52510036893197, -112.28234130095886 44.54170236894744, -112.25667530093496 44.55997236896445, -112.2303983009105 44.559491368964004, -112.21776330089872 44.53849536894445, -112.19965830088186 44.531449368937885, -112.12419030081158 44.52825336893491, -112.09989730078895 44.518231368925576, -112.0593673007512 44.52
 8611368935245, -112.02707730072113 44.52284336892987, -112.02361330071791 44.53504336894123, -111.97781830067525 44.52967636893624, -111.9403863006404 44.54972636895491, -111.87250230057717 44.556265368961, -111.80783730051695 44.503982368912304, -111.79260830050276 44.518462368925796, -111.76691830047884 44.51882536892613, -111.71699730043235 44.53376036894004, -111.68486230040241 44.55075236895587, -111.60524830032827 44.54298936894864, -111.56723130029286 44.55286636895784, -111.49024130022117 44.528697368935326, -111.48257330021403 44.53614336894226, -111.45932530019238 44.53792136894391, -111.46282730019563 44.549942368955115, -111.49290430022364 44.55118936895627, -111.51452630024379 44.59319736899539, -111.50174730023188 44.615971369016606, -111.50769030023741 44.63768836903683, -111.47016830020247 44.640710369039645, -111.45826530019139 44.652555369050674, -111.46069230019364 44.67002336906694, -111.48080430021237 44.691416369086866, -111.47542530020736 44.702162369096875, -
 111.44363230017775 44.71317936910714, -111.39508430013254 44.70886936910313, -111.38495930012311 44.73769436912997, -111.37230930011133 44.745087369136854, -111.34997730009053 44.72617736911924, -111.31922130006188 44.72786436912081, -111.3154753000584 44.7051933690997, -111.29566830003995 44.68293836907897, -111.27020830001624 44.673802369070465, -111.27066530001667 44.64221236904105, -111.22397129997319 44.62690836902679, -111.2197972999693 44.61798136901848, -111.23423329998273 44.60256236900412, -111.21950729996902 44.57317036897675, -111.17876429993107 44.564851368968995, -111.17024229992315 44.54518636895068, -111.13435929988972 44.52790236893458, -111.12891829988466 44.500757368909305, -111.09463029985272 44.48612436889567, -111.0515602998126 44.473323368883754, -111.05040529981153 43.98255336842669, -111.04677129980816 43.515528367991735, -111.04749829980882 43.28473436777679, -111.04921529981043 43.01988336753013, -111.04678029980816 42.50325236704899, -111.04869729980994 4
 1.99620336657675, -111.49458630022521 42.000171366580446, -112.10051430078953 42.00230036658243, -112.14711630083293 41.999054366579415, -112.98957530161753 42.00114636658136, -114.03907230259495 41.995391366576, -114.26947130280954 41.995924366576496, -115.02486330351303 41.99650636657704, -115.94754430437234 41.99459936657526, -116.99231330534536 41.99479436657545, -117.0188643053701 41.99479436657545, -117.02629530537702 43.67903136814401)))
+VT	Vermont	MULTIPOLYGON (((-73.25806026461467 42.74605836727511, -73.26927526462511 42.747481367276436, -73.29616926465016 42.80354936732866, -73.27958326463471 42.8371033673599, -73.27600526463138 42.940294367456005, -73.25007126460723 43.31085436780112, -73.23839126459634 43.512832367989226, -73.25998426461646 43.55938236803258, -73.29140226464573 43.57503336804716, -73.28173626463672 43.593187368064065, -73.29410426464824 43.619653368088706, -73.30353426465702 43.62471436809342, -73.36368526471304 43.61499836808437, -73.38811426473579 43.569143368041665, -73.41832026476392 43.582479368054095, -73.42296026476825 43.63211436810032, -73.37098926471984 43.71428136817684, -73.35666926470651 43.75655836821622, -73.35899726470868 43.77842736823658, -73.38474026473266 43.80450836826087, -73.37512126472369 43.88597736833674, -73.40533426475183 43.9148073683636, -73.41740626476307 43.98819736843194, -73.40825126475454 44.0182223684599, -73.43600026478039 44.04567936848548, -73.435215264779
 66 44.063897368502445, -73.40875726475501 44.10661036854222, -73.4078652647542 44.136227368569806, -73.38206226473015 44.17210736860322, -73.37733226472575 44.20124736863036, -73.30532526465869 44.26014236868521, -73.32978826468147 44.367390368785095, -73.29999526465373 44.40553336882061, -73.29331926464751 44.43285336884606, -73.33445226468581 44.54432836894988, -73.34781226469826 44.55397136895886, -73.37129626472013 44.579167368982326, -73.38182526472994 44.61980736902018, -73.37013626471905 44.63434936903372, -73.3730972647218 44.6612763690588, -73.35815126470789 44.680368369076575, -73.37315826472187 44.724236369117435, -73.32678626467867 44.79929336918734, -73.36905426471805 44.819118369205796, -73.38230626473039 44.847933369232635, -73.33641426468765 44.93260436931149, -73.350758264701 44.98197336935747, -73.34472326469538 45.006138369379975, -73.18854626454993 45.00848636938216, -72.54723126395265 45.005370369379264, -71.90186826335162 45.0073403693811, -71.50537226298235 45
 .0133513693867, -71.54092726301546 44.976563369352434, -71.51697726299317 44.94369636932182, -71.50636526298328 44.899671369280824, -71.57510126304729 44.81601936920291, -71.58350126305511 44.77919736916862, -71.63113326309947 44.741710369133706, -71.60767826307763 44.67786236907425, -71.58874926306 44.650599369048855, -71.5680272630407 44.6374463690366, -71.55410226302773 44.59658936899855, -71.53679126301161 44.57893136898211, -71.5922882630633 44.55120336895628, -71.5914412630625 44.5388743689448, -71.57524326304743 44.52580536893263, -71.58661926305801 44.49453736890351, -71.61422326308373 44.47450736888486, -71.63655426310453 44.47673136888693, -71.64770926311492 44.46917436887989, -71.656399263123 44.440137368852845, -71.67688426314209 44.42134236883534, -71.76657026322562 44.39824836881384, -71.79772926325462 44.384172368800726, -71.82119726327649 44.35036036876923, -71.83481626328917 44.3441993687635, -71.92836126337629 44.33611236875596, -71.9389052633861 44.32578636874635,
  -71.99443326343783 44.32754836874799, -72.03549526347607 44.299434368721805, -72.05956626349848 44.26149436868647, -72.04439026348435 44.23437936866122, -72.05928226349822 44.1821763686126, -72.04472426348467 44.15643536858863, -72.03492026347553 44.12074636855539, -72.04951526348913 44.100452368536494, -72.03244726347323 44.096099368532435, -72.03472826347536 44.08337436852058, -72.07691926351464 44.03204036847278, -72.08520426352236 44.00892436845125, -72.10990926354538 43.9892293684329, -72.11280826354808 43.97651536842106, -72.09171126352842 43.95799136840381, -72.11320426354844 43.93916636838628, -72.12164926355631 43.909217368358384, -72.17008926360141 43.878917368330164, -72.18483626361515 43.80169036825825, -72.20609226363494 43.764635368223736, -72.21912326364708 43.75069236821075, -72.2600552636852 43.73530036819642, -72.30404026372616 43.69853036816217, -72.33308526375322 43.59736436806796, -72.37349826379085 43.57237436804468, -72.39499826381088 43.517554367993625, -72.
 38251526379925 43.48462936796296, -72.39624826381204 43.410156367893606, -72.41213926382684 43.37712536786284, -72.39762826381333 43.351006367838515, -72.41023126382507 43.323404367812806, -72.40241926381779 43.307382367797885, -72.43559826384869 43.23225336772792, -72.45239826386434 43.15602236765692, -72.43760526385056 43.1162703676199, -72.44346426385601 43.079039367585224, -72.46175226387305 43.046504367554924, -72.45715926386877 42.99960336751124, -72.47334126388384 42.9761433674894, -72.50426326391263 42.965584367479565, -72.5202172639275 42.9516723674666, -72.52481026393178 42.91261436743023, -72.55342826395842 42.860643367381826, -72.53891726394491 42.80773336733255, -72.51306826392084 42.789259367315346, -72.50726926391545 42.768732367296224, -72.47932226388942 42.761588367289576, -72.46217126387344 42.74684036727584, -72.45577026386748 42.725852367256294, -72.92299726430262 42.73736436726702, -73.01969526439268 42.74039636726984, -73.25806026461467 42.74605836727511)))
+MN	Minnesota	MULTIPOLYGON (((-91.73036628181835 43.49957136797688, -92.07753228214168 43.49915336797649, -92.45316928249152 43.499462367976776, -92.55800828258914 43.50025936797752, -93.02721128302613 43.501278367978465, -93.05438028305143 43.50145736797863, -93.50083028346722 43.50048836797773, -93.65369928360958 43.500762367977984, -93.97395028390784 43.50029836797755, -94.24678728416194 43.4989483679763, -94.45523828435608 43.498102367975505, -94.8598392847329 43.5000303679773, -94.92046428478936 43.49937136797669, -95.39655828523276 43.50033436797759, -95.46477528529628 43.499541367976846, -95.86691228567081 43.49894436797629, -96.0610392858516 43.49853336797591, -96.46045428622358 43.49971836797701, -96.45660228621999 43.848741368302065, -96.45739728622074 44.19906136862833, -96.45510628621861 44.53834336894431, -96.45671828622011 44.62880836902856, -96.45521728621871 44.801347369189244, -96.4560802862195 44.97199436934818, -96.45449628621803 45.27519536963055, -96.457602286220
 93 45.298850369652584, -96.47759228623954 45.328509369680205, -96.53254928629073 45.37513236972363, -96.60508428635828 45.39652436974355, -96.69316928644032 45.4106383697567, -96.7380322864821 45.45819536980099, -96.76924628651116 45.5174783698562, -96.84308728657994 45.584090369918236, -96.85499028659102 45.609122369941545, -96.83279628657036 45.65068736998026, -96.65739128640699 45.738970370062475, -96.60461028635784 45.80826437012701, -96.58795528634232 45.81785437013595, -96.56692128632274 45.93411037024421, -96.56180228631797 45.947683370256854, -96.57621528633139 46.0212793703254, -96.55193128630877 46.09552937039455, -96.57116628632669 46.17717437047059, -96.58789028634227 46.191918370484316, -96.58645628634093 46.2154133705062, -96.59818328635185 46.23868237052787, -96.60207428635547 46.33632437061881, -96.61486128636739 46.3508123706323, -96.65210128640207 46.35943337064033, -96.68822828643572 46.41221837068949, -96.70968228645569 46.42716837070341, -96.71489428646055 46.46
 871837074211, -96.74031628648423 46.4894323707614, -96.75122728649438 46.58861937085378, -96.77104128651284 46.59998337086436, -96.78431728652521 46.624112370886834, -96.79024628653073 46.6297733708921, -96.79369528653393 46.67880437093777, -96.78155628652263 46.70704437096407, -96.78038228652154 46.76231237101554, -96.7971972865372 46.812033371061844, -96.76825028651024 46.84486137109242, -96.77806128651937 46.86734937111336, -96.75691128649969 46.92278037116499, -96.76306828650542 46.936261371177544, -96.78792528652856 46.93218437117375, -96.78971028653022 46.948202371188664, -96.80188728654157 46.95584337119578, -96.79342528653369 46.96964137120863, -96.81677228655543 46.96977937120876, -96.82453128656266 47.003436371240106, -96.83529628657269 47.010231371246434, -96.82260828656086 47.033932371268506, -96.82696428656492 47.07883237131033, -96.81915128655764 47.09260437132315, -96.83916428657629 47.15188637137836, -96.82649128656448 47.17006337139529, -96.83706528657433 47.2404583
 71460846, -96.84962328658602 47.25684337147611, -96.83771428657494 47.2938843715106, -96.84674728658335 47.3146023715299, -96.83846128657564 47.34224337155564, -96.85063128658696 47.36095437157307, -96.8398272865769 47.38411737159464, -96.85000528658638 47.408936371617756, -96.86724828660245 47.41308737162162, -96.8558272865918 47.43675337164366, -96.86668428660191 47.46153737166674, -96.85161528658789 47.50061937170314, -96.86068728659633 47.521356371722455, -96.84918828658562 47.54456837174408, -96.85866428659445 47.56297837176122, -96.85221728658844 47.601151371796774, -96.87333528660811 47.61525537180991, -96.8894252866231 47.67392537186454, -96.92365928665498 47.71409437190196, -96.93201228666275 47.763506371947976, -96.9578302866868 47.79444037197678, -96.98389328671108 47.809661371990956, -96.97723128670486 47.82802937200807, -97.0003402867264 47.87019737204734, -97.02056628674522 47.87556937205234, -97.01533128674035 47.917890372091755, -97.04805328677082 47.95492437212624, 
 -97.06707128678855 48.04816437221308, -97.09272128681243 48.07034437223374, -97.0990302868183 48.10097237226226, -97.12187328683957 48.11636937227661, -97.12091828683869 48.1427743723012, -97.13651328685322 48.14839837230643, -97.11606528683417 48.15922337231652, -97.13744328685408 48.16776937232447, -97.13629128685301 48.17522737233142, -97.13727528685392 48.19506337234989, -97.13082828684792 48.20374237235798, -97.11089928682935 48.20760537236157, -97.13975428685623 48.22175537237475, -97.10923528682781 48.22804937238061, -97.12755428684487 48.23352337238571, -97.12378428684136 48.259173372409606, -97.13665528685334 48.264483372414546, -97.11171428683012 48.277876372427016, -97.11268328683101 48.286147372434726, -97.13051328684763 48.29304037244114, -97.11372128683199 48.294882372442856, -97.11475128683294 48.303618372451, -97.1326342868496 48.31096937245784, -97.11259128683093 48.319926372466185, -97.13713628685379 48.32599137247183, -97.1311232868482 48.361491372504894, -97.1503
 9628686614 48.3632153725065, -97.13378628685068 48.3724543725151, -97.135205286852 48.38441037252623, -97.15881928687399 48.38820637252977, -97.12912428684633 48.4078853725481, -97.14982328686561 48.40999137255006, -97.1516472868673 48.41961237255902, -97.12260128684025 48.416110372555764, -97.1196332868375 48.43710237257531, -97.14361328685983 48.43810937257625, -97.13459428685142 48.51731437265001, -97.14832728686422 48.51795137265061, -97.13938528685588 48.534648372666155, -97.15553728687092 48.53839837266965, -97.1604352868755 48.545078372675874, -97.14661828686262 48.54953737268002, -97.16794328688249 48.56226337269187, -97.15212728686775 48.572856372701736, -97.1581922868734 48.583640372711784, -97.14081228685721 48.586905372714824, -97.14471828686085 48.61402437274008, -97.12295828684059 48.62076837274636, -97.12744428684476 48.62979437275477, -97.1076302868263 48.629946372754915, -97.09716928681657 48.67452937279643, -97.1167392868348 48.695243372815725, -97.11010128682861 4
 8.708583372828144, -97.13480628685163 48.72623837284459, -97.13250228684947 48.747218372864126, -97.14789828686382 48.75565337287198, -97.13924628685575 48.76354237287933, -97.14751628686346 48.781170372895744, -97.17394428688807 48.801514372914696, -97.16471228687948 48.81036837292294, -97.1804222868941 48.81553737292775, -97.17120428688553 48.83598037294679, -97.17572728688974 48.87375737298198, -97.21636928692759 48.931830373036064, -97.22943628693976 48.999987373099536, -96.40691528617373 48.999982373099535, -95.27665728512109 48.99999137309954, -95.15775028501035 48.99999637309955, -95.15186728500487 49.37173037344575, -94.83203928470701 49.33080637340764, -94.68125028456657 48.87716137298514, -94.69443228457885 48.77761537289244, -94.57031228446326 48.71367637283289, -94.43063428433317 48.7107853728302, -94.29233728420436 48.70771137282733, -94.23082728414708 48.65198737277544, -93.84390428378673 48.62473737275006, -93.81268528375766 48.52540837265755, -93.78110628372825 48.51
 159037264468, -93.51413928347961 48.534271372665806, -93.46533928343416 48.54952037268001, -93.45776928342711 48.592710372720234, -93.30423628328413 48.637163372761634, -93.09144228308595 48.62658437275178, -92.94692628295135 48.62835537275343, -92.7290002827484 48.54021137267134, -92.6418202826672 48.54034937267147, -92.62638028265282 48.50282437263652, -92.69882128272029 48.49472137262897, -92.70664328272757 48.460370372596984, -92.49752928253282 48.44007237257807, -92.45634528249447 48.40216937254277, -92.47332228251028 48.357499372501174, -92.37011628241416 48.22077937237384, -92.27691828232736 48.24434037239578, -92.30027228234911 48.29831137244605, -92.27613128232663 48.35231937249635, -92.12596228218678 48.3667563725098, -92.03518328210222 48.355508372499315, -91.9795342820504 48.25039837240143, -91.78881528187279 48.20614537236021, -91.71193828180118 48.19677537235149, -91.70373128179354 48.11483537227518, -91.56877528166785 48.104457372265514, -91.57156228167045 48.04357137
 22088, -91.23944628136114 48.08129837224394, -91.02714828116342 48.19533937235015, -90.86449528101194 48.25419837240497, -90.74336528089913 48.088443372250595, -90.5674552807353 48.12169937228157, -90.55683528072541 48.092750372254606, -90.1452702803421 48.11277037227325, -90.02670028023168 48.08607937224839, -89.98702028019473 48.023556372190164, -89.90038928011404 47.99250537216125, -89.74931027997334 48.0264843721929, -89.53067327976972 48.00165637216977, -89.62564527985818 47.9925613721613, -89.63637327986817 47.95939037213041, -89.99967728020651 47.82456437200484, -90.50963328068146 47.70993837189809, -91.02147528115815 47.4610583716663, -91.46865728157461 47.12493537135326, -91.8009692818841 46.927086371169, -92.08849228215188 46.79189737104309, -92.21462428226934 46.668204370927896, -92.30314828235178 46.66657537092638, -92.287271282337 46.658786370919124, -92.28868528233832 46.415984370692996, -92.28894428233856 46.15660037045143, -92.28937028233896 46.07323137037378, -92.32
 737228237436 46.056878370358554, -92.34622528239191 46.022596370326625, -92.36496328240936 46.01624837032071, -92.42499928246528 46.02550437032933, -92.46234528250005 45.98119737028807, -92.52397728255745 45.98258337028936, -92.55267228258418 45.9512693702602, -92.66620828268992 45.91570337022708, -92.7062402827272 45.89095837020403, -92.73409728275314 45.84498037016121, -92.7487622827668 45.837302370154056, -92.77910728279507 45.763340370085174, -92.83363628284584 45.73089037005495, -92.86001928287041 45.71056237003602, -92.88539728289405 45.64495536997492, -92.87683128288607 45.57883636991335, -92.83503728284715 45.56340236989897, -92.7621752827793 45.56426336989977, -92.72815428274761 45.54724236988392, -92.68542128270781 45.470053369812035, -92.6548172826793 45.45522136979822, -92.64497528267015 45.43945236978353, -92.64875128267366 45.395466369742564, -92.6848692827073 45.3630763697124, -92.70738428272827 45.318201369670604, -92.74659328276478 45.297603369651426, -92.7554192827
 73 45.21237636957205, -92.76258328277967 45.18661236954806, -92.74493528276324 45.15642236951994, -92.74542228276368 45.1130043694795, -92.7967622828115 45.06561036943536, -92.76299128278005 45.02211936939486, -92.7671262827839 45.00100536937519, -92.74976828276773 44.93565536931433, -92.75392628277162 44.915002369295095, -92.77187128278833 44.899496369280655, -92.76426328278124 44.862234369245954, -92.76102828277823 44.83537136922094, -92.80558428281972 44.746160369137854, -92.73714528275598 44.713594369107525, -92.63036728265654 44.64265236904146, -92.60897328263661 44.61029236901132, -92.5092152825437 44.575159368978596, -92.34087228238693 44.5528353689578, -92.32047828236793 44.540491368946306, -92.29668728234577 44.49218236890132, -92.24910028230146 44.45621636886782, -92.20613728226144 44.43839436885122, -92.09133328215452 44.415589368829984, -91.97238628204374 44.36448736878239, -91.93886828201254 44.33911136875876, -91.92275428199753 44.31752036873865, -91.92234928199714 44.
 28834136871147, -91.8886942819658 44.25749536868275, -91.84874428192859 44.191187368620994, -91.75321928183963 44.137227368570734, -91.65223328174558 44.066895368505236, -91.6017862816986 44.04082236848096, -91.56916228166821 44.034955368475494, -91.52842028163028 44.034215368474804, -91.42590228153479 43.98561936842954, -91.37335728148585 43.94719136839375, -91.29194828141004 43.847190368300616, -91.251105281372 43.788075368245565, -91.25891628137927 43.722395368184394, -91.25838928137878 43.67732236814242, -91.23299028135513 43.59889036806938, -91.24055828136218 43.54871236802264, -91.22356628134635 43.500808367978024, -91.61109928170727 43.50062636797786, -91.73036628181835 43.49957136797688)))
+OR	Oregon	MULTIPOLYGON (((-121.441509309489 41.99433436657502, -122.28470531027429 42.000764366581, -123.22210231114731 42.00219136658233, -123.51320431141842 41.99783336657828, -123.81914631170335 41.99294836657373, -124.20644431206405 41.997648366578105, -124.35224631219984 42.09867736667219, -124.41506231225834 42.245894366809296, -124.43781831227955 42.429608366980396, -124.39176331223663 42.55302736709534, -124.40107831224532 42.62269936716022, -124.55961731239297 42.83245736735557, -124.4853463123238 42.955454367470125, -124.386772312232 43.261589367755235, -124.40607631224998 43.3001973677912, -124.27399431212697 43.45910536793919, -124.22600431208227 43.60500436807507, -124.15832531201923 43.85711836830987, -124.11831931198198 44.269515368693945, -124.05440531192245 44.6621393690596, -124.07556831194216 44.81473836920172, -124.00757231187885 45.03610336940788, -123.95660731183138 45.292965369647106, -123.98056031185368 45.485084369826026, -123.93667431181281 45.5079663698473
 4, -123.8921083117713 45.47405036981576, -123.85950731174094 45.499082369839066, -123.9534153118284 45.568528369903746,

<TRUNCATED>

[56/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
deleted file mode 100644
index 7cd4723..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.Calendar;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree;
-import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.junit.Before;
-import org.junit.Test;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomBoolean;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-
-public class DateNRStrategyTest extends RandomSpatialOpStrategyTestCase {
-
-  static final int ITERATIONS = 10;
-
-  DateRangePrefixTree tree;
-
-  long randomCalWindowMs;
-
-  @Before
-  public void setUp() throws Exception {
-    super.setUp();
-    tree = DateRangePrefixTree.INSTANCE;
-    if (randomBoolean()) {
-      strategy = new NumberRangePrefixTreeStrategy(tree, "dateRange");
-    } else {
-      //Test the format that existed <= Lucene 5.0
-      strategy = new NumberRangePrefixTreeStrategy(tree, "dateRange") {
-        @Override
-        protected CellToBytesRefIterator newCellToBytesRefIterator() {
-          return new CellToBytesRefIterator50();
-        }
-      };
-    }
-    Calendar tmpCal = tree.newCal();
-    int randomCalWindowField = randomIntBetween(1, Calendar.ZONE_OFFSET - 1);//we're not allowed to add zone offset
-    tmpCal.add(randomCalWindowField, 2_000);
-    randomCalWindowMs = Math.max(2000L, tmpCal.getTimeInMillis());
-  }
-
-  @Test
-  @Repeat(iterations = ITERATIONS)
-  public void testIntersects() throws IOException {
-    testOperationRandomShapes(SpatialOperation.Intersects);
-  }
-
-  @Test
-  @Repeat(iterations = ITERATIONS)
-  public void testWithin() throws IOException {
-    testOperationRandomShapes(SpatialOperation.IsWithin);
-  }
-
-  @Test
-  @Repeat(iterations = ITERATIONS)
-  public void testContains() throws IOException {
-    testOperationRandomShapes(SpatialOperation.Contains);
-  }
-
-  @Test
-  public void testWithinSame() throws IOException {
-    final Calendar cal = tree.newCal();
-    testOperation(
-        tree.toShape(cal),
-        SpatialOperation.IsWithin,
-        tree.toShape(cal), true);//is within itself
-  }
-
-  @Test
-  public void testWorld() throws IOException {
-    testOperation(
-        tree.toShape(tree.newCal()),//world matches everything
-        SpatialOperation.Contains,
-        tree.toShape(randomCalendar()), true);
-  }
-
-  @Test
-  public void testBugInitIterOptimization() throws Exception {
-    //bug due to fast path initIter() optimization
-    testOperation(
-        tree.parseShape("[2014-03-27T23 TO 2014-04-01T01]"),
-        SpatialOperation.Intersects,
-        tree.parseShape("[2014-04 TO 2014-04-01T02]"), true);
-  }
-
-  @Override
-  protected Shape randomIndexedShape() {
-    Calendar cal1 = randomCalendar();
-    UnitNRShape s1 = tree.toShape(cal1);
-    if (rarely()) {
-      return s1;
-    }
-    try {
-      Calendar cal2 = randomCalendar();
-      UnitNRShape s2 = tree.toShape(cal2);
-      if (cal1.compareTo(cal2) < 0) {
-        return tree.toRangeShape(s1, s2);
-      } else {
-        return tree.toRangeShape(s2, s1);
-      }
-    } catch (IllegalArgumentException e) {
-      assert e.getMessage().startsWith("Differing precision");
-      return s1;
-    }
-  }
-
-  private Calendar randomCalendar() {
-    Calendar cal = tree.newCal();
-    cal.setTimeInMillis(random().nextLong() % randomCalWindowMs);
-    try {
-      tree.clearFieldsAfter(cal, random().nextInt(Calendar.FIELD_COUNT+1)-1);
-    } catch (AssertionError e) {
-      if (!e.getMessage().equals("Calendar underflow"))
-        throw e;
-    }
-    return cal;
-  }
-
-  @Override
-  protected Shape randomQueryShape() {
-    return randomIndexedShape();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
deleted file mode 100644
index 124af79..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.SpatialContextFactory;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import com.spatial4j.core.shape.impl.RectangleImpl;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TotalHitCountCollector;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.Bits;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.atMost;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-
-public class HeatmapFacetCounterTest extends StrategyTestCase {
-
-  SpatialPrefixTree grid;
-
-  int cellsValidated;
-  int cellValidatedNonZero;
-
-  @Before
-  public void setUp() throws Exception {
-    super.setUp();
-    cellsValidated = cellValidatedNonZero = 0;
-    ctx = SpatialContext.GEO;
-    grid = new QuadPrefixTree(ctx, randomIntBetween(1, 8));
-    strategy = new RecursivePrefixTreeStrategy(grid, getTestClass().getSimpleName());
-    if (rarely()) {
-      ((PrefixTreeStrategy) strategy).setPointsOnly(true);
-    }
-  }
-
-  @After
-  public void after() {
-    log.info("Validated " + cellsValidated + " cells, " + cellValidatedNonZero + " non-zero");
-  }
-
-  @Test
-  public void testStatic() throws IOException {
-    //Some specific tests (static, not random).
-    adoc("0", ctx.makeRectangle(179.8, -170, -90, -80));//barely crosses equator
-    adoc("1", ctx.makePoint(-180, -85));//a pt within the above rect
-    adoc("2", ctx.makePoint(172, -85));//a pt to left of rect
-    commit();
-
-    validateHeatmapResultLoop(ctx.makeRectangle(+170, +180, -90, -85), 1, 100);
-    validateHeatmapResultLoop(ctx.makeRectangle(-180, -160, -89, -50), 1, 100);
-    validateHeatmapResultLoop(ctx.makeRectangle(179, 179, -89, -50), 1, 100);//line
-    // We could test anything and everything at this point... I prefer we leave that to random testing and then
-    // add specific tests if we find a bug.
-  }
-
-  @Test
-  public void testQueryCircle() throws IOException {
-    //overwrite setUp; non-geo bounds is more straight-forward; otherwise 88,88 would actually be practically north,
-    final SpatialContextFactory spatialContextFactory = new SpatialContextFactory();
-    spatialContextFactory.geo = false;
-    spatialContextFactory.worldBounds = new RectangleImpl(-90, 90, -90, 90, null);
-    ctx = spatialContextFactory.newSpatialContext();
-    final int LEVEL = 4;
-    grid = new QuadPrefixTree(ctx, LEVEL);
-    strategy = new RecursivePrefixTreeStrategy(grid, getTestClass().getSimpleName());
-    Circle circle = ctx.makeCircle(0, 0, 89);
-    adoc("0", ctx.makePoint(88, 88));//top-right, inside bbox of circle but not the circle
-    adoc("1", ctx.makePoint(0, 0));//clearly inside; dead center in fact
-    commit();
-    final HeatmapFacetCounter.Heatmap heatmap = HeatmapFacetCounter.calcFacets(
-        (PrefixTreeStrategy) strategy, indexSearcher.getTopReaderContext(), null,
-        circle, LEVEL, 1000);
-    //assert that only one point is found, not 2
-    boolean foundOne = false;
-    for (int count : heatmap.counts) {
-      switch (count) {
-        case 0: break;
-        case 1:
-          assertFalse(foundOne);//this is the first
-          foundOne = true;
-          break;
-        default:
-          fail("counts should be 0 or 1: " + count);
-      }
-    }
-    assertTrue(foundOne);
-  }
-
-  /** Recursively facet & validate at higher resolutions until we've seen enough. We assume there are
-   * some non-zero cells. */
-  private void validateHeatmapResultLoop(Rectangle inputRange, int facetLevel, int cellCountRecursThreshold)
-      throws IOException {
-    if (facetLevel > grid.getMaxLevels()) {
-      return;
-    }
-    final int maxCells = 10_000;
-    final HeatmapFacetCounter.Heatmap heatmap = HeatmapFacetCounter.calcFacets(
-        (PrefixTreeStrategy) strategy, indexSearcher.getTopReaderContext(), null, inputRange, facetLevel, maxCells);
-    int preNonZero = cellValidatedNonZero;
-    validateHeatmapResult(inputRange, facetLevel, heatmap);
-    assert cellValidatedNonZero - preNonZero > 0;//we validated more non-zero cells
-    if (heatmap.counts.length < cellCountRecursThreshold) {
-      validateHeatmapResultLoop(inputRange, facetLevel + 1, cellCountRecursThreshold);
-    }
-  }
-
-  @Test
-  @Repeat(iterations = 20)
-  public void testRandom() throws IOException {
-    // Tests using random index shapes & query shapes. This has found all sorts of edge case bugs (e.g. dateline,
-    // cell border, overflow(?)).
-
-    final int numIndexedShapes = 1 + atMost(9);
-    List<Shape> indexedShapes = new ArrayList<>(numIndexedShapes);
-    for (int i = 0; i < numIndexedShapes; i++) {
-      indexedShapes.add(randomIndexedShape());
-    }
-
-    //Main index loop:
-    for (int i = 0; i < indexedShapes.size(); i++) {
-      Shape shape = indexedShapes.get(i);
-      adoc("" + i, shape);
-
-      if (random().nextInt(10) == 0)
-        commit();//intermediate commit, produces extra segments
-    }
-    //delete some documents randomly
-    for (int id = 0; id < indexedShapes.size(); id++) {
-      if (random().nextInt(10) == 0) {
-        deleteDoc("" + id);
-        indexedShapes.set(id, null);
-      }
-    }
-
-    commit();
-
-    // once without dateline wrap
-    final Rectangle rect = randomRectangle();
-    queryHeatmapRecursive(usually() ? ctx.getWorldBounds() : rect, 1);
-    // and once with dateline wrap
-    if (rect.getWidth() > 0) {
-      double shift = random().nextDouble() % rect.getWidth();
-      queryHeatmapRecursive(ctx.makeRectangle(
-              DistanceUtils.normLonDEG(rect.getMinX() - shift),
-              DistanceUtils.normLonDEG(rect.getMaxX() - shift),
-              rect.getMinY(), rect.getMaxY()),
-          1);
-    }
-  }
-
-  /** Build heatmap, validate results, then descend recursively to another facet level. */
-  private boolean queryHeatmapRecursive(Rectangle inputRange, int facetLevel) throws IOException {
-    if (!inputRange.hasArea()) {
-      // Don't test line inputs. It's not that we don't support it but it is more challenging to test if per-chance it
-      // coincides with a grid line due due to edge overlap issue for some grid implementations (geo & quad).
-      return false;
-    }
-    Bits filter = null; //FYI testing filtering of underlying PrefixTreeFacetCounter is done in another test
-    //Calculate facets
-    final int maxCells = 10_000;
-    final HeatmapFacetCounter.Heatmap heatmap = HeatmapFacetCounter.calcFacets(
-        (PrefixTreeStrategy) strategy, indexSearcher.getTopReaderContext(), filter, inputRange, facetLevel, maxCells);
-
-    validateHeatmapResult(inputRange, facetLevel, heatmap);
-
-    boolean foundNonZeroCount = false;
-    for (int count : heatmap.counts) {
-      if (count > 0) {
-        foundNonZeroCount = true;
-        break;
-      }
-    }
-
-    //Test again recursively to higher facetLevel (more detailed cells)
-    if (foundNonZeroCount && cellsValidated <= 500 && facetLevel != grid.getMaxLevels() && inputRange.hasArea()) {
-      for (int i = 0; i < 5; i++) {//try multiple times until we find non-zero counts
-        if (queryHeatmapRecursive(randomRectangle(inputRange), facetLevel + 1)) {
-          break;//we found data here so we needn't try again
-        }
-      }
-    }
-    return foundNonZeroCount;
-  }
-
-  private void validateHeatmapResult(Rectangle inputRange, int facetLevel, HeatmapFacetCounter.Heatmap heatmap)
-      throws IOException {
-    final Rectangle heatRect = heatmap.region;
-    assertTrue(heatRect.relate(inputRange) == SpatialRelation.CONTAINS || heatRect.equals(inputRange));
-    final double cellWidth = heatRect.getWidth() / heatmap.columns;
-    final double cellHeight = heatRect.getHeight() / heatmap.rows;
-    for (int c = 0; c < heatmap.columns; c++) {
-      for (int r = 0; r < heatmap.rows; r++) {
-        final int facetCount = heatmap.getCount(c, r);
-        double x = DistanceUtils.normLonDEG(heatRect.getMinX() + c * cellWidth + cellWidth / 2);
-        double y = DistanceUtils.normLatDEG(heatRect.getMinY() + r * cellHeight + cellHeight / 2);
-        Point pt =  ctx.makePoint(x, y);
-        assertEquals(countMatchingDocsAtLevel(pt, facetLevel), facetCount);
-      }
-    }
-  }
-
-  private int countMatchingDocsAtLevel(Point pt, int facetLevel) throws IOException {
-    // we use IntersectsPrefixTreeFilter directly so that we can specify the level to go to exactly.
-    RecursivePrefixTreeStrategy strategy = (RecursivePrefixTreeStrategy) this.strategy;
-    Query filter = new IntersectsPrefixTreeQuery(
-        pt, strategy.getFieldName(), grid, facetLevel, grid.getMaxLevels());
-    final TotalHitCountCollector collector = new TotalHitCountCollector();
-    indexSearcher.search(filter, collector);
-    cellsValidated++;
-    if (collector.getTotalHits() > 0) {
-      cellValidatedNonZero++;
-    }
-    return collector.getTotalHits();
-  }
-
-  private Shape randomIndexedShape() {
-    if (((PrefixTreeStrategy) strategy).isPointsOnly() || random().nextBoolean()) {
-      return randomPoint();
-    } else {
-      return randomRectangle();
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
deleted file mode 100644
index 62b0466..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import com.spatial4j.core.context.SpatialContextFactory;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.TextField;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.junit.Test;
-
-import java.text.ParseException;
-import java.util.HashMap;
-
-public class JtsPolygonTest extends StrategyTestCase {
-
-  private static final double LUCENE_4464_distErrPct = SpatialArgs.DEFAULT_DISTERRPCT;//DEFAULT 2.5%
-
-  public JtsPolygonTest() {
-    try {
-      HashMap<String, String> args = new HashMap<>();
-      args.put("spatialContextFactory",
-          "com.spatial4j.core.context.jts.JtsSpatialContextFactory");
-      ctx = SpatialContextFactory.makeSpatialContext(args, getClass().getClassLoader());
-    } catch (NoClassDefFoundError e) {
-      assumeTrue("This test requires JTS jar: "+e, false);
-    }
-
-    GeohashPrefixTree grid = new GeohashPrefixTree(ctx, 11);//< 1 meter == 11 maxLevels
-    this.strategy = new RecursivePrefixTreeStrategy(grid, getClass().getSimpleName());
-    ((RecursivePrefixTreeStrategy)this.strategy).setDistErrPct(LUCENE_4464_distErrPct);//1% radius (small!)
-  }
-
-  @Test
-  /** LUCENE-4464 */
-  public void testCloseButNoMatch() throws Exception {
-    getAddAndVerifyIndexedDocuments("LUCENE-4464.txt");
-    SpatialArgs args = q(
-        "POLYGON((-93.18100824442227 45.25676372469945," +
-            "-93.23182001200654 45.21421290799412," +
-            "-93.16315546122038 45.23742639412364," +
-            "-93.18100824442227 45.25676372469945))",
-        LUCENE_4464_distErrPct);
-    SearchResults got = executeQuery(strategy.makeQuery(args), 100);
-    assertEquals(1, got.numFound);
-    assertEquals("poly2", got.results.get(0).document.get("id"));
-    //did not find poly 1 !
-  }
-
-  private SpatialArgs q(String shapeStr, double distErrPct) throws ParseException {
-    Shape shape = ctx.readShapeFromWkt(shapeStr);
-    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, shape);
-    args.setDistErrPct(distErrPct);
-    return args;
-  }
-
-  /**
-   * A PrefixTree pruning optimization gone bad.
-   * See <a href="https://issues.apache.org/jira/browse/LUCENE-4770">LUCENE-4770</a>.
-   */
-  @Test
-  public void testBadPrefixTreePrune() throws Exception {
-  
-    Shape area = ctx.readShapeFromWkt("POLYGON((-122.83 48.57, -122.77 48.56, -122.79 48.53, -122.83 48.57))");
-    
-    SpatialPrefixTree trie = new QuadPrefixTree(ctx, 12);
-    TermQueryPrefixTreeStrategy strategy = new TermQueryPrefixTreeStrategy(trie, "geo");
-    Document doc = new Document();
-    doc.add(new TextField("id", "1", Store.YES));
-
-    Field[] fields = strategy.createIndexableFields(area, 0.025);
-    for (Field field : fields) {
-      doc.add(field);  
-    }
-    addDocument(doc);
-
-    Point upperleft = ctx.makePoint(-122.88, 48.54);
-    Point lowerright = ctx.makePoint(-122.82, 48.62);
-    
-    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.Intersects, ctx.makeRectangle(upperleft, lowerright)));
-    commit();
-    
-    TopDocs search = indexSearcher.search(query, 10);
-    ScoreDoc[] scoreDocs = search.scoreDocs;
-    for (ScoreDoc scoreDoc : scoreDocs) {
-      System.out.println(indexSearcher.doc(scoreDoc.doc));
-    }
-
-    assertEquals(1, search.totalHits);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
deleted file mode 100644
index 11e1d18..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.List;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.queries.TermsQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.SimpleCollector;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy.Facets;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree;
-import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree;
-import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.FixedBitSet;
-import org.junit.Before;
-import org.junit.Test;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-
-public class NumberRangeFacetsTest extends StrategyTestCase {
-
-  DateRangePrefixTree tree;
-
-  int randomCalWindowField;
-  long randomCalWindowMs;
-
-  @Before
-  public void setUp() throws Exception {
-    super.setUp();
-    tree = DateRangePrefixTree.INSTANCE;
-    strategy = new NumberRangePrefixTreeStrategy(tree, "dateRange");
-    Calendar tmpCal = tree.newCal();
-    randomCalWindowField = randomIntBetween(1, Calendar.ZONE_OFFSET - 1);//we're not allowed to add zone offset
-    tmpCal.add(randomCalWindowField, 2_000);
-    randomCalWindowMs = Math.max(2000L, tmpCal.getTimeInMillis());
-  }
-
-  @Repeat(iterations = 20)
-  @Test
-  public void test() throws IOException {
-    //generate test data
-    List<Shape> indexedShapes = new ArrayList<>();
-    final int numIndexedShapes = random().nextInt(15);
-    for (int i = 0; i < numIndexedShapes; i++) {
-      indexedShapes.add(randomShape());
-    }
-
-    //Main index loop:
-    for (int i = 0; i < indexedShapes.size(); i++) {
-      Shape shape = indexedShapes.get(i);
-      adoc(""+i, shape);
-
-      if (random().nextInt(10) == 0)
-        commit();//intermediate commit, produces extra segments
-    }
-
-    //delete some documents randomly
-    for (int id = 0; id < indexedShapes.size(); id++) {
-      if (random().nextInt(10) == 0) {
-        deleteDoc(""+id);
-        indexedShapes.set(id, null);
-      }
-    }
-
-    commit();
-
-    //Main query loop:
-    for (int queryIdx = 0; queryIdx < 10; queryIdx++) {
-      preQueryHavoc();
-
-      // We need to have a facet range window to do the facets between (a start time & end time). We randomly
-      // pick a date, decide the level we want to facet on, and then pick a right end time that is up to 2 thousand
-      // values later.
-      int calFieldFacet = randomCalWindowField - 1;
-      if (calFieldFacet > 1 && rarely()) {
-        calFieldFacet--;
-      }
-      final Calendar leftCal = randomCalendar();
-      leftCal.add(calFieldFacet, -1 * randomInt(1000));
-      Calendar rightCal = (Calendar) leftCal.clone();
-      rightCal.add(calFieldFacet, randomInt(2000));
-      // Pick facet detail level based on cal field.
-      int detailLevel = tree.getTreeLevelForCalendarField(calFieldFacet);
-      if (detailLevel < 0) {//no exact match
-        detailLevel = -1 * detailLevel;
-      }
-
-      //Randomly pick a filter/acceptDocs
-      Bits topAcceptDocs = null;
-      List<Integer> acceptFieldIds = new ArrayList<>();
-      if (usually()) {
-        //get all possible IDs into a list, random shuffle it, then randomly choose how many of the first we use to
-        // replace the list.
-        for (int i = 0; i < indexedShapes.size(); i++) {
-          if (indexedShapes.get(i) == null) { // we deleted this one
-            continue;
-          }
-          acceptFieldIds.add(i);
-        }
-        Collections.shuffle(acceptFieldIds, random());
-        acceptFieldIds = acceptFieldIds.subList(0, randomInt(acceptFieldIds.size()));
-        if (!acceptFieldIds.isEmpty()) {
-          List<Term> terms = new ArrayList<>();
-          for (Integer acceptDocId : acceptFieldIds) {
-            terms.add(new Term("id", acceptDocId.toString()));
-          }
-
-          topAcceptDocs = searchForDocBits(new TermsQuery(terms));
-        }
-      }
-
-      //Lets do it!
-      NumberRangePrefixTree.NRShape facetRange = tree.toRangeShape(tree.toShape(leftCal), tree.toShape(rightCal));
-      Facets facets = ((NumberRangePrefixTreeStrategy) strategy)
-          .calcFacets(indexSearcher.getTopReaderContext(), topAcceptDocs, facetRange, detailLevel);
-
-      //System.out.println("Q: " + queryIdx + " " + facets);
-
-      //Verify results. We do it by looping over indexed shapes and reducing the facet counts.
-      Shape facetShapeRounded = facetRange.roundToLevel(detailLevel);
-      for (int indexedShapeId = 0; indexedShapeId < indexedShapes.size(); indexedShapeId++) {
-        if (topAcceptDocs != null && !acceptFieldIds.contains(indexedShapeId)) {
-          continue;// this doc was filtered out via acceptDocs
-        }
-        Shape indexedShape = indexedShapes.get(indexedShapeId);
-        if (indexedShape == null) {//was deleted
-          continue;
-        }
-        Shape indexedShapeRounded = ((NumberRangePrefixTree.NRShape) indexedShape).roundToLevel(detailLevel);
-        if (!indexedShapeRounded.relate(facetShapeRounded).intersects()) { // no intersection at all
-          continue;
-        }
-        // walk the cells
-        final CellIterator cellIterator = tree.getTreeCellIterator(indexedShape, detailLevel);
-        while (cellIterator.hasNext()) {
-          Cell cell = cellIterator.next();
-          if (!cell.getShape().relate(facetShapeRounded).intersects()) {
-            cellIterator.remove();//no intersection; prune
-            continue;
-          }
-          assert cell.getLevel() <= detailLevel;
-
-          if (cell.getLevel() == detailLevel) {
-            //count it
-            UnitNRShape shape = (UnitNRShape) cell.getShape();
-            final UnitNRShape parentShape = shape.getShapeAtLevel(detailLevel - 1);//get parent
-            final Facets.FacetParentVal facetParentVal = facets.parents.get(parentShape);
-            assertNotNull(facetParentVal);
-            int index = shape.getValAtLevel(shape.getLevel());
-            assertNotNull(facetParentVal.childCounts);
-            assert facetParentVal.childCounts[index] > 0;
-            facetParentVal.childCounts[index]--;
-
-          } else if (cell.isLeaf()) {
-            //count it, and remove/prune.
-            if (cell.getLevel() < detailLevel - 1) {
-              assert facets.topLeaves > 0;
-              facets.topLeaves--;
-            } else {
-              UnitNRShape shape = (UnitNRShape) cell.getShape();
-              final UnitNRShape parentShape = shape.getShapeAtLevel(detailLevel - 1);//get parent
-              final Facets.FacetParentVal facetParentVal = facets.parents.get(parentShape);
-              assertNotNull(facetParentVal);
-              assert facetParentVal.parentLeaves > 0;
-              facetParentVal.parentLeaves--;
-            }
-
-            cellIterator.remove();
-          }
-        }
-      }
-      // At this point; all counts should be down to zero.
-      assertTrue(facets.topLeaves == 0);
-      for (Facets.FacetParentVal facetParentVal : facets.parents.values()) {
-        assertTrue(facetParentVal.parentLeaves == 0);
-        if (facetParentVal.childCounts != null) {
-          for (int childCount : facetParentVal.childCounts) {
-            assertTrue(childCount == 0);
-          }
-        }
-      }
-
-    }
-  }
-
-  private Bits searchForDocBits(Query query) throws IOException {
-    FixedBitSet bitSet = new FixedBitSet(indexSearcher.getIndexReader().maxDoc());
-    indexSearcher.search(query,
-        new SimpleCollector() {
-          int leafDocBase;
-          @Override
-          public void collect(int doc) throws IOException {
-            bitSet.set(leafDocBase + doc);
-          }
-
-          @Override
-          protected void doSetNextReader(LeafReaderContext context) throws IOException {
-            leafDocBase = context.docBase;
-          }
-
-          @Override
-          public boolean needsScores() {
-            return false;
-          }
-        });
-    return bitSet;
-  }
-
-  private void preQueryHavoc() {
-    if (strategy instanceof RecursivePrefixTreeStrategy) {
-      RecursivePrefixTreeStrategy rpts = (RecursivePrefixTreeStrategy) strategy;
-      int scanLevel = randomInt(rpts.getGrid().getMaxLevels());
-      rpts.setPrefixGridScanLevel(scanLevel);
-    }
-  }
-
-  protected Shape randomShape() {
-    Calendar cal1 = randomCalendar();
-    UnitNRShape s1 = tree.toShape(cal1);
-    if (rarely()) {
-      return s1;
-    }
-    try {
-      Calendar cal2 = randomCalendar();
-      UnitNRShape s2 = tree.toShape(cal2);
-      if (cal1.compareTo(cal2) < 0) {
-        return tree.toRangeShape(s1, s2);
-      } else {
-        return tree.toRangeShape(s2, s1);
-      }
-    } catch (IllegalArgumentException e) {
-      assert e.getMessage().startsWith("Differing precision");
-      return s1;
-    }
-  }
-
-  private Calendar randomCalendar() {
-    Calendar cal = tree.newCal();
-    cal.setTimeInMillis(random().nextLong() % randomCalWindowMs);
-    try {
-      tree.clearFieldsAfter(cal, random().nextInt(Calendar.FIELD_COUNT+1)-1);
-    } catch (AssertionError e) {
-      if (!e.getMessage().equals("Calendar underflow"))
-        throw e;
-    }
-    return cal;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
deleted file mode 100644
index e932fe9..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-/** Test RandomSpatialOpFuzzyPrefixTreeTest using the PrefixTree index format found in 5.0 and prior. */
-public class RandomSpatialOpFuzzyPrefixTree50Test extends RandomSpatialOpFuzzyPrefixTreeTest {
-
-  protected RecursivePrefixTreeStrategy newRPT() {
-    return new RecursivePrefixTreeStrategy(this.grid, getClass().getSimpleName()) {
-      @Override
-      protected CellToBytesRefIterator newCellToBytesRefIterator() {
-        return new CellToBytesRefIterator50();
-      }
-    };
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
deleted file mode 100644
index 8db131c..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
+++ /dev/null
@@ -1,533 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.SpatialContextFactory;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.ShapeCollection;
-import com.spatial4j.core.shape.SpatialRelation;
-import com.spatial4j.core.shape.impl.RectangleImpl;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.StoredField;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.PackedQuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.junit.Test;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomBoolean;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-import static com.spatial4j.core.shape.SpatialRelation.CONTAINS;
-import static com.spatial4j.core.shape.SpatialRelation.DISJOINT;
-import static com.spatial4j.core.shape.SpatialRelation.INTERSECTS;
-import static com.spatial4j.core.shape.SpatialRelation.WITHIN;
-
-/** Randomized PrefixTree test that considers the fuzziness of the
- * results introduced by grid approximation. */
-public class RandomSpatialOpFuzzyPrefixTreeTest extends StrategyTestCase {
-
-  static final int ITERATIONS = 10;
-
-  protected SpatialPrefixTree grid;
-  private SpatialContext ctx2D;
-
-  public void setupGrid(int maxLevels) throws IOException {
-    if (randomBoolean())
-      setupQuadGrid(maxLevels, randomBoolean());
-    else
-      setupGeohashGrid(maxLevels);
-    setupCtx2D(ctx);
-
-    // set prune independently on strategy & grid randomly; should work
-    ((RecursivePrefixTreeStrategy)strategy).setPruneLeafyBranches(randomBoolean());
-    if (this.grid instanceof PackedQuadPrefixTree) {
-      ((PackedQuadPrefixTree) this.grid).setPruneLeafyBranches(randomBoolean());
-    }
-
-    if (maxLevels == -1 && rarely()) {
-      ((PrefixTreeStrategy) strategy).setPointsOnly(true);
-    }
-
-    log.info("Strategy: " + strategy.toString());
-  }
-
-  private void setupCtx2D(SpatialContext ctx) {
-    if (!ctx.isGeo())
-      ctx2D = ctx;
-    //A non-geo version of ctx.
-    SpatialContextFactory ctxFactory = new SpatialContextFactory();
-    ctxFactory.geo = false;
-    ctxFactory.worldBounds = ctx.getWorldBounds();
-    ctx2D = ctxFactory.newSpatialContext();
-  }
-
-  private void setupQuadGrid(int maxLevels, boolean packedQuadPrefixTree) {
-    //non-geospatial makes this test a little easier (in gridSnap), and using boundary values 2^X raises
-    // the prospect of edge conditions we want to test, plus makes for simpler numbers (no decimals).
-    SpatialContextFactory factory = new SpatialContextFactory();
-    factory.geo = false;
-    factory.worldBounds = new RectangleImpl(0, 256, -128, 128, null);
-    this.ctx = factory.newSpatialContext();
-    //A fairly shallow grid, and default 2.5% distErrPct
-    if (maxLevels == -1)
-      maxLevels = randomIntBetween(1, 8);//max 64k cells (4^8), also 256*256
-    if (packedQuadPrefixTree) {
-      this.grid = new PackedQuadPrefixTree(ctx, maxLevels);
-    } else {
-      this.grid = new QuadPrefixTree(ctx, maxLevels);
-    }
-    this.strategy = newRPT();
-  }
-
-  public void setupGeohashGrid(int maxLevels) {
-    this.ctx = SpatialContext.GEO;
-    //A fairly shallow grid, and default 2.5% distErrPct
-    if (maxLevels == -1)
-      maxLevels = randomIntBetween(1, 3);//max 16k cells (32^3)
-    this.grid = new GeohashPrefixTree(ctx, maxLevels);
-    this.strategy = newRPT();
-  }
-
-  protected RecursivePrefixTreeStrategy newRPT() {
-    return new RecursivePrefixTreeStrategy(this.grid, getClass().getSimpleName());
-  }
-
-  @Test
-  @Repeat(iterations = ITERATIONS)
-  public void testIntersects() throws IOException {
-    setupGrid(-1);
-    doTest(SpatialOperation.Intersects);
-  }
-
-  @Test
-  @Repeat(iterations = ITERATIONS)
-  public void testWithin() throws IOException {
-    setupGrid(-1);
-    doTest(SpatialOperation.IsWithin);
-  }
-
-  @Test
-  @Repeat(iterations = ITERATIONS)
-  public void testContains() throws IOException {
-    setupGrid(-1);
-    doTest(SpatialOperation.Contains);
-  }
-
-  /** See LUCENE-5062, {@link ContainsPrefixTreeQuery#multiOverlappingIndexedShapes}. */
-  @Test
-  public void testContainsPairOverlap() throws IOException {
-    setupQuadGrid(3, randomBoolean());
-    adoc("0", new ShapePair(ctx.makeRectangle(0, 33, -128, 128), ctx.makeRectangle(33, 128, -128, 128), true));
-    commit();
-    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.Contains,
-        ctx.makeRectangle(0, 128, -16, 128)));
-    SearchResults searchResults = executeQuery(query, 1);
-    assertEquals(1, searchResults.numFound);
-  }
-
-  @Test
-  public void testWithinDisjointParts() throws IOException {
-    setupQuadGrid(7, randomBoolean());
-    //one shape comprised of two parts, quite separated apart
-    adoc("0", new ShapePair(ctx.makeRectangle(0, 10, -120, -100), ctx.makeRectangle(220, 240, 110, 125), false));
-    commit();
-    //query surrounds only the second part of the indexed shape
-    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.IsWithin,
-        ctx.makeRectangle(210, 245, 105, 128)));
-    SearchResults searchResults = executeQuery(query, 1);
-    //we shouldn't find it because it's not completely within
-    assertTrue(searchResults.numFound == 0);
-  }
-
-  @Test /** LUCENE-4916 */
-  public void testWithinLeafApproxRule() throws IOException {
-    setupQuadGrid(2, randomBoolean());//4x4 grid
-    //indexed shape will simplify to entire right half (2 top cells)
-    adoc("0", ctx.makeRectangle(192, 204, -128, 128));
-    commit();
-
-    ((RecursivePrefixTreeStrategy) strategy).setPrefixGridScanLevel(randomInt(2));
-
-    //query does NOT contain it; both indexed cells are leaves to the query, and
-    // when expanded to the full grid cells, the top one's top row is disjoint
-    // from the query and thus not a match.
-    assertTrue(executeQuery(strategy.makeQuery(
-        new SpatialArgs(SpatialOperation.IsWithin, ctx.makeRectangle(38, 192, -72, 56))
-    ), 1).numFound==0);//no-match
-
-    //this time the rect is a little bigger and is considered a match. It's
-    // an acceptable false-positive because of the grid approximation.
-    assertTrue(executeQuery(strategy.makeQuery(
-        new SpatialArgs(SpatialOperation.IsWithin, ctx.makeRectangle(38, 192, -72, 80))
-    ), 1).numFound==1);//match
-  }
-
-  @Test
-  public void testShapePair() {
-    ctx = SpatialContext.GEO;
-    setupCtx2D(ctx);
-
-    Shape leftShape = new ShapePair(ctx.makeRectangle(-74, -56, -8, 1), ctx.makeRectangle(-180, 134, -90, 90), true);
-    Shape queryShape = ctx.makeRectangle(-180, 180, -90, 90);
-    assertEquals(SpatialRelation.WITHIN, leftShape.relate(queryShape));
-  }
-
-  //Override so we can index parts of a pair separately, resulting in the detailLevel
-  // being independent for each shape vs the whole thing
-  @Override
-  protected Document newDoc(String id, Shape shape) {
-    Document doc = new Document();
-    doc.add(new StringField("id", id, Field.Store.YES));
-    if (shape != null) {
-      Collection<Shape> shapes;
-      if (shape instanceof ShapePair) {
-        shapes = new ArrayList<>(2);
-        shapes.add(((ShapePair)shape).shape1);
-        shapes.add(((ShapePair)shape).shape2);
-      } else {
-        shapes = Collections.singleton(shape);
-      }
-      for (Shape shapei : shapes) {
-        for (Field f : strategy.createIndexableFields(shapei)) {
-          doc.add(f);
-        }
-      }
-      if (storeShape)//just for diagnostics
-        doc.add(new StoredField(strategy.getFieldName(), shape.toString()));
-    }
-    return doc;
-  }
-
-  @SuppressWarnings("fallthrough")
-  private void doTest(final SpatialOperation operation) throws IOException {
-    //first show that when there's no data, a query will result in no results
-    {
-      Query query = strategy.makeQuery(new SpatialArgs(operation, randomRectangle()));
-      SearchResults searchResults = executeQuery(query, 1);
-      assertEquals(0, searchResults.numFound);
-    }
-
-    final boolean biasContains = (operation == SpatialOperation.Contains);
-
-    //Main index loop:
-    Map<String, Shape> indexedShapes = new LinkedHashMap<>();
-    Map<String, Shape> indexedShapesGS = new LinkedHashMap<>();//grid snapped
-    final int numIndexedShapes = randomIntBetween(1, 6);
-    boolean indexedAtLeastOneShapePair = false;
-    final boolean pointsOnly = ((PrefixTreeStrategy) strategy).isPointsOnly();
-    for (int i = 0; i < numIndexedShapes; i++) {
-      String id = "" + i;
-      Shape indexedShape;
-      int R = random().nextInt(12);
-      if (R == 0) {//1 in 12
-        indexedShape = null;
-      } else if (R == 1 || pointsOnly) {//1 in 12
-        indexedShape = randomPoint();//just one point
-      } else if (R <= 4) {//3 in 12
-        //comprised of more than one shape
-        indexedShape = randomShapePairRect(biasContains);
-        indexedAtLeastOneShapePair = true;
-      } else {
-        indexedShape = randomRectangle();//just one rect
-      }
-
-      indexedShapes.put(id, indexedShape);
-      indexedShapesGS.put(id, gridSnap(indexedShape));
-
-      adoc(id, indexedShape);
-
-      if (random().nextInt(10) == 0)
-        commit();//intermediate commit, produces extra segments
-
-    }
-    //delete some documents randomly
-    Iterator<String> idIter = indexedShapes.keySet().iterator();
-    while (idIter.hasNext()) {
-      String id = idIter.next();
-      if (random().nextInt(10) == 0) {
-        deleteDoc(id);
-        idIter.remove();
-        indexedShapesGS.remove(id);
-      }
-    }
-
-    commit();
-
-    //Main query loop:
-    final int numQueryShapes = atLeast(20);
-    for (int i = 0; i < numQueryShapes; i++) {
-      int scanLevel = randomInt(grid.getMaxLevels());
-      ((RecursivePrefixTreeStrategy) strategy).setPrefixGridScanLevel(scanLevel);
-
-      final Shape queryShape;
-      switch (randomInt(10)) {
-        case 0: queryShape = randomPoint(); break;
-// LUCENE-5549
-//TODO debug: -Dtests.method=testWithin -Dtests.multiplier=3 -Dtests.seed=5F5294CE2E075A3E:AAD2F0F79288CA64
-//        case 1:case 2:case 3:
-//          if (!indexedAtLeastOneShapePair) { // avoids ShapePair.relate(ShapePair), which isn't reliable
-//            queryShape = randomShapePairRect(!biasContains);//invert biasContains for query side
-//            break;
-//          }
-
-        case 4:
-          //choose an existing indexed shape
-          if (!indexedShapes.isEmpty()) {
-            Shape tmp = indexedShapes.values().iterator().next();
-            if (tmp instanceof Point || tmp instanceof Rectangle) {//avoids null and shapePair
-              queryShape = tmp;
-              break;
-            }
-          }//else fall-through
-
-        default: queryShape = randomRectangle();
-      }
-      final Shape queryShapeGS = gridSnap(queryShape);
-
-      final boolean opIsDisjoint = operation == SpatialOperation.IsDisjointTo;
-
-      //Generate truth via brute force:
-      // We ensure true-positive matches (if the predicate on the raw shapes match
-      //  then the search should find those same matches).
-      // approximations, false-positive matches
-      Set<String> expectedIds = new LinkedHashSet<>();//true-positives
-      Set<String> secondaryIds = new LinkedHashSet<>();//false-positives (unless disjoint)
-      for (Map.Entry<String, Shape> entry : indexedShapes.entrySet()) {
-        String id = entry.getKey();
-        Shape indexedShapeCompare = entry.getValue();
-        if (indexedShapeCompare == null)
-          continue;
-        Shape queryShapeCompare = queryShape;
-
-        if (operation.evaluate(indexedShapeCompare, queryShapeCompare)) {
-          expectedIds.add(id);
-          if (opIsDisjoint) {
-            //if no longer intersect after buffering them, for disjoint, remember this
-            indexedShapeCompare = indexedShapesGS.get(id);
-            queryShapeCompare = queryShapeGS;
-            if (!operation.evaluate(indexedShapeCompare, queryShapeCompare))
-              secondaryIds.add(id);
-          }
-        } else if (!opIsDisjoint) {
-          //buffer either the indexed or query shape (via gridSnap) and try again
-          if (operation == SpatialOperation.Intersects) {
-            indexedShapeCompare = indexedShapesGS.get(id);
-            queryShapeCompare = queryShapeGS;
-            //TODO Unfortunately, grid-snapping both can result in intersections that otherwise
-            // wouldn't happen when the grids are adjacent. Not a big deal but our test is just a
-            // bit more lenient.
-          } else if (operation == SpatialOperation.Contains) {
-            indexedShapeCompare = indexedShapesGS.get(id);
-          } else if (operation == SpatialOperation.IsWithin) {
-            queryShapeCompare = queryShapeGS;
-          }
-          if (operation.evaluate(indexedShapeCompare, queryShapeCompare))
-            secondaryIds.add(id);
-        }
-      }
-
-      //Search and verify results
-      SpatialArgs args = new SpatialArgs(operation, queryShape);
-      if (queryShape instanceof ShapePair)
-        args.setDistErrPct(0.0);//a hack; we want to be more detailed than gridSnap(queryShape)
-      Query query = strategy.makeQuery(args);
-      SearchResults got = executeQuery(query, 100);
-      Set<String> remainingExpectedIds = new LinkedHashSet<>(expectedIds);
-      for (SearchResult result : got.results) {
-        String id = result.getId();
-        boolean removed = remainingExpectedIds.remove(id);
-        if (!removed && (!opIsDisjoint && !secondaryIds.contains(id))) {
-          fail("Shouldn't match", id, indexedShapes, indexedShapesGS, queryShape);
-        }
-      }
-      if (opIsDisjoint)
-        remainingExpectedIds.removeAll(secondaryIds);
-      if (!remainingExpectedIds.isEmpty()) {
-        String id = remainingExpectedIds.iterator().next();
-        fail("Should have matched", id, indexedShapes, indexedShapesGS, queryShape);
-      }
-    }
-  }
-
-  private Shape randomShapePairRect(boolean biasContains) {
-    Rectangle shape1 = randomRectangle();
-    Rectangle shape2 = randomRectangle();
-    return new ShapePair(shape1, shape2, biasContains);
-  }
-
-  private void fail(String label, String id, Map<String, Shape> indexedShapes, Map<String, Shape> indexedShapesGS, Shape queryShape) {
-    System.err.println("Ig:" + indexedShapesGS.get(id) + " Qg:" + gridSnap(queryShape));
-    fail(label + " I#" + id + ":" + indexedShapes.get(id) + " Q:" + queryShape);
-  }
-
-//  private Rectangle inset(Rectangle r) {
-//    //typically inset by 1 (whole numbers are easy to read)
-//    double d = Math.min(1.0, grid.getDistanceForLevel(grid.getMaxLevels()) / 4);
-//    return ctx.makeRectangle(r.getMinX() + d, r.getMaxX() - d, r.getMinY() + d, r.getMaxY() - d);
-//  }
-
-  protected Shape gridSnap(Shape snapMe) {
-    if (snapMe == null)
-      return null;
-    if (snapMe instanceof ShapePair) {
-      ShapePair me = (ShapePair) snapMe;
-      return new ShapePair(gridSnap(me.shape1), gridSnap(me.shape2), me.biasContainsThenWithin);
-    }
-    if (snapMe instanceof Point) {
-      snapMe = snapMe.getBoundingBox();
-    }
-    //The next 4 lines mimic PrefixTreeStrategy.createIndexableFields()
-    double distErrPct = ((PrefixTreeStrategy) strategy).getDistErrPct();
-    double distErr = SpatialArgs.calcDistanceFromErrPct(snapMe, distErrPct, ctx);
-    int detailLevel = grid.getLevelForDistance(distErr);
-    CellIterator cells = grid.getTreeCellIterator(snapMe, detailLevel);
-
-    //calc bounding box of cells.
-    List<Shape> cellShapes = new ArrayList<>(1024);
-    while (cells.hasNext()) {
-      Cell cell = cells.next();
-      if (!cell.isLeaf())
-        continue;
-      cellShapes.add(cell.getShape());
-    }
-    return new ShapeCollection<>(cellShapes, ctx).getBoundingBox();
-  }
-
-  /**
-   * An aggregate of 2 shapes. Unfortunately we can't simply use a ShapeCollection because:
-   * (a) ambiguity between CONTAINS and WITHIN for equal shapes, and
-   * (b) adjacent pairs could as a whole contain the input shape.
-   * The tests here are sensitive to these matters, although in practice ShapeCollection
-   * is fine.
-   */
-  private class ShapePair extends ShapeCollection<Shape> {
-
-    final Shape shape1, shape2;
-    final Shape shape1_2D, shape2_2D;//not geo (bit of a hack)
-    final boolean biasContainsThenWithin;
-
-    public ShapePair(Shape shape1, Shape shape2, boolean containsThenWithin) {
-      super(Arrays.asList(shape1, shape2), RandomSpatialOpFuzzyPrefixTreeTest.this.ctx);
-      this.shape1 = shape1;
-      this.shape2 = shape2;
-      this.shape1_2D = toNonGeo(shape1);
-      this.shape2_2D = toNonGeo(shape2);
-      biasContainsThenWithin = containsThenWithin;
-    }
-
-    private Shape toNonGeo(Shape shape) {
-      if (!ctx.isGeo())
-        return shape;//already non-geo
-      if (shape instanceof Rectangle) {
-        Rectangle rect = (Rectangle) shape;
-        if (rect.getCrossesDateLine()) {
-          return new ShapePair(
-              ctx2D.makeRectangle(rect.getMinX(), 180, rect.getMinY(), rect.getMaxY()),
-              ctx2D.makeRectangle(-180, rect.getMaxX(), rect.getMinY(), rect.getMaxY()),
-              biasContainsThenWithin);
-        } else {
-          return ctx2D.makeRectangle(rect.getMinX(), rect.getMaxX(), rect.getMinY(), rect.getMaxY());
-        }
-      }
-      //no need to do others; this addresses the -180/+180 ambiguity corner test problem
-      return shape;
-    }
-
-    @Override
-    public SpatialRelation relate(Shape other) {
-      SpatialRelation r = relateApprox(other);
-      if (r == DISJOINT)
-        return r;
-      if (r == CONTAINS)
-        return r;
-      if (r == WITHIN && !biasContainsThenWithin)
-        return r;
-
-      //See if the correct answer is actually Contains, when the indexed shapes are adjacent,
-      // creating a larger shape that contains the input shape.
-      boolean pairTouches = shape1.relate(shape2).intersects();
-      if (!pairTouches)
-        return r;
-      //test all 4 corners
-      // Note: awkwardly, we use a non-geo context for this because in geo, -180 & +180 are the same place, which means
-      //  that "other" might wrap the world horizontally and yet all its corners could be in shape1 (or shape2) even
-      //  though shape1 is only adjacent to the dateline. I couldn't think of a better way to handle this.
-      Rectangle oRect = (Rectangle)other;
-      if (cornerContainsNonGeo(oRect.getMinX(), oRect.getMinY())
-          && cornerContainsNonGeo(oRect.getMinX(), oRect.getMaxY())
-          && cornerContainsNonGeo(oRect.getMaxX(), oRect.getMinY())
-          && cornerContainsNonGeo(oRect.getMaxX(), oRect.getMaxY()) )
-        return CONTAINS;
-      return r;
-    }
-
-    private boolean cornerContainsNonGeo(double x, double y) {
-      Shape pt = ctx2D.makePoint(x, y);
-      return shape1_2D.relate(pt).intersects() || shape2_2D.relate(pt).intersects();
-    }
-
-    private SpatialRelation relateApprox(Shape other) {
-      if (biasContainsThenWithin) {
-        if (shape1.relate(other) == CONTAINS || shape1.equals(other)
-            || shape2.relate(other) == CONTAINS || shape2.equals(other)) return CONTAINS;
-
-        if (shape1.relate(other) == WITHIN && shape2.relate(other) == WITHIN) return WITHIN;
-
-      } else {
-        if ((shape1.relate(other) == WITHIN || shape1.equals(other))
-            && (shape2.relate(other) == WITHIN || shape2.equals(other))) return WITHIN;
-
-        if (shape1.relate(other) == CONTAINS || shape2.relate(other) == CONTAINS) return CONTAINS;
-      }
-
-      if (shape1.relate(other).intersects() || shape2.relate(other).intersects())
-        return INTERSECTS;//might actually be 'CONTAINS' if the pair are adjacent but we handle that later
-      return DISJOINT;
-    }
-
-    @Override
-    public String toString() {
-      return "ShapePair(" + shape1 + " , " + shape2 + ")";
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
deleted file mode 100644
index 87f1071..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
-
-/** Base test harness, ideally for SpatialStrategy impls that have exact results
- * (not grid approximated), hence "not fuzzy".
- */
-public abstract class RandomSpatialOpStrategyTestCase extends StrategyTestCase {
-
-  //Note: this is partially redundant with StrategyTestCase.runTestQuery & testOperation
-
-  protected void testOperationRandomShapes(final SpatialOperation operation) throws IOException {
-
-    final int numIndexedShapes = randomIntBetween(1, 6);
-    List<Shape> indexedShapes = new ArrayList<>(numIndexedShapes);
-    for (int i = 0; i < numIndexedShapes; i++) {
-      indexedShapes.add(randomIndexedShape());
-    }
-
-    final int numQueryShapes = atLeast(20);
-    List<Shape> queryShapes = new ArrayList<>(numQueryShapes);
-    for (int i = 0; i < numQueryShapes; i++) {
-      queryShapes.add(randomQueryShape());
-    }
-
-    testOperation(operation, indexedShapes, queryShapes, true/*havoc*/);
-  }
-
-  protected void testOperation(final SpatialOperation operation,
-                               List<Shape> indexedShapes, List<Shape> queryShapes, boolean havoc) throws IOException {
-    //first show that when there's no data, a query will result in no results
-    {
-      Query query = strategy.makeQuery(new SpatialArgs(operation, randomQueryShape()));
-      SearchResults searchResults = executeQuery(query, 1);
-      assertEquals(0, searchResults.numFound);
-    }
-
-    //Main index loop:
-    for (int i = 0; i < indexedShapes.size(); i++) {
-      Shape shape = indexedShapes.get(i);
-      adoc(""+i, shape);
-
-      if (havoc && random().nextInt(10) == 0)
-        commit();//intermediate commit, produces extra segments
-    }
-    if (havoc) {
-      //delete some documents randomly
-      for (int id = 0; id < indexedShapes.size(); id++) {
-        if (random().nextInt(10) == 0) {
-          deleteDoc(""+id);
-          indexedShapes.set(id, null);
-        }
-      }
-    }
-
-    commit();
-
-    //Main query loop:
-    for (int queryIdx = 0; queryIdx < queryShapes.size(); queryIdx++) {
-      final Shape queryShape = queryShapes.get(queryIdx);
-
-      if (havoc)
-        preQueryHavoc();
-
-      //Generate truth via brute force:
-      // We ensure true-positive matches (if the predicate on the raw shapes match
-      //  then the search should find those same matches).
-      Set<String> expectedIds = new LinkedHashSet<>();//true-positives
-      for (int id = 0; id < indexedShapes.size(); id++) {
-        Shape indexedShape = indexedShapes.get(id);
-        if (indexedShape == null)
-          continue;
-        if (operation.evaluate(indexedShape, queryShape)) {
-          expectedIds.add(""+id);
-        }
-      }
-
-      //Search and verify results
-      SpatialArgs args = new SpatialArgs(operation, queryShape);
-      Query query = strategy.makeQuery(args);
-      SearchResults got = executeQuery(query, 100);
-      Set<String> remainingExpectedIds = new LinkedHashSet<>(expectedIds);
-      for (SearchResult result : got.results) {
-        String id = result.getId();
-        if (!remainingExpectedIds.remove(id)) {
-          fail("qIdx:" + queryIdx + " Shouldn't match", id, indexedShapes, queryShape, operation);
-        }
-      }
-      if (!remainingExpectedIds.isEmpty()) {
-        String id = remainingExpectedIds.iterator().next();
-        fail("qIdx:" + queryIdx + " Should have matched", id, indexedShapes, queryShape, operation);
-      }
-    }
-  }
-
-  private void fail(String label, String id, List<Shape> indexedShapes, Shape queryShape, SpatialOperation operation) {
-    fail("[" + operation + "] " + label
-        + " I#" + id + ":" + indexedShapes.get(Integer.parseInt(id)) + " Q:" + queryShape);
-  }
-
-  protected void preQueryHavoc() {
-    if (strategy instanceof RecursivePrefixTreeStrategy) {
-      RecursivePrefixTreeStrategy rpts = (RecursivePrefixTreeStrategy) strategy;
-      int scanLevel = randomInt(rpts.getGrid().getMaxLevels());
-      rpts.setPrefixGridScanLevel(scanLevel);
-    }
-  }
-
-  protected abstract Shape randomIndexedShape();
-
-  protected abstract Shape randomQueryShape();
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
deleted file mode 100644
index a53d52d..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.spatial.SpatialMatchConcern;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Set;
-
-public class TestRecursivePrefixTreeStrategy extends StrategyTestCase {
-
-  private int maxLength;
-
-  //Tests should call this first.
-  private void init(int maxLength) {
-    this.maxLength = maxLength;
-    this.ctx = SpatialContext.GEO;
-    GeohashPrefixTree grid = new GeohashPrefixTree(ctx, maxLength);
-    this.strategy = new RecursivePrefixTreeStrategy(grid, getClass().getSimpleName());
-  }
-
-  @Test
-  public void testFilterWithVariableScanLevel() throws IOException {
-    init(GeohashPrefixTree.getMaxLevelsPossible());
-    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
-
-    //execute queries for each prefix grid scan level
-    for(int i = 0; i <= maxLength; i++) {
-      ((RecursivePrefixTreeStrategy)strategy).setPrefixGridScanLevel(i);
-      executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
-    }
-  }
-
-  @Test
-  public void testOneMeterPrecision() {
-    init(GeohashPrefixTree.getMaxLevelsPossible());
-    GeohashPrefixTree grid = (GeohashPrefixTree) ((RecursivePrefixTreeStrategy) strategy).getGrid();
-    //DWS: I know this to be true.  11 is needed for one meter
-    double degrees = DistanceUtils.dist2Degrees(0.001, DistanceUtils.EARTH_MEAN_RADIUS_KM);
-    assertEquals(11, grid.getLevelForDistance(degrees));
-  }
-
-  @Test
-  public void testPrecision() throws IOException{
-    init(GeohashPrefixTree.getMaxLevelsPossible());
-
-    Point iPt = ctx.makePoint(2.8028712999999925, 48.3708044);//lon, lat
-    addDocument(newDoc("iPt", iPt));
-    commit();
-
-    Point qPt = ctx.makePoint(2.4632387000000335, 48.6003516);
-
-    final double KM2DEG = DistanceUtils.dist2Degrees(1, DistanceUtils.EARTH_MEAN_RADIUS_KM);
-    final double DEG2KM = 1 / KM2DEG;
-
-    final double DIST = 35.75;//35.7499...
-    assertEquals(DIST, ctx.getDistCalc().distance(iPt, qPt) * DEG2KM, 0.001);
-
-    //distErrPct will affect the query shape precision. The indexed precision
-    // was set to nearly zilch via init(GeohashPrefixTree.getMaxLevelsPossible());
-    final double distErrPct = 0.025; //the suggested default, by the way
-    final double distMult = 1+distErrPct;
-
-    assertTrue(35.74*distMult >= DIST);
-    checkHits(q(qPt, 35.74 * KM2DEG, distErrPct), 1, null);
-
-    assertTrue(30*distMult < DIST);
-    checkHits(q(qPt, 30 * KM2DEG, distErrPct), 0, null);
-
-    assertTrue(33*distMult < DIST);
-    checkHits(q(qPt, 33 * KM2DEG, distErrPct), 0, null);
-
-    assertTrue(34*distMult < DIST);
-    checkHits(q(qPt, 34 * KM2DEG, distErrPct), 0, null);
-  }
-
-  private SpatialArgs q(Point pt, double distDEG, double distErrPct) {
-    Shape shape = ctx.makeCircle(pt, distDEG);
-    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects,shape);
-    args.setDistErrPct(distErrPct);
-    return args;
-  }
-
-  private void checkHits(SpatialArgs args, int assertNumFound, int[] assertIds) {
-    SearchResults got = executeQuery(strategy.makeQuery(args), 100);
-    assertEquals("" + args, assertNumFound, got.numFound);
-    if (assertIds != null) {
-      Set<Integer> gotIds = new HashSet<>();
-      for (SearchResult result : got.results) {
-        gotIds.add(Integer.valueOf(result.document.get("id")));
-      }
-      for (int assertId : assertIds) {
-        assertTrue("has "+assertId,gotIds.contains(assertId));
-      }
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
deleted file mode 100644
index 1a912c0..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.StoredField;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.spatial.SpatialTestCase;
-import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgsParser;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.Arrays;
-
-
-public class TestTermQueryPrefixGridStrategy extends SpatialTestCase {
-
-  @Test
-  public void testNGramPrefixGridLosAngeles() throws IOException {
-    SpatialContext ctx = SpatialContext.GEO;
-    TermQueryPrefixTreeStrategy prefixGridStrategy = new TermQueryPrefixTreeStrategy(new QuadPrefixTree(ctx), "geo");
-
-    Shape point = ctx.makePoint(-118.243680, 34.052230);
-
-    Document losAngeles = new Document();
-    losAngeles.add(new StringField("name", "Los Angeles", Field.Store.YES));
-    for (Field field : prefixGridStrategy.createIndexableFields(point)) {
-      losAngeles.add(field);
-    }
-    losAngeles.add(new StoredField(prefixGridStrategy.getFieldName(), point.toString()));//just for diagnostics
-
-    addDocumentsAndCommit(Arrays.asList(losAngeles));
-
-    // This won't work with simple spatial context...
-    SpatialArgsParser spatialArgsParser = new SpatialArgsParser();
-    // TODO... use a non polygon query
-//    SpatialArgs spatialArgs = spatialArgsParser.parse(
-//        "Intersects(POLYGON((-127.00390625 39.8125,-112.765625 39.98828125,-111.53515625 31.375,-125.94921875 30.14453125,-127.00390625 39.8125)))",
-//        new SimpleSpatialContext());
-
-//    Query query = prefixGridStrategy.makeQuery(spatialArgs, fieldInfo);
-//    SearchResults searchResults = executeQuery(query, 1);
-//    assertEquals(1, searchResults.numFound);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
deleted file mode 100644
index 74a989e..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import java.text.ParseException;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-
-public class DateRangePrefixTreeTest extends LuceneTestCase {
-
-  private DateRangePrefixTree tree = DateRangePrefixTree.INSTANCE;
-
-  public void testRoundTrip() throws Exception {
-    Calendar cal = tree.newCal();
-
-    assertEquals("*", tree.toString(cal));
-
-    //test no underflow
-    assertTrue(tree.toShape(new int[]{0}, 1).toString().startsWith("-"));
-
-    //Some arbitrary date
-    cal.set(2014, Calendar.MAY, 9);
-    roundTrip(cal);
-    assertEquals("2014-05-09",tree.toString(cal));
-
-    //Earliest date
-    cal.setTimeInMillis(Long.MIN_VALUE);
-    roundTrip(cal);
-
-    //Farthest date
-    cal.setTimeInMillis(Long.MAX_VALUE);
-    roundTrip(cal);
-
-    //1BC is "0000".
-    cal.clear();
-    cal.set(Calendar.ERA, GregorianCalendar.BC);
-    cal.set(Calendar.YEAR, 1);
-    roundTrip(cal);
-    assertEquals("0000", tree.toString(cal));
-    //adding a "+" parses to the same; and a trailing 'Z' is fine too
-    assertEquals(cal, tree.parseCalendar("+0000Z"));
-
-    //2BC is "-0001"
-    cal.clear();
-    cal.set(Calendar.ERA, GregorianCalendar.BC);
-    cal.set(Calendar.YEAR, 2);
-    roundTrip(cal);
-    assertEquals("-0001", tree.toString(cal));
-
-    //1AD is "0001"
-    cal.clear();
-    cal.set(Calendar.YEAR, 1);
-    roundTrip(cal);
-    assertEquals("0001", tree.toString(cal));
-
-    //test random
-    cal.setTimeInMillis(random().nextLong());
-    roundTrip(cal);
-  }
-
-  //copies from DateRangePrefixTree
-  private static final int[] CAL_FIELDS = {
-      Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH,
-      Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND};
-
-  private void roundTrip(Calendar calOrig) throws ParseException {
-    Calendar cal = (Calendar) calOrig.clone();
-    String lastString = null;
-    while (true) {
-      String calString = tree.toString(cal);
-      assert lastString == null || calString.length() < lastString.length();
-      //test parseCalendar
-      assertEquals(cal, tree.parseCalendar(calString));
-
-      //to Shape and back to Cal
-      UnitNRShape shape = tree.toShape(cal);
-      Calendar cal2 = tree.toCalendar(shape);
-      assertEquals(calString, tree.toString(cal2));
-
-      if (!calString.equals("*")) {//not world cell
-        //to Term and back to Cell
-        Cell cell = (Cell) shape;
-        BytesRef term = cell.getTokenBytesNoLeaf(null);
-        Cell cell2 = tree.readCell(BytesRef.deepCopyOf(term), null);
-        assertEquals(calString, cell, cell2);
-        Calendar cal3 = tree.toCalendar((UnitNRShape) cell2.getShape());
-        assertEquals(calString, tree.toString(cal3));
-
-        // setLeaf comparison
-        cell2.setLeaf();
-        BytesRef termLeaf = cell2.getTokenBytesWithLeaf(null);
-        assertTrue(term.compareTo(termLeaf) < 0);
-        assertEquals(termLeaf.length, term.length + 1);
-        assertEquals(0, termLeaf.bytes[termLeaf.offset + termLeaf.length - 1]);
-        assertTrue(cell.isPrefixOf(cell2));
-      }
-
-      //end of loop; decide if should loop again with lower precision
-      final int calPrecField = tree.getCalPrecisionField(cal);
-      if (calPrecField == -1)
-        break;
-      int fieldIdx = Arrays.binarySearch(CAL_FIELDS, calPrecField);
-      assert fieldIdx >= 0;
-      int prevPrecField = (fieldIdx == 0 ? -1 : CAL_FIELDS[--fieldIdx]);
-      try {
-        tree.clearFieldsAfter(cal, prevPrecField);
-      } catch (AssertionError e) {
-        if (e.getMessage().equals("Calendar underflow"))
-          return;
-        throw e;
-      }
-      lastString = calString;
-    }
-  }
-
-  public void testShapeRelations() throws ParseException {
-    //note: left range is 264000 at the thousand year level whereas right value is exact year
-    assertEquals(SpatialRelation.WITHIN,
-        tree.parseShape("[-264000 TO -264000-11-20]").relate(tree.parseShape("-264000")));
-
-    Shape shapeA = tree.parseShape("[3122-01-23 TO 3122-11-27]");
-    Shape shapeB = tree.parseShape("[3122-08 TO 3122-11]");
-    assertEquals(SpatialRelation.INTERSECTS, shapeA.relate(shapeB));
-
-    shapeA = tree.parseShape("3122");
-    shapeB = tree.parseShape("[* TO 3122-10-31]");
-    assertEquals(SpatialRelation.INTERSECTS, shapeA.relate(shapeB));
-
-    shapeA = tree.parseShape("[3122-05-28 TO 3122-06-29]");
-    shapeB = tree.parseShape("[3122 TO 3122-04]");
-    assertEquals(SpatialRelation.DISJOINT, shapeA.relate(shapeB));
-  }
-
-  public void testShapeRangeOptimizer() throws ParseException {
-    assertEquals("[2014-08 TO 2014-09]", tree.parseShape("[2014-08-01 TO 2014-09-30]").toString());
-
-    assertEquals("2014", tree.parseShape("[2014-01-01 TO 2014-12-31]").toString());
-
-    assertEquals("2014",    tree.parseShape("[2014-01 TO 2014]").toString());
-    assertEquals("2014-01", tree.parseShape("[2014 TO 2014-01]").toString());
-    assertEquals("2014-12", tree.parseShape("[2014-12 TO 2014]").toString());
-
-    assertEquals("[2014 TO 2014-04-06]", tree.parseShape("[2014-01 TO 2014-04-06]").toString());
-
-    assertEquals("*", tree.parseShape("[* TO *]").toString());
-
-    assertEquals("2014-08-01", tree.parseShape("[2014-08-01 TO 2014-08-01]").toString());
-
-    assertEquals("[2014 TO 2014-09-15]", tree.parseShape("[2014 TO 2014-09-15]").toString());
-
-    assertEquals("[* TO 2014-09-15]", tree.parseShape("[* TO 2014-09-15]").toString());
-  }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
deleted file mode 100644
index 9f6c625..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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.lucene.spatial.prefix.tree;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.TextField;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.spatial.SpatialTestCase;
-import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class SpatialPrefixTreeTest extends SpatialTestCase {
-
-  //TODO plug in others and test them
-  private SpatialContext ctx;
-  private SpatialPrefixTree trie;
-
-  @Override
-  @Before
-  public void setUp() throws Exception {
-    super.setUp();
-    ctx = SpatialContext.GEO;
-  }
-
-  @Test
-  public void testCellTraverse() {
-    trie = new GeohashPrefixTree(ctx,4);
-
-    Cell prevC = null;
-    Cell c = trie.getWorldCell();
-    assertEquals(0, c.getLevel());
-    assertEquals(ctx.getWorldBounds(), c.getShape());
-    while (c.getLevel() < trie.getMaxLevels()) {
-      prevC = c;
-      List<Cell> subCells = new ArrayList<>();
-      CellIterator subCellsIter = c.getNextLevelCells(null);
-      while (subCellsIter.hasNext()) {
-        subCells.add(subCellsIter.next());
-      }
-      c = subCells.get(random().nextInt(subCells.size()-1));
-      
-      assertEquals(prevC.getLevel()+1,c.getLevel());
-      Rectangle prevNShape = (Rectangle) prevC.getShape();
-      Shape s = c.getShape();
-      Rectangle sbox = s.getBoundingBox();
-      assertTrue(prevNShape.getWidth() > sbox.getWidth());
-      assertTrue(prevNShape.getHeight() > sbox.getHeight());
-    }
-  }
-  /**
-   * A PrefixTree pruning optimization gone bad, applicable when optimize=true.
-   * See <a href="https://issues.apache.org/jira/browse/LUCENE-4770">LUCENE-4770</a>.
-   */
-  @Test
-  public void testBadPrefixTreePrune() throws Exception {
-
-    trie = new QuadPrefixTree(ctx, 12);
-    TermQueryPrefixTreeStrategy strategy = new TermQueryPrefixTreeStrategy(trie, "geo");
-    Document doc = new Document();
-    doc.add(new TextField("id", "1", Store.YES));
-
-    Shape area = ctx.makeRectangle(-122.82, -122.78, 48.54, 48.56);
-
-    Field[] fields = strategy.createIndexableFields(area, 0.025);
-    for (Field field : fields) {
-      doc.add(field);
-    }
-    addDocument(doc);
-
-    Point upperleft = ctx.makePoint(-122.88, 48.54);
-    Point lowerright = ctx.makePoint(-122.82, 48.62);
-
-    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.Intersects, ctx.makeRectangle(upperleft, lowerright)));
-
-    commit();
-
-    TopDocs search = indexSearcher.search(query, 10);
-    ScoreDoc[] scoreDocs = search.scoreDocs;
-    for (ScoreDoc scoreDoc : scoreDocs) {
-      System.out.println(indexSearcher.doc(scoreDoc.doc));
-    }
-
-    assertEquals(1, search.totalHits);
-  }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
deleted file mode 100644
index b7bd50d..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.lucene.spatial.query;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Rectangle;
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Test;
-
-import java.text.ParseException;
-
-//Tests SpatialOperation somewhat too
-public class SpatialArgsParserTest extends LuceneTestCase {
-
-  private SpatialContext ctx = SpatialContext.GEO;
-
-  //The args parser is only dependent on the ctx for IO so I don't care to test
-  // with other implementations.
-
-  @Test
-  public void testArgsParser() throws Exception {
-    SpatialArgsParser parser = new SpatialArgsParser();
-
-    String arg = SpatialOperation.IsWithin + "(Envelope(-10, 10, 20, -20))";
-    SpatialArgs out = parser.parse(arg, ctx);
-    assertEquals(SpatialOperation.IsWithin, out.getOperation());
-    Rectangle bounds = (Rectangle) out.getShape();
-    assertEquals(-10.0, bounds.getMinX(), 0D);
-    assertEquals(10.0, bounds.getMaxX(), 0D);
-
-    // Disjoint should not be scored
-    arg = SpatialOperation.IsDisjointTo + " (Envelope(-10,-20,20,10))";
-    out = parser.parse(arg, ctx);
-    assertEquals(SpatialOperation.IsDisjointTo, out.getOperation());
-
-    try {
-      parser.parse(SpatialOperation.IsDisjointTo + "[ ]", ctx);
-      fail("spatial operations need args");
-    }
-    catch (Exception ex) {//expected
-    }
-
-    try {
-      parser.parse("XXXX(Envelope(-10, 10, 20, -20))", ctx);
-      fail("unknown operation!");
-    }
-    catch (Exception ex) {//expected
-    }
-
-    assertAlias(SpatialOperation.IsWithin, "CoveredBy");
-    assertAlias(SpatialOperation.IsWithin, "COVEREDBY");
-    assertAlias(SpatialOperation.IsWithin, "coveredBy");
-    assertAlias(SpatialOperation.IsWithin, "Within");
-    assertAlias(SpatialOperation.IsEqualTo, "Equals");
-    assertAlias(SpatialOperation.IsDisjointTo, "disjoint");
-    assertAlias(SpatialOperation.Contains, "Covers");
-  }
-
-  private void assertAlias(SpatialOperation op, final String name) throws ParseException {
-    String arg;
-    SpatialArgs out;
-    arg = name + "(Point(0 0))";
-    out = new SpatialArgsParser().parse(arg, ctx);
-    assertEquals(op, out.getOperation());
-  }
-
-}


[82/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
new file mode 100644
index 0000000..8001c82
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
@@ -0,0 +1,199 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.index.IndexReaderContext;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree;
+import org.apache.lucene.util.Bits;
+
+import static org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
+
+/** A PrefixTree based on Number/Date ranges. This isn't very "spatial" on the surface (to the user) but
+ * it's implemented using spatial so that's why it's here extending a SpatialStrategy. When using this class, you will
+ * use various utility methods on the prefix tree implementation to convert objects/strings to/from shapes.
+ *
+ * To use with dates, pass in {@link org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree}.
+ *
+ * @lucene.experimental
+ */
+public class NumberRangePrefixTreeStrategy extends RecursivePrefixTreeStrategy {
+
+  public NumberRangePrefixTreeStrategy(NumberRangePrefixTree prefixTree, String fieldName) {
+    super(prefixTree, fieldName);
+    setPruneLeafyBranches(false);
+    setPrefixGridScanLevel(prefixTree.getMaxLevels()-2);//user might want to change, however
+    setPointsOnly(false);
+    setDistErrPct(0);
+  }
+
+  @Override
+  public NumberRangePrefixTree getGrid() {
+    return (NumberRangePrefixTree) super.getGrid();
+  }
+
+  @Override
+  protected Iterator<Cell> createCellIteratorToIndex(Shape shape, int detailLevel, Iterator<Cell> reuse) {
+    //levels doesn't actually matter; NumberRange based Shapes have their own "level".
+    return super.createCellIteratorToIndex(shape, grid.getMaxLevels(), reuse);
+  }
+
+  /** Unsupported. */
+  @Override
+  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
+    throw new UnsupportedOperationException();
+  }
+
+  /** Calculates facets between {@code start} and {@code end} to a detail level one greater than that provided by the
+   * arguments. For example providing March to October of 2014 would return facets to the day level of those months.
+   * This is just a convenience method.
+   * @see #calcFacets(IndexReaderContext, Bits, Shape, int)
+   */
+  public Facets calcFacets(IndexReaderContext context, Bits topAcceptDocs, UnitNRShape start, UnitNRShape end)
+      throws IOException {
+    Shape facetRange = getGrid().toRangeShape(start, end);
+    int detailLevel = Math.max(start.getLevel(), end.getLevel()) + 1;
+    return calcFacets(context, topAcceptDocs, facetRange, detailLevel);
+  }
+
+  /**
+   * Calculates facets (aggregated counts) given a range shape (start-end span) and a level, which specifies the detail.
+   * To get the level of an existing shape, say a Calendar, call
+   * {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree#toUnitShape(Object)} then call
+   * {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape#getLevel()}.
+   * Facet computation is implemented by navigating the underlying indexed terms efficiently.
+   */
+  public Facets calcFacets(IndexReaderContext context, Bits topAcceptDocs, Shape facetRange, final int level)
+      throws IOException {
+    final Facets facets = new Facets(level);
+    PrefixTreeFacetCounter.compute(this, context, topAcceptDocs, facetRange, level,
+        new PrefixTreeFacetCounter.FacetVisitor() {
+          Facets.FacetParentVal parentFacet;
+          UnitNRShape parentShape;
+
+          @Override
+          public void visit(Cell cell, int count) {
+            if (cell.getLevel() < level - 1) {//some ancestor of parent facet level, direct or distant
+              parentFacet = null;//reset
+              parentShape = null;//reset
+              facets.topLeaves += count;
+            } else if (cell.getLevel() == level - 1) {//parent
+              //set up FacetParentVal
+              setupParent((UnitNRShape) cell.getShape());
+              parentFacet.parentLeaves += count;
+            } else {//at facet level
+              UnitNRShape unitShape = (UnitNRShape) cell.getShape();
+              UnitNRShape unitShapeParent = unitShape.getShapeAtLevel(unitShape.getLevel() - 1);
+              if (parentFacet == null || !parentShape.equals(unitShapeParent)) {
+                setupParent(unitShapeParent);
+              }
+              //lazy init childCounts
+              if (parentFacet.childCounts == null) {
+                parentFacet.childCounts = new int[parentFacet.childCountsLen];
+              }
+              parentFacet.childCounts[unitShape.getValAtLevel(cell.getLevel())] += count;
+            }
+          }
+
+          private void setupParent(UnitNRShape unitShape) {
+            parentShape = unitShape.clone();
+            //Look for existing parentFacet (from previous segment), or create anew if needed
+            parentFacet = facets.parents.get(parentShape);
+            if (parentFacet == null) {//didn't find one; make a new one
+              parentFacet = new Facets.FacetParentVal();
+              parentFacet.childCountsLen = getGrid().getNumSubCells(parentShape);
+              facets.parents.put(parentShape, parentFacet);
+            }
+          }
+        });
+    return facets;
+  }
+
+  /** Facet response information */
+  public static class Facets {
+    //TODO consider a variable-level structure -- more general purpose.
+
+    public Facets(int detailLevel) {
+      this.detailLevel = detailLevel;
+    }
+
+    /** The bottom-most detail-level counted, as requested. */
+    public final int detailLevel;
+
+    /**
+     * The count of documents with ranges that completely spanned the parents of the detail level. In more technical
+     * terms, this is the count of leaf cells 2 up and higher from the bottom. Usually you only care about counts at
+     * detailLevel, and so you will add this number to all other counts below, including to omitted/implied children
+     * counts of 0. If there are no indexed ranges (just instances, i.e. fully specified dates) then this value will
+     * always be 0.
+     */
+    public int topLeaves;
+
+    /** Holds all the {@link FacetParentVal} instances in order of the key. This is sparse; there won't be an
+     * instance if it's count and children are all 0. The keys are {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape} shapes, which can be
+     * converted back to the original Object (i.e. a Calendar) via
+     * {@link NumberRangePrefixTree#toObject(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
+    public final SortedMap<UnitNRShape,FacetParentVal> parents = new TreeMap<>();
+
+    /** Holds a block of detailLevel counts aggregated to their parent level. */
+    public static class FacetParentVal {
+
+      /** The count of ranges that span all of the childCounts.  In more technical terms, this is the number of leaf
+       * cells found at this parent.  Treat this like {@link Facets#topLeaves}. */
+      public int parentLeaves;
+
+      /** The length of {@link #childCounts}. If childCounts is not null then this is childCounts.length, otherwise it
+       * says how long it would have been if it weren't null. */
+      public int childCountsLen;
+
+      /** The detail level counts. It will be null if there are none, and thus they are assumed 0. Most apps, when
+       * presenting the information, will add {@link #topLeaves} and {@link #parentLeaves} to each count. */
+      public int[] childCounts;
+      //assert childCountsLen == childCounts.length
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder buf = new StringBuilder(2048);
+      buf.append("Facets: level=" + detailLevel + " topLeaves=" + topLeaves + " parentCount=" + parents.size());
+      for (Map.Entry<UnitNRShape, FacetParentVal> entry : parents.entrySet()) {
+        buf.append('\n');
+        if (buf.length() > 1000) {
+          buf.append("...");
+          break;
+        }
+        final FacetParentVal pVal = entry.getValue();
+        buf.append(' ').append(entry.getKey()+" leafCount=" + pVal.parentLeaves);
+        if (pVal.childCounts != null) {
+          buf.append(' ').append(Arrays.toString(pVal.childCounts));
+        }
+      }
+      return buf.toString();
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
new file mode 100644
index 0000000..165c418
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
@@ -0,0 +1,48 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import com.spatial4j.core.shape.Point;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.util.ShapeFieldCacheProvider;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * Implementation of {@link ShapeFieldCacheProvider} designed for {@link PrefixTreeStrategy}s that index points
+ * (AND ONLY POINTS!).
+ *
+ * @lucene.internal
+ */
+public class PointPrefixTreeFieldCacheProvider extends ShapeFieldCacheProvider<Point> {
+
+  private final SpatialPrefixTree grid;
+  private Cell scanCell;//re-used in readShape to save GC
+
+  public PointPrefixTreeFieldCacheProvider(SpatialPrefixTree grid, String shapeField, int defaultSize) {
+    super( shapeField, defaultSize );
+    this.grid = grid;
+  }
+
+  @Override
+  protected Point readShape(BytesRef term) {
+    scanCell = grid.readCell(term, scanCell);
+    if (scanCell.getLevel() == grid.getMaxLevels())
+      return scanCell.getShape().getCenter();
+    return null;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
new file mode 100644
index 0000000..173c30e
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
@@ -0,0 +1,201 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.index.IndexReaderContext;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PostingsEnum;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.Bits;
+
+/**
+ * Computes facets on cells for {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy}.
+ * <p>
+ * <em>NOTE:</em> If for a given document and a given field using
+ * {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy}
+ * multiple values are indexed (i.e. multi-valued) and at least one of them is a non-point, then there is a possibility
+ * of double-counting the document in the facet results.  Since each shape is independently turned into grid cells at
+ * a resolution chosen by the shape's size, it's possible they will be indexed at different resolutions.  This means
+ * the document could be present in BOTH the postings for a cell in both its prefix and leaf variants.  To avoid this,
+ * use a single valued field with a {@link com.spatial4j.core.shape.ShapeCollection} (or WKT equivalent).  Or
+ * calculate a suitable level/distErr to index both and call
+ * {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy#createIndexableFields(com.spatial4j.core.shape.Shape, int)}
+ * with the same value for all shapes for a given document/field.
+ *
+ * @lucene.experimental
+ */
+public class PrefixTreeFacetCounter {
+
+  /** A callback/visitor of facet counts. */
+  public static abstract class FacetVisitor {
+    /** Called at the start of the segment, if there is indexed data. */
+    public void startOfSegment() {}
+
+    /** Called for cells with a leaf, or cells at the target facet level.  {@code count} is greater than zero.
+     * When an ancestor cell is given with non-zero count, the count can be considered to be added to all cells
+     * below. You won't necessarily get a cell at level {@code facetLevel} if the indexed data is courser (bigger).
+     */
+    public abstract void visit(Cell cell, int count);
+  }
+
+  private PrefixTreeFacetCounter() {
+  }
+
+  /**
+   * Computes facets using a callback/visitor style design, allowing flexibility for the caller to determine what to do
+   * with each underlying count.
+   * @param strategy the prefix tree strategy (contains the field reference, grid, max levels)
+   * @param context the IndexReader's context
+   * @param topAcceptDocs a Bits to limit counted docs. If null, live docs are counted.
+   * @param queryShape the shape to limit the range of facet counts to
+   * @param facetLevel the maximum depth (detail) of faceted cells
+   * @param facetVisitor the visitor/callback to receive the counts
+   */
+  public static void compute(PrefixTreeStrategy strategy, IndexReaderContext context, Bits topAcceptDocs,
+                             Shape queryShape, int facetLevel, FacetVisitor facetVisitor)
+      throws IOException {
+    //We collect per-leaf
+    for (final LeafReaderContext leafCtx : context.leaves()) {
+      //determine leaf acceptDocs Bits
+      Bits leafAcceptDocs;
+      if (topAcceptDocs == null) {
+        leafAcceptDocs = leafCtx.reader().getLiveDocs();//filter deleted
+      } else {
+        leafAcceptDocs = new Bits() {
+          @Override
+          public boolean get(int index) {
+            return topAcceptDocs.get(leafCtx.docBase + index);
+          }
+
+          @Override
+          public int length() {
+            return leafCtx.reader().maxDoc();
+          }
+        };
+      }
+
+      compute(strategy, leafCtx, leafAcceptDocs, queryShape, facetLevel, facetVisitor);
+    }
+  }
+
+  /** Lower-level per-leaf segment method. */
+  public static void compute(final PrefixTreeStrategy strategy, final LeafReaderContext context, final Bits acceptDocs,
+                             final Shape queryShape, final int facetLevel, final FacetVisitor facetVisitor)
+      throws IOException {
+    if (acceptDocs != null && acceptDocs.length() != context.reader().maxDoc()) {
+      throw new IllegalArgumentException(
+          "acceptDocs bits length " + acceptDocs.length() +" != leaf maxdoc " + context.reader().maxDoc());
+    }
+    final SpatialPrefixTree tree = strategy.getGrid();
+
+    //scanLevel is an optimization knob of AbstractVisitingPrefixTreeFilter. It's unlikely
+    // another scanLevel would be much faster and it tends to be a risky knob (can help a little, can hurt a ton).
+    // TODO use RPT's configured scan level?  Do we know better here?  Hard to say.
+    final int scanLevel = tree.getMaxLevels();
+    //AbstractVisitingPrefixTreeFilter is a Lucene Filter.  We don't need a filter; we use it for its great prefix-tree
+    // traversal code.  TODO consider refactoring if/when it makes sense (more use cases than this)
+    new AbstractVisitingPrefixTreeQuery(queryShape, strategy.getFieldName(), tree, facetLevel, scanLevel) {
+
+      @Override
+      public String toString(String field) {
+        return "anonPrefixTreeQuery";//un-used
+      }
+
+      @Override
+      public DocIdSet getDocIdSet(LeafReaderContext contexts) throws IOException {
+        assert facetLevel == super.detailLevel;//same thing, FYI. (constant)
+
+        return new VisitorTemplate(context) {
+
+          @Override
+          protected void start() throws IOException {
+            facetVisitor.startOfSegment();
+          }
+
+          @Override
+          protected DocIdSet finish() throws IOException {
+            return null;//unused;
+          }
+
+          @Override
+          protected boolean visitPrefix(Cell cell) throws IOException {
+            // At facetLevel...
+            if (cell.getLevel() == facetLevel) {
+              // Count docs
+              visitLeaf(cell);//we're not a leaf but we treat it as such at facet level
+              return false;//don't descend further; this is enough detail
+            }
+
+            // We optimize for discriminating filters (reflected in acceptDocs) and short-circuit if no
+            // matching docs. We could do this at all levels or never but the closer we get to the facet level, the
+            // higher the probability this is worthwhile. We do when docFreq == 1 because it's a cheap check, especially
+            // due to "pulsing" in the codec.
+            //TODO this opt should move to VisitorTemplate (which contains an optimization TODO to this effect)
+            if (cell.getLevel() == facetLevel - 1 || termsEnum.docFreq() == 1) {
+              if (!hasDocsAtThisTerm()) {
+                return false;
+              }
+            }
+            return true;
+          }
+
+          @Override
+          protected void visitLeaf(Cell cell) throws IOException {
+            final int count = countDocsAtThisTerm();
+            if (count > 0) {
+              facetVisitor.visit(cell, count);
+            }
+          }
+
+          private int countDocsAtThisTerm() throws IOException {
+            if (acceptDocs == null) {
+              return termsEnum.docFreq();
+            }
+            int count = 0;
+            postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
+            while (postingsEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
+              if (acceptDocs.get(postingsEnum.docID()) == false) {
+                continue;
+              }
+              count++;
+            }
+            return count;
+          }
+
+          private boolean hasDocsAtThisTerm() throws IOException {
+            if (acceptDocs == null) {
+              return true;
+            }
+            postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
+            int nextDoc = postingsEnum.nextDoc();
+            while (nextDoc != DocIdSetIterator.NO_MORE_DOCS && acceptDocs.get(nextDoc) == false) {
+              nextDoc = postingsEnum.nextDoc();
+            }
+            return nextDoc != DocIdSetIterator.NO_MORE_DOCS;
+          }
+
+        }.getDocIdSet();
+      }
+    }.getDocIdSet(context);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
new file mode 100644
index 0000000..608879b
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
@@ -0,0 +1,208 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.index.IndexOptions;
+import org.apache.lucene.index.IndexReaderContext;
+import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.spatial.SpatialStrategy;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.util.ShapeFieldCacheDistanceValueSource;
+import org.apache.lucene.util.Bits;
+
+/**
+ * An abstract SpatialStrategy based on {@link SpatialPrefixTree}. The two
+ * subclasses are {@link RecursivePrefixTreeStrategy} and {@link
+ * TermQueryPrefixTreeStrategy}.  This strategy is most effective as a fast
+ * approximate spatial search filter.
+ * <p>
+ * <b>Characteristics:</b>
+ * <br>
+ * <ul>
+ * <li>Can index any shape; however only {@link RecursivePrefixTreeStrategy}
+ * can effectively search non-point shapes.</li>
+ * <li>Can index a variable number of shapes per field value. This strategy
+ * can do it via multiple calls to {@link #createIndexableFields(com.spatial4j.core.shape.Shape)}
+ * for a document or by giving it some sort of Shape aggregate (e.g. JTS
+ * WKT MultiPoint).  The shape's boundary is approximated to a grid precision.
+ * </li>
+ * <li>Can query with any shape.  The shape's boundary is approximated to a grid
+ * precision.</li>
+ * <li>Only {@link org.apache.lucene.spatial.query.SpatialOperation#Intersects}
+ * is supported.  If only points are indexed then this is effectively equivalent
+ * to IsWithin.</li>
+ * <li>The strategy supports {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point,double)}
+ * even for multi-valued data, so long as the indexed data is all points; the
+ * behavior is undefined otherwise.  However, <em>it will likely be removed in
+ * the future</em> in lieu of using another strategy with a more scalable
+ * implementation.  Use of this call is the only
+ * circumstance in which a cache is used.  The cache is simple but as such
+ * it doesn't scale to large numbers of points nor is it real-time-search
+ * friendly.</li>
+ * </ul>
+ * <p>
+ * <b>Implementation:</b>
+ * <p>
+ * The {@link SpatialPrefixTree} does most of the work, for example returning
+ * a list of terms representing grids of various sizes for a supplied shape.
+ * An important
+ * configuration item is {@link #setDistErrPct(double)} which balances
+ * shape precision against scalability.  See those javadocs.
+ *
+ * @lucene.experimental
+ */
+public abstract class PrefixTreeStrategy extends SpatialStrategy {
+  protected final SpatialPrefixTree grid;
+  private final Map<String, PointPrefixTreeFieldCacheProvider> provider = new ConcurrentHashMap<>();
+  protected int defaultFieldValuesArrayLen = 2;
+  protected double distErrPct = SpatialArgs.DEFAULT_DISTERRPCT;// [ 0 TO 0.5 ]
+  protected boolean pointsOnly = false;//if true, there are no leaves
+
+  public PrefixTreeStrategy(SpatialPrefixTree grid, String fieldName) {
+    super(grid.getSpatialContext(), fieldName);
+    this.grid = grid;
+  }
+
+  public SpatialPrefixTree getGrid() {
+    return grid;
+  }
+
+  /**
+   * A memory hint used by {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point)}
+   * for how big the initial size of each Document's array should be. The
+   * default is 2.  Set this to slightly more than the default expected number
+   * of points per document.
+   */
+  public void setDefaultFieldValuesArrayLen(int defaultFieldValuesArrayLen) {
+    this.defaultFieldValuesArrayLen = defaultFieldValuesArrayLen;
+  }
+
+  public double getDistErrPct() {
+    return distErrPct;
+  }
+
+  /**
+   * The default measure of shape precision affecting shapes at index and query
+   * times. Points don't use this as they are always indexed at the configured
+   * maximum precision ({@link org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree#getMaxLevels()});
+   * this applies to all other shapes. Specific shapes at index and query time
+   * can use something different than this default value.  If you don't set a
+   * default then the default is {@link SpatialArgs#DEFAULT_DISTERRPCT} --
+   * 2.5%.
+   *
+   * @see org.apache.lucene.spatial.query.SpatialArgs#getDistErrPct()
+   */
+  public void setDistErrPct(double distErrPct) {
+    this.distErrPct = distErrPct;
+  }
+
+  public boolean isPointsOnly() {
+    return pointsOnly;
+  }
+
+  /** True if only indexed points shall be supported. There are no "leafs" in such a case, except those
+   * at maximum precision. */
+  public void setPointsOnly(boolean pointsOnly) {
+    this.pointsOnly = pointsOnly;
+  }
+
+  @Override
+  public Field[] createIndexableFields(Shape shape) {
+    double distErr = SpatialArgs.calcDistanceFromErrPct(shape, distErrPct, ctx);
+    return createIndexableFields(shape, distErr);
+  }
+
+  /**
+   * Turns {@link SpatialPrefixTree#getTreeCellIterator(Shape, int)} into a
+   * {@link org.apache.lucene.analysis.TokenStream}.
+   */
+  public Field[] createIndexableFields(Shape shape, double distErr) {
+    int detailLevel = grid.getLevelForDistance(distErr);
+    return createIndexableFields(shape, detailLevel);
+  }
+
+  public Field[] createIndexableFields(Shape shape, int detailLevel) {
+    //TODO re-use TokenStream LUCENE-5776: Subclass Field, put cell iterator there, override tokenStream()
+    Iterator<Cell> cells = createCellIteratorToIndex(shape, detailLevel, null);
+    CellToBytesRefIterator cellToBytesRefIterator = newCellToBytesRefIterator();
+    cellToBytesRefIterator.reset(cells);
+    BytesRefIteratorTokenStream tokenStream = new BytesRefIteratorTokenStream();
+    tokenStream.setBytesRefIterator(cellToBytesRefIterator);
+    Field field = new Field(getFieldName(), tokenStream, FIELD_TYPE);
+    return new Field[]{field};
+  }
+
+  protected CellToBytesRefIterator newCellToBytesRefIterator() {
+    //subclasses could return one that never emits leaves, or does both, or who knows.
+    return new CellToBytesRefIterator();
+  }
+
+  protected Iterator<Cell> createCellIteratorToIndex(Shape shape, int detailLevel, Iterator<Cell> reuse) {
+    if (pointsOnly && !(shape instanceof Point)) {
+      throw new IllegalArgumentException("pointsOnly is true yet a " + shape.getClass() + " is given for indexing");
+    }
+    return grid.getTreeCellIterator(shape, detailLevel);//TODO should take a re-use iterator
+  }
+
+  /* Indexed, tokenized, not stored. */
+  public static final FieldType FIELD_TYPE = new FieldType();
+
+  static {
+    FIELD_TYPE.setTokenized(true);
+    FIELD_TYPE.setOmitNorms(true);
+    FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
+    FIELD_TYPE.freeze();
+  }
+
+  @Override
+  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
+    PointPrefixTreeFieldCacheProvider p = provider.get( getFieldName() );
+    if( p == null ) {
+      synchronized (this) {//double checked locking idiom is okay since provider is threadsafe
+        p = provider.get( getFieldName() );
+        if (p == null) {
+          p = new PointPrefixTreeFieldCacheProvider(grid, getFieldName(), defaultFieldValuesArrayLen);
+          provider.put(getFieldName(),p);
+        }
+      }
+    }
+
+    return new ShapeFieldCacheDistanceValueSource(ctx, p, queryPoint, multiplier);
+  }
+
+  /**
+   * Computes spatial facets in two dimensions as a grid of numbers.  The data is often visualized as a so-called
+   * "heatmap".
+   *
+   * @see HeatmapFacetCounter#calcFacets(PrefixTreeStrategy, IndexReaderContext, Bits, Shape, int, int)
+   */
+  public HeatmapFacetCounter.Heatmap calcFacets(IndexReaderContext context, Bits topAcceptDocs,
+                                   Shape inputShape, final int facetLevel, int maxCells) throws IOException {
+    return HeatmapFacetCounter.calcFacets(this, context, topAcceptDocs, inputShape, facetLevel, maxCells);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
new file mode 100644
index 0000000..68b0449
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
@@ -0,0 +1,192 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.LegacyCell;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
+
+/**
+ * A {@link PrefixTreeStrategy} which uses {@link AbstractVisitingPrefixTreeQuery}.
+ * This strategy has support for searching non-point shapes (note: not tested).
+ * Even a query shape with distErrPct=0 (fully precise to the grid) should have
+ * good performance for typical data, unless there is a lot of indexed data
+ * coincident with the shape's edge.
+ *
+ * @lucene.experimental
+ */
+public class RecursivePrefixTreeStrategy extends PrefixTreeStrategy {
+  /* Future potential optimizations:
+
+    Each shape.relate(otherShape) result could be cached since much of the same relations will be invoked when
+    multiple segments are involved. Do this for "complex" shapes, not cheap ones, and don't cache when disjoint to
+    bbox because it's a cheap calc. This is one advantage TermQueryPrefixTreeStrategy has over RPT.
+
+   */
+
+  protected int prefixGridScanLevel;
+
+  //Formerly known as simplifyIndexedCells. Eventually will be removed. Only compatible with RPT
+  // and a LegacyPrefixTree.
+  protected boolean pruneLeafyBranches = true;
+
+  protected boolean multiOverlappingIndexedShapes = true;
+
+  public RecursivePrefixTreeStrategy(SpatialPrefixTree grid, String fieldName) {
+    super(grid, fieldName);
+    prefixGridScanLevel = grid.getMaxLevels() - 4;//TODO this default constant is dependent on the prefix grid size
+  }
+
+  public int getPrefixGridScanLevel() {
+    return prefixGridScanLevel;
+  }
+
+  /**
+   * Sets the grid level [1-maxLevels] at which indexed terms are scanned brute-force
+   * instead of by grid decomposition.  By default this is maxLevels - 4.  The
+   * final level, maxLevels, is always scanned.
+   *
+   * @param prefixGridScanLevel 1 to maxLevels
+   */
+  public void setPrefixGridScanLevel(int prefixGridScanLevel) {
+    //TODO if negative then subtract from maxlevels
+    this.prefixGridScanLevel = prefixGridScanLevel;
+  }
+
+  public boolean isMultiOverlappingIndexedShapes() {
+    return multiOverlappingIndexedShapes;
+  }
+
+  /** See {@link ContainsPrefixTreeQuery#multiOverlappingIndexedShapes}. */
+  public void setMultiOverlappingIndexedShapes(boolean multiOverlappingIndexedShapes) {
+    this.multiOverlappingIndexedShapes = multiOverlappingIndexedShapes;
+  }
+
+  public boolean isPruneLeafyBranches() {
+    return pruneLeafyBranches;
+  }
+
+  /**
+   * An optional hint affecting non-point shapes: it will
+   * prune away a complete set sibling leaves to their parent (recursively), resulting in ~20-50%
+   * fewer indexed cells, and consequently that much less disk and that much faster indexing.
+   * So if it's a quad tree and all 4 sub-cells are there marked as a leaf, then they will be
+   * removed (pruned) and the parent is marked as a leaf instead.  This occurs recursively on up.  Unfortunately, the
+   * current implementation will buffer all cells to do this, so consider disabling for high precision (low distErrPct)
+   * shapes. (default=true)
+   */
+  public void setPruneLeafyBranches(boolean pruneLeafyBranches) {
+    this.pruneLeafyBranches = pruneLeafyBranches;
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder str = new StringBuilder(getClass().getSimpleName()).append('(');
+    str.append("SPG:(").append(grid.toString()).append(')');
+    if (pointsOnly)
+      str.append(",pointsOnly");
+    if (pruneLeafyBranches)
+      str.append(",pruneLeafyBranches");
+    if (prefixGridScanLevel != grid.getMaxLevels() - 4)
+      str.append(",prefixGridScanLevel:").append(""+prefixGridScanLevel);
+    if (!multiOverlappingIndexedShapes)
+      str.append(",!multiOverlappingIndexedShapes");
+    return str.append(')').toString();
+  }
+
+  @Override
+  protected Iterator<Cell> createCellIteratorToIndex(Shape shape, int detailLevel, Iterator<Cell> reuse) {
+    if (shape instanceof Point || !pruneLeafyBranches)
+      return super.createCellIteratorToIndex(shape, detailLevel, reuse);
+
+    List<Cell> cells = new ArrayList<>(4096);
+    recursiveTraverseAndPrune(grid.getWorldCell(), shape, detailLevel, cells);
+    return cells.iterator();
+  }
+
+  /** Returns true if cell was added as a leaf. If it wasn't it recursively descends. */
+  private boolean recursiveTraverseAndPrune(Cell cell, Shape shape, int detailLevel, List<Cell> result) {
+    // Important: this logic assumes Cells don't share anything with other cells when
+    // calling cell.getNextLevelCells(). This is only true for LegacyCell.
+    if (!(cell instanceof LegacyCell))
+      throw new IllegalStateException("pruneLeafyBranches must be disabled for use with grid "+grid);
+
+    if (cell.getLevel() == detailLevel) {
+      cell.setLeaf();//FYI might already be a leaf
+    }
+    if (cell.isLeaf()) {
+      result.add(cell);
+      return true;
+    }
+    if (cell.getLevel() != 0)
+      result.add(cell);
+
+    int leaves = 0;
+    CellIterator subCells = cell.getNextLevelCells(shape);
+    while (subCells.hasNext()) {
+      Cell subCell = subCells.next();
+      if (recursiveTraverseAndPrune(subCell, shape, detailLevel, result))
+        leaves++;
+    }
+    //can we prune?
+    if (leaves == ((LegacyCell)cell).getSubCellsSize() && cell.getLevel() != 0) {
+      //Optimization: substitute the parent as a leaf instead of adding all
+      // children as leaves
+
+      //remove the leaves
+      do {
+        result.remove(result.size() - 1);//remove last
+      } while (--leaves > 0);
+      //add cell as the leaf
+      cell.setLeaf();
+      return true;
+    }
+    return false;
+  }
+
+  @Override
+  public Query makeQuery(SpatialArgs args) {
+    final SpatialOperation op = args.getOperation();
+
+    Shape shape = args.getShape();
+    int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, distErrPct));
+
+    if (op == SpatialOperation.Intersects) {
+      return new IntersectsPrefixTreeQuery(
+          shape, getFieldName(), grid, detailLevel, prefixGridScanLevel);
+    } else if (op == SpatialOperation.IsWithin) {
+      return new WithinPrefixTreeQuery(
+          shape, getFieldName(), grid, detailLevel, prefixGridScanLevel,
+          -1);//-1 flag is slower but ensures correct results
+    } else if (op == SpatialOperation.Contains) {
+      return new ContainsPrefixTreeQuery(shape, getFieldName(), grid, detailLevel,
+          multiOverlappingIndexedShapes);
+    }
+    throw new UnsupportedSpatialOperation(op);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
new file mode 100644
index 0000000..a74786b
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
@@ -0,0 +1,111 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.queries.TermsQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefBuilder;
+
+/**
+ * A basic implementation of {@link PrefixTreeStrategy} using a large
+ * {@link TermsQuery} of all the cells from
+ * {@link SpatialPrefixTree#getTreeCellIterator(com.spatial4j.core.shape.Shape, int)}.
+ * It only supports the search of indexed Point shapes.
+ * <p>
+ * The precision of query shapes (distErrPct) is an important factor in using
+ * this Strategy. If the precision is too precise then it will result in many
+ * terms which will amount to a slower query.
+ *
+ * @lucene.experimental
+ */
+public class TermQueryPrefixTreeStrategy extends PrefixTreeStrategy {
+
+  protected boolean simplifyIndexedCells = false;
+
+  public TermQueryPrefixTreeStrategy(SpatialPrefixTree grid, String fieldName) {
+    super(grid, fieldName);
+  }
+
+  @Override
+  protected CellToBytesRefIterator newCellToBytesRefIterator() {
+    //Ensure we don't have leaves, as this strategy doesn't handle them.
+    return new CellToBytesRefIterator() {
+      @Override
+      public BytesRef next() {
+        if (!cellIter.hasNext()) {
+          return null;
+        }
+        return cellIter.next().getTokenBytesNoLeaf(bytesRef);
+      }
+    };
+  }
+
+  @Override
+  public Query makeQuery(SpatialArgs args) {
+    final SpatialOperation op = args.getOperation();
+    if (op != SpatialOperation.Intersects)
+      throw new UnsupportedSpatialOperation(op);
+
+    Shape shape = args.getShape();
+    int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, distErrPct));
+
+    //--get a List of BytesRef for each term we want (no parents, no leaf bytes))
+    final int GUESS_NUM_TERMS;
+    if (shape instanceof Point)
+      GUESS_NUM_TERMS = detailLevel;//perfect guess
+    else
+      GUESS_NUM_TERMS = 4096;//should this be a method on SpatialPrefixTree?
+
+    BytesRefBuilder masterBytes = new BytesRefBuilder();//shared byte array for all terms
+    List<BytesRef> terms = new ArrayList<>(GUESS_NUM_TERMS);
+
+    CellIterator cells = grid.getTreeCellIterator(shape, detailLevel);
+    while (cells.hasNext()) {
+      Cell cell = cells.next();
+      if (!cell.isLeaf())
+        continue;
+      BytesRef term = cell.getTokenBytesNoLeaf(null);//null because we want a new BytesRef
+      //We copy out the bytes because it may be re-used across the iteration. This also gives us the opportunity
+      // to use one contiguous block of memory for the bytes of all terms we need.
+      masterBytes.grow(masterBytes.length() + term.length);
+      masterBytes.append(term);
+      term.bytes = null;//don't need; will reset later
+      term.offset = masterBytes.length() - term.length;
+      terms.add(term);
+    }
+    //doing this now because if we did earlier, it's possible the bytes needed to grow()
+    for (BytesRef byteRef : terms) {
+      byteRef.bytes = masterBytes.bytes();
+    }
+    //unfortunately TermsQuery will needlessly sort & dedupe
+    //TODO an automatonQuery might be faster?
+    return new TermsQuery(getFieldName(), terms);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
new file mode 100644
index 0000000..3796116
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
@@ -0,0 +1,233 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Circle;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.BitDocIdSet;
+import org.apache.lucene.util.Bits;
+import org.apache.lucene.util.FixedBitSet;
+
+/**
+ * Finds docs where its indexed shape is {@link org.apache.lucene.spatial.query.SpatialOperation#IsWithin
+ * WITHIN} the query shape.  It works by looking at cells outside of the query
+ * shape to ensure documents there are excluded. By default, it will
+ * examine all cells, and it's fairly slow.  If you know that the indexed shapes
+ * are never comprised of multiple disjoint parts (which also means it is not multi-valued),
+ * then you can pass {@code SpatialPrefixTree.getDistanceForLevel(maxLevels)} as
+ * the {@code queryBuffer} constructor parameter to minimally look this distance
+ * beyond the query shape's edge.  Even if the indexed shapes are sometimes
+ * comprised of multiple disjoint parts, you might want to use this option with
+ * a large buffer as a faster approximation with minimal false-positives.
+ *
+ * @lucene.experimental
+ */
+public class WithinPrefixTreeQuery extends AbstractVisitingPrefixTreeQuery {
+  //TODO LUCENE-4869: implement faster algorithm based on filtering out false-positives of a
+  //  minimal query buffer by looking in a DocValues cache holding a representative
+  //  point of each disjoint component of a document's shape(s).
+
+  //TODO Could the recursion in allCellsIntersectQuery() be eliminated when non-fuzzy or other
+  //  circumstances?
+
+  private final Shape bufferedQueryShape;//if null then the whole world
+
+  /**
+   * See {@link AbstractVisitingPrefixTreeQuery#AbstractVisitingPrefixTreeQuery(com.spatial4j.core.shape.Shape, String, org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree, int, int)}.
+   * {@code queryBuffer} is the (minimum) distance beyond the query shape edge
+   * where non-matching documents are looked for so they can be excluded. If
+   * -1 is used then the whole world is examined (a good default for correctness).
+   */
+  public WithinPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid,
+                               int detailLevel, int prefixGridScanLevel,
+                               double queryBuffer) {
+    super(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel);
+    this.bufferedQueryShape = queryBuffer == -1 ? null : bufferShape(queryShape, queryBuffer);
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (!super.equals(o)) return false;//checks getClass == o.getClass & instanceof
+
+    WithinPrefixTreeQuery that = (WithinPrefixTreeQuery) o;
+
+    if (bufferedQueryShape != null ? !bufferedQueryShape.equals(that.bufferedQueryShape) : that.bufferedQueryShape != null)
+      return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + (bufferedQueryShape != null ? bufferedQueryShape.hashCode() : 0);
+    return result;
+  }
+
+  @Override
+  public String toString(String field) {
+    return getClass().getSimpleName() + "(" +
+             "fieldName=" + fieldName + "," +
+             "queryShape=" + queryShape + "," +
+             "detailLevel=" + detailLevel + "," +
+             "prefixGridScanLevel=" + prefixGridScanLevel +
+           ")";
+  }
+
+  /** Returns a new shape that is larger than shape by at distErr.
+   */
+  //TODO move this generic code elsewhere?  Spatial4j?
+  protected Shape bufferShape(Shape shape, double distErr) {
+    if (distErr <= 0)
+      throw new IllegalArgumentException("distErr must be > 0");
+    SpatialContext ctx = grid.getSpatialContext();
+    if (shape instanceof Point) {
+      return ctx.makeCircle((Point)shape, distErr);
+    } else if (shape instanceof Circle) {
+      Circle circle = (Circle) shape;
+      double newDist = circle.getRadius() + distErr;
+      if (ctx.isGeo() && newDist > 180)
+        newDist = 180;
+      return ctx.makeCircle(circle.getCenter(), newDist);
+    } else {
+      Rectangle bbox = shape.getBoundingBox();
+      double newMinX = bbox.getMinX() - distErr;
+      double newMaxX = bbox.getMaxX() + distErr;
+      double newMinY = bbox.getMinY() - distErr;
+      double newMaxY = bbox.getMaxY() + distErr;
+      if (ctx.isGeo()) {
+        if (newMinY < -90)
+          newMinY = -90;
+        if (newMaxY > 90)
+          newMaxY = 90;
+        if (newMinY == -90 || newMaxY == 90 || bbox.getWidth() + 2*distErr > 360) {
+          newMinX = -180;
+          newMaxX = 180;
+        } else {
+          newMinX = DistanceUtils.normLonDEG(newMinX);
+          newMaxX = DistanceUtils.normLonDEG(newMaxX);
+        }
+      } else {
+        //restrict to world bounds
+        newMinX = Math.max(newMinX, ctx.getWorldBounds().getMinX());
+        newMaxX = Math.min(newMaxX, ctx.getWorldBounds().getMaxX());
+        newMinY = Math.max(newMinY, ctx.getWorldBounds().getMinY());
+        newMaxY = Math.min(newMaxY, ctx.getWorldBounds().getMaxY());
+      }
+      return ctx.makeRectangle(newMinX, newMaxX, newMinY, newMaxY);
+    }
+  }
+
+
+  @Override
+  protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
+    return new VisitorTemplate(context) {
+      private FixedBitSet inside;
+      private FixedBitSet outside;
+
+      @Override
+      protected void start() {
+        inside = new FixedBitSet(maxDoc);
+        outside = new FixedBitSet(maxDoc);
+      }
+
+      @Override
+      protected DocIdSet finish() {
+        inside.andNot(outside);
+        return new BitDocIdSet(inside);
+      }
+
+      @Override
+      protected CellIterator findSubCellsToVisit(Cell cell) {
+        //use buffered query shape instead of orig.  Works with null too.
+        return cell.getNextLevelCells(bufferedQueryShape);
+      }
+
+      @Override
+      protected boolean visitPrefix(Cell cell) throws IOException {
+        //cell.relate is based on the bufferedQueryShape; we need to examine what
+        // the relation is against the queryShape
+        SpatialRelation visitRelation = cell.getShape().relate(queryShape);
+        if (cell.getLevel() == detailLevel) {
+          collectDocs(visitRelation.intersects() ? inside : outside);
+          return false;
+        } else if (visitRelation == SpatialRelation.WITHIN) {
+          collectDocs(inside);
+          return false;
+        } else if (visitRelation == SpatialRelation.DISJOINT) {
+          collectDocs(outside);
+          return false;
+        }
+        return true;
+      }
+
+      @Override
+      protected void visitLeaf(Cell cell) throws IOException {
+        if (allCellsIntersectQuery(cell))
+          collectDocs(inside);
+        else
+          collectDocs(outside);
+      }
+
+      /** Returns true if the provided cell, and all its sub-cells down to
+       * detailLevel all intersect the queryShape.
+       */
+      private boolean allCellsIntersectQuery(Cell cell) {
+        SpatialRelation relate = cell.getShape().relate(queryShape);
+        if (cell.getLevel() == detailLevel)
+          return relate.intersects();
+        if (relate == SpatialRelation.WITHIN)
+          return true;
+        if (relate == SpatialRelation.DISJOINT)
+          return false;
+        // Note: Generating all these cells just to determine intersection is not ideal.
+        // The real solution is LUCENE-4869.
+        CellIterator subCells = cell.getNextLevelCells(null);
+        while (subCells.hasNext()) {
+          Cell subCell = subCells.next();
+          if (!allCellsIntersectQuery(subCell))//recursion
+            return false;
+        }
+        return true;
+      }
+
+      @Override
+      protected void visitScanned(Cell cell) throws IOException {
+        visitLeaf(cell);//collects as we want, even if not a leaf
+//        if (cell.isLeaf()) {
+//          visitLeaf(cell);
+//        } else {
+//          visitPrefix(cell);
+//        }
+      }
+
+    }.getDocIdSet();
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/package-info.java
new file mode 100644
index 0000000..2749cfd
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+/**
+ * Prefix Tree Strategy.
+ */
+package org.apache.lucene.spatial.prefix;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
new file mode 100644
index 0000000..fe3846d
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
@@ -0,0 +1,109 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * Represents a grid cell. Cell instances are generally very transient and may be re-used
+ * internally.  To get an instance, you could start with {@link SpatialPrefixTree#getWorldCell()}.
+ * And from there you could either traverse down the tree with {@link #getNextLevelCells(com.spatial4j.core.shape.Shape)},
+ * or you could read an indexed term via {@link SpatialPrefixTree#readCell(org.apache.lucene.util.BytesRef,Cell)}.
+ * When a cell is read from a term, it is comprised of just the base bytes plus optionally a leaf flag.
+ *
+ * @lucene.experimental
+ */
+public interface Cell {
+
+//  If we bring this back; perhaps do so as a method that un-shares its internal state: void unshare();
+//  /** Resets the state of this cell such that it is identical to {@code source}. This can be used for
+//   * cloning a cell to have a safe copy, and it also might be used to position this cell
+//   * before calling {@link #readCell(org.apache.lucene.util.BytesRef)} in a loop if you know the first term
+//   * is going to be close to some other cell, thereby saving some computations. */
+//  void copyFrom(Cell source);
+
+  /** Gets the relationship this cell has with the shape from which it was filtered from, assuming it came from a
+   * {@link CellIterator}. Arguably it belongs there but it's very convenient here. */
+  SpatialRelation getShapeRel();
+
+  /** See {@link #getShapeRel()}.
+   * @lucene.internal */
+  void setShapeRel(SpatialRelation rel);
+
+  /**
+   * Some cells are flagged as leaves, which are indexed as such. A leaf cell is either within some
+   * shape or it both intersects and the cell is at an accuracy threshold such that no smaller cells
+   * for the shape will be represented.
+   */
+  boolean isLeaf();
+
+  /** Set this cell to be a leaf. Warning: never call on a cell
+   * initialized to reference the same bytes from termsEnum, which should be treated as immutable.
+   * Note: not supported at level 0.
+   * @lucene.internal */
+  void setLeaf();
+
+  /**
+   * Returns the bytes for this cell, with a leaf byte <em>if this is a leaf cell</em>.
+   * The result param is used to save object allocation, though its bytes aren't used.
+   * @param result where the result goes, or null to create new
+   */
+  BytesRef getTokenBytesWithLeaf(BytesRef result);
+
+  /**
+   * Returns the bytes for this cell, without a leaf set. The bytes should sort before
+   * {@link #getTokenBytesWithLeaf(org.apache.lucene.util.BytesRef)}.
+   * The result param is used to save object allocation, though its bytes aren't used.
+   * @param result where the result goes, or null to create new
+   */
+  BytesRef getTokenBytesNoLeaf(BytesRef result);
+
+  /** Level 0 is the world (and has no parent), from then on a higher level means a smaller
+   * cell than the level before it.
+   */
+  int getLevel();
+
+  /**
+   * Gets the cells at the next grid cell level underneath this one, optionally filtered by
+   * {@code shapeFilter}. The returned cells should have {@link #getShapeRel()} set to
+   * their relation with {@code shapeFilter}.  In addition, for non-points {@link #isLeaf()}
+   * must be true when that relation is WITHIN.
+   * <p>
+   * IMPORTANT: Cells returned from this iterator can be shared, as well as the bytes.
+   * <p>
+   * Precondition: Never called when getLevel() == maxLevel.
+   *
+   * @param shapeFilter an optional filter for the returned cells.
+   * @return A set of cells (no dups), sorted. Not Modifiable.
+   */
+  CellIterator getNextLevelCells(Shape shapeFilter);
+
+  /** Gets the shape for this cell; typically a Rectangle. */
+  Shape getShape();
+
+  /**
+   * Returns if the target term is within/underneath this cell; not necessarily a direct
+   * descendant.
+   * @param c the term
+   */
+  boolean isPrefixOf(Cell c);
+
+  /** Equivalent to {@code this.getTokenBytesNoLeaf(null).compareTo(fromCell.getTokenBytesNoLeaf(null))}. */
+  int compareToNoLeaf(Cell fromCell);
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
new file mode 100644
index 0000000..1cef37a
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
@@ -0,0 +1,76 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * An Iterator of SpatialPrefixTree Cells. The order is always sorted without duplicates.
+ *
+ * @lucene.experimental
+ */
+public abstract class CellIterator implements Iterator<Cell> {
+
+  //note: nextCell or thisCell can be non-null but neither at the same time. That's
+  // because they might return the same instance when re-used!
+
+  protected Cell nextCell;//to be returned by next(), and null'ed after
+  protected Cell thisCell;//see next() & thisCell(). Should be cleared in hasNext().
+
+  /** Returns the cell last returned from {@link #next()}. It's cleared by hasNext(). */
+  public Cell thisCell() {
+    assert thisCell != null : "Only call thisCell() after next(), not hasNext()";
+    return thisCell;
+  }
+
+  // Arguably this belongs here and not on Cell
+  //public SpatialRelation getShapeRel()
+
+  /**
+   * Gets the next cell that is &gt;= {@code fromCell}, compared using non-leaf bytes. If it returns null then
+   * the iterator is exhausted.
+   */
+  public Cell nextFrom(Cell fromCell) {
+    while (true) {
+      if (!hasNext())
+        return null;
+      Cell c = next();//will update thisCell
+      if (c.compareToNoLeaf(fromCell) >= 0) {
+        return c;
+      }
+    }
+  }
+
+  /** This prevents sub-cells (those underneath the current cell) from being iterated to,
+   *  if applicable, otherwise a NO-OP. */
+  @Override
+  public void remove() {
+    assert thisCell != null;
+  }
+
+  @Override
+  public Cell next() {
+    if (nextCell == null) {
+      if (!hasNext())
+        throw new NoSuchElementException();
+    }
+    thisCell = nextCell;
+    nextCell = null;
+    return thisCell;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
new file mode 100644
index 0000000..13281f3
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
@@ -0,0 +1,444 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Locale;
+import java.util.TimeZone;
+
+import com.spatial4j.core.shape.Shape;
+
+/**
+ * A PrefixTree for date ranges in which the levels of the tree occur at natural periods of time (e.g. years,
+ * months, ...). You pass in {@link Calendar} objects with the desired fields set and the unspecified
+ * fields unset, which conveys the precision.  The implementation makes some optimization assumptions about a
+ * {@link java.util.GregorianCalendar}; others could probably be supported easily.
+ * <p>
+ * Warning: If you construct a Calendar and then get something from the object like a field (e.g. year) or
+ * milliseconds, then every field is fully set by side-effect. So after setting the fields, pass it to this
+ * API first.
+ * @lucene.experimental
+ */
+public class DateRangePrefixTree extends NumberRangePrefixTree {
+
+  /*
+    WARNING  java.util.Calendar is tricky to work with:
+    * If you "get" any field value, every field becomes "set". This can introduce a Heisenbug effect,
+        when in a debugger in some cases. Fortunately, Calendar.toString() doesn't apply.
+    * Beware Calendar underflow of the underlying long.  If you create a Calendar from LONG.MIN_VALUE, and clear
+     a field, it will underflow and appear close to LONG.MAX_VALUE (BC to AD).
+
+    There are no doubt other reasons but those two were hard fought lessons here.
+
+    TODO Improvements:
+    * Make max precision configurable (i.e. to SECOND).
+    * Make min & max year span configurable. Use that to remove pointless top levels of the SPT.
+        If year span is > 10k, then add 1k year level. If year span is > 10k of 1k levels, add 1M level.
+    * NumberRangePrefixTree: override getTreeCellIterator for optimized case where the shape isn't a date span; use
+      FilterCellIterator of the cell stack.
+
+  */
+
+  private static final TimeZone UTC = TimeZone.getTimeZone("UTC");
+  private static Calendar CAL_TMP;//template
+  static {
+    CAL_TMP = Calendar.getInstance(UTC, Locale.ROOT);
+    CAL_TMP.clear();
+  }
+
+  private static final Calendar MINCAL = (Calendar) CAL_TMP.clone();
+  private static final Calendar MAXCAL = (Calendar) CAL_TMP.clone();
+  static {
+    MINCAL.setTimeInMillis(Long.MIN_VALUE);
+    MAXCAL.setTimeInMillis(Long.MAX_VALUE);
+  }
+  //BC years are decreasing, remember.  Yet ActualMaximum is the numerically high value, ActualMinimum is 1.
+  private static final int BC_FIRSTYEAR = MINCAL.getActualMaximum(Calendar.YEAR);
+  private static final int BC_LASTYEAR = MINCAL.getActualMinimum(Calendar.YEAR);//1
+  private static final int BC_YEARS = BC_FIRSTYEAR - BC_LASTYEAR + 1;
+  private static final int AD_FIRSTYEAR = MAXCAL.getActualMinimum(Calendar.YEAR);//1
+  private static final int AD_LASTYEAR = MAXCAL.getActualMaximum(Calendar.YEAR);
+  private static final int AD_YEAR_BASE =  (((BC_YEARS-1) / 1000_000)+1) * 1000_000;
+  static { assert BC_LASTYEAR == 1 && AD_FIRSTYEAR == 1; }
+
+  //how many million years are there?
+  private static final int NUM_MYEARS = (AD_YEAR_BASE + AD_LASTYEAR) / 1000_000;
+
+  private static int calFieldLen(int field) {
+    return CAL_TMP.getMaximum(field) - CAL_TMP.getMinimum(field) + 1;
+  }
+
+  private static final int[] FIELD_BY_LEVEL = {
+      -1/*unused*/, -1, -1, Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH,
+      Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND};
+  private static final int yearLevel = 3;
+
+  public static final DateRangePrefixTree INSTANCE = new DateRangePrefixTree();
+
+  private final UnitNRShape minLV, maxLV;
+  private final UnitNRShape gregorianChangeDateLV;
+
+  protected DateRangePrefixTree() {
+    super(new int[]{//sublevels by level
+        NUM_MYEARS,
+        1000,//1 thousand thousand-years in a million years
+        1000,//1 thousand years in a thousand-year
+        calFieldLen(Calendar.MONTH),
+        calFieldLen(Calendar.DAY_OF_MONTH),
+        calFieldLen(Calendar.HOUR_OF_DAY),
+        calFieldLen(Calendar.MINUTE),
+        calFieldLen(Calendar.SECOND),
+        calFieldLen(Calendar.MILLISECOND),
+    });
+    maxLV = toShape((Calendar)MAXCAL.clone());
+    minLV = toShape((Calendar)MINCAL.clone());
+    if (MAXCAL instanceof GregorianCalendar) {
+      //TODO this should be a configurable param by passing a Calendar serving as a template.
+      GregorianCalendar gCal = (GregorianCalendar)MAXCAL;
+      gregorianChangeDateLV = toUnitShape(gCal.getGregorianChange());
+    } else {
+      gregorianChangeDateLV = null;
+    }
+  }
+
+  @Override
+  public int getNumSubCells(UnitNRShape lv) {
+    int cmp = comparePrefix(lv, maxLV);
+    assert cmp <= 0;
+    if (cmp == 0)//edge case (literally!)
+      return maxLV.getValAtLevel(lv.getLevel()+1);
+
+    // if using GregorianCalendar and we're after the "Gregorian change date" then we'll compute
+    //  the sub-cells ourselves more efficiently without the need to construct a Calendar.
+    cmp = gregorianChangeDateLV != null ? comparePrefix(lv, gregorianChangeDateLV) : -1;
+    //TODO consider also doing fast-path if field is <= hours even if before greg change date
+    if (cmp >= 0) {
+      int result = fastSubCells(lv);
+      assert result == slowSubCells(lv) : "fast/slow numSubCells inconsistency";
+      return result;
+    } else {
+      return slowSubCells(lv);
+    }
+  }
+
+  private int fastSubCells(UnitNRShape lv) {
+    if (lv.getLevel() == yearLevel+1) {//month
+      switch (lv.getValAtLevel(lv.getLevel())) {
+        case Calendar.SEPTEMBER:
+        case Calendar.APRIL:
+        case Calendar.JUNE:
+        case Calendar.NOVEMBER:
+          return 30;
+        case Calendar.FEBRUARY:
+          //get the year (negative numbers for BC)
+          int yearAdj = lv.getValAtLevel(1) * 1_000_000;
+          yearAdj += lv.getValAtLevel(2) * 1000;
+          yearAdj += lv.getValAtLevel(3);
+          int year = yearAdj - AD_YEAR_BASE;
+          if (year % 4 == 0 && !(year % 100 == 0 && year % 400 != 0) )//leap year
+            return 29;
+          else
+            return 28;
+        default:
+          return 31;
+      }
+    } else {//typical:
+      return super.getNumSubCells(lv);
+    }
+  }
+
+  private int slowSubCells(UnitNRShape lv) {
+    int field = FIELD_BY_LEVEL[lv.getLevel()+1];
+    //short-circuit optimization (GregorianCalendar assumptions)
+    if (field == -1 || field == Calendar.YEAR || field >= Calendar.HOUR_OF_DAY)//TODO make configurable
+      return super.getNumSubCells(lv);
+    Calendar cal = toCalendar(lv);//somewhat heavyweight op; ideally should be stored on UnitNRShape somehow
+    return cal.getActualMaximum(field) - cal.getActualMinimum(field) + 1;
+  }
+
+  /** Calendar utility method:
+   * Returns a new {@link Calendar} in UTC TimeZone, ROOT Locale, with all fields cleared. */
+  public Calendar newCal() {
+    return (Calendar) CAL_TMP.clone();
+  }
+
+  /** Calendar utility method:
+   * Returns the spatial prefix tree level for the corresponding {@link java.util.Calendar} field, such as
+   * {@link java.util.Calendar#YEAR}.  If there's no match, the next greatest level is returned as a negative value.
+   */
+  public int getTreeLevelForCalendarField(int calField) {
+    for (int i = yearLevel; i < FIELD_BY_LEVEL.length; i++) {
+      if (FIELD_BY_LEVEL[i] == calField) {
+        return i;
+      } else if (FIELD_BY_LEVEL[i] > calField) {
+        return -1 * i;
+      }
+    }
+    throw new IllegalArgumentException("Bad calendar field?: " + calField);
+  }
+
+  /** Calendar utility method:
+   * Gets the Calendar field code of the last field that is set prior to an unset field. It only
+   * examines fields relevant to the prefix tree. If no fields are set, it returns -1. */
+  public int getCalPrecisionField(Calendar cal) {
+    int lastField = -1;
+    for (int level = yearLevel; level < FIELD_BY_LEVEL.length; level++) {
+      int field = FIELD_BY_LEVEL[level];
+      if (!cal.isSet(field))
+        break;
+      lastField = field;
+    }
+    return lastField;
+  }
+
+  /** Calendar utility method:
+   * Calls {@link Calendar#clear(int)} for every field after {@code field}. Beware of Calendar underflow. */
+  public void clearFieldsAfter(Calendar cal, int field) {
+    if (field == -1) {
+      cal.clear();
+      return;
+    }
+    int assertEra = -1;
+    assert (assertEra = (((Calendar)cal.clone()).get(Calendar.ERA))) >= 0;//a trick to only get this if assert enabled
+    for (int f = field+1; f < Calendar.FIELD_COUNT; f++) {
+      cal.clear(f);
+    }
+    assert ((Calendar)cal.clone()).get(Calendar.ERA) == assertEra : "Calendar underflow";
+  }
+
+  /** Converts {@code value} from a {@link Calendar} or {@link Date} to a {@link Shape}. Other arguments
+   * result in a {@link java.lang.IllegalArgumentException}.
+   */
+  @Override
+  public UnitNRShape toUnitShape(Object value) {
+    if (value instanceof Calendar) {
+      return toShape((Calendar) value);
+    } else if (value instanceof Date) {
+      Calendar cal = newCal();
+      cal.setTime((Date)value);
+      return toShape(cal);
+    }
+    throw new IllegalArgumentException("Expecting Calendar or Date but got: "+value.getClass());
+  }
+
+  /** Converts the Calendar into a Shape.
+   * The isSet() state of the Calendar is re-instated when done. */
+  public UnitNRShape toShape(Calendar cal) {
+    // Convert a Calendar into a stack of cell numbers
+    final int calPrecField = getCalPrecisionField(cal);//must call first; getters set all fields
+    try {
+      int[] valStack = new int[maxLevels];//starts at level 1, not 0
+      int len = 0;
+      if (calPrecField >= Calendar.YEAR) {//year or better precision
+        int year = cal.get(Calendar.YEAR);
+        int yearAdj = cal.get(Calendar.ERA) == 0 ? AD_YEAR_BASE - (year - 1) : AD_YEAR_BASE + year;
+
+        valStack[len++] = yearAdj / 1000_000;
+        yearAdj -= valStack[len-1] * 1000_000;
+        valStack[len++] = yearAdj / 1000;
+        yearAdj -= valStack[len-1] * 1000;
+        valStack[len++] = yearAdj;
+        for (int level = yearLevel+1; level < FIELD_BY_LEVEL.length; level++) {
+          int field = FIELD_BY_LEVEL[level];
+          if (field > calPrecField)
+            break;
+          valStack[len++] = cal.get(field) - cal.getActualMinimum(field);
+        }
+      }
+
+      return toShape(valStack, len);
+    } finally {
+      clearFieldsAfter(cal, calPrecField);//restore precision state modified by get()
+    }
+  }
+
+  /** Calls {@link #toCalendar(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
+  @Override
+  public Object toObject(UnitNRShape shape) {
+    return toCalendar(shape);
+  }
+
+  /** Converts the {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape} shape to a
+   * corresponding Calendar that is cleared below its level. */
+  public Calendar toCalendar(UnitNRShape lv) {
+    if (lv.getLevel() == 0)
+      return newCal();
+    if (comparePrefix(lv, minLV) <= 0) {//shouldn't typically happen; sometimes in a debugger
+      return (Calendar) MINCAL.clone();//full precision; truncation would cause underflow
+    }
+    assert comparePrefix(lv, maxLV) <= 0;
+    Calendar cal = newCal();
+
+    int yearAdj = lv.getValAtLevel(1) * 1_000_000;
+    if (lv.getLevel() > 1) {
+      yearAdj += lv.getValAtLevel(2) * 1000;
+      if (lv.getLevel() > 2) {
+        yearAdj += lv.getValAtLevel(3);
+      }
+    }
+    if (yearAdj > AD_YEAR_BASE) {
+      cal.set(Calendar.ERA, 1);
+      cal.set(Calendar.YEAR, yearAdj - AD_YEAR_BASE);//setting the year resets the era
+    } else {
+      cal.set(Calendar.ERA, 0);//we assert this "sticks" at the end
+      cal.set(Calendar.YEAR, (AD_YEAR_BASE - yearAdj) + 1);
+    }
+    for (int level = yearLevel+1; level <= lv.getLevel(); level++) {
+      int field = FIELD_BY_LEVEL[level];
+      cal.set(field, lv.getValAtLevel(level) + cal.getActualMinimum(field));
+    }
+    assert yearAdj > AD_YEAR_BASE || ((Calendar)cal.clone()).get(Calendar.ERA) == 0 : "ERA / YEAR underflow";
+    return cal;
+  }
+
+  @Override
+  protected String toString(UnitNRShape lv) {
+    return toString(toCalendar(lv));
+  }
+
+  /** Calendar utility method:
+   * Formats the calendar to ISO-8601 format, to include proper BC handling (1BC is "0000", 2BC is "-0001", etc.);
+   * and WITHOUT a trailing 'Z'.
+   * A fully cleared calendar will yield the string "*".
+   * The isSet() state of the Calendar is re-instated when done. */
+   @SuppressWarnings("fallthrough")
+  public String toString(Calendar cal) {
+    final int calPrecField = getCalPrecisionField(cal);//must call first; getters set all fields
+    if (calPrecField == -1)
+      return "*";
+    try {
+      //TODO not fully optimized; but it's at least not used in 'search'.
+      //TODO maybe borrow code from Solr DateUtil (put in Lucene util somewhere), and have it reference this back?
+      String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS";
+      int ptnLen = 0;
+      switch (calPrecField) {//switch fall-through is deliberate
+        case Calendar.MILLISECOND: ptnLen += 4;
+        case Calendar.SECOND: ptnLen += 3;
+        case Calendar.MINUTE: ptnLen += 3;
+        case Calendar.HOUR_OF_DAY: ptnLen += 5;
+        case Calendar.DAY_OF_MONTH: ptnLen += 3;
+        case Calendar.MONTH: ptnLen += 3;
+        case Calendar.YEAR: ptnLen += 4;
+        break;
+        default: throw new IllegalStateException(""+calPrecField);
+      }
+      pattern = pattern.substring(0, ptnLen);
+      SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.ROOT);
+      format.setTimeZone(cal.getTimeZone());
+      if (cal.get(Calendar.ERA) == 0) {//BC
+        //SDF doesn't do this properly according to ISO-8601
+        // Example: 1BC == "0000" (actually 0 AD), 2BC == "-0001", 3BC == "-0002", ...
+        final int yearOrig = cal.get(Calendar.YEAR);
+        cal.set(Calendar.YEAR, yearOrig-1);
+        String str;
+        try {
+          str = format.format(cal.getTime());
+        } finally {
+          //reset to what it was
+          cal.set(Calendar.ERA, 0);//necessary!
+          cal.set(Calendar.YEAR, yearOrig);
+        }
+        if (yearOrig > 1)
+          return "-" + str;
+        else
+          return "0000" + str.substring(4);
+      }
+      return format.format(cal.getTime());
+    } finally {
+      clearFieldsAfter(cal, calPrecField);//restore precision state modified by get()
+    }
+  }
+
+  @Override
+  protected UnitNRShape parseUnitShape(String str) throws ParseException {
+    return toShape(parseCalendar(str));
+  }
+
+  /** Calendar utility method:
+   * The reverse of {@link #toString(java.util.Calendar)}. It will only set the fields found, leaving
+   * the remainder in an un-set state. A leading '-' or '+' is optional (positive assumed), and a
+   * trailing 'Z' is also optional.
+   * @param str not null and not empty
+   * @return not null
+   */
+  public Calendar parseCalendar(String str) throws ParseException {
+    // example: +2014-10-23T21:22:33.159Z
+    if (str == null || str.isEmpty())
+      throw new IllegalArgumentException("str is null or blank");
+    Calendar cal = newCal();
+    if (str.equals("*"))
+      return cal;
+    int offset = 0;//a pointer
+    try {
+      //year & era:
+      int lastOffset = str.charAt(str.length()-1) == 'Z' ? str.length() - 1 : str.length();
+      int hyphenIdx = str.indexOf('-', 1);//look past possible leading hyphen
+      if (hyphenIdx < 0)
+        hyphenIdx = lastOffset;
+      int year = Integer.parseInt(str.substring(offset, hyphenIdx));
+      cal.set(Calendar.ERA, year <= 0 ? 0 : 1);
+      cal.set(Calendar.YEAR, year <= 0 ? -1*year + 1 : year);
+      offset = hyphenIdx + 1;
+      if (lastOffset < offset)
+        return cal;
+
+      //NOTE: We aren't validating separator chars, and we unintentionally accept leading +/-.
+      // The str.substring()'s hopefully get optimized to be stack-allocated.
+
+      //month:
+      cal.set(Calendar.MONTH, Integer.parseInt(str.substring(offset, offset+2)) - 1);//starts at 0
+      offset += 3;
+      if (lastOffset < offset)
+        return cal;
+      //day:
+      cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(str.substring(offset, offset+2)));
+      offset += 3;
+      if (lastOffset < offset)
+        return cal;
+      //hour:
+      cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(str.substring(offset, offset+2)));
+      offset += 3;
+      if (lastOffset < offset)
+        return cal;
+      //minute:
+      cal.set(Calendar.MINUTE, Integer.parseInt(str.substring(offset, offset+2)));
+      offset += 3;
+      if (lastOffset < offset)
+        return cal;
+      //second:
+      cal.set(Calendar.SECOND, Integer.parseInt(str.substring(offset, offset+2)));
+      offset += 3;
+      if (lastOffset < offset)
+        return cal;
+      //ms:
+      cal.set(Calendar.MILLISECOND, Integer.parseInt(str.substring(offset, offset+3)));
+      offset += 3;//last one, move to next char
+      if (lastOffset == offset)
+        return cal;
+    } catch (Exception e) {
+      ParseException pe = new ParseException("Improperly formatted date: "+str, offset);
+      pe.initCause(e);
+      throw pe;
+    }
+    throw new ParseException("Improperly formatted date: "+str, offset);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
new file mode 100644
index 0000000..e4f50e0
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
@@ -0,0 +1,61 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+
+import java.util.Iterator;
+
+/**
+ * A filtering iterator of Cells. Those not matching the provided shape (disjoint) are
+ * skipped. If {@code shapeFilter} is null then all cells are returned.
+ *
+ * @lucene.internal
+ */
+class FilterCellIterator extends CellIterator {
+  final Iterator<Cell> baseIter;
+  final Shape shapeFilter;
+
+  FilterCellIterator(Iterator<Cell> baseIter, Shape shapeFilter) {
+    this.baseIter = baseIter;
+    this.shapeFilter = shapeFilter;
+  }
+
+  @Override
+  public boolean hasNext() {
+    thisCell = null;
+    if (nextCell != null)//calling hasNext twice in a row
+      return true;
+    while (baseIter.hasNext()) {
+      nextCell = baseIter.next();
+      if (shapeFilter == null) {
+        return true;
+      } else {
+        SpatialRelation rel = nextCell.getShape().relate(shapeFilter);
+        if (rel.intersects()) {
+          nextCell.setShapeRel(rel);
+          if (rel == SpatialRelation.WITHIN)
+            nextCell.setLeaf();
+          return true;
+        }
+      }
+    }
+    return false;
+  }
+
+}


[72/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
new file mode 100644
index 0000000..7cd4723
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
@@ -0,0 +1,143 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.Calendar;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree;
+import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.junit.Before;
+import org.junit.Test;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomBoolean;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+
+public class DateNRStrategyTest extends RandomSpatialOpStrategyTestCase {
+
+  static final int ITERATIONS = 10;
+
+  DateRangePrefixTree tree;
+
+  long randomCalWindowMs;
+
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+    tree = DateRangePrefixTree.INSTANCE;
+    if (randomBoolean()) {
+      strategy = new NumberRangePrefixTreeStrategy(tree, "dateRange");
+    } else {
+      //Test the format that existed <= Lucene 5.0
+      strategy = new NumberRangePrefixTreeStrategy(tree, "dateRange") {
+        @Override
+        protected CellToBytesRefIterator newCellToBytesRefIterator() {
+          return new CellToBytesRefIterator50();
+        }
+      };
+    }
+    Calendar tmpCal = tree.newCal();
+    int randomCalWindowField = randomIntBetween(1, Calendar.ZONE_OFFSET - 1);//we're not allowed to add zone offset
+    tmpCal.add(randomCalWindowField, 2_000);
+    randomCalWindowMs = Math.max(2000L, tmpCal.getTimeInMillis());
+  }
+
+  @Test
+  @Repeat(iterations = ITERATIONS)
+  public void testIntersects() throws IOException {
+    testOperationRandomShapes(SpatialOperation.Intersects);
+  }
+
+  @Test
+  @Repeat(iterations = ITERATIONS)
+  public void testWithin() throws IOException {
+    testOperationRandomShapes(SpatialOperation.IsWithin);
+  }
+
+  @Test
+  @Repeat(iterations = ITERATIONS)
+  public void testContains() throws IOException {
+    testOperationRandomShapes(SpatialOperation.Contains);
+  }
+
+  @Test
+  public void testWithinSame() throws IOException {
+    final Calendar cal = tree.newCal();
+    testOperation(
+        tree.toShape(cal),
+        SpatialOperation.IsWithin,
+        tree.toShape(cal), true);//is within itself
+  }
+
+  @Test
+  public void testWorld() throws IOException {
+    testOperation(
+        tree.toShape(tree.newCal()),//world matches everything
+        SpatialOperation.Contains,
+        tree.toShape(randomCalendar()), true);
+  }
+
+  @Test
+  public void testBugInitIterOptimization() throws Exception {
+    //bug due to fast path initIter() optimization
+    testOperation(
+        tree.parseShape("[2014-03-27T23 TO 2014-04-01T01]"),
+        SpatialOperation.Intersects,
+        tree.parseShape("[2014-04 TO 2014-04-01T02]"), true);
+  }
+
+  @Override
+  protected Shape randomIndexedShape() {
+    Calendar cal1 = randomCalendar();
+    UnitNRShape s1 = tree.toShape(cal1);
+    if (rarely()) {
+      return s1;
+    }
+    try {
+      Calendar cal2 = randomCalendar();
+      UnitNRShape s2 = tree.toShape(cal2);
+      if (cal1.compareTo(cal2) < 0) {
+        return tree.toRangeShape(s1, s2);
+      } else {
+        return tree.toRangeShape(s2, s1);
+      }
+    } catch (IllegalArgumentException e) {
+      assert e.getMessage().startsWith("Differing precision");
+      return s1;
+    }
+  }
+
+  private Calendar randomCalendar() {
+    Calendar cal = tree.newCal();
+    cal.setTimeInMillis(random().nextLong() % randomCalWindowMs);
+    try {
+      tree.clearFieldsAfter(cal, random().nextInt(Calendar.FIELD_COUNT+1)-1);
+    } catch (AssertionError e) {
+      if (!e.getMessage().equals("Calendar underflow"))
+        throw e;
+    }
+    return cal;
+  }
+
+  @Override
+  protected Shape randomQueryShape() {
+    return randomIndexedShape();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
new file mode 100644
index 0000000..124af79
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
@@ -0,0 +1,252 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.context.SpatialContextFactory;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Circle;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import com.spatial4j.core.shape.impl.RectangleImpl;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TotalHitCountCollector;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.util.Bits;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.atMost;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+
+public class HeatmapFacetCounterTest extends StrategyTestCase {
+
+  SpatialPrefixTree grid;
+
+  int cellsValidated;
+  int cellValidatedNonZero;
+
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+    cellsValidated = cellValidatedNonZero = 0;
+    ctx = SpatialContext.GEO;
+    grid = new QuadPrefixTree(ctx, randomIntBetween(1, 8));
+    strategy = new RecursivePrefixTreeStrategy(grid, getTestClass().getSimpleName());
+    if (rarely()) {
+      ((PrefixTreeStrategy) strategy).setPointsOnly(true);
+    }
+  }
+
+  @After
+  public void after() {
+    log.info("Validated " + cellsValidated + " cells, " + cellValidatedNonZero + " non-zero");
+  }
+
+  @Test
+  public void testStatic() throws IOException {
+    //Some specific tests (static, not random).
+    adoc("0", ctx.makeRectangle(179.8, -170, -90, -80));//barely crosses equator
+    adoc("1", ctx.makePoint(-180, -85));//a pt within the above rect
+    adoc("2", ctx.makePoint(172, -85));//a pt to left of rect
+    commit();
+
+    validateHeatmapResultLoop(ctx.makeRectangle(+170, +180, -90, -85), 1, 100);
+    validateHeatmapResultLoop(ctx.makeRectangle(-180, -160, -89, -50), 1, 100);
+    validateHeatmapResultLoop(ctx.makeRectangle(179, 179, -89, -50), 1, 100);//line
+    // We could test anything and everything at this point... I prefer we leave that to random testing and then
+    // add specific tests if we find a bug.
+  }
+
+  @Test
+  public void testQueryCircle() throws IOException {
+    //overwrite setUp; non-geo bounds is more straight-forward; otherwise 88,88 would actually be practically north,
+    final SpatialContextFactory spatialContextFactory = new SpatialContextFactory();
+    spatialContextFactory.geo = false;
+    spatialContextFactory.worldBounds = new RectangleImpl(-90, 90, -90, 90, null);
+    ctx = spatialContextFactory.newSpatialContext();
+    final int LEVEL = 4;
+    grid = new QuadPrefixTree(ctx, LEVEL);
+    strategy = new RecursivePrefixTreeStrategy(grid, getTestClass().getSimpleName());
+    Circle circle = ctx.makeCircle(0, 0, 89);
+    adoc("0", ctx.makePoint(88, 88));//top-right, inside bbox of circle but not the circle
+    adoc("1", ctx.makePoint(0, 0));//clearly inside; dead center in fact
+    commit();
+    final HeatmapFacetCounter.Heatmap heatmap = HeatmapFacetCounter.calcFacets(
+        (PrefixTreeStrategy) strategy, indexSearcher.getTopReaderContext(), null,
+        circle, LEVEL, 1000);
+    //assert that only one point is found, not 2
+    boolean foundOne = false;
+    for (int count : heatmap.counts) {
+      switch (count) {
+        case 0: break;
+        case 1:
+          assertFalse(foundOne);//this is the first
+          foundOne = true;
+          break;
+        default:
+          fail("counts should be 0 or 1: " + count);
+      }
+    }
+    assertTrue(foundOne);
+  }
+
+  /** Recursively facet & validate at higher resolutions until we've seen enough. We assume there are
+   * some non-zero cells. */
+  private void validateHeatmapResultLoop(Rectangle inputRange, int facetLevel, int cellCountRecursThreshold)
+      throws IOException {
+    if (facetLevel > grid.getMaxLevels()) {
+      return;
+    }
+    final int maxCells = 10_000;
+    final HeatmapFacetCounter.Heatmap heatmap = HeatmapFacetCounter.calcFacets(
+        (PrefixTreeStrategy) strategy, indexSearcher.getTopReaderContext(), null, inputRange, facetLevel, maxCells);
+    int preNonZero = cellValidatedNonZero;
+    validateHeatmapResult(inputRange, facetLevel, heatmap);
+    assert cellValidatedNonZero - preNonZero > 0;//we validated more non-zero cells
+    if (heatmap.counts.length < cellCountRecursThreshold) {
+      validateHeatmapResultLoop(inputRange, facetLevel + 1, cellCountRecursThreshold);
+    }
+  }
+
+  @Test
+  @Repeat(iterations = 20)
+  public void testRandom() throws IOException {
+    // Tests using random index shapes & query shapes. This has found all sorts of edge case bugs (e.g. dateline,
+    // cell border, overflow(?)).
+
+    final int numIndexedShapes = 1 + atMost(9);
+    List<Shape> indexedShapes = new ArrayList<>(numIndexedShapes);
+    for (int i = 0; i < numIndexedShapes; i++) {
+      indexedShapes.add(randomIndexedShape());
+    }
+
+    //Main index loop:
+    for (int i = 0; i < indexedShapes.size(); i++) {
+      Shape shape = indexedShapes.get(i);
+      adoc("" + i, shape);
+
+      if (random().nextInt(10) == 0)
+        commit();//intermediate commit, produces extra segments
+    }
+    //delete some documents randomly
+    for (int id = 0; id < indexedShapes.size(); id++) {
+      if (random().nextInt(10) == 0) {
+        deleteDoc("" + id);
+        indexedShapes.set(id, null);
+      }
+    }
+
+    commit();
+
+    // once without dateline wrap
+    final Rectangle rect = randomRectangle();
+    queryHeatmapRecursive(usually() ? ctx.getWorldBounds() : rect, 1);
+    // and once with dateline wrap
+    if (rect.getWidth() > 0) {
+      double shift = random().nextDouble() % rect.getWidth();
+      queryHeatmapRecursive(ctx.makeRectangle(
+              DistanceUtils.normLonDEG(rect.getMinX() - shift),
+              DistanceUtils.normLonDEG(rect.getMaxX() - shift),
+              rect.getMinY(), rect.getMaxY()),
+          1);
+    }
+  }
+
+  /** Build heatmap, validate results, then descend recursively to another facet level. */
+  private boolean queryHeatmapRecursive(Rectangle inputRange, int facetLevel) throws IOException {
+    if (!inputRange.hasArea()) {
+      // Don't test line inputs. It's not that we don't support it but it is more challenging to test if per-chance it
+      // coincides with a grid line due due to edge overlap issue for some grid implementations (geo & quad).
+      return false;
+    }
+    Bits filter = null; //FYI testing filtering of underlying PrefixTreeFacetCounter is done in another test
+    //Calculate facets
+    final int maxCells = 10_000;
+    final HeatmapFacetCounter.Heatmap heatmap = HeatmapFacetCounter.calcFacets(
+        (PrefixTreeStrategy) strategy, indexSearcher.getTopReaderContext(), filter, inputRange, facetLevel, maxCells);
+
+    validateHeatmapResult(inputRange, facetLevel, heatmap);
+
+    boolean foundNonZeroCount = false;
+    for (int count : heatmap.counts) {
+      if (count > 0) {
+        foundNonZeroCount = true;
+        break;
+      }
+    }
+
+    //Test again recursively to higher facetLevel (more detailed cells)
+    if (foundNonZeroCount && cellsValidated <= 500 && facetLevel != grid.getMaxLevels() && inputRange.hasArea()) {
+      for (int i = 0; i < 5; i++) {//try multiple times until we find non-zero counts
+        if (queryHeatmapRecursive(randomRectangle(inputRange), facetLevel + 1)) {
+          break;//we found data here so we needn't try again
+        }
+      }
+    }
+    return foundNonZeroCount;
+  }
+
+  private void validateHeatmapResult(Rectangle inputRange, int facetLevel, HeatmapFacetCounter.Heatmap heatmap)
+      throws IOException {
+    final Rectangle heatRect = heatmap.region;
+    assertTrue(heatRect.relate(inputRange) == SpatialRelation.CONTAINS || heatRect.equals(inputRange));
+    final double cellWidth = heatRect.getWidth() / heatmap.columns;
+    final double cellHeight = heatRect.getHeight() / heatmap.rows;
+    for (int c = 0; c < heatmap.columns; c++) {
+      for (int r = 0; r < heatmap.rows; r++) {
+        final int facetCount = heatmap.getCount(c, r);
+        double x = DistanceUtils.normLonDEG(heatRect.getMinX() + c * cellWidth + cellWidth / 2);
+        double y = DistanceUtils.normLatDEG(heatRect.getMinY() + r * cellHeight + cellHeight / 2);
+        Point pt =  ctx.makePoint(x, y);
+        assertEquals(countMatchingDocsAtLevel(pt, facetLevel), facetCount);
+      }
+    }
+  }
+
+  private int countMatchingDocsAtLevel(Point pt, int facetLevel) throws IOException {
+    // we use IntersectsPrefixTreeFilter directly so that we can specify the level to go to exactly.
+    RecursivePrefixTreeStrategy strategy = (RecursivePrefixTreeStrategy) this.strategy;
+    Query filter = new IntersectsPrefixTreeQuery(
+        pt, strategy.getFieldName(), grid, facetLevel, grid.getMaxLevels());
+    final TotalHitCountCollector collector = new TotalHitCountCollector();
+    indexSearcher.search(filter, collector);
+    cellsValidated++;
+    if (collector.getTotalHits() > 0) {
+      cellValidatedNonZero++;
+    }
+    return collector.getTotalHits();
+  }
+
+  private Shape randomIndexedShape() {
+    if (((PrefixTreeStrategy) strategy).isPointsOnly() || random().nextBoolean()) {
+      return randomPoint();
+    } else {
+      return randomRectangle();
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
new file mode 100644
index 0000000..09fb3a9
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
@@ -0,0 +1,117 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import com.spatial4j.core.context.SpatialContextFactory;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.TextField;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.junit.Test;
+
+import java.text.ParseException;
+import java.util.HashMap;
+
+public class JtsPolygonTest extends StrategyTestCase {
+
+  private static final double LUCENE_4464_distErrPct = SpatialArgs.DEFAULT_DISTERRPCT;//DEFAULT 2.5%
+
+  public JtsPolygonTest() {
+    try {
+      HashMap<String, String> args = new HashMap<>();
+      args.put("spatialContextFactory",
+          "com.spatial4j.core.context.jts.JtsSpatialContextFactory");
+      ctx = SpatialContextFactory.makeSpatialContext(args, getClass().getClassLoader());
+    } catch (NoClassDefFoundError e) {
+      assumeTrue("This test requires JTS jar: "+e, false);
+    }
+
+    GeohashPrefixTree grid = new GeohashPrefixTree(ctx, 11);//< 1 meter == 11 maxLevels
+    this.strategy = new RecursivePrefixTreeStrategy(grid, getClass().getSimpleName());
+    ((RecursivePrefixTreeStrategy)this.strategy).setDistErrPct(LUCENE_4464_distErrPct);//1% radius (small!)
+  }
+
+  @Test
+  /** LUCENE-4464 */
+  public void testCloseButNoMatch() throws Exception {
+    getAddAndVerifyIndexedDocuments("LUCENE-4464.txt");
+    SpatialArgs args = q(
+        "POLYGON((-93.18100824442227 45.25676372469945," +
+            "-93.23182001200654 45.21421290799412," +
+            "-93.16315546122038 45.23742639412364," +
+            "-93.18100824442227 45.25676372469945))",
+        LUCENE_4464_distErrPct);
+    SearchResults got = executeQuery(strategy.makeQuery(args), 100);
+    assertEquals(1, got.numFound);
+    assertEquals("poly2", got.results.get(0).document.get("id"));
+    //did not find poly 1 !
+  }
+
+  private SpatialArgs q(String shapeStr, double distErrPct) throws ParseException {
+    Shape shape = ctx.readShapeFromWkt(shapeStr);
+    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, shape);
+    args.setDistErrPct(distErrPct);
+    return args;
+  }
+
+  /**
+   * A PrefixTree pruning optimization gone bad.
+   * See <a href="https://issues.apache.org/jira/browse/LUCENE-4770">LUCENE-4770</a>.
+   */
+  @Test
+  public void testBadPrefixTreePrune() throws Exception {
+
+    Shape area = ctx.readShapeFromWkt("POLYGON((-122.83 48.57, -122.77 48.56, -122.79 48.53, -122.83 48.57))");
+
+    SpatialPrefixTree trie = new QuadPrefixTree(ctx, 12);
+    TermQueryPrefixTreeStrategy strategy = new TermQueryPrefixTreeStrategy(trie, "geo");
+    Document doc = new Document();
+    doc.add(new TextField("id", "1", Store.YES));
+
+    Field[] fields = strategy.createIndexableFields(area, 0.025);
+    for (Field field : fields) {
+      doc.add(field);
+    }
+    addDocument(doc);
+
+    Point upperleft = ctx.makePoint(-122.88, 48.54);
+    Point lowerright = ctx.makePoint(-122.82, 48.62);
+
+    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.Intersects, ctx.makeRectangle(upperleft, lowerright)));
+    commit();
+
+    TopDocs search = indexSearcher.search(query, 10);
+    ScoreDoc[] scoreDocs = search.scoreDocs;
+    for (ScoreDoc scoreDoc : scoreDocs) {
+      System.out.println(indexSearcher.doc(scoreDoc.doc));
+    }
+
+    assertEquals(1, search.totalHits);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
new file mode 100644
index 0000000..11e1d18
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
@@ -0,0 +1,275 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.List;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.queries.TermsQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.SimpleCollector;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy.Facets;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree;
+import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree;
+import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
+import org.apache.lucene.util.Bits;
+import org.apache.lucene.util.FixedBitSet;
+import org.junit.Before;
+import org.junit.Test;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+
+public class NumberRangeFacetsTest extends StrategyTestCase {
+
+  DateRangePrefixTree tree;
+
+  int randomCalWindowField;
+  long randomCalWindowMs;
+
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+    tree = DateRangePrefixTree.INSTANCE;
+    strategy = new NumberRangePrefixTreeStrategy(tree, "dateRange");
+    Calendar tmpCal = tree.newCal();
+    randomCalWindowField = randomIntBetween(1, Calendar.ZONE_OFFSET - 1);//we're not allowed to add zone offset
+    tmpCal.add(randomCalWindowField, 2_000);
+    randomCalWindowMs = Math.max(2000L, tmpCal.getTimeInMillis());
+  }
+
+  @Repeat(iterations = 20)
+  @Test
+  public void test() throws IOException {
+    //generate test data
+    List<Shape> indexedShapes = new ArrayList<>();
+    final int numIndexedShapes = random().nextInt(15);
+    for (int i = 0; i < numIndexedShapes; i++) {
+      indexedShapes.add(randomShape());
+    }
+
+    //Main index loop:
+    for (int i = 0; i < indexedShapes.size(); i++) {
+      Shape shape = indexedShapes.get(i);
+      adoc(""+i, shape);
+
+      if (random().nextInt(10) == 0)
+        commit();//intermediate commit, produces extra segments
+    }
+
+    //delete some documents randomly
+    for (int id = 0; id < indexedShapes.size(); id++) {
+      if (random().nextInt(10) == 0) {
+        deleteDoc(""+id);
+        indexedShapes.set(id, null);
+      }
+    }
+
+    commit();
+
+    //Main query loop:
+    for (int queryIdx = 0; queryIdx < 10; queryIdx++) {
+      preQueryHavoc();
+
+      // We need to have a facet range window to do the facets between (a start time & end time). We randomly
+      // pick a date, decide the level we want to facet on, and then pick a right end time that is up to 2 thousand
+      // values later.
+      int calFieldFacet = randomCalWindowField - 1;
+      if (calFieldFacet > 1 && rarely()) {
+        calFieldFacet--;
+      }
+      final Calendar leftCal = randomCalendar();
+      leftCal.add(calFieldFacet, -1 * randomInt(1000));
+      Calendar rightCal = (Calendar) leftCal.clone();
+      rightCal.add(calFieldFacet, randomInt(2000));
+      // Pick facet detail level based on cal field.
+      int detailLevel = tree.getTreeLevelForCalendarField(calFieldFacet);
+      if (detailLevel < 0) {//no exact match
+        detailLevel = -1 * detailLevel;
+      }
+
+      //Randomly pick a filter/acceptDocs
+      Bits topAcceptDocs = null;
+      List<Integer> acceptFieldIds = new ArrayList<>();
+      if (usually()) {
+        //get all possible IDs into a list, random shuffle it, then randomly choose how many of the first we use to
+        // replace the list.
+        for (int i = 0; i < indexedShapes.size(); i++) {
+          if (indexedShapes.get(i) == null) { // we deleted this one
+            continue;
+          }
+          acceptFieldIds.add(i);
+        }
+        Collections.shuffle(acceptFieldIds, random());
+        acceptFieldIds = acceptFieldIds.subList(0, randomInt(acceptFieldIds.size()));
+        if (!acceptFieldIds.isEmpty()) {
+          List<Term> terms = new ArrayList<>();
+          for (Integer acceptDocId : acceptFieldIds) {
+            terms.add(new Term("id", acceptDocId.toString()));
+          }
+
+          topAcceptDocs = searchForDocBits(new TermsQuery(terms));
+        }
+      }
+
+      //Lets do it!
+      NumberRangePrefixTree.NRShape facetRange = tree.toRangeShape(tree.toShape(leftCal), tree.toShape(rightCal));
+      Facets facets = ((NumberRangePrefixTreeStrategy) strategy)
+          .calcFacets(indexSearcher.getTopReaderContext(), topAcceptDocs, facetRange, detailLevel);
+
+      //System.out.println("Q: " + queryIdx + " " + facets);
+
+      //Verify results. We do it by looping over indexed shapes and reducing the facet counts.
+      Shape facetShapeRounded = facetRange.roundToLevel(detailLevel);
+      for (int indexedShapeId = 0; indexedShapeId < indexedShapes.size(); indexedShapeId++) {
+        if (topAcceptDocs != null && !acceptFieldIds.contains(indexedShapeId)) {
+          continue;// this doc was filtered out via acceptDocs
+        }
+        Shape indexedShape = indexedShapes.get(indexedShapeId);
+        if (indexedShape == null) {//was deleted
+          continue;
+        }
+        Shape indexedShapeRounded = ((NumberRangePrefixTree.NRShape) indexedShape).roundToLevel(detailLevel);
+        if (!indexedShapeRounded.relate(facetShapeRounded).intersects()) { // no intersection at all
+          continue;
+        }
+        // walk the cells
+        final CellIterator cellIterator = tree.getTreeCellIterator(indexedShape, detailLevel);
+        while (cellIterator.hasNext()) {
+          Cell cell = cellIterator.next();
+          if (!cell.getShape().relate(facetShapeRounded).intersects()) {
+            cellIterator.remove();//no intersection; prune
+            continue;
+          }
+          assert cell.getLevel() <= detailLevel;
+
+          if (cell.getLevel() == detailLevel) {
+            //count it
+            UnitNRShape shape = (UnitNRShape) cell.getShape();
+            final UnitNRShape parentShape = shape.getShapeAtLevel(detailLevel - 1);//get parent
+            final Facets.FacetParentVal facetParentVal = facets.parents.get(parentShape);
+            assertNotNull(facetParentVal);
+            int index = shape.getValAtLevel(shape.getLevel());
+            assertNotNull(facetParentVal.childCounts);
+            assert facetParentVal.childCounts[index] > 0;
+            facetParentVal.childCounts[index]--;
+
+          } else if (cell.isLeaf()) {
+            //count it, and remove/prune.
+            if (cell.getLevel() < detailLevel - 1) {
+              assert facets.topLeaves > 0;
+              facets.topLeaves--;
+            } else {
+              UnitNRShape shape = (UnitNRShape) cell.getShape();
+              final UnitNRShape parentShape = shape.getShapeAtLevel(detailLevel - 1);//get parent
+              final Facets.FacetParentVal facetParentVal = facets.parents.get(parentShape);
+              assertNotNull(facetParentVal);
+              assert facetParentVal.parentLeaves > 0;
+              facetParentVal.parentLeaves--;
+            }
+
+            cellIterator.remove();
+          }
+        }
+      }
+      // At this point; all counts should be down to zero.
+      assertTrue(facets.topLeaves == 0);
+      for (Facets.FacetParentVal facetParentVal : facets.parents.values()) {
+        assertTrue(facetParentVal.parentLeaves == 0);
+        if (facetParentVal.childCounts != null) {
+          for (int childCount : facetParentVal.childCounts) {
+            assertTrue(childCount == 0);
+          }
+        }
+      }
+
+    }
+  }
+
+  private Bits searchForDocBits(Query query) throws IOException {
+    FixedBitSet bitSet = new FixedBitSet(indexSearcher.getIndexReader().maxDoc());
+    indexSearcher.search(query,
+        new SimpleCollector() {
+          int leafDocBase;
+          @Override
+          public void collect(int doc) throws IOException {
+            bitSet.set(leafDocBase + doc);
+          }
+
+          @Override
+          protected void doSetNextReader(LeafReaderContext context) throws IOException {
+            leafDocBase = context.docBase;
+          }
+
+          @Override
+          public boolean needsScores() {
+            return false;
+          }
+        });
+    return bitSet;
+  }
+
+  private void preQueryHavoc() {
+    if (strategy instanceof RecursivePrefixTreeStrategy) {
+      RecursivePrefixTreeStrategy rpts = (RecursivePrefixTreeStrategy) strategy;
+      int scanLevel = randomInt(rpts.getGrid().getMaxLevels());
+      rpts.setPrefixGridScanLevel(scanLevel);
+    }
+  }
+
+  protected Shape randomShape() {
+    Calendar cal1 = randomCalendar();
+    UnitNRShape s1 = tree.toShape(cal1);
+    if (rarely()) {
+      return s1;
+    }
+    try {
+      Calendar cal2 = randomCalendar();
+      UnitNRShape s2 = tree.toShape(cal2);
+      if (cal1.compareTo(cal2) < 0) {
+        return tree.toRangeShape(s1, s2);
+      } else {
+        return tree.toRangeShape(s2, s1);
+      }
+    } catch (IllegalArgumentException e) {
+      assert e.getMessage().startsWith("Differing precision");
+      return s1;
+    }
+  }
+
+  private Calendar randomCalendar() {
+    Calendar cal = tree.newCal();
+    cal.setTimeInMillis(random().nextLong() % randomCalWindowMs);
+    try {
+      tree.clearFieldsAfter(cal, random().nextInt(Calendar.FIELD_COUNT+1)-1);
+    } catch (AssertionError e) {
+      if (!e.getMessage().equals("Calendar underflow"))
+        throw e;
+    }
+    return cal;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
new file mode 100644
index 0000000..e932fe9
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
@@ -0,0 +1,31 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+/** Test RandomSpatialOpFuzzyPrefixTreeTest using the PrefixTree index format found in 5.0 and prior. */
+public class RandomSpatialOpFuzzyPrefixTree50Test extends RandomSpatialOpFuzzyPrefixTreeTest {
+
+  protected RecursivePrefixTreeStrategy newRPT() {
+    return new RecursivePrefixTreeStrategy(this.grid, getClass().getSimpleName()) {
+      @Override
+      protected CellToBytesRefIterator newCellToBytesRefIterator() {
+        return new CellToBytesRefIterator50();
+      }
+    };
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
new file mode 100644
index 0000000..8db131c
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
@@ -0,0 +1,533 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.context.SpatialContextFactory;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.ShapeCollection;
+import com.spatial4j.core.shape.SpatialRelation;
+import com.spatial4j.core.shape.impl.RectangleImpl;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.prefix.tree.Cell;
+import org.apache.lucene.spatial.prefix.tree.CellIterator;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.PackedQuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.junit.Test;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomBoolean;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+import static com.spatial4j.core.shape.SpatialRelation.CONTAINS;
+import static com.spatial4j.core.shape.SpatialRelation.DISJOINT;
+import static com.spatial4j.core.shape.SpatialRelation.INTERSECTS;
+import static com.spatial4j.core.shape.SpatialRelation.WITHIN;
+
+/** Randomized PrefixTree test that considers the fuzziness of the
+ * results introduced by grid approximation. */
+public class RandomSpatialOpFuzzyPrefixTreeTest extends StrategyTestCase {
+
+  static final int ITERATIONS = 10;
+
+  protected SpatialPrefixTree grid;
+  private SpatialContext ctx2D;
+
+  public void setupGrid(int maxLevels) throws IOException {
+    if (randomBoolean())
+      setupQuadGrid(maxLevels, randomBoolean());
+    else
+      setupGeohashGrid(maxLevels);
+    setupCtx2D(ctx);
+
+    // set prune independently on strategy & grid randomly; should work
+    ((RecursivePrefixTreeStrategy)strategy).setPruneLeafyBranches(randomBoolean());
+    if (this.grid instanceof PackedQuadPrefixTree) {
+      ((PackedQuadPrefixTree) this.grid).setPruneLeafyBranches(randomBoolean());
+    }
+
+    if (maxLevels == -1 && rarely()) {
+      ((PrefixTreeStrategy) strategy).setPointsOnly(true);
+    }
+
+    log.info("Strategy: " + strategy.toString());
+  }
+
+  private void setupCtx2D(SpatialContext ctx) {
+    if (!ctx.isGeo())
+      ctx2D = ctx;
+    //A non-geo version of ctx.
+    SpatialContextFactory ctxFactory = new SpatialContextFactory();
+    ctxFactory.geo = false;
+    ctxFactory.worldBounds = ctx.getWorldBounds();
+    ctx2D = ctxFactory.newSpatialContext();
+  }
+
+  private void setupQuadGrid(int maxLevels, boolean packedQuadPrefixTree) {
+    //non-geospatial makes this test a little easier (in gridSnap), and using boundary values 2^X raises
+    // the prospect of edge conditions we want to test, plus makes for simpler numbers (no decimals).
+    SpatialContextFactory factory = new SpatialContextFactory();
+    factory.geo = false;
+    factory.worldBounds = new RectangleImpl(0, 256, -128, 128, null);
+    this.ctx = factory.newSpatialContext();
+    //A fairly shallow grid, and default 2.5% distErrPct
+    if (maxLevels == -1)
+      maxLevels = randomIntBetween(1, 8);//max 64k cells (4^8), also 256*256
+    if (packedQuadPrefixTree) {
+      this.grid = new PackedQuadPrefixTree(ctx, maxLevels);
+    } else {
+      this.grid = new QuadPrefixTree(ctx, maxLevels);
+    }
+    this.strategy = newRPT();
+  }
+
+  public void setupGeohashGrid(int maxLevels) {
+    this.ctx = SpatialContext.GEO;
+    //A fairly shallow grid, and default 2.5% distErrPct
+    if (maxLevels == -1)
+      maxLevels = randomIntBetween(1, 3);//max 16k cells (32^3)
+    this.grid = new GeohashPrefixTree(ctx, maxLevels);
+    this.strategy = newRPT();
+  }
+
+  protected RecursivePrefixTreeStrategy newRPT() {
+    return new RecursivePrefixTreeStrategy(this.grid, getClass().getSimpleName());
+  }
+
+  @Test
+  @Repeat(iterations = ITERATIONS)
+  public void testIntersects() throws IOException {
+    setupGrid(-1);
+    doTest(SpatialOperation.Intersects);
+  }
+
+  @Test
+  @Repeat(iterations = ITERATIONS)
+  public void testWithin() throws IOException {
+    setupGrid(-1);
+    doTest(SpatialOperation.IsWithin);
+  }
+
+  @Test
+  @Repeat(iterations = ITERATIONS)
+  public void testContains() throws IOException {
+    setupGrid(-1);
+    doTest(SpatialOperation.Contains);
+  }
+
+  /** See LUCENE-5062, {@link ContainsPrefixTreeQuery#multiOverlappingIndexedShapes}. */
+  @Test
+  public void testContainsPairOverlap() throws IOException {
+    setupQuadGrid(3, randomBoolean());
+    adoc("0", new ShapePair(ctx.makeRectangle(0, 33, -128, 128), ctx.makeRectangle(33, 128, -128, 128), true));
+    commit();
+    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.Contains,
+        ctx.makeRectangle(0, 128, -16, 128)));
+    SearchResults searchResults = executeQuery(query, 1);
+    assertEquals(1, searchResults.numFound);
+  }
+
+  @Test
+  public void testWithinDisjointParts() throws IOException {
+    setupQuadGrid(7, randomBoolean());
+    //one shape comprised of two parts, quite separated apart
+    adoc("0", new ShapePair(ctx.makeRectangle(0, 10, -120, -100), ctx.makeRectangle(220, 240, 110, 125), false));
+    commit();
+    //query surrounds only the second part of the indexed shape
+    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.IsWithin,
+        ctx.makeRectangle(210, 245, 105, 128)));
+    SearchResults searchResults = executeQuery(query, 1);
+    //we shouldn't find it because it's not completely within
+    assertTrue(searchResults.numFound == 0);
+  }
+
+  @Test /** LUCENE-4916 */
+  public void testWithinLeafApproxRule() throws IOException {
+    setupQuadGrid(2, randomBoolean());//4x4 grid
+    //indexed shape will simplify to entire right half (2 top cells)
+    adoc("0", ctx.makeRectangle(192, 204, -128, 128));
+    commit();
+
+    ((RecursivePrefixTreeStrategy) strategy).setPrefixGridScanLevel(randomInt(2));
+
+    //query does NOT contain it; both indexed cells are leaves to the query, and
+    // when expanded to the full grid cells, the top one's top row is disjoint
+    // from the query and thus not a match.
+    assertTrue(executeQuery(strategy.makeQuery(
+        new SpatialArgs(SpatialOperation.IsWithin, ctx.makeRectangle(38, 192, -72, 56))
+    ), 1).numFound==0);//no-match
+
+    //this time the rect is a little bigger and is considered a match. It's
+    // an acceptable false-positive because of the grid approximation.
+    assertTrue(executeQuery(strategy.makeQuery(
+        new SpatialArgs(SpatialOperation.IsWithin, ctx.makeRectangle(38, 192, -72, 80))
+    ), 1).numFound==1);//match
+  }
+
+  @Test
+  public void testShapePair() {
+    ctx = SpatialContext.GEO;
+    setupCtx2D(ctx);
+
+    Shape leftShape = new ShapePair(ctx.makeRectangle(-74, -56, -8, 1), ctx.makeRectangle(-180, 134, -90, 90), true);
+    Shape queryShape = ctx.makeRectangle(-180, 180, -90, 90);
+    assertEquals(SpatialRelation.WITHIN, leftShape.relate(queryShape));
+  }
+
+  //Override so we can index parts of a pair separately, resulting in the detailLevel
+  // being independent for each shape vs the whole thing
+  @Override
+  protected Document newDoc(String id, Shape shape) {
+    Document doc = new Document();
+    doc.add(new StringField("id", id, Field.Store.YES));
+    if (shape != null) {
+      Collection<Shape> shapes;
+      if (shape instanceof ShapePair) {
+        shapes = new ArrayList<>(2);
+        shapes.add(((ShapePair)shape).shape1);
+        shapes.add(((ShapePair)shape).shape2);
+      } else {
+        shapes = Collections.singleton(shape);
+      }
+      for (Shape shapei : shapes) {
+        for (Field f : strategy.createIndexableFields(shapei)) {
+          doc.add(f);
+        }
+      }
+      if (storeShape)//just for diagnostics
+        doc.add(new StoredField(strategy.getFieldName(), shape.toString()));
+    }
+    return doc;
+  }
+
+  @SuppressWarnings("fallthrough")
+  private void doTest(final SpatialOperation operation) throws IOException {
+    //first show that when there's no data, a query will result in no results
+    {
+      Query query = strategy.makeQuery(new SpatialArgs(operation, randomRectangle()));
+      SearchResults searchResults = executeQuery(query, 1);
+      assertEquals(0, searchResults.numFound);
+    }
+
+    final boolean biasContains = (operation == SpatialOperation.Contains);
+
+    //Main index loop:
+    Map<String, Shape> indexedShapes = new LinkedHashMap<>();
+    Map<String, Shape> indexedShapesGS = new LinkedHashMap<>();//grid snapped
+    final int numIndexedShapes = randomIntBetween(1, 6);
+    boolean indexedAtLeastOneShapePair = false;
+    final boolean pointsOnly = ((PrefixTreeStrategy) strategy).isPointsOnly();
+    for (int i = 0; i < numIndexedShapes; i++) {
+      String id = "" + i;
+      Shape indexedShape;
+      int R = random().nextInt(12);
+      if (R == 0) {//1 in 12
+        indexedShape = null;
+      } else if (R == 1 || pointsOnly) {//1 in 12
+        indexedShape = randomPoint();//just one point
+      } else if (R <= 4) {//3 in 12
+        //comprised of more than one shape
+        indexedShape = randomShapePairRect(biasContains);
+        indexedAtLeastOneShapePair = true;
+      } else {
+        indexedShape = randomRectangle();//just one rect
+      }
+
+      indexedShapes.put(id, indexedShape);
+      indexedShapesGS.put(id, gridSnap(indexedShape));
+
+      adoc(id, indexedShape);
+
+      if (random().nextInt(10) == 0)
+        commit();//intermediate commit, produces extra segments
+
+    }
+    //delete some documents randomly
+    Iterator<String> idIter = indexedShapes.keySet().iterator();
+    while (idIter.hasNext()) {
+      String id = idIter.next();
+      if (random().nextInt(10) == 0) {
+        deleteDoc(id);
+        idIter.remove();
+        indexedShapesGS.remove(id);
+      }
+    }
+
+    commit();
+
+    //Main query loop:
+    final int numQueryShapes = atLeast(20);
+    for (int i = 0; i < numQueryShapes; i++) {
+      int scanLevel = randomInt(grid.getMaxLevels());
+      ((RecursivePrefixTreeStrategy) strategy).setPrefixGridScanLevel(scanLevel);
+
+      final Shape queryShape;
+      switch (randomInt(10)) {
+        case 0: queryShape = randomPoint(); break;
+// LUCENE-5549
+//TODO debug: -Dtests.method=testWithin -Dtests.multiplier=3 -Dtests.seed=5F5294CE2E075A3E:AAD2F0F79288CA64
+//        case 1:case 2:case 3:
+//          if (!indexedAtLeastOneShapePair) { // avoids ShapePair.relate(ShapePair), which isn't reliable
+//            queryShape = randomShapePairRect(!biasContains);//invert biasContains for query side
+//            break;
+//          }
+
+        case 4:
+          //choose an existing indexed shape
+          if (!indexedShapes.isEmpty()) {
+            Shape tmp = indexedShapes.values().iterator().next();
+            if (tmp instanceof Point || tmp instanceof Rectangle) {//avoids null and shapePair
+              queryShape = tmp;
+              break;
+            }
+          }//else fall-through
+
+        default: queryShape = randomRectangle();
+      }
+      final Shape queryShapeGS = gridSnap(queryShape);
+
+      final boolean opIsDisjoint = operation == SpatialOperation.IsDisjointTo;
+
+      //Generate truth via brute force:
+      // We ensure true-positive matches (if the predicate on the raw shapes match
+      //  then the search should find those same matches).
+      // approximations, false-positive matches
+      Set<String> expectedIds = new LinkedHashSet<>();//true-positives
+      Set<String> secondaryIds = new LinkedHashSet<>();//false-positives (unless disjoint)
+      for (Map.Entry<String, Shape> entry : indexedShapes.entrySet()) {
+        String id = entry.getKey();
+        Shape indexedShapeCompare = entry.getValue();
+        if (indexedShapeCompare == null)
+          continue;
+        Shape queryShapeCompare = queryShape;
+
+        if (operation.evaluate(indexedShapeCompare, queryShapeCompare)) {
+          expectedIds.add(id);
+          if (opIsDisjoint) {
+            //if no longer intersect after buffering them, for disjoint, remember this
+            indexedShapeCompare = indexedShapesGS.get(id);
+            queryShapeCompare = queryShapeGS;
+            if (!operation.evaluate(indexedShapeCompare, queryShapeCompare))
+              secondaryIds.add(id);
+          }
+        } else if (!opIsDisjoint) {
+          //buffer either the indexed or query shape (via gridSnap) and try again
+          if (operation == SpatialOperation.Intersects) {
+            indexedShapeCompare = indexedShapesGS.get(id);
+            queryShapeCompare = queryShapeGS;
+            //TODO Unfortunately, grid-snapping both can result in intersections that otherwise
+            // wouldn't happen when the grids are adjacent. Not a big deal but our test is just a
+            // bit more lenient.
+          } else if (operation == SpatialOperation.Contains) {
+            indexedShapeCompare = indexedShapesGS.get(id);
+          } else if (operation == SpatialOperation.IsWithin) {
+            queryShapeCompare = queryShapeGS;
+          }
+          if (operation.evaluate(indexedShapeCompare, queryShapeCompare))
+            secondaryIds.add(id);
+        }
+      }
+
+      //Search and verify results
+      SpatialArgs args = new SpatialArgs(operation, queryShape);
+      if (queryShape instanceof ShapePair)
+        args.setDistErrPct(0.0);//a hack; we want to be more detailed than gridSnap(queryShape)
+      Query query = strategy.makeQuery(args);
+      SearchResults got = executeQuery(query, 100);
+      Set<String> remainingExpectedIds = new LinkedHashSet<>(expectedIds);
+      for (SearchResult result : got.results) {
+        String id = result.getId();
+        boolean removed = remainingExpectedIds.remove(id);
+        if (!removed && (!opIsDisjoint && !secondaryIds.contains(id))) {
+          fail("Shouldn't match", id, indexedShapes, indexedShapesGS, queryShape);
+        }
+      }
+      if (opIsDisjoint)
+        remainingExpectedIds.removeAll(secondaryIds);
+      if (!remainingExpectedIds.isEmpty()) {
+        String id = remainingExpectedIds.iterator().next();
+        fail("Should have matched", id, indexedShapes, indexedShapesGS, queryShape);
+      }
+    }
+  }
+
+  private Shape randomShapePairRect(boolean biasContains) {
+    Rectangle shape1 = randomRectangle();
+    Rectangle shape2 = randomRectangle();
+    return new ShapePair(shape1, shape2, biasContains);
+  }
+
+  private void fail(String label, String id, Map<String, Shape> indexedShapes, Map<String, Shape> indexedShapesGS, Shape queryShape) {
+    System.err.println("Ig:" + indexedShapesGS.get(id) + " Qg:" + gridSnap(queryShape));
+    fail(label + " I#" + id + ":" + indexedShapes.get(id) + " Q:" + queryShape);
+  }
+
+//  private Rectangle inset(Rectangle r) {
+//    //typically inset by 1 (whole numbers are easy to read)
+//    double d = Math.min(1.0, grid.getDistanceForLevel(grid.getMaxLevels()) / 4);
+//    return ctx.makeRectangle(r.getMinX() + d, r.getMaxX() - d, r.getMinY() + d, r.getMaxY() - d);
+//  }
+
+  protected Shape gridSnap(Shape snapMe) {
+    if (snapMe == null)
+      return null;
+    if (snapMe instanceof ShapePair) {
+      ShapePair me = (ShapePair) snapMe;
+      return new ShapePair(gridSnap(me.shape1), gridSnap(me.shape2), me.biasContainsThenWithin);
+    }
+    if (snapMe instanceof Point) {
+      snapMe = snapMe.getBoundingBox();
+    }
+    //The next 4 lines mimic PrefixTreeStrategy.createIndexableFields()
+    double distErrPct = ((PrefixTreeStrategy) strategy).getDistErrPct();
+    double distErr = SpatialArgs.calcDistanceFromErrPct(snapMe, distErrPct, ctx);
+    int detailLevel = grid.getLevelForDistance(distErr);
+    CellIterator cells = grid.getTreeCellIterator(snapMe, detailLevel);
+
+    //calc bounding box of cells.
+    List<Shape> cellShapes = new ArrayList<>(1024);
+    while (cells.hasNext()) {
+      Cell cell = cells.next();
+      if (!cell.isLeaf())
+        continue;
+      cellShapes.add(cell.getShape());
+    }
+    return new ShapeCollection<>(cellShapes, ctx).getBoundingBox();
+  }
+
+  /**
+   * An aggregate of 2 shapes. Unfortunately we can't simply use a ShapeCollection because:
+   * (a) ambiguity between CONTAINS and WITHIN for equal shapes, and
+   * (b) adjacent pairs could as a whole contain the input shape.
+   * The tests here are sensitive to these matters, although in practice ShapeCollection
+   * is fine.
+   */
+  private class ShapePair extends ShapeCollection<Shape> {
+
+    final Shape shape1, shape2;
+    final Shape shape1_2D, shape2_2D;//not geo (bit of a hack)
+    final boolean biasContainsThenWithin;
+
+    public ShapePair(Shape shape1, Shape shape2, boolean containsThenWithin) {
+      super(Arrays.asList(shape1, shape2), RandomSpatialOpFuzzyPrefixTreeTest.this.ctx);
+      this.shape1 = shape1;
+      this.shape2 = shape2;
+      this.shape1_2D = toNonGeo(shape1);
+      this.shape2_2D = toNonGeo(shape2);
+      biasContainsThenWithin = containsThenWithin;
+    }
+
+    private Shape toNonGeo(Shape shape) {
+      if (!ctx.isGeo())
+        return shape;//already non-geo
+      if (shape instanceof Rectangle) {
+        Rectangle rect = (Rectangle) shape;
+        if (rect.getCrossesDateLine()) {
+          return new ShapePair(
+              ctx2D.makeRectangle(rect.getMinX(), 180, rect.getMinY(), rect.getMaxY()),
+              ctx2D.makeRectangle(-180, rect.getMaxX(), rect.getMinY(), rect.getMaxY()),
+              biasContainsThenWithin);
+        } else {
+          return ctx2D.makeRectangle(rect.getMinX(), rect.getMaxX(), rect.getMinY(), rect.getMaxY());
+        }
+      }
+      //no need to do others; this addresses the -180/+180 ambiguity corner test problem
+      return shape;
+    }
+
+    @Override
+    public SpatialRelation relate(Shape other) {
+      SpatialRelation r = relateApprox(other);
+      if (r == DISJOINT)
+        return r;
+      if (r == CONTAINS)
+        return r;
+      if (r == WITHIN && !biasContainsThenWithin)
+        return r;
+
+      //See if the correct answer is actually Contains, when the indexed shapes are adjacent,
+      // creating a larger shape that contains the input shape.
+      boolean pairTouches = shape1.relate(shape2).intersects();
+      if (!pairTouches)
+        return r;
+      //test all 4 corners
+      // Note: awkwardly, we use a non-geo context for this because in geo, -180 & +180 are the same place, which means
+      //  that "other" might wrap the world horizontally and yet all its corners could be in shape1 (or shape2) even
+      //  though shape1 is only adjacent to the dateline. I couldn't think of a better way to handle this.
+      Rectangle oRect = (Rectangle)other;
+      if (cornerContainsNonGeo(oRect.getMinX(), oRect.getMinY())
+          && cornerContainsNonGeo(oRect.getMinX(), oRect.getMaxY())
+          && cornerContainsNonGeo(oRect.getMaxX(), oRect.getMinY())
+          && cornerContainsNonGeo(oRect.getMaxX(), oRect.getMaxY()) )
+        return CONTAINS;
+      return r;
+    }
+
+    private boolean cornerContainsNonGeo(double x, double y) {
+      Shape pt = ctx2D.makePoint(x, y);
+      return shape1_2D.relate(pt).intersects() || shape2_2D.relate(pt).intersects();
+    }
+
+    private SpatialRelation relateApprox(Shape other) {
+      if (biasContainsThenWithin) {
+        if (shape1.relate(other) == CONTAINS || shape1.equals(other)
+            || shape2.relate(other) == CONTAINS || shape2.equals(other)) return CONTAINS;
+
+        if (shape1.relate(other) == WITHIN && shape2.relate(other) == WITHIN) return WITHIN;
+
+      } else {
+        if ((shape1.relate(other) == WITHIN || shape1.equals(other))
+            && (shape2.relate(other) == WITHIN || shape2.equals(other))) return WITHIN;
+
+        if (shape1.relate(other) == CONTAINS || shape2.relate(other) == CONTAINS) return CONTAINS;
+      }
+
+      if (shape1.relate(other).intersects() || shape2.relate(other).intersects())
+        return INTERSECTS;//might actually be 'CONTAINS' if the pair are adjacent but we handle that later
+      return DISJOINT;
+    }
+
+    @Override
+    public String toString() {
+      return "ShapePair(" + shape1 + " , " + shape2 + ")";
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
new file mode 100644
index 0000000..87f1071
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
@@ -0,0 +1,141 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomInt;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomIntBetween;
+
+/** Base test harness, ideally for SpatialStrategy impls that have exact results
+ * (not grid approximated), hence "not fuzzy".
+ */
+public abstract class RandomSpatialOpStrategyTestCase extends StrategyTestCase {
+
+  //Note: this is partially redundant with StrategyTestCase.runTestQuery & testOperation
+
+  protected void testOperationRandomShapes(final SpatialOperation operation) throws IOException {
+
+    final int numIndexedShapes = randomIntBetween(1, 6);
+    List<Shape> indexedShapes = new ArrayList<>(numIndexedShapes);
+    for (int i = 0; i < numIndexedShapes; i++) {
+      indexedShapes.add(randomIndexedShape());
+    }
+
+    final int numQueryShapes = atLeast(20);
+    List<Shape> queryShapes = new ArrayList<>(numQueryShapes);
+    for (int i = 0; i < numQueryShapes; i++) {
+      queryShapes.add(randomQueryShape());
+    }
+
+    testOperation(operation, indexedShapes, queryShapes, true/*havoc*/);
+  }
+
+  protected void testOperation(final SpatialOperation operation,
+                               List<Shape> indexedShapes, List<Shape> queryShapes, boolean havoc) throws IOException {
+    //first show that when there's no data, a query will result in no results
+    {
+      Query query = strategy.makeQuery(new SpatialArgs(operation, randomQueryShape()));
+      SearchResults searchResults = executeQuery(query, 1);
+      assertEquals(0, searchResults.numFound);
+    }
+
+    //Main index loop:
+    for (int i = 0; i < indexedShapes.size(); i++) {
+      Shape shape = indexedShapes.get(i);
+      adoc(""+i, shape);
+
+      if (havoc && random().nextInt(10) == 0)
+        commit();//intermediate commit, produces extra segments
+    }
+    if (havoc) {
+      //delete some documents randomly
+      for (int id = 0; id < indexedShapes.size(); id++) {
+        if (random().nextInt(10) == 0) {
+          deleteDoc(""+id);
+          indexedShapes.set(id, null);
+        }
+      }
+    }
+
+    commit();
+
+    //Main query loop:
+    for (int queryIdx = 0; queryIdx < queryShapes.size(); queryIdx++) {
+      final Shape queryShape = queryShapes.get(queryIdx);
+
+      if (havoc)
+        preQueryHavoc();
+
+      //Generate truth via brute force:
+      // We ensure true-positive matches (if the predicate on the raw shapes match
+      //  then the search should find those same matches).
+      Set<String> expectedIds = new LinkedHashSet<>();//true-positives
+      for (int id = 0; id < indexedShapes.size(); id++) {
+        Shape indexedShape = indexedShapes.get(id);
+        if (indexedShape == null)
+          continue;
+        if (operation.evaluate(indexedShape, queryShape)) {
+          expectedIds.add(""+id);
+        }
+      }
+
+      //Search and verify results
+      SpatialArgs args = new SpatialArgs(operation, queryShape);
+      Query query = strategy.makeQuery(args);
+      SearchResults got = executeQuery(query, 100);
+      Set<String> remainingExpectedIds = new LinkedHashSet<>(expectedIds);
+      for (SearchResult result : got.results) {
+        String id = result.getId();
+        if (!remainingExpectedIds.remove(id)) {
+          fail("qIdx:" + queryIdx + " Shouldn't match", id, indexedShapes, queryShape, operation);
+        }
+      }
+      if (!remainingExpectedIds.isEmpty()) {
+        String id = remainingExpectedIds.iterator().next();
+        fail("qIdx:" + queryIdx + " Should have matched", id, indexedShapes, queryShape, operation);
+      }
+    }
+  }
+
+  private void fail(String label, String id, List<Shape> indexedShapes, Shape queryShape, SpatialOperation operation) {
+    fail("[" + operation + "] " + label
+        + " I#" + id + ":" + indexedShapes.get(Integer.parseInt(id)) + " Q:" + queryShape);
+  }
+
+  protected void preQueryHavoc() {
+    if (strategy instanceof RecursivePrefixTreeStrategy) {
+      RecursivePrefixTreeStrategy rpts = (RecursivePrefixTreeStrategy) strategy;
+      int scanLevel = randomInt(rpts.getGrid().getMaxLevels());
+      rpts.setPrefixGridScanLevel(scanLevel);
+    }
+  }
+
+  protected abstract Shape randomIndexedShape();
+
+  protected abstract Shape randomQueryShape();
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
new file mode 100644
index 0000000..a53d52d
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
@@ -0,0 +1,122 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.spatial.SpatialMatchConcern;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+public class TestRecursivePrefixTreeStrategy extends StrategyTestCase {
+
+  private int maxLength;
+
+  //Tests should call this first.
+  private void init(int maxLength) {
+    this.maxLength = maxLength;
+    this.ctx = SpatialContext.GEO;
+    GeohashPrefixTree grid = new GeohashPrefixTree(ctx, maxLength);
+    this.strategy = new RecursivePrefixTreeStrategy(grid, getClass().getSimpleName());
+  }
+
+  @Test
+  public void testFilterWithVariableScanLevel() throws IOException {
+    init(GeohashPrefixTree.getMaxLevelsPossible());
+    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
+
+    //execute queries for each prefix grid scan level
+    for(int i = 0; i <= maxLength; i++) {
+      ((RecursivePrefixTreeStrategy)strategy).setPrefixGridScanLevel(i);
+      executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
+    }
+  }
+
+  @Test
+  public void testOneMeterPrecision() {
+    init(GeohashPrefixTree.getMaxLevelsPossible());
+    GeohashPrefixTree grid = (GeohashPrefixTree) ((RecursivePrefixTreeStrategy) strategy).getGrid();
+    //DWS: I know this to be true.  11 is needed for one meter
+    double degrees = DistanceUtils.dist2Degrees(0.001, DistanceUtils.EARTH_MEAN_RADIUS_KM);
+    assertEquals(11, grid.getLevelForDistance(degrees));
+  }
+
+  @Test
+  public void testPrecision() throws IOException{
+    init(GeohashPrefixTree.getMaxLevelsPossible());
+
+    Point iPt = ctx.makePoint(2.8028712999999925, 48.3708044);//lon, lat
+    addDocument(newDoc("iPt", iPt));
+    commit();
+
+    Point qPt = ctx.makePoint(2.4632387000000335, 48.6003516);
+
+    final double KM2DEG = DistanceUtils.dist2Degrees(1, DistanceUtils.EARTH_MEAN_RADIUS_KM);
+    final double DEG2KM = 1 / KM2DEG;
+
+    final double DIST = 35.75;//35.7499...
+    assertEquals(DIST, ctx.getDistCalc().distance(iPt, qPt) * DEG2KM, 0.001);
+
+    //distErrPct will affect the query shape precision. The indexed precision
+    // was set to nearly zilch via init(GeohashPrefixTree.getMaxLevelsPossible());
+    final double distErrPct = 0.025; //the suggested default, by the way
+    final double distMult = 1+distErrPct;
+
+    assertTrue(35.74*distMult >= DIST);
+    checkHits(q(qPt, 35.74 * KM2DEG, distErrPct), 1, null);
+
+    assertTrue(30*distMult < DIST);
+    checkHits(q(qPt, 30 * KM2DEG, distErrPct), 0, null);
+
+    assertTrue(33*distMult < DIST);
+    checkHits(q(qPt, 33 * KM2DEG, distErrPct), 0, null);
+
+    assertTrue(34*distMult < DIST);
+    checkHits(q(qPt, 34 * KM2DEG, distErrPct), 0, null);
+  }
+
+  private SpatialArgs q(Point pt, double distDEG, double distErrPct) {
+    Shape shape = ctx.makeCircle(pt, distDEG);
+    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects,shape);
+    args.setDistErrPct(distErrPct);
+    return args;
+  }
+
+  private void checkHits(SpatialArgs args, int assertNumFound, int[] assertIds) {
+    SearchResults got = executeQuery(strategy.makeQuery(args), 100);
+    assertEquals("" + args, assertNumFound, got.numFound);
+    if (assertIds != null) {
+      Set<Integer> gotIds = new HashSet<>();
+      for (SearchResult result : got.results) {
+        gotIds.add(Integer.valueOf(result.document.get("id")));
+      }
+      for (int assertId : assertIds) {
+        assertTrue("has "+assertId,gotIds.contains(assertId));
+      }
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
new file mode 100644
index 0000000..1a912c0
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
@@ -0,0 +1,63 @@
+/*
+ * 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.lucene.spatial.prefix;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.spatial.SpatialTestCase;
+import org.apache.lucene.spatial.prefix.tree.QuadPrefixTree;
+import org.apache.lucene.spatial.query.SpatialArgsParser;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+
+public class TestTermQueryPrefixGridStrategy extends SpatialTestCase {
+
+  @Test
+  public void testNGramPrefixGridLosAngeles() throws IOException {
+    SpatialContext ctx = SpatialContext.GEO;
+    TermQueryPrefixTreeStrategy prefixGridStrategy = new TermQueryPrefixTreeStrategy(new QuadPrefixTree(ctx), "geo");
+
+    Shape point = ctx.makePoint(-118.243680, 34.052230);
+
+    Document losAngeles = new Document();
+    losAngeles.add(new StringField("name", "Los Angeles", Field.Store.YES));
+    for (Field field : prefixGridStrategy.createIndexableFields(point)) {
+      losAngeles.add(field);
+    }
+    losAngeles.add(new StoredField(prefixGridStrategy.getFieldName(), point.toString()));//just for diagnostics
+
+    addDocumentsAndCommit(Arrays.asList(losAngeles));
+
+    // This won't work with simple spatial context...
+    SpatialArgsParser spatialArgsParser = new SpatialArgsParser();
+    // TODO... use a non polygon query
+//    SpatialArgs spatialArgs = spatialArgsParser.parse(
+//        "Intersects(POLYGON((-127.00390625 39.8125,-112.765625 39.98828125,-111.53515625 31.375,-125.94921875 30.14453125,-127.00390625 39.8125)))",
+//        new SimpleSpatialContext());
+
+//    Query query = prefixGridStrategy.makeQuery(spatialArgs, fieldInfo);
+//    SearchResults searchResults = executeQuery(query, 1);
+//    assertEquals(1, searchResults.numFound);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
new file mode 100644
index 0000000..74a989e
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
@@ -0,0 +1,175 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.text.ParseException;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.LuceneTestCase;
+
+public class DateRangePrefixTreeTest extends LuceneTestCase {
+
+  private DateRangePrefixTree tree = DateRangePrefixTree.INSTANCE;
+
+  public void testRoundTrip() throws Exception {
+    Calendar cal = tree.newCal();
+
+    assertEquals("*", tree.toString(cal));
+
+    //test no underflow
+    assertTrue(tree.toShape(new int[]{0}, 1).toString().startsWith("-"));
+
+    //Some arbitrary date
+    cal.set(2014, Calendar.MAY, 9);
+    roundTrip(cal);
+    assertEquals("2014-05-09",tree.toString(cal));
+
+    //Earliest date
+    cal.setTimeInMillis(Long.MIN_VALUE);
+    roundTrip(cal);
+
+    //Farthest date
+    cal.setTimeInMillis(Long.MAX_VALUE);
+    roundTrip(cal);
+
+    //1BC is "0000".
+    cal.clear();
+    cal.set(Calendar.ERA, GregorianCalendar.BC);
+    cal.set(Calendar.YEAR, 1);
+    roundTrip(cal);
+    assertEquals("0000", tree.toString(cal));
+    //adding a "+" parses to the same; and a trailing 'Z' is fine too
+    assertEquals(cal, tree.parseCalendar("+0000Z"));
+
+    //2BC is "-0001"
+    cal.clear();
+    cal.set(Calendar.ERA, GregorianCalendar.BC);
+    cal.set(Calendar.YEAR, 2);
+    roundTrip(cal);
+    assertEquals("-0001", tree.toString(cal));
+
+    //1AD is "0001"
+    cal.clear();
+    cal.set(Calendar.YEAR, 1);
+    roundTrip(cal);
+    assertEquals("0001", tree.toString(cal));
+
+    //test random
+    cal.setTimeInMillis(random().nextLong());
+    roundTrip(cal);
+  }
+
+  //copies from DateRangePrefixTree
+  private static final int[] CAL_FIELDS = {
+      Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH,
+      Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND};
+
+  private void roundTrip(Calendar calOrig) throws ParseException {
+    Calendar cal = (Calendar) calOrig.clone();
+    String lastString = null;
+    while (true) {
+      String calString = tree.toString(cal);
+      assert lastString == null || calString.length() < lastString.length();
+      //test parseCalendar
+      assertEquals(cal, tree.parseCalendar(calString));
+
+      //to Shape and back to Cal
+      UnitNRShape shape = tree.toShape(cal);
+      Calendar cal2 = tree.toCalendar(shape);
+      assertEquals(calString, tree.toString(cal2));
+
+      if (!calString.equals("*")) {//not world cell
+        //to Term and back to Cell
+        Cell cell = (Cell) shape;
+        BytesRef term = cell.getTokenBytesNoLeaf(null);
+        Cell cell2 = tree.readCell(BytesRef.deepCopyOf(term), null);
+        assertEquals(calString, cell, cell2);
+        Calendar cal3 = tree.toCalendar((UnitNRShape) cell2.getShape());
+        assertEquals(calString, tree.toString(cal3));
+
+        // setLeaf comparison
+        cell2.setLeaf();
+        BytesRef termLeaf = cell2.getTokenBytesWithLeaf(null);
+        assertTrue(term.compareTo(termLeaf) < 0);
+        assertEquals(termLeaf.length, term.length + 1);
+        assertEquals(0, termLeaf.bytes[termLeaf.offset + termLeaf.length - 1]);
+        assertTrue(cell.isPrefixOf(cell2));
+      }
+
+      //end of loop; decide if should loop again with lower precision
+      final int calPrecField = tree.getCalPrecisionField(cal);
+      if (calPrecField == -1)
+        break;
+      int fieldIdx = Arrays.binarySearch(CAL_FIELDS, calPrecField);
+      assert fieldIdx >= 0;
+      int prevPrecField = (fieldIdx == 0 ? -1 : CAL_FIELDS[--fieldIdx]);
+      try {
+        tree.clearFieldsAfter(cal, prevPrecField);
+      } catch (AssertionError e) {
+        if (e.getMessage().equals("Calendar underflow"))
+          return;
+        throw e;
+      }
+      lastString = calString;
+    }
+  }
+
+  public void testShapeRelations() throws ParseException {
+    //note: left range is 264000 at the thousand year level whereas right value is exact year
+    assertEquals(SpatialRelation.WITHIN,
+        tree.parseShape("[-264000 TO -264000-11-20]").relate(tree.parseShape("-264000")));
+
+    Shape shapeA = tree.parseShape("[3122-01-23 TO 3122-11-27]");
+    Shape shapeB = tree.parseShape("[3122-08 TO 3122-11]");
+    assertEquals(SpatialRelation.INTERSECTS, shapeA.relate(shapeB));
+
+    shapeA = tree.parseShape("3122");
+    shapeB = tree.parseShape("[* TO 3122-10-31]");
+    assertEquals(SpatialRelation.INTERSECTS, shapeA.relate(shapeB));
+
+    shapeA = tree.parseShape("[3122-05-28 TO 3122-06-29]");
+    shapeB = tree.parseShape("[3122 TO 3122-04]");
+    assertEquals(SpatialRelation.DISJOINT, shapeA.relate(shapeB));
+  }
+
+  public void testShapeRangeOptimizer() throws ParseException {
+    assertEquals("[2014-08 TO 2014-09]", tree.parseShape("[2014-08-01 TO 2014-09-30]").toString());
+
+    assertEquals("2014", tree.parseShape("[2014-01-01 TO 2014-12-31]").toString());
+
+    assertEquals("2014",    tree.parseShape("[2014-01 TO 2014]").toString());
+    assertEquals("2014-01", tree.parseShape("[2014 TO 2014-01]").toString());
+    assertEquals("2014-12", tree.parseShape("[2014-12 TO 2014]").toString());
+
+    assertEquals("[2014 TO 2014-04-06]", tree.parseShape("[2014-01 TO 2014-04-06]").toString());
+
+    assertEquals("*", tree.parseShape("[* TO *]").toString());
+
+    assertEquals("2014-08-01", tree.parseShape("[2014-08-01 TO 2014-08-01]").toString());
+
+    assertEquals("[2014 TO 2014-09-15]", tree.parseShape("[2014 TO 2014-09-15]").toString());
+
+    assertEquals("[* TO 2014-09-15]", tree.parseShape("[* TO 2014-09-15]").toString());
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
new file mode 100644
index 0000000..403b8d1
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
@@ -0,0 +1,114 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.TextField;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.spatial.SpatialTestCase;
+import org.apache.lucene.spatial.prefix.TermQueryPrefixTreeStrategy;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SpatialPrefixTreeTest extends SpatialTestCase {
+
+  //TODO plug in others and test them
+  private SpatialContext ctx;
+  private SpatialPrefixTree trie;
+
+  @Override
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+    ctx = SpatialContext.GEO;
+  }
+
+  @Test
+  public void testCellTraverse() {
+    trie = new GeohashPrefixTree(ctx,4);
+
+    Cell prevC = null;
+    Cell c = trie.getWorldCell();
+    assertEquals(0, c.getLevel());
+    assertEquals(ctx.getWorldBounds(), c.getShape());
+    while (c.getLevel() < trie.getMaxLevels()) {
+      prevC = c;
+      List<Cell> subCells = new ArrayList<>();
+      CellIterator subCellsIter = c.getNextLevelCells(null);
+      while (subCellsIter.hasNext()) {
+        subCells.add(subCellsIter.next());
+      }
+      c = subCells.get(random().nextInt(subCells.size()-1));
+
+      assertEquals(prevC.getLevel()+1,c.getLevel());
+      Rectangle prevNShape = (Rectangle) prevC.getShape();
+      Shape s = c.getShape();
+      Rectangle sbox = s.getBoundingBox();
+      assertTrue(prevNShape.getWidth() > sbox.getWidth());
+      assertTrue(prevNShape.getHeight() > sbox.getHeight());
+    }
+  }
+  /**
+   * A PrefixTree pruning optimization gone bad, applicable when optimize=true.
+   * See <a href="https://issues.apache.org/jira/browse/LUCENE-4770">LUCENE-4770</a>.
+   */
+  @Test
+  public void testBadPrefixTreePrune() throws Exception {
+
+    trie = new QuadPrefixTree(ctx, 12);
+    TermQueryPrefixTreeStrategy strategy = new TermQueryPrefixTreeStrategy(trie, "geo");
+    Document doc = new Document();
+    doc.add(new TextField("id", "1", Store.YES));
+
+    Shape area = ctx.makeRectangle(-122.82, -122.78, 48.54, 48.56);
+
+    Field[] fields = strategy.createIndexableFields(area, 0.025);
+    for (Field field : fields) {
+      doc.add(field);
+    }
+    addDocument(doc);
+
+    Point upperleft = ctx.makePoint(-122.88, 48.54);
+    Point lowerright = ctx.makePoint(-122.82, 48.62);
+
+    Query query = strategy.makeQuery(new SpatialArgs(SpatialOperation.Intersects, ctx.makeRectangle(upperleft, lowerright)));
+
+    commit();
+
+    TopDocs search = indexSearcher.search(query, 10);
+    ScoreDoc[] scoreDocs = search.scoreDocs;
+    for (ScoreDoc scoreDoc : scoreDocs) {
+      System.out.println(indexSearcher.doc(scoreDoc.doc));
+    }
+
+    assertEquals(1, search.totalHits);
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
new file mode 100644
index 0000000..b7bd50d
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.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.lucene.spatial.query;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Rectangle;
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Test;
+
+import java.text.ParseException;
+
+//Tests SpatialOperation somewhat too
+public class SpatialArgsParserTest extends LuceneTestCase {
+
+  private SpatialContext ctx = SpatialContext.GEO;
+
+  //The args parser is only dependent on the ctx for IO so I don't care to test
+  // with other implementations.
+
+  @Test
+  public void testArgsParser() throws Exception {
+    SpatialArgsParser parser = new SpatialArgsParser();
+
+    String arg = SpatialOperation.IsWithin + "(Envelope(-10, 10, 20, -20))";
+    SpatialArgs out = parser.parse(arg, ctx);
+    assertEquals(SpatialOperation.IsWithin, out.getOperation());
+    Rectangle bounds = (Rectangle) out.getShape();
+    assertEquals(-10.0, bounds.getMinX(), 0D);
+    assertEquals(10.0, bounds.getMaxX(), 0D);
+
+    // Disjoint should not be scored
+    arg = SpatialOperation.IsDisjointTo + " (Envelope(-10,-20,20,10))";
+    out = parser.parse(arg, ctx);
+    assertEquals(SpatialOperation.IsDisjointTo, out.getOperation());
+
+    try {
+      parser.parse(SpatialOperation.IsDisjointTo + "[ ]", ctx);
+      fail("spatial operations need args");
+    }
+    catch (Exception ex) {//expected
+    }
+
+    try {
+      parser.parse("XXXX(Envelope(-10, 10, 20, -20))", ctx);
+      fail("unknown operation!");
+    }
+    catch (Exception ex) {//expected
+    }
+
+    assertAlias(SpatialOperation.IsWithin, "CoveredBy");
+    assertAlias(SpatialOperation.IsWithin, "COVEREDBY");
+    assertAlias(SpatialOperation.IsWithin, "coveredBy");
+    assertAlias(SpatialOperation.IsWithin, "Within");
+    assertAlias(SpatialOperation.IsEqualTo, "Equals");
+    assertAlias(SpatialOperation.IsDisjointTo, "disjoint");
+    assertAlias(SpatialOperation.Contains, "Covers");
+  }
+
+  private void assertAlias(SpatialOperation op, final String name) throws ParseException {
+    String arg;
+    SpatialArgs out;
+    arg = name + "(Point(0 0))";
+    out = new SpatialArgsParser().parse(arg, ctx);
+    assertEquals(op, out.getOperation());
+  }
+
+}


[03/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestErrorHandling.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestErrorHandling.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestErrorHandling.java
index bbf66e3..74eaf9e 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestErrorHandling.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestErrorHandling.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.dataimport;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
index aa37168..28f0278 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.dataimport;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.TestUtil;
 import org.apache.solr.common.util.SuppressForbidden;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
index 656bdaf..c978a45 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListWithLineEntityProcessor.java
@@ -1,13 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.io.File;
-import java.nio.charset.StandardCharsets;
-
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
-import org.apache.solr.request.LocalSolrQueryRequest;
-import org.junit.BeforeClass;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -24,6 +14,15 @@ import org.junit.BeforeClass;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.TestUtil;
+import org.apache.solr.request.LocalSolrQueryRequest;
+import org.junit.BeforeClass;
 
 public class TestFileListWithLineEntityProcessor extends AbstractDataImportHandlerTestCase {
   @BeforeClass

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
index 99a4c9a..44ea047 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import java.io.IOException;
 import java.text.MessageFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSourceConvertType.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSourceConvertType.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSourceConvertType.java
index 8752188..94f437c 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSourceConvertType.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSourceConvertType.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
index 0cb07d3..eb9989c 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.dataimport;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.dataimport;
 import org.junit.Test;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNestedChildren.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNestedChildren.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNestedChildren.java
index 3ad1555..ca1bfda 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNestedChildren.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestNestedChildren.java
@@ -1,11 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.lang.invoke.MethodHandles;
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.slf4j.LoggerFactory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.lang.invoke.MethodHandles;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class TestNestedChildren extends AbstractDIHJdbcTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
index 1417baa..3c476a7 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
@@ -1,3 +1,19 @@
+/*
+ * 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.handler.dataimport;
 
 import java.io.File;
@@ -21,23 +37,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
-/*
- * 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.
- */
-
 public class TestSimplePropertiesWriter extends AbstractDIHJdbcTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
index 5b40a2d..1253f16 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.dataimport;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.lucene.util.IOUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorUnit.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorUnit.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorUnit.java
index 299cc57..a8fcbb1 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorUnit.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorUnit.java
@@ -6,7 +6,7 @@
  * (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
+ *     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,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSortedMapBackedCache.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSortedMapBackedCache.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSortedMapBackedCache.java
index 0deda51..05cbe17 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSortedMapBackedCache.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSortedMapBackedCache.java
@@ -1,7 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.lang.invoke.MethodHandles;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessor.java
index c2dfdd0..f1277c9 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessor.java
@@ -1,8 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import org.junit.Ignore;
+import org.junit.Test;
 
 /**
  * Test with various combinations of parameters, child entities, caches, transformers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
index 28ca1fb..1750bda 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSqlEntityProcessorDelta.java
@@ -1,14 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.lang.invoke.MethodHandles;
-
-import org.apache.solr.request.LocalSolrQueryRequest;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import org.slf4j.LoggerFactory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.lang.invoke.MethodHandles;
+
+import org.apache.solr.request.LocalSolrQueryRequest;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Test with various combinations of parameters, child entities, transformers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestVariableResolverEndToEnd.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestVariableResolverEndToEnd.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestVariableResolverEndToEnd.java
index afa41c3..0f53b93 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestVariableResolverEndToEnd.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestVariableResolverEndToEnd.java
@@ -1,19 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.lang.invoke.MethodHandles;
-import java.sql.Connection;
-import java.sql.Statement;
-import java.util.Locale;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.Assert;
-
-import org.apache.solr.request.SolrQueryRequest;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -30,6 +14,21 @@ import org.slf4j.LoggerFactory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.lang.invoke.MethodHandles;
+import java.sql.Connection;
+import java.sql.Statement;
+import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import junit.framework.Assert;
+
+import org.apache.solr.request.SolrQueryRequest;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class TestVariableResolverEndToEnd  extends AbstractDIHJdbcTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestXPathRecordReader.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestXPathRecordReader.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestXPathRecordReader.java
index 58e57fe..5f9a5ca 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestXPathRecordReader.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestXPathRecordReader.java
@@ -9,7 +9,7 @@
  *     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 onT an "AS IS" BASIS,
+ * 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.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
index ff0095d..c8727d0 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
@@ -1,7 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.lang.invoke.MethodHandles;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TripleThreatTransformer.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TripleThreatTransformer.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TripleThreatTransformer.java
index 63f3e25..2d0aadb 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TripleThreatTransformer.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TripleThreatTransformer.java
@@ -1,11 +1,3 @@
-package org.apache.solr.handler.dataimport;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,14 @@ import java.util.Map;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.dataimport;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * This transformer does 3 things
  * <ul>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ParseContextConfig.java
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ParseContextConfig.java b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ParseContextConfig.java
index 19a8931..8b9f1ef 100644
--- a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ParseContextConfig.java
+++ b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ParseContextConfig.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.extraction;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.extraction;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.extraction;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 import java.beans.BeanInfo;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/RegexRulesPasswordProvider.java
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/RegexRulesPasswordProvider.java b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/RegexRulesPasswordProvider.java
index ccf1c4d..41175a0 100644
--- a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/RegexRulesPasswordProvider.java
+++ b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/RegexRulesPasswordProvider.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.extraction;
 
 import java.io.BufferedReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
index 8e3dc25..442e64c 100644
--- a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
+++ b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.extraction;
 
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/package-info.java b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/package-info.java
index 729a276..deaa132 100644
--- a/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/package-info.java
+++ b/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * {@link org.apache.solr.handler.extraction.ExtractingRequestHandler} and related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java b/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java
index 0d4efa1..23ca28a 100644
--- a/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java
+++ b/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java
@@ -1,4 +1,3 @@
-package org.apache.solr.handler.extraction;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.handler.extraction;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.handler.extraction;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ParseContextConfigTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ParseContextConfigTest.java b/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ParseContextConfigTest.java
index 6098efc..8aeeaad 100644
--- a/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ParseContextConfigTest.java
+++ b/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ParseContextConfigTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.handler.extraction;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.handler.extraction;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.handler.extraction;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 import java.nio.file.Paths;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/DetectedLanguage.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/DetectedLanguage.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/DetectedLanguage.java
index b8371f9..e8e6fbe 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/DetectedLanguage.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/DetectedLanguage.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 /**
  * Bean holding a language and a detection certainty 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessor.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessor.java
index aae25f8..8af05b3 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessor.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
index 633d1a7..dcf1bd5 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangIdParams.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangIdParams.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangIdParams.java
index 4aeff3f..4e19eab 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangIdParams.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LangIdParams.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 public interface LangIdParams {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
index 6d48d70..a78a1fe 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrException.ErrorCode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessor.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessor.java
index ffc6274..3d3fa41 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessor.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactory.java b/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactory.java
index 7a6c81e..5d5acd1 100644
--- a/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactory.java
+++ b/solr/contrib/langid/src/java/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/test/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/test/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactoryTest.java b/solr/contrib/langid/src/test/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactoryTest.java
index 053e226..e7d3c15 100644
--- a/solr/contrib/langid/src/test/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactoryTest.java
+++ b/solr/contrib/langid/src/test/org/apache/solr/update/processor/LangDetectLanguageIdentifierUpdateProcessorFactoryTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.params.ModifiableSolrParams;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/test/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessorFactoryTestCase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/test/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessorFactoryTestCase.java b/solr/contrib/langid/src/test/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessorFactoryTestCase.java
index 8b987ce..c7381a9 100644
--- a/solr/contrib/langid/src/test/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessorFactoryTestCase.java
+++ b/solr/contrib/langid/src/test/org/apache/solr/update/processor/LanguageIdentifierUpdateProcessorFactoryTestCase.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.update.processor;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/langid/src/test/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/langid/src/test/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactoryTest.java b/solr/contrib/langid/src/test/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactoryTest.java
index e26c8c7..172b892 100644
--- a/solr/contrib/langid/src/test/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactoryTest.java
+++ b/solr/contrib/langid/src/test/org/apache/solr/update/processor/TikaLanguageIdentifierUpdateProcessorFactoryTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.update.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.update.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.update.processor;
 
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.params.ModifiableSolrParams;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/AlphaNumericComparator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/AlphaNumericComparator.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/AlphaNumericComparator.java
index cd8f183..f596a88 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/AlphaNumericComparator.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/AlphaNumericComparator.java
@@ -19,7 +19,6 @@
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 // IN THE SOFTWARE.
-
 package org.apache.solr.hadoop;
 
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/DataInputInputStream.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/DataInputInputStream.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/DataInputInputStream.java
index 33f609f..d1d46bc 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/DataInputInputStream.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/DataInputInputStream.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.hadoop;
 
 import java.io.DataInput;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/UnbufferedDataInputInputStream.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/UnbufferedDataInputInputStream.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/UnbufferedDataInputInputStream.java
index 8a5eaaf..83823ce 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/UnbufferedDataInputInputStream.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/UnbufferedDataInputInputStream.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.hadoop;
 
 import java.io.BufferedReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/ZooKeeperInspector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/ZooKeeperInspector.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/ZooKeeperInspector.java
index b71c7f1..3672e0b 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/ZooKeeperInspector.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/ZooKeeperInspector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.hadoop;
 
 import com.google.common.io.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/dedup/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/dedup/package-info.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/dedup/package-info.java
index a021282..bdd1a86 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/dedup/package-info.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/dedup/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Dedupe related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/morphline/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/morphline/package-info.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/morphline/package-info.java
index c754f79..309f255 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/morphline/package-info.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/morphline/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Morphlines related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/package-info.java b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/package-info.java
index 043a150..b49671b 100644
--- a/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/package-info.java
+++ b/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * {@link org.apache.solr.hadoop.MapReduceIndexerTool} and related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java b/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
index 5f4a588..1cc1723 100644
--- a/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
+++ b/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.hadoop;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/package-info.java b/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/package-info.java
index 0f44a70..4197bcc 100644
--- a/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/package-info.java
+++ b/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Morphlines Solr Cell related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/package-info.java b/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/package-info.java
index f4b91ec..da27bd2 100644
--- a/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/package-info.java
+++ b/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Morphlines Solr related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
----------------------------------------------------------------------
diff --git a/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java b/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
index 763a8d2..6c76ecb 100644
--- a/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
+++ b/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.morphlines.solr;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/FieldMappingException.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/FieldMappingException.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/FieldMappingException.java
index 93460a3..801d128 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/FieldMappingException.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/FieldMappingException.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 /**
  * Exception thrown when an error happening while mapping UIMA CAS model to Solr fields

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
index d43914a..ae8bc6c 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
index 68fdc48..6094465 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 import java.util.HashMap;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java
index 03238c0..024dc4e 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.uima.processor.SolrUIMAConfiguration.MapField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
index ec7a853..6bfda41 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
index 2f89dc5..57ebc72 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 import org.apache.lucene.analysis.uima.ae.AEProvider;
 import org.apache.lucene.analysis.uima.ae.AEProviderFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/java/org/apache/solr/uima/processor/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/package-info.java b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/package-info.java
index 4525c33..65d66e5 100644
--- a/solr/contrib/uima/src/java/org/apache/solr/uima/processor/package-info.java
+++ b/solr/contrib/uima/src/java/org/apache/solr/uima/processor/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * {@link org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory} and related code.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/test/org/apache/solr/uima/analysis/UIMATokenizersSolrIntegrationTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test/org/apache/solr/uima/analysis/UIMATokenizersSolrIntegrationTest.java b/solr/contrib/uima/src/test/org/apache/solr/uima/analysis/UIMATokenizersSolrIntegrationTest.java
index 1da1568..9197697 100644
--- a/solr/contrib/uima/src/test/org/apache/solr/uima/analysis/UIMATokenizersSolrIntegrationTest.java
+++ b/solr/contrib/uima/src/test/org/apache/solr/uima/analysis/UIMATokenizersSolrIntegrationTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.analysis;
 
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.request.SolrQueryRequest;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/test/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
index 59bfe4f..95feb36 100644
--- a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
+++ b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
@@ -1,5 +1,3 @@
-package org.apache.solr.uima.processor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.uima.processor;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor;
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyEntityAnnotator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyEntityAnnotator.java b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyEntityAnnotator.java
index 6444b89..9bb35d2 100644
--- a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyEntityAnnotator.java
+++ b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyEntityAnnotator.java
@@ -1,12 +1,3 @@
-package org.apache.solr.uima.processor.an;
-
-import org.apache.solr.uima.ts.EntityAnnotation;
-import org.apache.uima.TokenAnnotation;
-import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.tcas.Annotation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,14 @@ import org.apache.uima.jcas.tcas.Annotation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor.an;
+
+import org.apache.solr.uima.ts.EntityAnnotation;
+import org.apache.uima.TokenAnnotation;
+import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
 
 public class DummyEntityAnnotator extends JCasAnnotator_ImplBase{
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyExceptionAnnotator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyExceptionAnnotator.java b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyExceptionAnnotator.java
index 5838ade..606c4e5 100644
--- a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyExceptionAnnotator.java
+++ b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummyExceptionAnnotator.java
@@ -1,9 +1,3 @@
-package org.apache.solr.uima.processor.an;
-
-import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.jcas.JCas;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import org.apache.uima.jcas.JCas;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor.an;
+
+import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.JCas;
 
 public class DummyExceptionAnnotator extends JCasAnnotator_ImplBase{
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummySentimentAnnotator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummySentimentAnnotator.java b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummySentimentAnnotator.java
index 5e0bb5d..521db71 100644
--- a/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummySentimentAnnotator.java
+++ b/solr/contrib/uima/src/test/org/apache/solr/uima/processor/an/DummySentimentAnnotator.java
@@ -1,14 +1,3 @@
-package org.apache.solr.uima.processor.an;
-
-import java.util.Arrays;
-
-import org.apache.solr.uima.ts.DummySentimentAnnotation;
-import org.apache.uima.TokenAnnotation;
-import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.tcas.Annotation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import org.apache.uima.jcas.tcas.Annotation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.uima.processor.an;
+
+import java.util.Arrays;
+
+import org.apache.solr.uima.ts.DummySentimentAnnotation;
+import org.apache.uima.TokenAnnotation;
+import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
 
 public class DummySentimentAnnotator extends JCasAnnotator_ImplBase{
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/velocity/src/java/org/apache/solr/response/PageTool.java
----------------------------------------------------------------------
diff --git a/solr/contrib/velocity/src/java/org/apache/solr/response/PageTool.java b/solr/contrib/velocity/src/java/org/apache/solr/response/PageTool.java
index 6c35d4d..1947f36 100644
--- a/solr/contrib/velocity/src/java/org/apache/solr/response/PageTool.java
+++ b/solr/contrib/velocity/src/java/org/apache/solr/response/PageTool.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.response;
 
 import org.apache.solr.request.SolrQueryRequest;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java
----------------------------------------------------------------------
diff --git a/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java b/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java
index 864dfc2..17b2878 100644
--- a/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java
+++ b/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.response;
 
 import org.apache.solr.request.SolrQueryRequest;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/velocity/src/java/org/apache/solr/response/SolrVelocityLogger.java
----------------------------------------------------------------------
diff --git a/solr/contrib/velocity/src/java/org/apache/solr/response/SolrVelocityLogger.java b/solr/contrib/velocity/src/java/org/apache/solr/response/SolrVelocityLogger.java
index 4cb824a..00f817f 100644
--- a/solr/contrib/velocity/src/java/org/apache/solr/response/SolrVelocityLogger.java
+++ b/solr/contrib/velocity/src/java/org/apache/solr/response/SolrVelocityLogger.java
@@ -1,5 +1,3 @@
-package org.apache.solr.response;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.response;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.response;
 
 import org.apache.velocity.runtime.RuntimeServices;
 import org.apache.velocity.runtime.log.LogChute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
----------------------------------------------------------------------
diff --git a/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java b/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
index 8d8b982..7a0f2a1 100644
--- a/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
+++ b/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.response;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/velocity/src/test/org/apache/solr/velocity/MockTool.java
----------------------------------------------------------------------
diff --git a/solr/contrib/velocity/src/test/org/apache/solr/velocity/MockTool.java b/solr/contrib/velocity/src/test/org/apache/solr/velocity/MockTool.java
index 94d5879..c6287fd 100644
--- a/solr/contrib/velocity/src/test/org/apache/solr/velocity/MockTool.java
+++ b/solr/contrib/velocity/src/test/org/apache/solr/velocity/MockTool.java
@@ -1,5 +1,3 @@
-package org.apache.solr.velocity;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.velocity;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.velocity;
 
 import org.apache.solr.core.SolrCore;
 import org.apache.velocity.tools.generic.LocaleConfig;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java b/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
index 881fb99..336ee4b 100644
--- a/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
+++ b/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.velocity;
 
 import org.apache.solr.SolrTestCaseJ4;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilter.java b/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilter.java
index fcaaf76..37fd95b 100644
--- a/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilter.java
+++ b/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilter.java
@@ -1,4 +1,3 @@
-package org.apache.solr.analysis;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.analysis;
 import java.io.IOException;
 
 import org.apache.lucene.analysis.TokenFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java b/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java
index 7384b41..e64957f 100644
--- a/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java
+++ b/solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java
@@ -1,4 +1,3 @@
-package org.apache.solr.analysis;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.solr.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.solr.analysis;
 import java.util.Map;
 
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/analysis/SolrAnalyzer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/analysis/SolrAnalyzer.java b/solr/core/src/java/org/apache/solr/analysis/SolrAnalyzer.java
index a33a373..38d0d17 100644
--- a/solr/core/src/java/org/apache/solr/analysis/SolrAnalyzer.java
+++ b/solr/core/src/java/org/apache/solr/analysis/SolrAnalyzer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analysis;
 
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java b/solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java
index ca51d69..c9f263d 100644
--- a/solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java
+++ b/solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analysis;
 
 import org.apache.lucene.analysis.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/analysis/package-info.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/analysis/package-info.java b/solr/core/src/java/org/apache/solr/analysis/package-info.java
index e8a48bf..5b0fe9a 100644
--- a/solr/core/src/java/org/apache/solr/analysis/package-info.java
+++ b/solr/core/src/java/org/apache/solr/analysis/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Factories and classes specific to text analysis and the creation of {@link org.apache.lucene.analysis.TokenStream}s
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
index 17e7e4e..4aa8b21 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.client.solrj.embedded;
 
 import java.io.ByteArrayInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettyConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettyConfig.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettyConfig.java
index 59ff331..28c3cdf 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettyConfig.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettyConfig.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.client.solrj.embedded;
 
 import org.eclipse.jetty.servlet.ServletHolder;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
index c143f6c..ba2aa10 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.client.solrj.embedded;
 
 import javax.servlet.DispatcherType;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java
index f969cd7..77bb759 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java
@@ -1,5 +1,3 @@
-package org.apache.solr.client.solrj.embedded;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.client.solrj.embedded;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.client.solrj.embedded;
 
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/client/solrj/embedded/package-info.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/package-info.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/package-info.java
index a74c745..f1a256d 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/package-info.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * SolrJ client implementations for embedded solr access.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/ActionThrottle.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ActionThrottle.java b/solr/core/src/java/org/apache/solr/cloud/ActionThrottle.java
index 97d6e3d..fbfa9c5 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ActionThrottle.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ActionThrottle.java
@@ -1,7 +1,3 @@
-package org.apache.solr.cloud;
-
-import java.lang.invoke.MethodHandles;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import java.lang.invoke.MethodHandles;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
+
+import java.lang.invoke.MethodHandles;
 
 import java.util.concurrent.TimeUnit;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/Assign.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/Assign.java b/solr/core/src/java/org/apache/solr/cloud/Assign.java
index ff3b9ba..ca94c40 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Assign.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Assign.java
@@ -1,21 +1,20 @@
-package org.apache.solr.cloud;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.cloud;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/CloudConfigSetService.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/CloudConfigSetService.java b/solr/core/src/java/org/apache/solr/cloud/CloudConfigSetService.java
index c371c74..bf11e92 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CloudConfigSetService.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CloudConfigSetService.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.cloud;
 
 import org.apache.solr.core.ConfigSetService;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java b/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
index dbf33af..4dd1527 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java b/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
index b84d998..c62efa6 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.io.File;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java b/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java
index db15281..29d0751 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CurrentCoreDescriptorProvider.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java b/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
index d407241..ec2ecb7 100644
--- a/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
+++ b/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
@@ -1,5 +1,3 @@
-package org.apache.solr.cloud;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.cloud;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.cloud;
 
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrException.ErrorCode;


[11/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
index d0e4927..ccb0f89 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
index d4de0d8..8001c82 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
index 2867600..165c418 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import com.spatial4j.core.shape.Point;
 import org.apache.lucene.spatial.prefix.tree.Cell;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
index 1f0aa17..59f43e0 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
index 35b9aa1..608879b 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
index 80c193b..575b6c9 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
index 9467628..a74786b 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
index 298b5c3..c534a5b 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/WithinPrefixTreeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/package-info.java
index dcccdc3..656c474 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Prefix Tree Strategy.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
index 0d8139e..fe3846d 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/Cell.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import com.spatial4j.core.shape.Shape;
 import com.spatial4j.core.shape.SpatialRelation;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
index 42e0259..1cef37a 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/CellIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.util.Iterator;
 import java.util.NoSuchElementException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
index 155583e..13281f3 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
index 24d7d12..e4f50e0 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/FilterCellIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import com.spatial4j.core.shape.Shape;
 import com.spatial4j.core.shape.SpatialRelation;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
index e508be0..fa4e987 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
index f6a4770..27c56a7 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.util.Collection;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
index db7a4e0..672c2fe 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
index d8efe3c..40e80bc 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.text.ParseException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
index 71508cc..6fe2bff 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
index 99204ab..48dac87 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.io.PrintStream;
 import java.text.NumberFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
index d9d37a5..177b431 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 /**
  * A singleton (one Cell) instance of CellIterator.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
index d912a66..8ead954 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
index dd9aa1f..b74dc93 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.spatial.prefix.tree;
 
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
index f5e4a76..3ec56ac 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/TreeCellIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import com.spatial4j.core.shape.Point;
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
index 4dd85b1..c1419ad 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * This package is about SpatialPrefixTree and any supporting classes.
  * A SpatialPrefixTree supports spatial indexing by index-time tokens

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
index 5501d5c..0503072 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.query;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Point;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
index 6e20814..81612ff 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.query;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.exception.InvalidShapeException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
index 753a064..7d750ac 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.query;
 
 import com.spatial4j.core.shape.Rectangle;
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
index 7ac239c..d6cb152 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.query;
 
 /**
  * Exception thrown when the {@link org.apache.lucene.spatial.SpatialStrategy} cannot implement the requested operation.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
index 42a5036..75ee680 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Spatial Query options useful for client side requests
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
index ec75a6f..c54cf75 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.serialized;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.serialized;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.serialized;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
index 7a316d9..353dcdd 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/serialized/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Strategies that serialize the shape (non-indexed).
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java b/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
index 19118a5..bcfc9fa 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/Geo3dShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.spatial4j;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.spatial4j;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.distance.DistanceUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
index 7815318..f4585c8 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/spatial4j/package-info.java
@@ -14,6 +14,5 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** Spatial4j stuff that ideally belongs in Spatial4j (isn't related to Lucene). */
 package org.apache.lucene.spatial.spatial4j;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
index 9a91782..73d25ca 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.spatial.util;
 
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
index 703586b..57cad87 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.util;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
index b08260a..dd391d1 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.util;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
index e26f290..480369b 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCache.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.spatial.util;
 
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
index 198b062..e4cb146 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.util;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.distance.DistanceCalculator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
index a57460d..04c52f7 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheProvider.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.spatial.util;
 
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
index 018b7ca..b1dfaaa 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/ShapePredicateValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.util;
 
 import com.spatial4j.core.shape.Shape;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
index 3d14591..39c3c40 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/util/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Various spatial utilities.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
index 85afeae..d31fd59 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.vector;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.vector;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.vector;
 
 import com.spatial4j.core.distance.DistanceCalculator;
 import com.spatial4j.core.shape.Point;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
index 13b2cfd..d046e24 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.vector;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.vector;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.vector;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Circle;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
index 990f8bd..47c208c 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/vector/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Spatial strategy that uses two fields.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
index 9046b3b..9a29677 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java b/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
index bd2f9ba..8506c86 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/PortedSolr3Test.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import java.util.ArrayList;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
index e94c9db..b1a5e54 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/QueryEqualsHashCodeTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
index 025e7ec..09b5d46 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialArgsTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
index 89435de..1bd7159 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialExample.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
index bff21ad..e995ee1 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialMatchConcern.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.spatial;
 
 public class SpatialMatchConcern {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
index 654f6f4..31b57f9 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
index fdf13cd..27d47b3 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestData.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
index a73baa9..bac90cf 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/SpatialTestQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import com.spatial4j.core.context.SpatialContext;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
index 706804c..00e437b 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/StrategyTestCase.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.spatial;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,8 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java b/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
index 82c5aa8..6a8d59c 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/TestTestFramework.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Rectangle;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
index f24554d..6140996 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.bbox;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.bbox;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.bbox;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
index 80736db..8e1bb51 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/composite/CompositeStrategyTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.composite;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.composite;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.composite;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
index 2654122..cccec8e 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/CellToBytesRefIterator50.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import org.apache.lucene.spatial.prefix.tree.Cell;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
index 9357988..7cd4723 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.Calendar;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
index f6f1f0b..124af79 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
index 87b0511..62b0466 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/JtsPolygonTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import com.spatial4j.core.context.SpatialContextFactory;
 import com.spatial4j.core.shape.Point;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
index 6cd84c8..11e1d18 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
index e5c979d..e932fe9 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 /** Test RandomSpatialOpFuzzyPrefixTreeTest using the PrefixTree index format found in 5.0 and prior. */
 public class RandomSpatialOpFuzzyPrefixTree50Test extends RandomSpatialOpFuzzyPrefixTreeTest {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
index 3be7829..8db131c 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTreeTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
index 4180663..87f1071 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpStrategyTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
index c2f3528..a53d52d 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestRecursivePrefixTreeStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.distance.DistanceUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
index 97c2690..1a912c0 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/TestTermQueryPrefixGridStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Shape;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
index 949d2dd..74a989e 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/DateRangePrefixTreeTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import java.text.ParseException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
index 89b0c72..9f6c625 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTreeTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.prefix.tree;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.prefix.tree;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.prefix.tree;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Point;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
index 54884e5..b7bd50d 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/query/SpatialArgsParserTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.query;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.query;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Rectangle;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
index 8ed59da..bed8339 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.serialized;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.serialized;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.serialized;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
index d659534..7c98d0244 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.spatial4j;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.spatial4j;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
index 47d8e32..3113aed 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.spatial4j;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.spatial4j;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
index 1d01203..aac0a0a 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.spatial4j;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.spatial4j;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
index c063d1b..a9ff58d 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.spatial4j;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.spatial4j;
 
 import org.apache.lucene.geo3d.GeoArea;
 import org.apache.lucene.geo3d.GeoBBox;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
index 6d8d599..db72520 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.spatial.spatial4j;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.spatial.spatial4j;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.distance.DistanceUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
index 0fcb55c..e652581 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.spatial4j.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.spatial4j.geo3d;
 
 import org.apache.lucene.geo3d.GeoPoint;
 import org.apache.lucene.geo3d.PlanetModel;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java b/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
index e10fe7d..d62a0a8 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.spatial.vector;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.spatial.vector;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.spatial.vector;
 
 import com.spatial4j.core.context.SpatialContext;
 import com.spatial4j.core.shape.Circle;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
index 6223502..c49fd1f 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/ArcDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Arc distance computation style.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
index 5e2481b..b5e3d28 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BasePlanetObject.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * All Geo3D shapes can derive from this base class, which furnishes

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
index 3ac415e..52bd5da 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/BaseXYZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Base class of a family of 3D rectangles, bounded on six sides by X,Y,Z limits

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
index 3c7ceda..6717220 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Bounds.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * An interface for accumulating bounds information.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
index a6e3836..28056cb 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/DistanceStyle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Distance computation styles, supporting various ways of computing

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
index b3ca7f6..ce36c20 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;


[09/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/PlainTextDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/PlainTextDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/PlainTextDictionary.java
index 38b61b5..7ffa5d0 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/PlainTextDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/PlainTextDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
index d90fcf6..1f11e27 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/StringDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/StringDistance.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/StringDistance.java
index 2731ba0..ca09288 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/StringDistance.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/StringDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 /**
  * Interface for string distances.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestMode.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestMode.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestMode.java
index 7f89906..5e42f16 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestMode.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 /**
  * Set of strategies for suggesting related terms

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWord.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWord.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWord.java
index bfa0aae..f61eead 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWord.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWord.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.search.spell;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,8 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
+
 
 /**
  * SuggestWord, used in suggestSimilar method in SpellChecker class.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordFrequencyComparator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordFrequencyComparator.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordFrequencyComparator.java
index 67fdc38..7f9c14f 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordFrequencyComparator.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordFrequencyComparator.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.search.spell;
-
-import java.util.Comparator;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,8 +14,9 @@ import java.util.Comparator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
-
+import java.util.Comparator;
 /**
  *  Frequency first, then score.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java
index e347135..b7910b7 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordQueue.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.search.spell;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,8 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
+
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordScoreComparator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordScoreComparator.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordScoreComparator.java
index 2e125e8..f6e7703 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordScoreComparator.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/SuggestWordScoreComparator.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.spell;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.spell;
 import java.util.Comparator;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
index e4309a7..191f431 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/WordBreakSpellChecker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.io.IOException;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/package-info.java
index bae3d29..f730bdf 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/package-info.java
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 /**
  * Suggest alternate spellings for words.
  * Also see <a href="http://wiki.apache.org/jakarta-lucene/SpellChecker">the spell checker Wiki page</a>.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/BitsProducer.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/BitsProducer.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/BitsProducer.java
index a5c5fb0..7052a31 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/BitsProducer.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/BitsProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/BufferedInputIterator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/BufferedInputIterator.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/BufferedInputIterator.java
index 27ce539..97bf845 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/BufferedInputIterator.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/BufferedInputIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentDictionary.java
index 117621a..9006ae2 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentValueSourceDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentValueSourceDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentValueSourceDictionary.java
index 021fca9..8affcc5 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentValueSourceDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/DocumentValueSourceDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/FileDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/FileDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/FileDictionary.java
index 0b7cfec..7d49518 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/FileDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/FileDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.suggest;
 
 import java.io.*;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/InMemorySorter.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/InMemorySorter.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/InMemorySorter.java
index 42e19a8..fec615c 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/InMemorySorter.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/InMemorySorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.util.Comparator;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/InputIterator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/InputIterator.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/InputIterator.java
index 02feb5b..d2224f9 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/InputIterator.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/InputIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/Lookup.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/Lookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/Lookup.java
index 8b4b914..1380424 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/Lookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/Lookup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/SortedInputIterator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/SortedInputIterator.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/SortedInputIterator.java
index 6a302d9..854a481 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/SortedInputIterator.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/SortedInputIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/UnsortedInputIterator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/UnsortedInputIterator.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/UnsortedInputIterator.java
index 9b717ab..f7d1efe 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/UnsortedInputIterator.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/UnsortedInputIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
index 5aaabbd..05e75db 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
index f54ad03..2722d6b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
index 63d5cd0..925f8b0 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
index 11adf2d..28e263b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
index 97c896e..cc4ed4b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 // TODO
 //   - test w/ syns

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FuzzySuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FuzzySuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FuzzySuggester.java
index 8542459..6a7cfc4 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FuzzySuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FuzzySuggester.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.suggest.analyzing;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
index 71cb4b9..dd8e082 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilterFactory.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilterFactory.java
index 03bdc71..32baf08 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilterFactory.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/SuggestStopFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.core.StopAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/package-info.java
index 3ac2442..7b8c90c 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Analyzer based autosuggest.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/Completion50PostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/Completion50PostingsFormat.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/Completion50PostingsFormat.java
index 19e2904..f859262 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/Completion50PostingsFormat.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/Completion50PostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.suggest.document;
 
 import org.apache.lucene.codecs.PostingsFormat;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionAnalyzer.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionAnalyzer.java
index 2bf4151..6366b6c 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionAnalyzer.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.AnalyzerWrapper;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsConsumer.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsConsumer.java
index c1bf486..672c582 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsConsumer.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsConsumer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsProducer.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsProducer.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsProducer.java
index 1ef3d5f..7a29b61 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsProducer.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionFieldsProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionPostingsFormat.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionPostingsFormat.java
index d2e3e9f..e28106f 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionPostingsFormat.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionQuery.java
index 9c8d5f0..71ba15a 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionScorer.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionScorer.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionScorer.java
index 9b5c987..5c0601b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionScorer.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTerms.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTerms.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTerms.java
index 6accac4..0f86739 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTerms.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTokenStream.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTokenStream.java
index 2e3bc9c..7308e65 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTokenStream.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
index 95166a8..be18ea2 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionsTermsReader.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionsTermsReader.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionsTermsReader.java
index 35e2d46..5eeeb69 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionsTermsReader.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionsTermsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextQuery.java
index 2dce56b..d004cdb 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextSuggestField.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextSuggestField.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextSuggestField.java
index 9296f96..4cb91b8 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextSuggestField.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/ContextSuggestField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
index 85c5d6e..2359e4c 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggester.java
index db09482..52e4ea0 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggesterBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggesterBuilder.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggesterBuilder.java
index a962bbf..2704631 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggesterBuilder.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/NRTSuggesterBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.PriorityQueue;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
index 49d707c..b8fc005 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
index b9b5ae6..18a643f 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestField.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestField.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestField.java
index 00a733f..798a0b8 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestField.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestIndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestIndexSearcher.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestIndexSearcher.java
index 25566dc..3407633 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestIndexSearcher.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestIndexSearcher.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestScoreDocPriorityQueue.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestScoreDocPriorityQueue.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestScoreDocPriorityQueue.java
index 634383c..b395a3f 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestScoreDocPriorityQueue.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/SuggestScoreDocPriorityQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import org.apache.lucene.search.suggest.document.TopSuggestDocs.SuggestScoreDoc;
 import org.apache.lucene.util.PriorityQueue;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocs.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocs.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocs.java
index 049f73a..6154d29 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocs.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.TopDocs;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocsCollector.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocsCollector.java
index 1cb3277..d50e93b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocsCollector.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/TopSuggestDocsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/package-info.java
index 3302564..063f6c4 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Support for document suggestion
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java
index af0d8c2..92b6698 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.io.IOException;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java
index e07a68c..e5cb341 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java
index 51b8c18..4a877d6 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.io.IOException;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
index 9a57b72..28670af 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
index 24dd0f9..ea8e52f 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
index cc03649..1cc89a4 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/package-info.java
index 24b0b4e..0d7c9b6 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Finite-state based autosuggest.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
index 6182fa4..d50100b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.jaspell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.jaspell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.jaspell;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellTernarySearchTrie.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellTernarySearchTrie.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellTernarySearchTrie.java
index 5832816..29a99aa 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellTernarySearchTrie.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellTernarySearchTrie.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.jaspell;
-
 /** 
  * Copyright (c) 2005 Bruno Martins
  * All rights reserved.
@@ -28,6 +26,7 @@ package org.apache.lucene.search.suggest.jaspell;
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
+package org.apache.lucene.search.suggest.jaspell;
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/package-info.java
index bd074af..6ea7b7a 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * JaSpell-based autosuggest.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/package-info.java
index a80b317..bad2d9a 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Support for Autocomplete/Autosuggest
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTAutocomplete.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTAutocomplete.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTAutocomplete.java
index ae454b7..4af7aef 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTAutocomplete.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTAutocomplete.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.tst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.tst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.tst;
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTLookup.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTLookup.java
index 77c16e9..1196917 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TSTLookup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.tst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.tst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.tst;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TernaryTreeNode.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TernaryTreeNode.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TernaryTreeNode.java
index 922db55..26416b1 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TernaryTreeNode.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/TernaryTreeNode.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.search.suggest.tst;
-
-import org.apache.lucene.util.RamUsageEstimator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.util.RamUsageEstimator;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.tst;
+
+import org.apache.lucene.util.RamUsageEstimator;
 
 /**
  * The class creates a TST node.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/package-info.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/package-info.java
index b136dce..2fe7d38 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/package-info.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/tst/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Ternary Search Tree based autosuggest.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java
index cdbf9ea..c1d7956 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestJaroWinklerDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestJaroWinklerDistance.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestJaroWinklerDistance.java
index b980d4d..4e04b98 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestJaroWinklerDistance.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestJaroWinklerDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLevenshteinDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLevenshteinDistance.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLevenshteinDistance.java
index 9343b1f..8b2cfd9 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLevenshteinDistance.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLevenshteinDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java
index 4dbbf40..902bec8 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestLuceneDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestNGramDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestNGramDistance.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestNGramDistance.java
index e70ca9f..63ff48b 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestNGramDistance.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestNGramDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestPlainTextDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestPlainTextDictionary.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestPlainTextDictionary.java
index 55ec0d6..abf2cab 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestPlainTextDictionary.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestPlainTextDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java
index 823fade..02484ad 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestSpellChecker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/spell/TestWordBreakSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestWordBreakSpellChecker.java b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestWordBreakSpellChecker.java
index 4cfb515..35e8245 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/spell/TestWordBreakSpellChecker.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/spell/TestWordBreakSpellChecker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/Average.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/Average.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/Average.java
index 5f47325..6a79d90 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/Average.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/Average.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.search.suggest;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,8 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
+
 
 import java.util.List;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentDictionaryTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentDictionaryTest.java
index 0a89d2c..a7e9b00 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentDictionaryTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentDictionaryTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.search.suggest;
 
 import java.io.IOException;
@@ -31,23 +47,6 @@ import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.LuceneTestCase;
 import org.junit.Test;
 
-/*
- * 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.
- */
-
 public class DocumentDictionaryTest extends LuceneTestCase {
   
   static final String FIELD_NAME = "f1";

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
index cfa1fc3..9e58a4e 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.IOException;
 import java.util.ArrayList;


[66/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
deleted file mode 100644
index 81612ff..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialArgsParser.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * 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.lucene.spatial.query;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.exception.InvalidShapeException;
-import com.spatial4j.core.shape.Shape;
-
-import java.text.ParseException;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-/**
- * Parses a string that usually looks like "OPERATION(SHAPE)" into a {@link SpatialArgs}
- * object. The set of operations supported are defined in {@link SpatialOperation}, such
- * as "Intersects" being a common one. The shape portion is defined by WKT {@link com.spatial4j.core.io.WktShapeParser},
- * but it can be overridden/customized via {@link #parseShape(String, com.spatial4j.core.context.SpatialContext)}.
- * There are some optional name-value pair parameters that follow the closing parenthesis.  Example:
- * <pre>
- *   Intersects(ENVELOPE(-10,-8,22,20)) distErrPct=0.025
- * </pre>
- * <p>
- * In the future it would be good to support something at least semi-standardized like a
- * variant of <a href="http://docs.geoserver.org/latest/en/user/filter/ecql_reference.html#spatial-predicate">
- *   [E]CQL</a>.
- *
- * @lucene.experimental
- */
-public class SpatialArgsParser {
-
-  public static final String DIST_ERR_PCT = "distErrPct";
-  public static final String DIST_ERR = "distErr";
-
-  /** Writes a close approximation to the parsed input format. */
-  static String writeSpatialArgs(SpatialArgs args) {
-    StringBuilder str = new StringBuilder();
-    str.append(args.getOperation().getName());
-    str.append('(');
-    str.append(args.getShape().toString());
-    if (args.getDistErrPct() != null)
-      str.append(" distErrPct=").append(String.format(Locale.ROOT, "%.2f%%", args.getDistErrPct() * 100d));
-    if (args.getDistErr() != null)
-      str.append(" distErr=").append(args.getDistErr());
-    str.append(')');
-    return str.toString();
-  }
-
-  /**
-   * Parses a string such as "Intersects(ENVELOPE(-10,-8,22,20)) distErrPct=0.025".
-   *
-   * @param v   The string to parse. Mandatory.
-   * @param ctx The spatial context. Mandatory.
-   * @return Not null.
-   * @throws IllegalArgumentException if the parameters don't make sense or an add-on parameter is unknown
-   * @throws ParseException If there is a problem parsing the string
-   * @throws InvalidShapeException When the coordinates are invalid for the shape
-   */
-  public SpatialArgs parse(String v, SpatialContext ctx) throws ParseException, InvalidShapeException {
-    int idx = v.indexOf('(');
-    int edx = v.lastIndexOf(')');
-
-    if (idx < 0 || idx > edx) {
-      throw new ParseException("missing parens: " + v, -1);
-    }
-
-    SpatialOperation op = SpatialOperation.get(v.substring(0, idx).trim());
-
-    String body = v.substring(idx + 1, edx).trim();
-    if (body.length() < 1) {
-      throw new ParseException("missing body : " + v, idx + 1);
-    }
-
-    Shape shape = parseShape(body, ctx);
-    SpatialArgs args = newSpatialArgs(op, shape);
-
-    if (v.length() > (edx + 1)) {
-      body = v.substring(edx + 1).trim();
-      if (body.length() > 0) {
-        Map<String, String> aa = parseMap(body);
-        readNameValuePairs(args, aa);
-        if (!aa.isEmpty()) {
-          throw new IllegalArgumentException("unused parameters: " + aa);
-        }
-      }
-    }
-    args.validate();
-    return args;
-  }
-
-  protected SpatialArgs newSpatialArgs(SpatialOperation op, Shape shape) {
-    return new SpatialArgs(op, shape);
-  }
-
-  protected void readNameValuePairs(SpatialArgs args, Map<String, String> nameValPairs) {
-    args.setDistErrPct(readDouble(nameValPairs.remove(DIST_ERR_PCT)));
-    args.setDistErr(readDouble(nameValPairs.remove(DIST_ERR)));
-  }
-
-  protected Shape parseShape(String str, SpatialContext ctx) throws ParseException {
-    //return ctx.readShape(str);//still in Spatial4j 0.4 but will be deleted
-    return ctx.readShapeFromWkt(str);
-  }
-
-  protected static Double readDouble(String v) {
-    return v == null ? null : Double.valueOf(v);
-  }
-
-  protected static boolean readBool(String v, boolean defaultValue) {
-    return v == null ? defaultValue : Boolean.parseBoolean(v);
-  }
-
-  /** Parses "a=b c=d f" (whitespace separated) into name-value pairs. If there
-   * is no '=' as in 'f' above then it's short for f=f. */
-  protected static Map<String, String> parseMap(String body) {
-    Map<String, String> map = new HashMap<>();
-    StringTokenizer st = new StringTokenizer(body, " \n\t");
-    while (st.hasMoreTokens()) {
-      String a = st.nextToken();
-      int idx = a.indexOf('=');
-      if (idx > 0) {
-        String k = a.substring(0, idx);
-        String v = a.substring(idx + 1);
-        map.put(k, v);
-      } else {
-        map.put(a, a);
-      }
-    }
-    return map;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
deleted file mode 100644
index 7d750ac..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/SpatialOperation.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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.lucene.spatial.query;
-
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-/**
- * A predicate that compares a stored geometry to a supplied geometry. It's enum-like. For more
- * explanation of each predicate, consider looking at the source implementation
- * of {@link #evaluate(com.spatial4j.core.shape.Shape, com.spatial4j.core.shape.Shape)}. It's important
- * to be aware that Lucene-spatial makes no distinction of shape boundaries, unlike many standardized
- * definitions. Nor does it make dimensional distinctions (e.g. line vs polygon).
- * You can lookup a predicate by "Covers" or "Contains", for example, and you will get the
- * same underlying predicate implementation.
- *
- * @see <a href="http://en.wikipedia.org/wiki/DE-9IM">DE-9IM at Wikipedia, based on OGC specs</a>
- * @see <a href="http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm">
- *   ESRIs docs on spatial relations</a>
- *
- * @lucene.experimental
- */
-public abstract class SpatialOperation implements Serializable {
-  //TODO rename to SpatialPredicate. Use enum?  LUCENE-5771
-
-  // Private registry
-  private static final Map<String, SpatialOperation> registry = new HashMap<>();//has aliases
-  private static final List<SpatialOperation> list = new ArrayList<>();
-
-  // Geometry Operations
-
-  /** Bounding box of the *indexed* shape, then {@link #Intersects}. */
-  public static final SpatialOperation BBoxIntersects = new SpatialOperation("BBoxIntersects") {
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return indexedShape.getBoundingBox().relate(queryShape).intersects();
-    }
-  };
-  /** Bounding box of the *indexed* shape, then {@link #IsWithin}. */
-  public static final SpatialOperation BBoxWithin     = new SpatialOperation("BBoxWithin") {
-    {
-      register("BBoxCoveredBy");//alias -- the better name
-    }
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      Rectangle bbox = indexedShape.getBoundingBox();
-      return bbox.relate(queryShape) == SpatialRelation.WITHIN || bbox.equals(queryShape);
-    }
-  };
-  /** Meets the "Covers" OGC definition (boundary-neutral). */
-  public static final SpatialOperation Contains       = new SpatialOperation("Contains") {
-    {
-      register("Covers");//alias -- the better name
-    }
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return indexedShape.relate(queryShape) == SpatialRelation.CONTAINS || indexedShape.equals(queryShape);
-    }
-  };
-  /** Meets the "Intersects" OGC definition. */
-  public static final SpatialOperation Intersects     = new SpatialOperation("Intersects") {
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return indexedShape.relate(queryShape).intersects();
-    }
-  };
-  /** Meets the "Equals" OGC definition. */
-  public static final SpatialOperation IsEqualTo      = new SpatialOperation("Equals") {
-    {
-      register("IsEqualTo");//alias (deprecated)
-    }
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return indexedShape.equals(queryShape);
-    }
-  };
-  /** Meets the "Disjoint" OGC definition. */
-  public static final SpatialOperation IsDisjointTo   = new SpatialOperation("Disjoint") {
-    {
-      register("IsDisjointTo");//alias (deprecated)
-    }
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return ! indexedShape.relate(queryShape).intersects();
-    }
-  };
-  /** Meets the "CoveredBy" OGC definition (boundary-neutral). */
-  public static final SpatialOperation IsWithin       = new SpatialOperation("Within") {
-    {
-      register("IsWithin");//alias (deprecated)
-      register("CoveredBy");//alias -- the more appropriate name.
-    }
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return indexedShape.relate(queryShape) == SpatialRelation.WITHIN || indexedShape.equals(queryShape);
-    }
-  };
-  /** Almost meets the "Overlaps" OGC definition, but boundary-neutral (boundary==interior). */
-  public static final SpatialOperation Overlaps       = new SpatialOperation("Overlaps") {
-    @Override
-    public boolean evaluate(Shape indexedShape, Shape queryShape) {
-      return indexedShape.relate(queryShape) == SpatialRelation.INTERSECTS;//not Contains or Within or Disjoint
-    }
-  };
-
-  private final String name;
-
-  protected SpatialOperation(String name) {
-    this.name = name;
-    register(name);
-    list.add( this );
-  }
-
-  protected void register(String name) {
-    registry.put(name, this);
-    registry.put(name.toUpperCase(Locale.ROOT), this);
-  }
-
-  public static SpatialOperation get( String v ) {
-    SpatialOperation op = registry.get( v );
-    if( op == null ) {
-      op = registry.get(v.toUpperCase(Locale.ROOT));
-    }
-    if( op == null ) {
-      throw new IllegalArgumentException("Unknown Operation: " + v );
-    }
-    return op;
-  }
-
-  public static List<SpatialOperation> values() {
-    return list;
-  }
-
-  public static boolean is( SpatialOperation op, SpatialOperation ... tst ) {
-    for( SpatialOperation t : tst ) {
-      if( op == t ) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  /**
-   * Returns whether the relationship between indexedShape and queryShape is
-   * satisfied by this operation.
-   */
-  public abstract boolean evaluate(Shape indexedShape, Shape queryShape);
-
-  public String getName() {
-    return name;
-  }
-
-  @Override
-  public String toString() {
-    return name;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
deleted file mode 100644
index d6cb152..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/UnsupportedSpatialOperation.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.lucene.spatial.query;
-
-/**
- * Exception thrown when the {@link org.apache.lucene.spatial.SpatialStrategy} cannot implement the requested operation.
- * @lucene.experimental
- */
-public class UnsupportedSpatialOperation extends UnsupportedOperationException {
-
-  public UnsupportedSpatialOperation(SpatialOperation op) {
-    super(op.getName());
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
deleted file mode 100644
index 75ee680..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/query/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * 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.
- */
-/** 
- * Spatial Query options useful for client side requests
- */
-package org.apache.lucene.spatial.query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQuery.java
new file mode 100644
index 0000000..bbce004
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQuery.java
@@ -0,0 +1,182 @@
+/*
+ * 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.lucene.spatial.search;
+
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.util.GeoBoundingBox;
+import org.apache.lucene.spatial.util.GeoDistanceUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
+
+/** Implements a simple point distance query on a GeoPoint field. This is based on
+ * {@link GeoPointInBBoxQuery} and is implemented using a two phase approach. First,
+ * like {@code GeoPointInBBoxQueryImpl} candidate terms are queried using the numeric ranges based on
+ * the morton codes of the min and max lat/lon pairs that intersect the boundary of the point-radius
+ * circle. Terms
+ * passing this initial filter are then passed to a secondary {@code postFilter} method that verifies whether the
+ * decoded lat/lon point fall within the specified query distance (see {@link org.apache.lucene.util.SloppyMath#haversin}.
+ * All morton value comparisons are subject to the same precision tolerance defined in
+ * {@value GeoUtils#TOLERANCE} and distance comparisons are subject to the accuracy of the
+ * haversine formula (from R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159)
+ *
+ * <p>Note: This query currently uses haversine which is a sloppy distance calculation (see above reference). For large
+ * queries one can expect upwards of 400m error. Vincenty shrinks this to ~40m error but pays a penalty for computing
+ * using the spheroid
+ *
+ * @lucene.experimental */
+public class GeoPointDistanceQuery extends GeoPointInBBoxQuery {
+  /** longitude value (in degrees) for query location */
+  protected final double centerLon;
+  /** latitude value (in degrees) for query location */
+  protected final double centerLat;
+  /** distance (in meters) from lon, lat center location */
+  protected final double radiusMeters;
+
+  /**
+   * Constructs a Query for all {@link org.apache.lucene.spatial.document.GeoPointField} types within a
+   * distance (in meters) from a given point
+   **/
+  public GeoPointDistanceQuery(final String field, final double centerLon, final double centerLat, final double radiusMeters) {
+    this(field, GeoUtils.circleToBBox(centerLon, centerLat, radiusMeters), centerLon, centerLat, radiusMeters);
+  }
+
+  private GeoPointDistanceQuery(final String field, GeoBoundingBox bbox, final double centerLon,
+                                final double centerLat, final double radiusMeters) {
+    super(field, bbox.minLon, bbox.minLat, bbox.maxLon, bbox.maxLat);
+    {
+      // check longitudinal overlap (limits radius)
+      final double maxRadius = GeoDistanceUtils.maxRadialDistanceMeters(centerLon, centerLat);
+      if (radiusMeters > maxRadius) {
+        throw new IllegalArgumentException("radiusMeters " + radiusMeters + " exceeds maxRadius [" + maxRadius
+            + "] at location [" + centerLon + " " + centerLat + "]");
+      }
+    }
+
+    if (GeoUtils.isValidLon(centerLon) == false) {
+      throw new IllegalArgumentException("invalid centerLon " + centerLon);
+    }
+
+    if (GeoUtils.isValidLat(centerLat) == false) {
+      throw new IllegalArgumentException("invalid centerLat " + centerLat);
+    }
+
+    if (radiusMeters <= 0.0) {
+      throw new IllegalArgumentException("invalid radiusMeters " + radiusMeters);
+    }
+
+    this.centerLon = centerLon;
+    this.centerLat = centerLat;
+    this.radiusMeters = radiusMeters;
+  }
+
+  @Override
+  public Query rewrite(IndexReader reader) {
+    // query crosses dateline; split into left and right queries
+    if (maxLon < minLon) {
+      BooleanQuery.Builder bqb = new BooleanQuery.Builder();
+
+      // unwrap the longitude iff outside the specified min/max lon range
+      double unwrappedLon = centerLon;
+      if (unwrappedLon > maxLon) {
+        // unwrap left
+        unwrappedLon += -360.0D;
+      }
+      GeoPointDistanceQueryImpl left = new GeoPointDistanceQueryImpl(field, this, unwrappedLon,
+          new GeoBoundingBox(GeoUtils.MIN_LON_INCL, maxLon, minLat, maxLat));
+      bqb.add(new BooleanClause(left, BooleanClause.Occur.SHOULD));
+
+      if (unwrappedLon < maxLon) {
+        // unwrap right
+        unwrappedLon += 360.0D;
+      }
+      GeoPointDistanceQueryImpl right = new GeoPointDistanceQueryImpl(field, this, unwrappedLon,
+          new GeoBoundingBox(minLon, GeoUtils.MAX_LON_INCL, minLat, maxLat));
+      bqb.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
+
+      return bqb.build();
+    }
+    return new GeoPointDistanceQueryImpl(field, this, centerLon,
+        new GeoBoundingBox(this.minLon, this.maxLon, this.minLat, this.maxLat));
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (!(o instanceof GeoPointDistanceQuery)) return false;
+    if (!super.equals(o)) return false;
+
+    GeoPointDistanceQuery that = (GeoPointDistanceQuery) o;
+
+    if (Double.compare(that.centerLat, centerLat) != 0) return false;
+    if (Double.compare(that.centerLon, centerLon) != 0) return false;
+    if (Double.compare(that.radiusMeters, radiusMeters) != 0) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    long temp;
+    temp = Double.doubleToLongBits(centerLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(centerLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(radiusMeters);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    return result;
+  }
+
+  @Override
+  public String toString(String field) {
+    final StringBuilder sb = new StringBuilder();
+    sb.append(getClass().getSimpleName());
+    sb.append(':');
+    if (!this.field.equals(field)) {
+      sb.append(" field=");
+      sb.append(this.field);
+      sb.append(':');
+    }
+    return sb.append( " Center: [")
+        .append(centerLon)
+        .append(',')
+        .append(centerLat)
+        .append(']')
+        .append(" Distance: ")
+        .append(radiusMeters)
+        .append(" meters")
+        .append("]")
+        .toString();
+  }
+
+  /** getter method for center longitude value */
+  public double getCenterLon() {
+    return this.centerLon;
+  }
+
+  /** getter method for center latitude value */
+  public double getCenterLat() {
+    return this.centerLat;
+  }
+
+  /** getter method for distance value (in meters) */
+  public double getRadiusMeters() {
+    return this.radiusMeters;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQueryImpl.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQueryImpl.java
new file mode 100644
index 0000000..1566e0d
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceQueryImpl.java
@@ -0,0 +1,130 @@
+/*
+ * 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.lucene.spatial.search;
+
+import java.io.IOException;
+
+import org.apache.lucene.spatial.document.GeoPointField;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.spatial.util.GeoBoundingBox;
+import org.apache.lucene.util.AttributeSource;
+import org.apache.lucene.spatial.util.GeoRelationUtils;
+import org.apache.lucene.util.SloppyMath;
+
+/** Package private implementation for the public facing GeoPointDistanceQuery delegate class.
+ *
+ *    @lucene.experimental
+ */
+final class GeoPointDistanceQueryImpl extends GeoPointInBBoxQueryImpl {
+  private final GeoPointDistanceQuery query;
+  private final double centerLon;
+
+  GeoPointDistanceQueryImpl(final String field, final GeoPointDistanceQuery q, final double centerLonUnwrapped,
+                            final GeoBoundingBox bbox) {
+    super(field, bbox.minLon, bbox.minLat, bbox.maxLon, bbox.maxLat);
+    query = q;
+    centerLon = centerLonUnwrapped;
+  }
+
+  @Override @SuppressWarnings("unchecked")
+  protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
+    return new GeoPointRadiusTermsEnum(terms.iterator(), this.minLon, this.minLat, this.maxLon, this.maxLat);
+  }
+
+  @Override
+  public void setRewriteMethod(RewriteMethod method) {
+    throw new UnsupportedOperationException("cannot change rewrite method");
+  }
+
+  private final class GeoPointRadiusTermsEnum extends GeoPointTermsEnum {
+    GeoPointRadiusTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
+                            final double maxLon, final double maxLat) {
+      super(tenum, minLon, minLat, maxLon, maxLat);
+    }
+
+    /**
+     * Computes the maximum shift for the given pointDistanceQuery. This prevents unnecessary depth traversal
+     * given the size of the distance query.
+     */
+    @Override
+    protected short computeMaxShift() {
+      final short shiftFactor;
+
+      if (query.radiusMeters > 1000000) {
+        shiftFactor = 5;
+      } else {
+        shiftFactor = 4;
+      }
+
+      return (short)(GeoPointField.PRECISION_STEP * shiftFactor);
+    }
+
+    @Override
+    protected boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return GeoRelationUtils.rectCrossesCircle(minLon, minLat, maxLon, maxLat,
+          centerLon, query.centerLat, query.radiusMeters, true);
+    }
+
+    @Override
+    protected boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return GeoRelationUtils.rectWithinCircle(minLon, minLat, maxLon, maxLat,
+          centerLon, query.centerLat, query.radiusMeters, true);
+    }
+
+    @Override
+    protected boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return (cellContains(minLon, minLat, maxLon, maxLat)
+          || cellWithin(minLon, minLat, maxLon, maxLat) || cellCrosses(minLon, minLat, maxLon, maxLat));
+    }
+
+    /**
+     * The two-phase query approach. The parent {@link GeoPointTermsEnum} class matches
+     * encoded terms that fall within the minimum bounding box of the point-radius circle. Those documents that pass
+     * the initial bounding box filter are then post filter compared to the provided distance using the
+     * {@link org.apache.lucene.util.SloppyMath#haversin} method.
+     */
+    @Override
+    protected boolean postFilter(final double lon, final double lat) {
+      return (SloppyMath.haversin(query.centerLat, centerLon, lat, lon) * 1000.0 <= query.radiusMeters);
+    }
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (!(o instanceof GeoPointDistanceQueryImpl)) return false;
+    if (!super.equals(o)) return false;
+
+    GeoPointDistanceQueryImpl that = (GeoPointDistanceQueryImpl) o;
+
+    if (!query.equals(that.query)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + query.hashCode();
+    return result;
+  }
+
+  public double getRadiusMeters() {
+    return query.getRadiusMeters();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceRangeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceRangeQuery.java
new file mode 100644
index 0000000..beec15e
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointDistanceRangeQuery.java
@@ -0,0 +1,111 @@
+/*
+ * 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.lucene.spatial.search;
+
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.Query;
+
+/** Implements a point distance range query on a GeoPoint field. This is based on
+ * {@code GeoPointDistanceQuery} and is implemented using a
+ * {@code org.apache.lucene.search.BooleanClause.MUST_NOT} clause to exclude any points that fall within
+ * minRadiusMeters from the provided point.
+ *
+ *    @lucene.experimental
+ */
+public final class GeoPointDistanceRangeQuery extends GeoPointDistanceQuery {
+  /** minimum distance range (in meters) from lon, lat center location, maximum is inherited */
+  protected final double minRadiusMeters;
+
+  /**
+   * Constructs a query for all {@link org.apache.lucene.spatial.document.GeoPointField} types within a minimum / maximum
+   * distance (in meters) range from a given point
+   */
+  public GeoPointDistanceRangeQuery(final String field, final double centerLon, final double centerLat,
+                                    final double minRadiusMeters, final double maxRadius) {
+    super(field, centerLon, centerLat, maxRadius);
+    this.minRadiusMeters = minRadiusMeters;
+  }
+
+  @Override
+  public Query rewrite(IndexReader reader) {
+    Query q = super.rewrite(reader);
+    if (minRadiusMeters == 0.0) {
+      return q;
+    }
+
+    // add an exclusion query
+    BooleanQuery.Builder bqb = new BooleanQuery.Builder();
+
+    // create a new exclusion query
+    GeoPointDistanceQuery exclude = new GeoPointDistanceQuery(field, centerLon, centerLat, minRadiusMeters);
+    // full map search
+//    if (radiusMeters >= GeoProjectionUtils.SEMIMINOR_AXIS) {
+//      bqb.add(new BooleanClause(new GeoPointInBBoxQuery(this.field, -180.0, -90.0, 180.0, 90.0), BooleanClause.Occur.MUST));
+//    } else {
+      bqb.add(new BooleanClause(q, BooleanClause.Occur.MUST));
+//    }
+    bqb.add(new BooleanClause(exclude, BooleanClause.Occur.MUST_NOT));
+
+    return bqb.build();
+  }
+
+  @Override
+  public String toString(String field) {
+    final StringBuilder sb = new StringBuilder();
+    sb.append(getClass().getSimpleName());
+    sb.append(':');
+    if (!this.field.equals(field)) {
+      sb.append(" field=");
+      sb.append(this.field);
+      sb.append(':');
+    }
+    return sb.append( " Center: [")
+        .append(centerLon)
+        .append(',')
+        .append(centerLat)
+        .append(']')
+        .append(" From Distance: ")
+        .append(minRadiusMeters)
+        .append(" m")
+        .append(" To Distance: ")
+        .append(radiusMeters)
+        .append(" m")
+        .append(" Lower Left: [")
+        .append(minLon)
+        .append(',')
+        .append(minLat)
+        .append(']')
+        .append(" Upper Right: [")
+        .append(maxLon)
+        .append(',')
+        .append(maxLat)
+        .append("]")
+        .toString();
+  }
+
+  /** getter method for minimum distance */
+  public double getMinRadiusMeters() {
+    return this.minRadiusMeters;
+  }
+
+  /** getter method for maximum distance */
+  public double getMaxRadiusMeters() {
+    return this.radiusMeters;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQuery.java
new file mode 100644
index 0000000..1c235c3
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQuery.java
@@ -0,0 +1,171 @@
+/*
+ * 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.lucene.spatial.search;
+
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.FieldValueQuery;
+import org.apache.lucene.search.LegacyNumericRangeQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.util.GeoUtils;
+
+/** Implements a simple bounding box query on a GeoPoint field. This is inspired by
+ * {@link LegacyNumericRangeQuery} and is implemented using a
+ * two phase approach. First, candidate terms are queried using a numeric
+ * range based on the morton codes of the min and max lat/lon pairs. Terms
+ * passing this initial filter are passed to a final check that verifies whether
+ * the decoded lat/lon falls within (or on the boundary) of the query bounding box.
+ * The value comparisons are subject to a precision tolerance defined in
+ * {@value GeoUtils#TOLERANCE}
+ *
+ * NOTES:
+ *    1.  All latitude/longitude values must be in decimal degrees.
+ *    2.  Complex computational geometry (e.g., dateline wrapping) is not supported
+ *    3.  For more advanced GeoSpatial indexing and query operations see spatial module
+ *    4.  This is well suited for small rectangles, large bounding boxes may result
+ *        in many terms, depending whether the bounding box falls on the boundary of
+ *        many cells (degenerate case)
+ *
+ * @lucene.experimental
+ */
+public class GeoPointInBBoxQuery extends Query {
+  /** field name */
+  protected final String field;
+  /** minimum longitude value (in degrees) */
+  protected final double minLon;
+  /** minimum latitude value (in degrees) */
+  protected final double minLat;
+  /** maximum longitude value (in degrees) */
+  protected final double maxLon;
+  /** maximum latitude value (in degrees) */
+  protected final double maxLat;
+
+  /**
+   * Constructs a query for all {@link org.apache.lucene.spatial.document.GeoPointField} types that fall within a
+   * defined bounding box
+   */
+  public GeoPointInBBoxQuery(final String field, final double minLon, final double minLat, final double maxLon, final double maxLat) {
+    this.field = field;
+    this.minLon = minLon;
+    this.minLat = minLat;
+    this.maxLon = maxLon;
+    this.maxLat = maxLat;
+  }
+
+  @Override
+  public Query rewrite(IndexReader reader) {
+    // short-circuit to match all if specifying the whole map
+    if (minLon == GeoUtils.MIN_LON_INCL && maxLon == GeoUtils.MAX_LON_INCL
+        && minLat == GeoUtils.MIN_LAT_INCL && maxLat == GeoUtils.MAX_LAT_INCL) {
+      // FieldValueQuery is valid since DocValues are *required* for GeoPointField
+      return new FieldValueQuery(field);
+    }
+
+    if (maxLon < minLon) {
+      BooleanQuery.Builder bqb = new BooleanQuery.Builder();
+
+      GeoPointInBBoxQueryImpl left = new GeoPointInBBoxQueryImpl(field, -180.0D, minLat, maxLon, maxLat);
+      bqb.add(new BooleanClause(left, BooleanClause.Occur.SHOULD));
+      GeoPointInBBoxQueryImpl right = new GeoPointInBBoxQueryImpl(field, minLon, minLat, 180.0D, maxLat);
+      bqb.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
+      return bqb.build();
+    }
+    return new GeoPointInBBoxQueryImpl(field, minLon, minLat, maxLon, maxLat);
+  }
+
+  @Override
+  public String toString(String field) {
+    final StringBuilder sb = new StringBuilder();
+    sb.append(getClass().getSimpleName());
+    sb.append(':');
+    if (!this.field.equals(field)) {
+      sb.append(" field=");
+      sb.append(this.field);
+      sb.append(':');
+    }
+    return sb.append(" Lower Left: [")
+        .append(minLon)
+        .append(',')
+        .append(minLat)
+        .append(']')
+        .append(" Upper Right: [")
+        .append(maxLon)
+        .append(',')
+        .append(maxLat)
+        .append("]")
+        .toString();
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (!(o instanceof GeoPointInBBoxQuery)) return false;
+    if (!super.equals(o)) return false;
+
+    GeoPointInBBoxQuery that = (GeoPointInBBoxQuery) o;
+
+    if (Double.compare(that.maxLat, maxLat) != 0) return false;
+    if (Double.compare(that.maxLon, maxLon) != 0) return false;
+    if (Double.compare(that.minLat, minLat) != 0) return false;
+    if (Double.compare(that.minLon, minLon) != 0) return false;
+    if (!field.equals(that.field)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    long temp;
+    result = 31 * result + field.hashCode();
+    temp = Double.doubleToLongBits(minLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(minLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(maxLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(maxLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    return result;
+  }
+
+  /** getter method for retrieving the field name */
+  public final String getField() {
+    return this.field;
+  }
+
+  /** getter method for retrieving the minimum longitude (in degrees) */
+  public final double getMinLon() {
+    return this.minLon;
+  }
+
+  /** getter method for retrieving the minimum latitude (in degrees) */
+  public final double getMinLat() {
+    return this.minLat;
+  }
+
+  /** getter method for retrieving the maximum longitude (in degrees) */
+  public final double getMaxLon() {
+    return this.maxLon;
+  }
+
+  /** getter method for retrieving the maximum latitude (in degrees) */
+  public final double getMaxLat() {
+    return this.maxLat;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQueryImpl.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQueryImpl.java
new file mode 100644
index 0000000..2e993e1
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInBBoxQueryImpl.java
@@ -0,0 +1,160 @@
+/*
+ * 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.lucene.spatial.search;
+
+import java.io.IOException;
+
+import org.apache.lucene.spatial.document.GeoPointField;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.util.AttributeSource;
+import org.apache.lucene.spatial.util.GeoRelationUtils;
+import org.apache.lucene.util.SloppyMath;
+
+/** Package private implementation for the public facing GeoPointInBBoxQuery delegate class.
+ *
+ *    @lucene.experimental
+ */
+class GeoPointInBBoxQueryImpl extends GeoPointTermQuery {
+  /**
+   * Constructs a new GeoBBoxQuery that will match encoded GeoPoint terms that fall within or on the boundary
+   * of the bounding box defined by the input parameters
+   * @param field the field name
+   * @param minLon lower longitude (x) value of the bounding box
+   * @param minLat lower latitude (y) value of the bounding box
+   * @param maxLon upper longitude (x) value of the bounding box
+   * @param maxLat upper latitude (y) value of the bounding box
+   */
+  GeoPointInBBoxQueryImpl(final String field, final double minLon, final double minLat, final double maxLon, final double maxLat) {
+    super(field, minLon, minLat, maxLon, maxLat);
+  }
+
+  @Override @SuppressWarnings("unchecked")
+  protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
+    return new GeoPointInBBoxTermsEnum(terms.iterator(), minLon, minLat, maxLon, maxLat);
+  }
+
+  @Override
+  public void setRewriteMethod(RewriteMethod method) {
+    throw new UnsupportedOperationException("cannot change rewrite method");
+  }
+
+  protected class GeoPointInBBoxTermsEnum extends GeoPointTermsEnum {
+    protected GeoPointInBBoxTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
+                            final double maxLon, final double maxLat) {
+      super(tenum, minLon, minLat, maxLon, maxLat);
+    }
+
+    @Override
+    protected short computeMaxShift() {
+      final short shiftFactor;
+
+      // compute diagonal radius
+      double midLon = (minLon + maxLon) * 0.5;
+      double midLat = (minLat + maxLat) * 0.5;
+
+      if (SloppyMath.haversin(minLat, minLon, midLat, midLon)*1000 > 1000000) {
+        shiftFactor = 5;
+      } else {
+        shiftFactor = 4;
+      }
+
+      return (short)(GeoPointField.PRECISION_STEP * shiftFactor);
+    }
+
+    /**
+     * Determine whether the quad-cell crosses the shape
+     */
+    @Override
+    protected boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return GeoRelationUtils.rectCrosses(minLon, minLat, maxLon, maxLat, this.minLon, this.minLat, this.maxLon, this.maxLat);
+    }
+
+    /**
+     * Determine whether quad-cell is within the shape
+     */
+    @Override
+    protected boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return GeoRelationUtils.rectWithin(minLon, minLat, maxLon, maxLat, this.minLon, this.minLat, this.maxLon, this.maxLat);
+    }
+
+    @Override
+    protected boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return cellIntersectsMBR(minLon, minLat, maxLon, maxLat);
+    }
+
+    @Override
+    protected boolean postFilter(final double lon, final double lat) {
+      return GeoRelationUtils.pointInRectPrecise(lon, lat, minLon, minLat, maxLon, maxLat);
+    }
+  }
+
+  @Override
+  @SuppressWarnings({"unchecked","rawtypes"})
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+    if (!super.equals(o)) return false;
+
+    GeoPointInBBoxQueryImpl that = (GeoPointInBBoxQueryImpl) o;
+
+    if (Double.compare(that.maxLat, maxLat) != 0) return false;
+    if (Double.compare(that.maxLon, maxLon) != 0) return false;
+    if (Double.compare(that.minLat, minLat) != 0) return false;
+    if (Double.compare(that.minLon, minLon) != 0) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    long temp;
+    temp = Double.doubleToLongBits(minLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(minLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(maxLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(maxLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    return result;
+  }
+
+  @Override
+  public String toString(String field) {
+    final StringBuilder sb = new StringBuilder();
+    sb.append(getClass().getSimpleName());
+    sb.append(':');
+    if (!getField().equals(field)) {
+      sb.append(" field=");
+      sb.append(getField());
+      sb.append(':');
+    }
+    return sb.append(" Lower Left: [")
+        .append(minLon)
+        .append(',')
+        .append(minLat)
+        .append(']')
+        .append(" Upper Right: [")
+        .append(maxLon)
+        .append(',')
+        .append(maxLat)
+        .append("]")
+        .toString();
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInPolygonQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInPolygonQuery.java
new file mode 100644
index 0000000..bf6945e
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointInPolygonQuery.java
@@ -0,0 +1,197 @@
+/*
+ * 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.lucene.spatial.search;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.spatial.document.GeoPointField;
+import org.apache.lucene.spatial.util.GeoBoundingBox;
+import org.apache.lucene.util.AttributeSource;
+import org.apache.lucene.spatial.util.GeoRelationUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
+
+/** Implements a simple point in polygon query on a GeoPoint field. This is based on
+ * {@code GeoPointInBBoxQueryImpl} and is implemented using a
+ * three phase approach. First, like {@code GeoPointInBBoxQueryImpl}
+ * candidate terms are queried using a numeric range based on the morton codes
+ * of the min and max lat/lon pairs. Terms passing this initial filter are passed
+ * to a secondary filter that verifies whether the decoded lat/lon point falls within
+ * (or on the boundary) of the bounding box query. Finally, the remaining candidate
+ * term is passed to the final point in polygon check. All value comparisons are subject
+ * to the same precision tolerance defined in {@value GeoUtils#TOLERANCE}
+ *
+ * <p>NOTES:
+ *    1.  The polygon coordinates need to be in either clockwise or counter-clockwise order.
+ *    2.  The polygon must not be self-crossing, otherwise the query may result in unexpected behavior
+ *    3.  All latitude/longitude values must be in decimal degrees.
+ *    4.  Complex computational geometry (e.g., dateline wrapping, polygon with holes) is not supported
+ *    5.  For more advanced GeoSpatial indexing and query operations see spatial module
+ *
+ * @lucene.experimental
+ */
+public final class GeoPointInPolygonQuery extends GeoPointInBBoxQueryImpl {
+  // polygon position arrays - this avoids the use of any objects or
+  // or geo library dependencies
+  private final double[] x;
+  private final double[] y;
+
+  /**
+   * Constructs a new GeoPolygonQuery that will match encoded {@link GeoPointField} terms
+   * that fall within or on the boundary of the polygon defined by the input parameters.
+   */
+  public GeoPointInPolygonQuery(final String field, final double[] polyLons, final double[] polyLats) {
+    this(field, GeoUtils.polyToBBox(polyLons, polyLats), polyLons, polyLats);
+  }
+
+  /** Common constructor, used only internally. */
+  private GeoPointInPolygonQuery(final String field, GeoBoundingBox bbox, final double[] polyLons, final double[] polyLats) {
+    super(field, bbox.minLon, bbox.minLat, bbox.maxLon, bbox.maxLat);
+    if (polyLats.length != polyLons.length) {
+      throw new IllegalArgumentException("polyLats and polyLons must be equal length");
+    }
+    if (polyLats.length < 4) {
+      throw new IllegalArgumentException("at least 4 polygon points required");
+    }
+    if (polyLats[0] != polyLats[polyLats.length-1]) {
+      throw new IllegalArgumentException("first and last points of the polygon must be the same (it must close itself): polyLats[0]=" + polyLats[0] + " polyLats[" + (polyLats.length-1) + "]=" + polyLats[polyLats.length-1]);
+    }
+    if (polyLons[0] != polyLons[polyLons.length-1]) {
+      throw new IllegalArgumentException("first and last points of the polygon must be the same (it must close itself): polyLons[0]=" + polyLons[0] + " polyLons[" + (polyLons.length-1) + "]=" + polyLons[polyLons.length-1]);
+    }
+
+    this.x = polyLons;
+    this.y = polyLats;
+  }
+
+  @Override @SuppressWarnings("unchecked")
+  protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
+    return new GeoPolygonTermsEnum(terms.iterator(), this.minLon, this.minLat, this.maxLon, this.maxLat);
+  }
+
+  /** throw exception if trying to change rewrite method */
+  @Override
+  public void setRewriteMethod(RewriteMethod method) {
+    throw new UnsupportedOperationException("cannot change rewrite method");
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+    if (!super.equals(o)) return false;
+
+    GeoPointInPolygonQuery that = (GeoPointInPolygonQuery) o;
+
+    if (!Arrays.equals(x, that.x)) return false;
+    if (!Arrays.equals(y, that.y)) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + (x != null ? Arrays.hashCode(x) : 0);
+    result = 31 * result + (y != null ? Arrays.hashCode(y) : 0);
+    return result;
+  }
+
+  /** print out this polygon query */
+  @Override
+  public String toString(String field) {
+    assert x.length == y.length;
+
+    final StringBuilder sb = new StringBuilder();
+    sb.append(getClass().getSimpleName());
+    sb.append(':');
+    if (!getField().equals(field)) {
+      sb.append(" field=");
+      sb.append(getField());
+      sb.append(':');
+    }
+    sb.append(" Points: ");
+    for (int i=0; i<x.length; ++i) {
+      sb.append("[")
+        .append(x[i])
+        .append(", ")
+        .append(y[i])
+        .append("] ");
+    }
+
+    return sb.toString();
+  }
+
+  /**
+   * Custom {@link org.apache.lucene.index.TermsEnum} that computes morton hash ranges based on the defined edges of
+   * the provided polygon.
+   */
+  private final class GeoPolygonTermsEnum extends GeoPointTermsEnum {
+    GeoPolygonTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
+                        final double maxLon, final double maxLat) {
+      super(tenum, minLon, minLat, maxLon, maxLat);
+    }
+
+    @Override
+    protected boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return GeoRelationUtils.rectCrossesPolyApprox(minLon, minLat, maxLon, maxLat, x, y, GeoPointInPolygonQuery.this.minLon,
+          GeoPointInPolygonQuery.this.minLat, GeoPointInPolygonQuery.this.maxLon, GeoPointInPolygonQuery.this.maxLat);
+    }
+
+    @Override
+    protected boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return GeoRelationUtils.rectWithinPolyApprox(minLon, minLat, maxLon, maxLat, x, y, GeoPointInPolygonQuery.this.minLon,
+          GeoPointInPolygonQuery.this.minLat, GeoPointInPolygonQuery.this.maxLon, GeoPointInPolygonQuery.this.maxLat);
+    }
+
+    @Override
+    protected boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+      return cellContains(minLon, minLat, maxLon, maxLat) || cellWithin(minLon, minLat, maxLon, maxLat)
+          || cellCrosses(minLon, minLat, maxLon, maxLat);
+    }
+
+    /**
+     * The two-phase query approach. The parent
+     * {@link GeoPointTermsEnum#accept} method is called to match
+     * encoded terms that fall within the bounding box of the polygon. Those documents that pass the initial
+     * bounding box filter are then compared to the provided polygon using the
+     * {@link GeoRelationUtils#pointInPolygon} method.
+     */
+    @Override
+    protected boolean postFilter(final double lon, final double lat) {
+      return GeoRelationUtils.pointInPolygon(x, y, lat, lon);
+    }
+  }
+
+  /**
+   * API utility method for returning the array of longitudinal values for this GeoPolygon
+   * The returned array is not a copy so do not change it!
+   */
+  public double[] getLons() {
+    return this.x;
+  }
+
+  /**
+   * API utility method for returning the array of latitudinal values for this GeoPolygon
+   * The returned array is not a copy so do not change it!
+   */
+  public double[] getLats() {
+    return this.y;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQuery.java
new file mode 100644
index 0000000..591619b
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQuery.java
@@ -0,0 +1,115 @@
+/*
+ * 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.lucene.spatial.search;
+
+import java.io.IOException;
+
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.MultiTermQuery;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.util.GeoUtils;
+import org.apache.lucene.util.AttributeSource;
+
+/**
+ * TermQuery for GeoPointField for overriding {@link org.apache.lucene.search.MultiTermQuery} methods specific to
+ * Geospatial operations
+ *
+ * @lucene.experimental
+ */
+abstract class GeoPointTermQuery extends MultiTermQuery {
+  // simple bounding box optimization - no objects used to avoid dependencies
+  /** minimum longitude value (in degrees) */
+  protected final double minLon;
+  /** minimum latitude value (in degrees) */
+  protected final double minLat;
+  /** maximum longitude value (in degrees) */
+  protected final double maxLon;
+  /** maximum latitude value (in degrees) */
+  protected final double maxLat;
+
+  /**
+   * Constructs a query matching terms that cannot be represented with a single
+   * Term.
+   */
+  public GeoPointTermQuery(String field, final double minLon, final double minLat, final double maxLon, final double maxLat) {
+    super(field);
+
+    if (GeoUtils.isValidLon(minLon) == false) {
+      throw new IllegalArgumentException("invalid minLon " + minLon);
+    }
+    if (GeoUtils.isValidLon(maxLon) == false) {
+      throw new IllegalArgumentException("invalid maxLon " + maxLon);
+    }
+    if (GeoUtils.isValidLat(minLat) == false) {
+      throw new IllegalArgumentException("invalid minLat " + minLat);
+    }
+    if (GeoUtils.isValidLat(maxLat) == false) {
+      throw new IllegalArgumentException("invalid maxLat " + maxLat);
+    }
+    this.minLon = minLon;
+    this.minLat = minLat;
+    this.maxLon = maxLon;
+    this.maxLat = maxLat;
+
+    this.rewriteMethod = GEO_CONSTANT_SCORE_REWRITE;
+  }
+
+  private static final RewriteMethod GEO_CONSTANT_SCORE_REWRITE = new RewriteMethod() {
+    @Override
+    public Query rewrite(IndexReader reader, MultiTermQuery query) {
+      return new GeoPointTermQueryConstantScoreWrapper<>((GeoPointTermQuery)query);
+    }
+  };
+
+  /** override package protected method */
+  @Override
+  protected abstract TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException;
+
+  /** check if this instance equals another instance */
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+    if (!super.equals(o)) return false;
+
+    GeoPointTermQuery that = (GeoPointTermQuery) o;
+
+    if (Double.compare(that.minLon, minLon) != 0) return false;
+    if (Double.compare(that.minLat, minLat) != 0) return false;
+    if (Double.compare(that.maxLon, maxLon) != 0) return false;
+    return Double.compare(that.maxLat, maxLat) == 0;
+
+  }
+
+  /** compute hashcode */
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    long temp;
+    temp = Double.doubleToLongBits(minLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(minLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(maxLon);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    temp = Double.doubleToLongBits(maxLat);
+    result = 31 * result + (int) (temp ^ (temp >>> 32));
+    return result;
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQueryConstantScoreWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQueryConstantScoreWrapper.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQueryConstantScoreWrapper.java
new file mode 100644
index 0000000..5bc42a3
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermQueryConstantScoreWrapper.java
@@ -0,0 +1,139 @@
+/*
+ * 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.lucene.spatial.search;
+
+import java.io.IOException;
+
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PostingsEnum;
+import org.apache.lucene.index.SortedNumericDocValues;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.search.BulkScorer;
+import org.apache.lucene.search.ConstantScoreScorer;
+import org.apache.lucene.search.ConstantScoreWeight;
+import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.Weight;
+import org.apache.lucene.util.AttributeSource;
+import org.apache.lucene.util.DocIdSetBuilder;
+import org.apache.lucene.spatial.util.GeoUtils;
+
+/**
+ * Custom ConstantScoreWrapper for {@code GeoPointTermQuery} that cuts over to DocValues
+ * for post filtering boundary ranges. Multi-valued GeoPoint documents are supported.
+ *
+ * @lucene.experimental
+ */
+final class GeoPointTermQueryConstantScoreWrapper <Q extends GeoPointTermQuery> extends Query {
+  protected final Q query;
+
+  protected GeoPointTermQueryConstantScoreWrapper(Q query) {
+    this.query = query;
+  }
+
+  @Override
+  public String toString(String field) {
+    return query.toString();
+  }
+
+  @Override
+  public final boolean equals(final Object o) {
+    if (super.equals(o) == false) {
+      return false;
+    }
+    final GeoPointTermQueryConstantScoreWrapper<?> that = (GeoPointTermQueryConstantScoreWrapper<?>) o;
+    return this.query.equals(that.query);
+  }
+
+  @Override
+  public final int hashCode() {
+    return 31 * super.hashCode() + query.hashCode();
+  }
+
+  @Override
+  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
+    return new ConstantScoreWeight(this) {
+
+      private DocIdSet getDocIDs(LeafReaderContext context) throws IOException {
+        final Terms terms = context.reader().terms(query.getField());
+        if (terms == null) {
+          return DocIdSet.EMPTY;
+        }
+
+        final GeoPointTermsEnum termsEnum = (GeoPointTermsEnum)(query.getTermsEnum(terms, new AttributeSource()));
+        assert termsEnum != null;
+
+        LeafReader reader = context.reader();
+        DocIdSetBuilder builder = new DocIdSetBuilder(reader.maxDoc());
+        PostingsEnum docs = null;
+        SortedNumericDocValues sdv = reader.getSortedNumericDocValues(query.getField());
+
+        while (termsEnum.next() != null) {
+          docs = termsEnum.postings(docs, PostingsEnum.NONE);
+          // boundary terms need post filtering by
+          if (termsEnum.boundaryTerm()) {
+            int docId = docs.nextDoc();
+            long hash;
+            do {
+              sdv.setDocument(docId);
+              for (int i=0; i<sdv.count(); ++i) {
+                hash = sdv.valueAt(i);
+                if (termsEnum.postFilter(GeoUtils.mortonUnhashLon(hash), GeoUtils.mortonUnhashLat(hash))) {
+                  builder.add(docId);
+                  break;
+                }
+              }
+            } while ((docId = docs.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS);
+          } else {
+            builder.add(docs);
+          }
+        }
+
+        return builder.build();
+      }
+
+      private Scorer scorer(DocIdSet set) throws IOException {
+        if (set == null) {
+          return null;
+        }
+        final DocIdSetIterator disi = set.iterator();
+        if (disi == null) {
+          return null;
+        }
+        return new ConstantScoreScorer(this, score(), disi);
+      }
+
+      @Override
+      public BulkScorer bulkScorer(LeafReaderContext context) throws IOException {
+        final Scorer scorer = scorer(getDocIDs(context));
+        if (scorer == null) {
+          return null;
+        }
+        return new DefaultBulkScorer(scorer);
+      }
+
+      @Override
+      public Scorer scorer(LeafReaderContext context) throws IOException {
+        return scorer(getDocIDs(context));
+      }
+    };
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermsEnum.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermsEnum.java
new file mode 100644
index 0000000..71eb26e
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/GeoPointTermsEnum.java
@@ -0,0 +1,249 @@
+/*
+ * 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.lucene.spatial.search;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.lucene.spatial.document.GeoPointField;
+import org.apache.lucene.index.FilteredTermsEnum;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefBuilder;
+import org.apache.lucene.spatial.util.GeoRelationUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
+import org.apache.lucene.util.LegacyNumericUtils;
+
+/**
+ * computes all ranges along a space-filling curve that represents
+ * the given bounding box and enumerates all terms contained within those ranges
+ *
+ *  @lucene.experimental
+ */
+abstract class GeoPointTermsEnum extends FilteredTermsEnum {
+  protected final double minLon;
+  protected final double minLat;
+  protected final double maxLon;
+  protected final double maxLat;
+
+  protected Range currentRange;
+  private final BytesRefBuilder currentCell = new BytesRefBuilder();
+  private final BytesRefBuilder nextSubRange = new BytesRefBuilder();
+
+  private final List<Range> rangeBounds = new LinkedList<>();
+
+  // detail level should be a factor of PRECISION_STEP limiting the depth of recursion (and number of ranges)
+  protected final short DETAIL_LEVEL;
+
+  GeoPointTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
+                    final double maxLon, final double maxLat) {
+    super(tenum);
+    final long rectMinHash = GeoUtils.mortonHash(minLon, minLat);
+    final long rectMaxHash = GeoUtils.mortonHash(maxLon, maxLat);
+    this.minLon = GeoUtils.mortonUnhashLon(rectMinHash);
+    this.minLat = GeoUtils.mortonUnhashLat(rectMinHash);
+    this.maxLon = GeoUtils.mortonUnhashLon(rectMaxHash);
+    this.maxLat = GeoUtils.mortonUnhashLat(rectMaxHash);
+    DETAIL_LEVEL = (short)(((GeoUtils.BITS<<1)-computeMaxShift())/2);
+
+    computeRange(0L, (short) ((GeoUtils.BITS << 1) - 1));
+    assert rangeBounds.isEmpty() == false;
+    Collections.sort(rangeBounds);
+  }
+
+  /**
+   * entry point for recursively computing ranges
+   */
+  private final void computeRange(long term, final short shift) {
+    final long split = term | (0x1L<<shift);
+    assert shift < 64;
+    final long upperMax;
+    if (shift < 63) {
+      upperMax = term | ((1L << (shift+1))-1);
+    } else {
+      upperMax = 0xffffffffffffffffL;
+    }
+    final long lowerMax = split-1;
+
+    relateAndRecurse(term, lowerMax, shift);
+    relateAndRecurse(split, upperMax, shift);
+  }
+
+  /**
+   * recurse to higher level precision cells to find ranges along the space-filling curve that fall within the
+   * query box
+   *
+   * @param start starting value on the space-filling curve for a cell at a given res
+   * @param end ending value on the space-filling curve for a cell at a given res
+   * @param res spatial res represented as a bit shift (MSB is lower res)
+   */
+  private void relateAndRecurse(final long start, final long end, final short res) {
+    final double minLon = GeoUtils.mortonUnhashLon(start);
+    final double minLat = GeoUtils.mortonUnhashLat(start);
+    final double maxLon = GeoUtils.mortonUnhashLon(end);
+    final double maxLat = GeoUtils.mortonUnhashLat(end);
+
+    final short level = (short)((GeoUtils.BITS<<1)-res>>>1);
+
+    // if cell is within and a factor of the precision step, or it crosses the edge of the shape add the range
+    final boolean within = res % GeoPointField.PRECISION_STEP == 0 && cellWithin(minLon, minLat, maxLon, maxLat);
+    if (within || (level == DETAIL_LEVEL && cellIntersectsShape(minLon, minLat, maxLon, maxLat))) {
+      final short nextRes = (short)(res-1);
+      if (nextRes % GeoPointField.PRECISION_STEP == 0) {
+        rangeBounds.add(new Range(start, nextRes, !within));
+        rangeBounds.add(new Range(start|(1L<<nextRes), nextRes, !within));
+      } else {
+        rangeBounds.add(new Range(start, res, !within));
+      }
+    } else if (level < DETAIL_LEVEL && cellIntersectsMBR(minLon, minLat, maxLon, maxLat)) {
+      computeRange(start, (short) (res - 1));
+    }
+  }
+
+  protected short computeMaxShift() {
+    // in this case a factor of 4 brings the detail level to ~0.002/0.001 degrees lon/lat respectively (or ~222m/111m)
+    return GeoPointField.PRECISION_STEP * 4;
+  }
+
+  /**
+   * Determine whether the quad-cell crosses the shape
+   */
+  protected abstract boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat);
+
+  /**
+   * Determine whether quad-cell is within the shape
+   */
+  protected abstract boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat);
+
+  /**
+   * Default shape is a rectangle, so this returns the same as {@code cellIntersectsMBR}
+   */
+  protected abstract boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat);
+
+  /**
+   * Primary driver for cells intersecting shape boundaries
+   */
+  protected boolean cellIntersectsMBR(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+    return GeoRelationUtils.rectIntersects(minLon, minLat, maxLon, maxLat, this.minLon, this.minLat, this.maxLon, this.maxLat);
+  }
+
+  /**
+   * Return whether quad-cell contains the bounding box of this shape
+   */
+  protected boolean cellContains(final double minLon, final double minLat, final double maxLon, final double maxLat) {
+    return GeoRelationUtils.rectWithin(this.minLon, this.minLat, this.maxLon, this.maxLat, minLon, minLat, maxLon, maxLat);
+  }
+
+  public boolean boundaryTerm() {
+    if (currentRange == null) {
+      throw new IllegalStateException("GeoPointTermsEnum empty or not initialized");
+    }
+    return currentRange.boundary;
+  }
+
+  private void nextRange() {
+    currentRange = rangeBounds.remove(0);
+    currentRange.fillBytesRef(currentCell);
+  }
+
+  @Override
+  protected final BytesRef nextSeekTerm(BytesRef term) {
+    while (!rangeBounds.isEmpty()) {
+      if (currentRange == null) {
+        nextRange();
+      }
+
+      // if the new upper bound is before the term parameter, the sub-range is never a hit
+      if (term != null && term.compareTo(currentCell.get()) > 0) {
+        nextRange();
+        if (!rangeBounds.isEmpty()) {
+          continue;
+        }
+      }
+      // never seek backwards, so use current term if lower bound is smaller
+      return (term != null && term.compareTo(currentCell.get()) > 0) ?
+          term : currentCell.get();
+    }
+
+    // no more sub-range enums available
+    assert rangeBounds.isEmpty();
+    return null;
+  }
+
+  /**
+   * The two-phase query approach. {@link #nextSeekTerm} is called to obtain the next term that matches a numeric
+   * range of the bounding box. Those terms that pass the initial range filter are then compared against the
+   * decoded min/max latitude and longitude values of the bounding box only if the range is not a "boundary" range
+   * (e.g., a range that straddles the boundary of the bbox).
+   * @param term term for candidate document
+   * @return match status
+   */
+  @Override
+  protected AcceptStatus accept(BytesRef term) {
+    // validate value is in range
+    while (currentCell == null || term.compareTo(currentCell.get()) > 0) {
+      if (rangeBounds.isEmpty()) {
+        return AcceptStatus.END;
+      }
+      // peek next sub-range, only seek if the current term is smaller than next lower bound
+      rangeBounds.get(0).fillBytesRef(this.nextSubRange);
+      if (term.compareTo(this.nextSubRange.get()) < 0) {
+        return AcceptStatus.NO_AND_SEEK;
+      }
+      // step forward to next range without seeking, as next range is less or equal current term
+      nextRange();
+    }
+
+    return AcceptStatus.YES;
+  }
+
+  protected abstract boolean postFilter(final double lon, final double lat);
+
+  /**
+   * Internal class to represent a range along the space filling curve
+   */
+  protected final class Range implements Comparable<Range> {
+    final short shift;
+    final long start;
+    final boolean boundary;
+
+    Range(final long lower, final short shift, boolean boundary) {
+      this.boundary = boundary;
+      this.start = lower;
+      this.shift = shift;
+    }
+
+    /**
+     * Encode as a BytesRef using a reusable object. This allows us to lazily create the BytesRef (which is
+     * quite expensive), only when we need it.
+     */
+    private void fillBytesRef(BytesRefBuilder result) {
+      assert result != null;
+      LegacyNumericUtils.longToPrefixCoded(start, shift, result);
+    }
+
+    @Override
+    public int compareTo(Range other) {
+      final int result = Short.compare(this.shift, other.shift);
+      if (result == 0) {
+        return Long.compare(this.start, other.start);
+      }
+      return result;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/search/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/search/package-info.java b/lucene/spatial/src/java/org/apache/lucene/spatial/search/package-info.java
new file mode 100644
index 0000000..8e8265c
--- /dev/null
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/search/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+
+/**
+ * Geospatial Query Implementations for Core Lucene
+ */
+package org.apache.lucene.spatial.search;
\ No newline at end of file


[16/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java
index c2c1dff..9681f77 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestSortedSetFieldSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestSortedSetFieldSource.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestSortedSetFieldSource.java
index af5d58c..d028dce 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestSortedSetFieldSource.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestSortedSetFieldSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.util.Collections;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
index 1b00fd3..37a32da 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.function;
 
 import java.util.Arrays;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java b/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
index 4690dc7..6eb4266 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.mlt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.mlt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.mlt;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/payloads/PayloadHelper.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/payloads/PayloadHelper.java b/lucene/queries/src/test/org/apache/lucene/queries/payloads/PayloadHelper.java
index e7d883c..484c1bd 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/payloads/PayloadHelper.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/payloads/PayloadHelper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadCheckQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadCheckQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadCheckQuery.java
index 21ca7fe..7067ef2 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadCheckQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadCheckQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadExplanations.java b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadExplanations.java
index b8950d9..f5ac15f 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadExplanations.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadExplanations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BaseExplanationTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadScoreQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadScoreQuery.java
index 2ccd26c..043e969 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadScoreQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadSpans.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadSpans.java b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadSpans.java
index cef01be..3f168bb 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadSpans.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadSpans.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.queries.payloads;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries.payloads;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadTermQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadTermQuery.java
index 6334047..f453b0d 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadTermQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/payloads/TestPayloadTermQuery.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.queries.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.queries.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.queries.payloads;
 import java.io.IOException;
 
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/AnalyzingQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/AnalyzingQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/AnalyzingQueryParser.java
index cf33421..49690fe 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/AnalyzingQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/AnalyzingQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.analyzing;
 
 import java.io.IOException;
 import java.util.regex.Matcher;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/package-info.java
index 77397b4..afd74c5 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/analyzing/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * QueryParser that passes Fuzzy-, Prefix-, Range-, and WildcardQuerys through the given analyzer.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
index 32231f7..ad0646b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
@@ -1,6 +1,3 @@
-// FastCharStream.java
-package org.apache.lucene.queryparser.classic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,8 +13,8 @@ package org.apache.lucene.queryparser.classic;
  * 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.lucene.queryparser.classic;
 
 import java.io.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
index ade904a..02d25c4 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.classic;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.classic;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.classic;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
index 8e17905..c988b8c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.queryparser.classic;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/package-info.java
index ab3451f..5770d1b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/package-info.java
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 /**
  * A simple query parser implemented with JavaCC.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
index 7a5f77a..1faea18 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.complexPhrase;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.complexPhrase;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.complexPhrase;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/package-info.java
index fbe1cce..8c684ee 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * QueryParser which permits complex phrase query syntax eg "(john jon jonathan~) peters*"
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
index 19560b0..c023d08 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtendableQueryParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.ext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.queryparser.ext.Extensions.Pair;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtensionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtensionQuery.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtensionQuery.java
index 423595e..3c5e4c3 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtensionQuery.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ExtensionQuery.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
-import org.apache.lucene.queryparser.classic.QueryParser;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.queryparser.classic.QueryParser;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
+
+import org.apache.lucene.queryparser.classic.QueryParser;
 
 /**
  * {@link ExtensionQuery} holds all query components extracted from the original

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/Extensions.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/Extensions.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/Extensions.java
index 86e616b..f27fbda 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/Extensions.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/Extensions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.queryparser.ext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
+
 import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.queryparser.classic.QueryParserBase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ParserExtension.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ParserExtension.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ParserExtension.java
index 88573ef..17eb314 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ParserExtension.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/ParserExtension.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.ext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.ext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.ext;
 
 import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/package-info.java
index a5e9000..00a5010 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/ext/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Extendable QueryParser provides a simple and flexible extension mechanism by overloading query field names.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeError.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeError.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeError.java
index e26ddca..e54017b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeError.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeError.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core;
 
 import org.apache.lucene.queryparser.flexible.messages.Message;
 import org.apache.lucene.queryparser.flexible.messages.NLSException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeException.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeException.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeException.java
index 2d59498..5450e80 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeException.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeParseException.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeParseException.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeParseException.java
index bbe85ba..43f0c38 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeParseException.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryNodeParseException.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core;
 
 import org.apache.lucene.queryparser.flexible.messages.Message;
 import org.apache.lucene.queryparser.flexible.messages.MessageImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryParserHelper.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryParserHelper.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryParserHelper.java
index ef00f76..968ba17 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryParserHelper.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/QueryParserHelper.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core;
-
-import org.apache.lucene.queryparser.flexible.core.builders.QueryBuilder;
-import org.apache.lucene.queryparser.flexible.core.config.QueryConfigHandler;
-import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
-import org.apache.lucene.queryparser.flexible.core.parser.SyntaxParser;
-import org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessor;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,8 +14,14 @@ import org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessor
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core;
+
+import org.apache.lucene.queryparser.flexible.core.builders.QueryBuilder;
+import org.apache.lucene.queryparser.flexible.core.config.QueryConfigHandler;
+import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
+import org.apache.lucene.queryparser.flexible.core.parser.SyntaxParser;
+import org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessor;
 
-  
 /**
  * This class is a helper for the query parser framework, it does all the three
  * query parser phrases at once: text parsing, query processing and query

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryBuilder.java
index cd4573a..b7e3257 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryBuilder.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.builders;
-
-import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
-import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,7 +14,10 @@ import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.builders;
 
+import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
+import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
 
 /**
  * This interface is used by implementors classes that builds some kind of

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryTreeBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryTreeBuilder.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryTreeBuilder.java
index 567a326..45f9174 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryTreeBuilder.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/QueryTreeBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.builders;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.builders;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.builders;
 
 import java.util.HashMap;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/package-info.java
index d24c915..8881b43 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/builders/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Necessary classes to implement query builders.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/AbstractQueryConfig.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/AbstractQueryConfig.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/AbstractQueryConfig.java
index 520b6b8..e60f931 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/AbstractQueryConfig.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/AbstractQueryConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.config;
 
 import java.util.HashMap;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/ConfigurationKey.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/ConfigurationKey.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/ConfigurationKey.java
index 5689a9a..7f402e7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/ConfigurationKey.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/ConfigurationKey.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.config;
 
 /**
  * An instance of this class represents a key that is used to retrieve a value

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfig.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfig.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfig.java
index b3876ca..c8604d1 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfig.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.config;
 
 /**
  * This class represents a field configuration.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfigListener.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfigListener.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfigListener.java
index f729377..87bbd1c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfigListener.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/FieldConfigListener.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.config;
 
 /**
  * This interface should be implemented by classes that wants to listen for

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/QueryConfigHandler.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/QueryConfigHandler.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/QueryConfigHandler.java
index 3efb435..41362c3 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/QueryConfigHandler.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/QueryConfigHandler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.config;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.config;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.config;
 
 import java.util.LinkedList;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/package-info.java
index f3719e9..cc3b878 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/config/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Base classes used to configure the query processing.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/QueryParserMessages.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/QueryParserMessages.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/QueryParserMessages.java
index 6ceb7df..bf790e9 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/QueryParserMessages.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/QueryParserMessages.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.messages;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.messages;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.messages;
 
 import org.apache.lucene.queryparser.flexible.messages.NLS;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/package-info.java
index 75fbb21..1491252 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/messages/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Messages usually used by query parser implementations.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AndQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AndQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AndQueryNode.java
index 1090a47..f2e3597 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AndQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AndQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AnyQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AnyQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AnyQueryNode.java
index ad8ff39..a6874ee 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AnyQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/AnyQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BooleanQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BooleanQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BooleanQueryNode.java
index fe81a0b..76c74bf 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BooleanQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BooleanQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BoostQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BoostQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BoostQueryNode.java
index 3eeee1d..d7cce31 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BoostQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/BoostQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/DeletedQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/DeletedQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/DeletedQueryNode.java
index 7974a13..51f60f0 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/DeletedQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/DeletedQueryNode.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
-import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
+
+import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 
 import org.apache.lucene.queryparser.flexible.core.processors.RemoveDeletedQueryNodesProcessor;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldQueryNode.java
index 66ecc94..e9813c4 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldValuePairQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldValuePairQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldValuePairQueryNode.java
index daf0ae1..85f0bfb 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldValuePairQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldValuePairQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 /**
  * This interface should be implemented by {@link QueryNode} that holds a field

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldableNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldableNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldableNode.java
index 6ad248a..3ca9b5f 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldableNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FieldableNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 /**
  * A query node implements {@link FieldableNode} interface to indicate that its

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FuzzyQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FuzzyQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FuzzyQueryNode.java
index b009a4b..8dc3cf0 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FuzzyQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/FuzzyQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/GroupQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/GroupQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/GroupQueryNode.java
index 0eff69a..e28ac02 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/GroupQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/GroupQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchAllDocsQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchAllDocsQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchAllDocsQueryNode.java
index c6e573a..39d06ce 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchAllDocsQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchAllDocsQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchNoDocsQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchNoDocsQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchNoDocsQueryNode.java
index 06fbaf9..d676c4d 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchNoDocsQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/MatchNoDocsQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 /**
  * A {@link MatchNoDocsQueryNode} indicates that a query node tree or subtree

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ModifierQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ModifierQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ModifierQueryNode.java
index a88667e..5e9855a 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ModifierQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ModifierQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/NoTokenFoundQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/NoTokenFoundQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/NoTokenFoundQueryNode.java
index a40de2e..e0e73b4 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/NoTokenFoundQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/NoTokenFoundQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OpaqueQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OpaqueQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OpaqueQueryNode.java
index 6a61f79..1c349d7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OpaqueQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OpaqueQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OrQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OrQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OrQueryNode.java
index 3ba90b0..9352568 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OrQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/OrQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.Iterator;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PathQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PathQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PathQueryNode.java
index 2235ad2..586044c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PathQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PathQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PhraseSlopQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PhraseSlopQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PhraseSlopQueryNode.java
index 0b280e5..ec66944 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PhraseSlopQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/PhraseSlopQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.search.PhraseQuery; // javadocs
 import org.apache.lucene.queryparser.flexible.messages.MessageImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ProximityQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ProximityQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ProximityQueryNode.java
index 1efb333..4237e73 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ProximityQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ProximityQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNode.java
index 4bcd158..4f15f7c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNodeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNodeImpl.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNodeImpl.java
index 6ff642d..7d9316b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNodeImpl.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QueryNodeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.ArrayList;
 import java.util.Hashtable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QuotedFieldQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QuotedFieldQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QuotedFieldQueryNode.java
index a369b35..d2f9a2b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QuotedFieldQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/QuotedFieldQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/RangeQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/RangeQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/RangeQueryNode.java
index a076b58..c9f804e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/RangeQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/RangeQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,8 +14,9 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
- /**
+package org.apache.lucene.queryparser.flexible.core.nodes;
+
+/**
  * This interface should be implemented by a {@link QueryNode} that represents
  * some kind of range query.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/SlopQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/SlopQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/SlopQueryNode.java
index 0973c2a..16e19e3 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/SlopQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/SlopQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import org.apache.lucene.queryparser.flexible.messages.MessageImpl;
 import org.apache.lucene.queryparser.flexible.core.parser.EscapeQuerySyntax;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TextableQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TextableQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TextableQueryNode.java
index 61878a7..57a3c17 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TextableQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TextableQueryNode.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.queryparser.flexible.core.nodes;
 
 /**
  * Interface for a node that has text as a {@link CharSequence}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TokenizedPhraseQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TokenizedPhraseQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TokenizedPhraseQueryNode.java
index bf80ebf..b48ab54 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TokenizedPhraseQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/TokenizedPhraseQueryNode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.nodes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.nodes;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ValueQueryNode.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ValueQueryNode.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ValueQueryNode.java
index 9b18156..3810030 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ValueQueryNode.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/ValueQueryNode.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.queryparser.flexible.core.nodes;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.queryparser.flexible.core.nodes;
 
 /**
  * This interface should be implemented by {@link QueryNode} that holds an

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/package-info.java
index c9d55ea..a4f8f6e 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/nodes/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Query nodes commonly used by query parser implementations.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/package-info.java
index dd8c4cd..869fdc8 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Core classes of the flexible query parser framework.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/EscapeQuerySyntax.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/EscapeQuerySyntax.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/EscapeQuerySyntax.java
index d677d14..0cf6b82 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/EscapeQuerySyntax.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/EscapeQuerySyntax.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.parser;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.parser;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.parser;
 
 import java.util.Locale;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/SyntaxParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/SyntaxParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/SyntaxParser.java
index 857f03c..d08d13c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/SyntaxParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/SyntaxParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.parser;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.parser;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.parser;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeParseException;
 import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/package-info.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/package-info.java
index 273138d..3359d77 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/package-info.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/parser/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Necessary interfaces to implement text parsers.
  * 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/NoChildOptimizationQueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/NoChildOptimizationQueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/NoChildOptimizationQueryNodeProcessor.java
index dcdad7a..873c425 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/NoChildOptimizationQueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/NoChildOptimizationQueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.processors;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessor.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessor.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessor.java
index 93591f5..7f735fa 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessor.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessor.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.processors;
 
 import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
 import org.apache.lucene.queryparser.flexible.core.config.QueryConfigHandler;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorImpl.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorImpl.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorImpl.java
index 92f0d6e..58a467b 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorImpl.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/core/processors/QueryNodeProcessorImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queryparser.flexible.core.processors;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queryparser.flexible.core.processors;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queryparser.flexible.core.processors;
 
 import java.util.ArrayList;
 import java.util.List;


[46/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
index b255473..4268467 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/package-info.java
index 597b80f..5901307 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Russian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapper.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapper.java
index cd2e335..fb580cf 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapper.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.shingle;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.shingle;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.shingle;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.AnalyzerWrapper;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilter.java
index c5de5e6..5d99291 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.shingle;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.shingle;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.shingle;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilterFactory.java
index df1b6fb..c6b1519 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.shingle;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.shingle;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.shingle;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/package-info.java
index b90b982..625bea3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/shingle/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Word n-gram filters.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/TeeSinkTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/TeeSinkTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/TeeSinkTokenFilter.java
index 5c30c59..ca51fd9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/TeeSinkTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/TeeSinkTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sinks;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sinks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sinks;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/package-info.java
index 964e5f4..a222837 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sinks/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * {@link org.apache.lucene.analysis.sinks.TeeSinkTokenFilter}.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballFilter.java
index eacb43e..1c11e48 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.snowball;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.snowball;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.snowball;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballPorterFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballPorterFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballPorterFilterFactory.java
index b9eb8e8..93cf7a4 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballPorterFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/SnowballPorterFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.snowball;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.snowball;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.snowball;
+
 
 import java.util.Map;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/package-info.java
index c01d6f1..7ad67d1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/snowball/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * {@link org.apache.lucene.analysis.TokenFilter} and {@link
  * org.apache.lucene.analysis.Analyzer} implementations that use Snowball

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilter.java
index 15c58d6..91abe29 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilterFactory.java
index bcf67df..bd924f0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sr;
+
 
 import java.util.Arrays;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationRegularFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationRegularFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationRegularFilter.java
index a0800cf..f775b78 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationRegularFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/SerbianNormalizationRegularFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/package-info.java
index b67d83f..f900abb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sr/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Serbian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java
index 2681606..43c7dad 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilter.java
index 054b9c4..5d5baec 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilterFactory.java
index f177eaf..33b0a94 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java
index 339ab8b..76b1ef6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.standard;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerFactory.java
index e4d901b..b2a7134 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
index 6578ee2..48365ff 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.java
@@ -1,7 +1,5 @@
 /* The following code was generated by JFlex 1.6.0 */
 
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import java.io.Reader;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex
index cb9b1a6..de65d26 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import java.io.Reader;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java
index 54e26dd..ae23dc6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java
index ae5be75..a470a83 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilterFactory.java
index f9102b0..ac9e6ea 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java
index 1da2040..1e143a3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.standard;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerFactory.java
index 87709aa..c74c55c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
index 8d6aeb5..c8bf9e9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
@@ -1,7 +1,5 @@
 /* The following code was generated by JFlex 1.6.0 */
 
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
index c89ffa8..34f4ead 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailAnalyzer.java
index 1a699e5..1fc2d7c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.java
index 741a7d6..03de032 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
index 485b7d3..ee0bf45 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.java
index 9ef2870..a2e262b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.java
@@ -1,7 +1,5 @@
 /* The following code was generated by JFlex 1.6.0 */
 
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex
index 5af3888..32af631 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/package-info.java
index afc68ce..7c45b4b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Fast, general-purpose grammar-based tokenizers.
  * <p>The <code>org.apache.lucene.analysis.standard</code> package contains three

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishAnalyzer.java
index e47e7f8..fd15bbd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilter.java
index bcd91bc..d6ff3a1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilterFactory.java
index 0c4a061..2e0bd52 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
index 64c5e1d..5c75258 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 /* 
  * This algorithm is updated based on code located at:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/package-info.java
index 1a10b3c..06c8f30 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Swedish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
index 1898089..257d605 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java
index af656b6..8b298f7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
index d7dbd0f..b9c5529 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.IOException;
 import java.io.InputStreamReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
index 0fedd4e..fea5b69 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/WordnetSynonymParser.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/WordnetSynonymParser.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/WordnetSynonymParser.java
index 42fa964..b74e371 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/WordnetSynonymParser.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/WordnetSynonymParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.IOException;
 import java.io.LineNumberReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/package-info.java
index a8b33c2..af1a145 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analysis components for Synonyms.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
index 4bc0b89..3f2e52a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiAnalyzer.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.th;
-
 /*
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.th;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.th;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
index 6fbfb78..53f7169 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.th;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.th;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.th;
+
 
 import java.text.BreakIterator;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizerFactory.java
index 05121c3..a941c88 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.th;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.th;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.th;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/package-info.java
index 74dcc77..9f55c1c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Thai.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilter.java
index 8695da7..58a25f9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilterFactory.java
index df9f074..2eaee9c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/ApostropheFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.TokenFilterFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
index 2cc5575..539b203 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilter.java
index 3578bdf..c4e4782 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilterFactory.java
index e789883..0c7a8c0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/TurkishLowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/package-info.java
index 564ef0c..44e70fe 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/tr/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Turkish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AbstractAnalysisFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AbstractAnalysisFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AbstractAnalysisFactory.java
index bc48531..8ee809c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AbstractAnalysisFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AbstractAnalysisFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java
index 997f332..8dacf63 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayIterator.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayIterator.java
index 3ec213f..16c1466 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayIterator.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.text.BreakIterator; // javadoc
 import java.text.CharacterIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
index 7529d93..289ee08 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArrayMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.util.Arrays;
 import java.util.AbstractMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java
index 4b9b264..15485bc 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharArraySet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.util.AbstractSet;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java
index fb83288..4c0df29 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.Reader;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
index dc55dda..7683239 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
index b864ca2..f14b1f7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharacterUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ClasspathResourceLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ClasspathResourceLoader.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ClasspathResourceLoader.java
index 7e5d199..3653e7f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ClasspathResourceLoader.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ClasspathResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilter.java
index c04d287..d7689f9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilterFactory.java
index d77e98c..31c3027 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ElisionFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilesystemResourceLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilesystemResourceLoader.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilesystemResourceLoader.java
index de7cfa0..3970386 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilesystemResourceLoader.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilesystemResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java
index f030475..97d35e2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
index 59e3ff7..700da3c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 /** Add to any analysis factory component to allow returning an
  * analysis component factory for use with partial terms in prefix queries,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/OpenStringBuilder.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/OpenStringBuilder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/OpenStringBuilder.java
index d8c428c..57cb91a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/OpenStringBuilder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/OpenStringBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 /**
  * A StringBuilder that allows one to access the array.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoader.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoader.java
index 37c1706..3f5bbd3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoader.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoaderAware.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoaderAware.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoaderAware.java
index 7ac18b6..504c33a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoaderAware.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/ResourceLoaderAware.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/RollingCharBuffer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/RollingCharBuffer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/RollingCharBuffer.java
index 39b63b4..1ced960 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/RollingCharBuffer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/RollingCharBuffer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/SegmentingTokenizerBase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/SegmentingTokenizerBase.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/SegmentingTokenizerBase.java
index 0020b1d..41c49f7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/SegmentingTokenizerBase.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/SegmentingTokenizerBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StemmerUtil.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StemmerUtil.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StemmerUtil.java
index 6222d47..2b7e949 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StemmerUtil.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StemmerUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 /**
  * Some commonly-used stemming functions

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StopwordAnalyzerBase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StopwordAnalyzerBase.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StopwordAnalyzerBase.java
index ad7332b..fc6c798 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StopwordAnalyzerBase.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/StopwordAnalyzerBase.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java
index 12cb556..7eec6dd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.util.Map;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java
index 0952d9c..8e2d64a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/WordlistLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/WordlistLoader.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/WordlistLoader.java
index 91f28f4..4d99965 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/WordlistLoader.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/WordlistLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/package-info.java
index 771ddf3..a2afac8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Utility functions for text analysis.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
index 0779380..ead4e35 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.wikipedia;
 
 import org.apache.lucene.analysis.Tokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerFactory.java
index b0dbba0..3a57096 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.wikipedia;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.wikipedia;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.wikipedia;
+
 
 import java.util.Collections;
 import java.util.Map;


[43/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
index 09fab6b..dda018c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
index 0566ee4..5a0e57c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
index 3054124..4c6e432 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
index f0a1c31..fd0220d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
index f532871..92fdd44 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.lv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.lv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.lv;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactoryTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactoryTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactoryTest.java
index 241a0e5..8d15e18 100755
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactoryTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterFactoryTest.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterTest.java
index 6ae81e2..ca3357e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/DateRecognizerFilterTest.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
 import java.text.DateFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
index 5214dd5..5225aaa 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
index d9a3563..ef1c30e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
index 9c19bec..3581c08 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
index 8f8a40c..5f4c54a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
index 1eab1de..026d1b7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
index 0f86147..556aff0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
index 1e31dbb..450447a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
index 0eb950b..766429f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
index 4874880..147c068 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
index 3bc4790..387ff5b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.util.CharArraySet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
index 1922ffd..847b26c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
index eecc9e8..9e6f6f2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
@@ -1,19 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.Locale;
-import java.util.regex.Pattern;
-
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.TokenFilter;
-import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
-import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.analysis.util.CharArraySet;
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -30,6 +14,22 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Locale;
+import java.util.regex.Pattern;
+
+import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.analysis.MockTokenizer;
+import org.apache.lucene.analysis.TokenFilter;
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.analysis.util.CharArraySet;
+import org.junit.Test;
+
 
 /**
  * Testcase for {@link KeywordMarkerFilter}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
index c6c0ec6..0de8882 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
index 1d11c5c..9099320 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
index 1c5de9c..ac6cc41 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
index 40bbe1fb..6e754ef 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
index 55b0723..3f599c1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
index a62868c..304dd24 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
index a335e61..41b2a35 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
index 2f78d8f..bc067d9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
index 46e2d7a..eaef676 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
index 23b5307..46d3025 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
index 193b18e..a537af4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
index 3546f6f..903076d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
@@ -16,22 +32,6 @@ import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.util.IOUtils;
 
-/*
- * 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.
- */
 
 public class TestPerFieldAnalyzerWrapper extends BaseTokenStreamTestCase {
   public void testPerField() throws Exception {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAndSuffixAwareTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAndSuffixAwareTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAndSuffixAwareTokenFilter.java
index 58583d7..0e6c61a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAndSuffixAwareTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAndSuffixAwareTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CannedTokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAwareTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAwareTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAwareTokenFilter.java
index a717095..c407c79 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAwareTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPrefixAwareTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CannedTokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
index affe567..d1e2e2e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
index 0e6c7cc..8b1c77f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.Token;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
index 8ceb6eb..e15527d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
index fc02e61..9811bba 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,8 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
index 2db274b..6352372 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
index fed6ca8..65c3b82 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,14 +14,11 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
 
-import java.io.Reader;
-import java.io.StringReader;
-
 public class TestScandinavianNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
 
   public void testStemming() throws Exception {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
index fd02180..d8b2fca 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
index 81d00cb..ed2631f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
index ecf1492..75a6e74 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
index 2150d0b..986bc1c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
index c705dec..a091e37 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
index 8b2d765..29f75ba 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.miscellaneous;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.miscellaneous;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.miscellaneous;
+
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
index 3d7c03e..c7dfa7d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilterTest.java
index d2e1e16..3d0877f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerTest.java
index 24847f8..c7ca4fe 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/EdgeNGramTokenizerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenFilterTest.java
index cd760c1..834933a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenFilterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenizerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenizerTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenizerTest.java
index a148ad0..8655f3d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenizerTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/NGramTokenizerTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
index 59da787..d429f61 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ngram;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ngram;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ngram;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
index dba8db0..b7f3ebc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.nl;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.nl;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.nl;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
index 3bb04e3..1dd9217 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
index 0dfb391..38fe12b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
index 26a2148..6f7f876 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
index 1541075..d0593dc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
index 15bc15c..c433b76 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.no;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.no;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.no;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
index 7bacf86..afe1523 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.path;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.path;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.path;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
index 4b9df02..5d423a3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.path;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.path;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.path;
+
 
 import java.io.StringReader;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
index a911d39..654f744 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import java.io.StringReader;
 import java.util.regex.Pattern;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
index b5cec2f..7e1a419 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.pattern;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
index 2271cb6..f1c5553 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
index b4d98e1..16fad28 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.pattern;
 
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
index 36175a6..24f751a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
index 30badb8..196212c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.pattern;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
index 29e0243..a0d1af4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pattern;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pattern;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pattern;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
index 6dc5b3f..f31da3a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/DelimitedPayloadTokenFilterTest.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.payloads;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterTest.java
index a54f147..3e54cc0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilterTest.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
index ebf8654..a9bec99 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterTest.java
index 500863c..c4a4412 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TokenOffsetPayloadTokenFilterTest.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,9 +14,9 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.util.BytesRef;


[08/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
index 29f7387..6d32570 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/FileDictionaryTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.search.suggest;
 
 import java.io.ByteArrayInputStream;
@@ -16,23 +32,6 @@ import org.apache.lucene.util.TestUtil;
 import org.junit.Test;
 
 
-/*
- * 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.
- */
-
 public class FileDictionaryTest extends LuceneTestCase {
   
   private Map.Entry<List<String>, String> generateFileEntry(String fieldDelimiter, boolean hasWeight, boolean hasPayload) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/Input.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/Input.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/Input.java
index 2ea44bd..5cb0790 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/Input.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/Input.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/InputArrayIterator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/InputArrayIterator.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/InputArrayIterator.java
index cdd96d6..a62e887 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/InputArrayIterator.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/InputArrayIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.util.Arrays;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java
index a0b3278..12c6416 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest;
 
 import java.io.BufferedReader;
 import java.io.InputStreamReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestHighFrequencyDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestHighFrequencyDictionary.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestHighFrequencyDictionary.java
index 122443e..c76c1a6 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestHighFrequencyDictionary.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestHighFrequencyDictionary.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.search.suggest;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.index.DirectoryReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestInputIterator.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestInputIterator.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestInputIterator.java
index 55e70bd..f833bed 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestInputIterator.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/TestInputIterator.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.search.suggest;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.search.suggest;
 
 import java.util.AbstractMap.SimpleEntry;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
index b51894d..092eb95 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggesterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
index a9c7acc..4621fae 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggesterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
index 614a1a2..c2b2bed 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggesterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
index 47c19e1..10231d5 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java
index 4d678c3..45a6855 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java
index e42342a..44917d2 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.StringReader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilterFactory.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilterFactory.java
index 7b0b661..b901c21 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilterFactory.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestSuggestStopFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.analyzing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.analyzing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.analyzing;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/CompletionTokenStreamTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/CompletionTokenStreamTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/CompletionTokenStreamTest.java
index 2b751df..6f558d1 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/CompletionTokenStreamTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/CompletionTokenStreamTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextQuery.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextQuery.java
index 20a76e6..1be3f37 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextQuery.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextSuggestField.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextSuggestField.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextSuggestField.java
index 00081cf..4f23679 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextSuggestField.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestContextSuggestField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.ByteArrayOutputStream;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestFuzzyCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestFuzzyCompletionQuery.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestFuzzyCompletionQuery.java
index 283f5c1..9a773ca 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestFuzzyCompletionQuery.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestFuzzyCompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestPrefixCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestPrefixCompletionQuery.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestPrefixCompletionQuery.java
index 20a2df1..777c0c8 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestPrefixCompletionQuery.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestPrefixCompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestRegexCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestRegexCompletionQuery.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestRegexCompletionQuery.java
index 1ae1e21..23710e9 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestRegexCompletionQuery.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestRegexCompletionQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
index 92271f3..1e2b946 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.document;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.document;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java
index ce332ce..f765055 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import org.apache.lucene.search.suggest.InMemorySorter;
 import org.apache.lucene.store.Directory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
index bddb306..980130a 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.nio.charset.StandardCharsets;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
index c213c4b..40b43f9 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.suggest.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.suggest.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.suggest.fst;
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/BaseTokenStreamTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
index 183b900..c57a8bc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.io.PrintWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedBinaryTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedBinaryTokenStream.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedBinaryTokenStream.java
index d11cc35..b0096bc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedBinaryTokenStream.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedBinaryTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import org.apache.lucene.analysis.tokenattributes.BytesTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedTokenStream.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedTokenStream.java
index 90aa662..8250799 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedTokenStream.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/CannedTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
index 23d0822..7e8682e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/CollationTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/CrankyTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/CrankyTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/CrankyTokenFilter.java
index 9515aea..9c29d3f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/CrankyTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/CrankyTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/LookaheadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/LookaheadTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/LookaheadTokenFilter.java
index e664026..b0ab6ed 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/LookaheadTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/LookaheadTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
index 7b75b1f..bd9c5e8 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.Reader;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockBytesAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockBytesAnalyzer.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockBytesAnalyzer.java
index 02a05f2..01f3d4d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockBytesAnalyzer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockBytesAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 /**
  * Analyzer for testing that encodes terms as UTF-16 bytes.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
index 5e88a60..01e8970 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockFixedLengthPayloadFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockFixedLengthPayloadFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockFixedLengthPayloadFilter.java
index fef74f0..4a92a9e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockFixedLengthPayloadFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockFixedLengthPayloadFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockGraphTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockGraphTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockGraphTokenFilter.java
index 4dbb7b0..2dca783 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockGraphTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockGraphTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockHoleInjectingTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockHoleInjectingTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockHoleInjectingTokenFilter.java
index 8d3ad2b..e60f07a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockHoleInjectingTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockHoleInjectingTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
index 09393ef..a1e8bce 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockPayloadAnalyzer.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.lucene.analysis;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockRandomLookaheadTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockRandomLookaheadTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockRandomLookaheadTokenFilter.java
index 1c0c061..d2ff908 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockRandomLookaheadTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockRandomLookaheadTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockReaderWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockReaderWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockReaderWrapper.java
index 742059e..7057a64 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockReaderWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockReaderWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenFilter.java
index 25619a8..331f88c 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import static org.apache.lucene.util.automaton.Automata.makeEmpty;
 import static org.apache.lucene.util.automaton.Automata.makeString;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java
index 22bf6b8..c185b76 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.nio.CharBuffer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockUTF16TermAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockUTF16TermAttributeImpl.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockUTF16TermAttributeImpl.java
index aa5dbac..e65f151 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockUTF16TermAttributeImpl.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockUTF16TermAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.nio.charset.StandardCharsets;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/MockVariableLengthPayloadFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockVariableLengthPayloadFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockVariableLengthPayloadFilter.java
index 88403fa..a70cef3 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/MockVariableLengthPayloadFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/MockVariableLengthPayloadFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/SimplePayloadFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/SimplePayloadFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/SimplePayloadFilter.java
index 9bf1b3c..954fd16 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/SimplePayloadFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/SimplePayloadFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/TokenStreamToDot.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/TokenStreamToDot.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/TokenStreamToDot.java
index 0749098..4e8eeb8 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/TokenStreamToDot.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/TokenStreamToDot.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.PrintWriter;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/ValidatingTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/ValidatingTokenFilter.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/ValidatingTokenFilter.java
index 6c7c725..b31b604 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/ValidatingTokenFilter.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/ValidatingTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
index de77e96..8e430d2 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/MissingOrdRemapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/MissingOrdRemapper.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/MissingOrdRemapper.java
index 770cfbd..cb2d7dc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/MissingOrdRemapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/MissingOrdRemapper.java
@@ -1,9 +1,3 @@
-package org.apache.lucene.codecs;
-
-import java.util.Iterator;
-
-import org.apache.lucene.util.BytesRef;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +14,11 @@ import org.apache.lucene.util.BytesRef;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs;
+
+import java.util.Iterator;
+
+import org.apache.lucene.util.BytesRef;
 
 /** 
  * a utility class to write missing values for SORTED as if they were the empty string

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java
index 1e32e01..9e06307 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import org.apache.lucene.codecs.PointFormat;
 import org.apache.lucene.codecs.DocValuesFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java
index ad71531..e0af9a1 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingLiveDocsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingLiveDocsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingLiveDocsFormat.java
index fe8fa1d..4837513 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingLiveDocsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingLiveDocsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java
index add7fb0..e646eb5 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointFormat.java
index 173e257..e2d1b07 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java
index 03fd23a..a89b508 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java
index 4888fe0..e2688a1 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java
index dcab32c..000fd6f 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.asserting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.asserting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.asserting;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/package-info.java
index bccdd5d..5429818 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Codec for testing that asserts various contracts of the codec apis.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneFixedGap.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneFixedGap.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneFixedGap.java
index c77ba23..1cb852b 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneFixedGap.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneFixedGap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapDocFreqInterval.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapDocFreqInterval.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapDocFreqInterval.java
index a267526..12cd274 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapDocFreqInterval.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapDocFreqInterval.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapFixedInterval.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapFixedInterval.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapFixedInterval.java
index d664fa9..c7f2309 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapFixedInterval.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/blockterms/LuceneVarGapFixedInterval.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/bloom/TestBloomFilteredLucenePostings.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/bloom/TestBloomFilteredLucenePostings.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/bloom/TestBloomFilteredLucenePostings.java
index f85a190..7c38d4c 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/bloom/TestBloomFilteredLucenePostings.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/bloom/TestBloomFilteredLucenePostings.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.bloom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java
index fdc186f..f34aa82 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cheapbastard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cheapbastard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cheapbastard;
 
 import org.apache.lucene.codecs.FilterCodec;
 import org.apache.lucene.codecs.PostingsFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/package-info.java
index f9d245e..e559eab 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Codec that unreasonably tries to use as little RAM as possible.
  * For testing, benchmarking, API purposes only!

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
index d4ea1b4..7db0233 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastCompressingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastCompressingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastCompressingCodec.java
index 295e645..007948c 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastCompressingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastCompressingCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
 
 /** CompressionCodec that uses {@link CompressionMode#FAST} */
 public class FastCompressingCodec extends CompressingCodec {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastDecompressionCompressingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastDecompressionCompressingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastDecompressionCompressingCodec.java
index 2ba2848..d569b16 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastDecompressionCompressingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/FastDecompressionCompressingCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
 
 /** CompressionCodec that uses {@link CompressionMode#FAST_DECOMPRESSION} */
 public class FastDecompressionCompressingCodec extends CompressingCodec {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/HighCompressionCompressingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/HighCompressionCompressingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/HighCompressionCompressingCodec.java
index 5894d2a..85b4f0d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/HighCompressionCompressingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/HighCompressionCompressingCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.compressing;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing;
 
 /** CompressionCodec that uses {@link CompressionMode#HIGH_COMPRESSION} */
 public class HighCompressionCompressingCodec extends CompressingCodec {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/DummyCompressingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/DummyCompressingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/DummyCompressingCodec.java
index 1476de5..d15adad 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/DummyCompressingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/DummyCompressingCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.compressing.dummy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.compressing.dummy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.compressing.dummy;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/package-info.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/package-info.java
index f8fcbdf..cf831c0 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/package-info.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/dummy/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Dummy CompressingCodec implementation used for testing.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCodec.java
index 3367d42..314ff95 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCompoundFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCompoundFormat.java
index 221a189..1b6b7f6 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCompoundFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyCompoundFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyDocValuesFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyDocValuesFormat.java
index 0ee8281..f29a3f9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyDocValuesFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyFieldInfosFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyFieldInfosFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyFieldInfosFormat.java
index be51cb5..4c5ab59 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyFieldInfosFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyFieldInfosFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyLiveDocsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyLiveDocsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyLiveDocsFormat.java
index 2909d1e..e879524 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyLiveDocsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyLiveDocsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyNormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyNormsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyNormsFormat.java
index ec5e02a..34b606a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyNormsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyNormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointFormat.java
index ed2b7a3..6b83b1e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPostingsFormat.java
index 3d19c37..2ca1bc7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/cranky/CrankyPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.cranky;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.codecs.cranky;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.cranky;
 
 import java.io.IOException;
 import java.util.Random;


[76/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/simple-bbox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/simple-bbox.txt b/lucene/spatial-extras/src/test-files/data/simple-bbox.txt
new file mode 100644
index 0000000..fdbe163
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/simple-bbox.txt
@@ -0,0 +1,4 @@
+#id	name	shape
+C5	CenterAt5	ENVELOPE(-5, 5, 5, -5)
+C10	CenterAt10	ENVELOPE(-10, 10, 10, -10)
+NW15	NorthWest	ENVELOPE(15, 20, 20, 15)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/states-bbox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/states-bbox.txt b/lucene/spatial-extras/src/test-files/data/states-bbox.txt
new file mode 100644
index 0000000..6223192
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/states-bbox.txt
@@ -0,0 +1,52 @@
+#id	name	shape
+HI	Hawaii	ENVELOPE(-160.242406, -154.791096, 22.229120, 18.921786)
+WA	Washington	ENVELOPE(-124.732769, -116.919132, 48.999931, 45.543092)
+MT	Montana	ENVELOPE(-116.063531, -104.043072, 49.000026, 44.353639)
+ME	Maine	ENVELOPE(-71.087509, -66.969271, 47.453334, 43.091050)
+ND	North Dakota	ENVELOPE(-104.062991, -96.551931, 49.000026, 45.930822)
+SD	South Dakota	ENVELOPE(-104.061036, -96.439394, 45.943547, 42.488459)
+WY	Wyoming	ENVELOPE(-111.053428, -104.051705, 45.002793, 40.994289)
+WI	Wisconsin	ENVELOPE(-92.885397, -86.967712, 46.952479, 42.489152)
+ID	Idaho	ENVELOPE(-117.236921, -111.046771, 48.999950, 41.994599)
+VT	Vermont	ENVELOPE(-73.436000, -71.505372, 45.013351, 42.725852)
+MN	Minnesota	ENVELOPE(-97.229436, -89.530673, 49.371730, 43.498102)
+OR	Oregon	ENVELOPE(-124.559617, -116.470418, 46.236091, 41.987672)
+NH	New Hampshire	ENVELOPE(-72.553428, -70.734139, 45.301469, 42.698603)
+IA	Iowa	ENVELOPE(-96.640709, -90.142796, 43.501457, 40.371946)
+MA	Massachusetts	ENVELOPE(-73.498840, -69.917780, 42.886877, 41.238279)
+NE	Nebraska	ENVELOPE(-104.056219, -95.308697, 43.003062, 39.992595)
+NY	New York	ENVELOPE(-79.763235, -71.869986, 45.006138, 40.506003)
+PA	Pennsylvania	ENVELOPE(-80.526045, -74.700062, 42.267327, 39.719313)
+CT	Connecticut	ENVELOPE(-73.725237, -71.788249, 42.047428, 40.998392)
+RI	Rhode Island	ENVELOPE(-71.866678, -71.117132, 42.013713, 41.322769)
+NJ	New Jersey	ENVELOPE(-75.570234, -73.896148, 41.350573, 38.956682)
+IN	Indiana	ENVELOPE(-88.101490, -84.787446, 41.765540, 37.776224)
+NV	Nevada	ENVELOPE(-119.996324, -114.037392, 41.996637, 34.998914)
+UT	Utah	ENVELOPE(-114.047273, -109.043206, 42.002300, 36.991746)
+CA	California	ENVELOPE(-124.392638, -114.125230, 42.002191, 32.535781)
+OH	Ohio	ENVELOPE(-84.812070, -80.519996, 41.986872, 38.400511)
+IL	Illinois	ENVELOPE(-91.516284, -87.507909, 42.509363, 36.986822)
+DC	District of Columbia	ENVELOPE(-77.122328, -76.910904, 38.993541, 38.788234)
+DE	Delaware	ENVELOPE(-75.791094, -75.045623, 39.840119, 38.449602)
+WV	West Virginia	ENVELOPE(-82.647158, -77.727467, 40.637203, 37.204910)
+MD	Maryland	ENVELOPE(-79.489865, -75.045623, 39.725461, 37.970255)
+CO	Colorado	ENVELOPE(-109.055861, -102.037207, 41.003375, 36.988994)
+KY	Kentucky	ENVELOPE(-89.568231, -81.959575, 39.142063, 36.496570)
+KS	Kansas	ENVELOPE(-102.051535, -94.601224, 40.002987, 36.988875)
+VA	Virginia	ENVELOPE(-83.675177, -75.242219, 39.456998, 36.541623)
+MO	Missouri	ENVELOPE(-95.767479, -89.105034, 40.609784, 35.989656)
+AZ	Arizona	ENVELOPE(-114.821761, -109.045615, 37.003926, 31.335634)
+OK	Oklahoma	ENVELOPE(-102.997709, -94.428552, 37.001478, 33.621136)
+NC	North Carolina	ENVELOPE(-84.323773, -75.456580, 36.589767, 33.882164)
+TN	Tennessee	ENVELOPE(-90.305448, -81.652272, 36.679683, 34.988759)
+TX	Texas	ENVELOPE(-106.650062, -93.507389, 36.493912, 25.845557)
+NM	New Mexico	ENVELOPE(-109.051346, -102.997401, 36.999760, 31.343453)
+AL	Alabama	ENVELOPE(-88.472952, -84.894016, 35.016033, 30.233604)
+MS	Mississippi	ENVELOPE(-91.643682, -88.090468, 35.005041, 30.194935)
+GA	Georgia	ENVELOPE(-85.608960, -80.894753, 35.000366, 30.361291)
+SC	South Carolina	ENVELOPE(-83.350685, -78.579453, 35.208356, 32.068173)
+AR	Arkansas	ENVELOPE(-94.617257, -89.645479, 36.492811, 33.010151)
+LA	Louisiana	ENVELOPE(-94.041785, -89.021803, 33.023422, 28.939655)
+FL	Florida	ENVELOPE(-87.625711, -80.050911, 31.003157, 24.956376)
+MI	Michigan	ENVELOPE(-90.408200, -82.419836, 48.173795, 41.697494)
+AK	Alaska	ENVELOPE(-178.217598, -129.992235, 71.406235, 51.583032)


[24/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java b/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
index 88f694d..7b10364 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBlendedTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBlendedTermQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestBlendedTermQuery.java
index b057d88..c1010c3 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBlendedTermQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBlendedTermQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java b/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
index 5bb606c..105cd60 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
index e7c1133..da55d9b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicBoolean;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
index b25faa1..e10a0a1 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java
index d40dfe1..d2d51dc 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
index 78faa36..5e16bcb 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
index 7a7dc2f..443246b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
index c0df2f6..fd54640 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
index 35eb07a..df1be3e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java
index 6f1bf4f..427b2fc 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java
index 090f0a4..1886919 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java b/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
index fab966d..014566c 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanationsOfNonMatches.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanationsOfNonMatches.java b/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanationsOfNonMatches.java
index 89d01bb..70ad966 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanationsOfNonMatches.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanationsOfNonMatches.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java b/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
index 764461f..269990d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestConjunctionDISI.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestConjunctions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestConjunctions.java b/lucene/core/src/test/org/apache/lucene/search/TestConjunctions.java
index a97dff6..b6e0356 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestConjunctions.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestConjunctions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
index 4a1a60d..2253294 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java b/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
index 2e1f385..f6a43c0 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestControlledRealTimeReopenThread.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java b/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
index 26a9266..a9bac60 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.search;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Calendar;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java b/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java
index b9adafa..7c47857 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
index 34bf1ce..7a9bb4e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.text.DecimalFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java b/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java
index 6bd7510..ecc4645 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestDocValuesRewriteMethod.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestDocValuesRewriteMethod.java b/lucene/core/src/test/org/apache/lucene/search/TestDocValuesRewriteMethod.java
index 4b1f441..b2555ac 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestDocValuesRewriteMethod.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestDocValuesRewriteMethod.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java b/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java
index 92a9b86..b3cf567 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java b/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java
index c42ca4d..4a52491 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java b/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
index 3703f3e..7fdc367 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheRewriteMethod.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheRewriteMethod.java b/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheRewriteMethod.java
index 3cfb0d9..9c0e153 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheRewriteMethod.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheRewriteMethod.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestFieldValueQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestFieldValueQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestFieldValueQuery.java
index cc24347..b3478f5 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestFieldValueQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestFieldValueQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
index 01371df..7f36902 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java b/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
index 45010e2..c561d64 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java b/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
index db632de..b4ce866 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.lang.reflect.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java b/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java
index 0ddd6aa..9346428 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java b/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
index a160ef8..f289975 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiCollector.java
index 7ba1e00..9a142ff 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseEnum.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseEnum.java
index a16e60a..aa0c86d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
index e12404a..d2fec0e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.LinkedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
index 4e4a810..2116805 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
index 05996ee..3772d45 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
index 3fc968c..d143bf7 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
index 47c259a..eba37ce 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Locale;
 import java.text.DecimalFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestMultiset.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestMultiset.java b/lucene/core/src/test/org/apache/lucene/search/TestMultiset.java
index ce65d85..33a751f 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestMultiset.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestMultiset.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java
index 29c2d3a..a14bb2c 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestNeedsScores.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestNeedsScores.java b/lucene/core/src/test/org/apache/lucene/search/TestNeedsScores.java
index 6e75359..fa63759 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestNeedsScores.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestNeedsScores.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestNot.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestNot.java b/lucene/core/src/test/org/apache/lucene/search/TestNot.java
index cb0d28b..8c88d8c 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestNot.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestNot.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.Term;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java b/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
index 1007b1e..3ddff3a 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java b/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
index 3c5531a..19ff240 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
index e48df55..3e8f9e1 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.LinkedList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
index 28054fa..c9f8f97 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPointQueries.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPointQueries.java b/lucene/core/src/test/org/apache/lucene/search/TestPointQueries.java
index 15d4a06..bbe0add 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPointQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPointQueries.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java b/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
index afdfef3..84468da 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
index 1afaf96..0612c00 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
index b5921a7..d33bdaf 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPrefixQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPrefixQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestPrefixQuery.java
index d23f7f4..6ca4169 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPrefixQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPrefixQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestPrefixRandom.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPrefixRandom.java b/lucene/core/src/test/org/apache/lucene/search/TestPrefixRandom.java
index 3754777..72fdc7a 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestPrefixRandom.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestPrefixRandom.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestQueryCachingPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestQueryCachingPolicy.java b/lucene/core/src/test/org/apache/lucene/search/TestQueryCachingPolicy.java
index 5fb5e97..29ef6ba 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestQueryCachingPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestQueryCachingPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java b/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
index 7cd32a3..d029e01 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java
index 23fab2c..b1cbe1e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java b/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java
index 7e78dd6..e16a426 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java b/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
index 348ff0c..52e4012 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestReqExclBulkScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestReqExclBulkScorer.java b/lucene/core/src/test/org/apache/lucene/search/TestReqExclBulkScorer.java
index e86ba4a..20917dc 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestReqExclBulkScorer.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestReqExclBulkScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java b/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
index 014aae2..83a11be 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSameScoresWithThreads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java b/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
index e924fcd..7951291 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java b/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
index 73ebd40..82d5e18 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestScorerPerf.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.search;
 
 import java.io.IOException;
@@ -19,22 +35,6 @@ import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.FixedBitSet;
 import org.apache.lucene.util.LuceneTestCase;
 
-/*
- * 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.
- */
 
 public class TestScorerPerf extends LuceneTestCase {
   boolean validate = true;  // set to false when doing performance testing

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java b/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java
index 2d4adb8..7017dde 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java b/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java
index bc3d906..95c0b8e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicLong;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java b/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java
index 76b56a5..1fe1450 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java b/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java
index 29d1c60..768ee0e 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java b/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
index f045f58..27ffa6b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java b/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
index dc108ef..9278934 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java b/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java
index 6d862d8..9274fdf 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanationsOfNonMatches.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanationsOfNonMatches.java b/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanationsOfNonMatches.java
index 307e12c..8a16243 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanationsOfNonMatches.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanationsOfNonMatches.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java b/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java
index d67fb95..33007eb 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.search;
-
-import java.util.Arrays;
-
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.BooleanClause.Occur;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,13 @@ import org.apache.lucene.search.BooleanClause.Occur;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
+import java.util.Arrays;
+
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.BooleanClause.Occur;
+
 
 /**
  * Basic equivalence tests for core queries

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
index 4dcec7f..094278b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery2.java b/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery2.java
index ed7712f..3910fac 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSloppyPhraseQuery2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSort.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSort.java b/lucene/core/src/test/org/apache/lucene/search/TestSort.java
index d6311ad..2543c1b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSort.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSort.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java b/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java
index d6b93d0..c362fd6 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSortRandom.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java b/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java
index cea0484..b2d435d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java b/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java
index ecdce26..1795461 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSelector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSelector.java b/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSelector.java
index 9b2ac3d..82abf12 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSelector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSelector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSortField.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSortField.java b/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSortField.java
index 0b46e89..7b4ca27 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSortField.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSortedSetSortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java b/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
index f82a067..121e48d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.*;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java
index 38e6181..95e9865 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTermRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTermRangeQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestTermRangeQuery.java
index e2a6d5b..97b0405 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTermRangeQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTermRangeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java b/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
index 2ab1e82..cadc3ce 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
index 1ec8847..b98de80 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java
index 3171f2d..9a769fe 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTopDocsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 


[42/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterTest.java
index ef1345d..f901016 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TypeAsPayloadTokenFilterTest.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.payloads;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,9 +14,9 @@ package org.apache.lucene.analysis.payloads;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.payloads;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
@@ -25,8 +24,6 @@ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
 
 import java.io.IOException;
-import java.io.StringReader;
-import java.nio.charset.StandardCharsets;
 
 public class TypeAsPayloadTokenFilterTest extends BaseTokenStreamTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
index c423026..7e4dba7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
index 8e84fb9..00a6d0f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
index 411005d..0af152a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
index 832df17..e9dd584 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
index 19c7838..5ad28b5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
index eb45b11..5209923 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
index 932b708..e00ba79 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.pt;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.pt;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.pt;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzerTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzerTest.java
index 9b29f60..f790597 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzerTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzerTest.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.analysis.query;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.query;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.query;
 
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
index 7f70eba..303f7fe 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.reverse;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
index ddf6ede..72b2b33 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.reverse;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.reverse;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.reverse;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
index 18cdb94..1d4e2f5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ro;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ro;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ro;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
index 3435d05..60e9fb4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
index ef83eb7..19b9309 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
index 8e20ce8..bf82ea8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ru;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ru;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ru;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapperTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapperTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapperTest.java
index f89ec1e..c97ec03 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapperTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleAnalyzerWrapperTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.shingle;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.shingle;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.shingle;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
index 52866f6..801e5e6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ShingleFilterTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.shingle;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.shingle;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.shingle;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
index 1220a4a..aed5f0b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.shingle;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.shingle;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.shingle;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
index 4b2b8c4..735f12e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.sinks;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.sinks;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sinks;
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
index 4b16fe9..881bc2f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.snowball;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.snowball;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.snowball;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
index e527ca1..6dc1104 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.analysis.snowball;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,8 +14,8 @@ package org.apache.lucene.analysis.snowball;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.snowball;
 
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
index 66ab7db..d215e02 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.snowball;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.snowball;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.snowball;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
index 7217cf4..c38c932 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
index 3bea320..8c45ed0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sr;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
index 586e867..be1c5a6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java
index 90b31d2..45797c0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
index 113d94d..6c6ddc8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
index 89bc451..17d3468 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestStandardFactories.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailAnalyzer.java
index ea798a3..14a5165 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizer.java
index 24f2c1a..8d3c706 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizer.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.analysis.standard;
 
 import org.apache.lucene.analysis.Analyzer;
@@ -22,22 +38,6 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Random;
 
-/*
- * 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.
- */
 
 public class TestUAX29URLEmailTokenizer extends BaseTokenStreamTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizerFactory.java
index d8ce2d5..f203464 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestUAX29URLEmailTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/WordBreakTestUnicode_6_3_0.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/WordBreakTestUnicode_6_3_0.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/WordBreakTestUnicode_6_3_0.java
index f67a6bc..4a3731e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/WordBreakTestUnicode_6_3_0.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/WordBreakTestUnicode_6_3_0.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.standard;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
index 0fd8a9a..b9d586e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
index 12db762..ebe1034 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
index 8fd1233..04e946b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.sv;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.sv;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.sv;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
index 1c80fc6..0f002af 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
index 7306d45..8a1a916 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.BaseTokenStreamFactoryTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
index 82e5958..a7e2da9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.StringReader;
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
index 21e1ecc..eedf25b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.synonym;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.synonym;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.synonym;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
index 9b2b69d..9e1c095 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.synonym;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
index d70e849..675c829 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.synonym;
 
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
index c869edb..c4b9276 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.th;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.th;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.th;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
index 4994982..f8bf8a6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.th;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.th;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.th;
+
 
 import java.io.StringReader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
index 4488c4b..e39ecf5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
index 6c16137..f874467 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
index 3577ea0..9972702 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
index 0ca3421..04540d1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
index 9b8de82..12a829d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tr;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tr;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tr;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/BaseTokenStreamFactoryTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/BaseTokenStreamFactoryTestCase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/BaseTokenStreamFactoryTestCase.java
index 08c2382..5a41454 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/BaseTokenStreamFactoryTestCase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/BaseTokenStreamFactoryTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/StringMockResourceLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/StringMockResourceLoader.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/StringMockResourceLoader.java
index 6a8d1b5..883671d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/StringMockResourceLoader.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/StringMockResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestAnalysisSPILoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestAnalysisSPILoader.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestAnalysisSPILoader.java
index 53ffe88..3e47fe2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestAnalysisSPILoader.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestAnalysisSPILoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
index 2c964a9..e39fa07 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.text.BreakIterator;
 import java.text.CharacterIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayMap.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayMap.java
index fdc830f..a926543 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayMap.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayMap.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.util;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java
index 57e9396..04b211b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArraySet.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
index fcc728c..783fc3e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
index b39b4cd..7588629 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharacterUtils.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
index 2ff5565..5e1d3c1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
index 7f75dd1..d48db62 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
index 80de40f..3846c5f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.io.InputStreamReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
index d249663..558196a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.StringReader;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
index 3a4cc32..d7502f9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.IOException;
 import java.text.BreakIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestWordlistLoader.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestWordlistLoader.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestWordlistLoader.java
index bd2ebdb..b1dd1b5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestWordlistLoader.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestWordlistLoader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.util;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
index 6632bf9..aa0e5ec 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.wikipedia;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.wikipedia;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.wikipedia;
+
 
 import java.io.Reader;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerTest.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerTest.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerTest.java
index 039311d..638faa8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerTest.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/WikipediaTokenizerTest.java
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 
-
 package org.apache.lucene.analysis.wikipedia;
 
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
index 5e370cd..3a81ba4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import java.text.Collator;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
index 6d626c0..b1a7fb2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.collation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.collation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.collation;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.CollationTestBase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/tools/java/org/apache/lucene/analysis/standard/GenerateJflexTLDMacros.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/tools/java/org/apache/lucene/analysis/standard/GenerateJflexTLDMacros.java b/lucene/analysis/common/src/tools/java/org/apache/lucene/analysis/standard/GenerateJflexTLDMacros.java
index 6722622..937a4f9 100644
--- a/lucene/analysis/common/src/tools/java/org/apache/lucene/analysis/standard/GenerateJflexTLDMacros.java
+++ b/lucene/analysis/common/src/tools/java/org/apache/lucene/analysis/standard/GenerateJflexTLDMacros.java
@@ -1,13 +1,12 @@
-package org.apache.lucene.analysis.standard;
-
 /*
- * Copyright 2001-2005 The Apache Software Foundation.
+ * 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
  *
- * Licensed 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
+ *     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,
@@ -15,6 +14,7 @@ package org.apache.lucene.analysis.standard;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.standard;
 
 import java.io.BufferedReader;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilter.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilter.java
index 2a37aaf..3fad465 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilter.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import org.apache.lucene.analysis.TokenStream;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilterFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilterFactory.java
index f1352cb..8a42ae4 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilterFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUFoldingFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilter.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilter.java
index b5fc575..706550a 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilter.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
index 75f0206..ab8e245 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.Reader;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2Filter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2Filter.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2Filter.java
index eb445d4..000d7c2 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2Filter.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2Filter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
index 7c81367..bb8c27b 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.util.Arrays;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilter.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilter.java
index 52493eb..e48c4ba 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilter.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilterFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilterFactory.java
index 9330829..ec3a9cf 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilterFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUTransformFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.icu;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.icu;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.icu;
+
 
 import java.util.Arrays;
 import java.util.Map;


[71/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
new file mode 100644
index 0000000..bed8339
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.lucene.spatial.serialized;
+
+import java.io.IOException;
+
+import com.spatial4j.core.context.SpatialContext;
+import org.apache.lucene.spatial.SpatialMatchConcern;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+public class SerializedStrategyTest extends StrategyTestCase {
+
+  @Before
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+    this.ctx = SpatialContext.GEO;
+    this.strategy = new SerializedDVStrategy(ctx, "serialized");
+  }
+
+  @Override
+  protected boolean needsDocValues() {
+    return (strategy instanceof SerializedDVStrategy);
+  }
+
+  @Test
+  public void testBasicOperaions() throws IOException {
+    getAddAndVerifyIndexedDocuments(DATA_SIMPLE_BBOX);
+
+    executeQueries(SpatialMatchConcern.EXACT, QTEST_Simple_Queries_BBox);
+  }
+
+  @Test
+  public void testStatesBBox() throws IOException {
+    getAddAndVerifyIndexedDocuments(DATA_STATES_BBOX);
+
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_IsWithin_BBox);
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_Intersects_BBox);
+  }
+
+  @Test
+  public void testCitiesIntersectsBBox() throws IOException {
+    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
+
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
+  }
+
+  //sorting is tested in DistanceStrategyTest
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
new file mode 100644
index 0000000..8040a35
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
@@ -0,0 +1,227 @@
+/*
+ * 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.lucene.spatial.spatial4j;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.spatial.composite.CompositeSpatialStrategy;
+import org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase;
+import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
+import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
+import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
+import org.apache.lucene.geo3d.GeoBBoxFactory;
+import org.apache.lucene.geo3d.GeoStandardCircle;
+import org.apache.lucene.geo3d.GeoPath;
+import org.apache.lucene.geo3d.GeoPoint;
+import org.apache.lucene.geo3d.GeoPolygonFactory;
+import org.apache.lucene.geo3d.GeoShape;
+import org.apache.lucene.geo3d.PlanetModel;
+import org.junit.Test;
+
+import static com.spatial4j.core.distance.DistanceUtils.DEGREES_TO_RADIANS;
+
+public class Geo3dRptTest extends RandomSpatialOpStrategyTestCase {
+
+  private SpatialPrefixTree grid;
+  private RecursivePrefixTreeStrategy rptStrategy;
+  {
+    this.ctx = SpatialContext.GEO;
+  }
+
+  private void setupGeohashGrid() {
+    this.grid = new GeohashPrefixTree(ctx, 2);//A fairly shallow grid
+    this.rptStrategy = newRPT();
+  }
+
+  protected RecursivePrefixTreeStrategy newRPT() {
+    final RecursivePrefixTreeStrategy rpt = new RecursivePrefixTreeStrategy(this.grid,
+        getClass().getSimpleName() + "_rpt");
+    rpt.setDistErrPct(0.10);//not too many cells
+    return rpt;
+  }
+
+  @Override
+  protected boolean needsDocValues() {
+    return true;//due to SerializedDVStrategy
+  }
+
+  private void setupStrategy() {
+    //setup
+    setupGeohashGrid();
+
+    SerializedDVStrategy serializedDVStrategy = new SerializedDVStrategy(ctx, getClass().getSimpleName() + "_sdv");
+    this.strategy = new CompositeSpatialStrategy("composite_" + getClass().getSimpleName(),
+        rptStrategy, serializedDVStrategy);
+  }
+
+  @Test
+  public void testFailure1() throws IOException {
+    setupStrategy();
+    final List<GeoPoint> points = new ArrayList<GeoPoint>();
+    points.add(new GeoPoint(PlanetModel.SPHERE, 18 * DEGREES_TO_RADIANS, -27 * DEGREES_TO_RADIANS));
+    points.add(new GeoPoint(PlanetModel.SPHERE, -57 * DEGREES_TO_RADIANS, 146 * DEGREES_TO_RADIANS));
+    points.add(new GeoPoint(PlanetModel.SPHERE, 14 * DEGREES_TO_RADIANS, -180 * DEGREES_TO_RADIANS));
+    points.add(new GeoPoint(PlanetModel.SPHERE, -15 * DEGREES_TO_RADIANS, 153 * DEGREES_TO_RADIANS));
+
+    final Shape triangle = new Geo3dShape(GeoPolygonFactory.makeGeoPolygon(PlanetModel.SPHERE, points,0),ctx);
+    final Rectangle rect = ctx.makeRectangle(-49, -45, 73, 86);
+    testOperation(rect,SpatialOperation.Intersects,triangle, false);
+  }
+
+  @Test
+  public void testFailureLucene6535() throws IOException {
+    setupStrategy();
+
+    final List<GeoPoint> points = new ArrayList<>();
+    points.add(new GeoPoint(PlanetModel.SPHERE, 18 * DEGREES_TO_RADIANS, -27 * DEGREES_TO_RADIANS));
+    points.add(new GeoPoint(PlanetModel.SPHERE, -57 * DEGREES_TO_RADIANS, 146 * DEGREES_TO_RADIANS));
+    points.add(new GeoPoint(PlanetModel.SPHERE, 14 * DEGREES_TO_RADIANS, -180 * DEGREES_TO_RADIANS));
+    points.add(new GeoPoint(PlanetModel.SPHERE, -15 * DEGREES_TO_RADIANS, 153 * DEGREES_TO_RADIANS));
+    final GeoPath path = new GeoPath(PlanetModel.SPHERE, 29 * DEGREES_TO_RADIANS);
+    path.addPoint(55.0 * DEGREES_TO_RADIANS, -26.0 * DEGREES_TO_RADIANS);
+    path.addPoint(-90.0 * DEGREES_TO_RADIANS, 0.0);
+    path.addPoint(54.0 * DEGREES_TO_RADIANS, 165.0 * DEGREES_TO_RADIANS);
+    path.addPoint(-90.0 * DEGREES_TO_RADIANS, 0.0);
+    path.done();
+    final Shape shape = new Geo3dShape(path,ctx);
+    final Rectangle rect = ctx.makeRectangle(131, 143, 39, 54);
+    testOperation(rect,SpatialOperation.Intersects,shape,true);
+  }
+
+  @Test
+  @Repeat(iterations = 10)
+  public void testOperations() throws IOException {
+    setupStrategy();
+
+    testOperationRandomShapes(SpatialOperation.Intersects);
+  }
+
+  private Shape makeTriangle(double x1, double y1, double x2, double y2, double x3, double y3) {
+    final List<GeoPoint> geoPoints = new ArrayList<>();
+    geoPoints.add(new GeoPoint(PlanetModel.SPHERE, y1 * DEGREES_TO_RADIANS, x1 * DEGREES_TO_RADIANS));
+    geoPoints.add(new GeoPoint(PlanetModel.SPHERE, y2 * DEGREES_TO_RADIANS, x2 * DEGREES_TO_RADIANS));
+    geoPoints.add(new GeoPoint(PlanetModel.SPHERE, y3 * DEGREES_TO_RADIANS, x3 * DEGREES_TO_RADIANS));
+    final int convexPointIndex = 0;
+    final GeoShape shape = GeoPolygonFactory.makeGeoPolygon(PlanetModel.SPHERE, geoPoints, convexPointIndex);
+    return new Geo3dShape(shape, ctx);
+  }
+
+  @Override
+  protected Shape randomIndexedShape() {
+    return randomRectangle();
+  }
+
+  @Override
+  protected Shape randomQueryShape() {
+    final int shapeType = random().nextInt(4);
+    switch (shapeType) {
+    case 0: {
+        // Polygons
+        final int vertexCount = random().nextInt(3) + 3;
+        while (true) {
+          final List<GeoPoint> geoPoints = new ArrayList<>();
+          while (geoPoints.size() < vertexCount) {
+            final Point point = randomPoint();
+            final GeoPoint gPt = new GeoPoint(PlanetModel.SPHERE, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS);
+            geoPoints.add(gPt);
+          }
+          final int convexPointIndex = random().nextInt(vertexCount);       //If we get this wrong, hopefully we get IllegalArgumentException
+          try {
+            final GeoShape shape = GeoPolygonFactory.makeGeoPolygon(PlanetModel.SPHERE, geoPoints, convexPointIndex);
+            return new Geo3dShape(shape, ctx);
+          } catch (IllegalArgumentException e) {
+            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
+            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
+            continue;
+          }
+        }
+      }
+    case 1: {
+        // Circles
+        while (true) {
+          final int circleRadius = random().nextInt(179) + 1;
+          final Point point = randomPoint();
+          try {
+            final GeoShape shape = new GeoStandardCircle(PlanetModel.SPHERE, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS,
+              circleRadius * DEGREES_TO_RADIANS);
+            return new Geo3dShape(shape, ctx);
+          } catch (IllegalArgumentException e) {
+            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
+            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
+            continue;
+          }
+        }
+      }
+    case 2: {
+        // Rectangles
+        while (true) {
+          Point ulhcPoint = randomPoint();
+          Point lrhcPoint = randomPoint();
+          if (ulhcPoint.getY() < lrhcPoint.getY()) {
+            //swap
+            Point temp = ulhcPoint;
+            ulhcPoint = lrhcPoint;
+            lrhcPoint = temp;
+          }
+          try {
+            final GeoShape shape = GeoBBoxFactory.makeGeoBBox(PlanetModel.SPHERE, ulhcPoint.getY() * DEGREES_TO_RADIANS,
+              lrhcPoint.getY() * DEGREES_TO_RADIANS,
+              ulhcPoint.getX() * DEGREES_TO_RADIANS,
+              lrhcPoint.getX() * DEGREES_TO_RADIANS);
+            //System.err.println("Trial rectangle shape: "+shape);
+            return new Geo3dShape(shape, ctx);
+          } catch (IllegalArgumentException e) {
+            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
+            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
+            continue;
+          }
+        }
+      }
+    case 3: {
+        // Paths
+        final int pointCount = random().nextInt(5) + 1;
+        final double width = (random().nextInt(89)+1) * DEGREES_TO_RADIANS;
+        while (true) {
+          try {
+            final GeoPath path = new GeoPath(PlanetModel.SPHERE, width);
+            for (int i = 0; i < pointCount; i++) {
+              final Point nextPoint = randomPoint();
+              path.addPoint(nextPoint.getY() * DEGREES_TO_RADIANS, nextPoint.getX() * DEGREES_TO_RADIANS);
+            }
+            path.done();
+            return new Geo3dShape(path, ctx);
+          } catch (IllegalArgumentException e) {
+            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
+            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
+            continue;
+          }
+        }
+      }
+    default:
+      throw new IllegalStateException("Unexpected shape type");
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
new file mode 100644
index 0000000..3113aed
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
@@ -0,0 +1,264 @@
+/*
+ * 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.lucene.spatial.spatial4j;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+import com.carrotsearch.randomizedtesting.RandomizedContext;
+import com.spatial4j.core.TestLog;
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Circle;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.RectIntersectionTestHelper;
+import org.apache.lucene.geo3d.LatLonBounds;
+import org.apache.lucene.geo3d.GeoBBox;
+import org.apache.lucene.geo3d.GeoBBoxFactory;
+import org.apache.lucene.geo3d.GeoStandardCircle;
+import org.apache.lucene.geo3d.GeoPath;
+import org.apache.lucene.geo3d.GeoPoint;
+import org.apache.lucene.geo3d.GeoPolygonFactory;
+import org.apache.lucene.geo3d.GeoShape;
+import org.apache.lucene.geo3d.PlanetModel;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static com.spatial4j.core.distance.DistanceUtils.DEGREES_TO_RADIANS;
+
+public abstract class Geo3dShapeRectRelationTestCase extends RandomizedShapeTestCase {
+  protected final static double RADIANS_PER_DEGREE = Math.PI/180.0;
+
+  @Rule
+  public final TestLog testLog = TestLog.instance;
+
+  protected final PlanetModel planetModel;
+
+  public Geo3dShapeRectRelationTestCase(PlanetModel planetModel) {
+    super(SpatialContext.GEO);
+    this.planetModel = planetModel;
+  }
+
+  protected GeoBBox getBoundingBox(final GeoShape path) {
+    LatLonBounds bounds = new LatLonBounds();
+    path.getBounds(bounds);
+
+    double leftLon;
+    double rightLon;
+    if (bounds.checkNoLongitudeBound()) {
+      leftLon = -Math.PI;
+      rightLon = Math.PI;
+    } else {
+      leftLon = bounds.getLeftLongitude().doubleValue();
+      rightLon = bounds.getRightLongitude().doubleValue();
+    }
+    double minLat;
+    if (bounds.checkNoBottomLatitudeBound()) {
+      minLat = -Math.PI * 0.5;
+    } else {
+      minLat = bounds.getMinLatitude().doubleValue();
+    }
+    double maxLat;
+    if (bounds.checkNoTopLatitudeBound()) {
+      maxLat = Math.PI * 0.5;
+    } else {
+      maxLat = bounds.getMaxLatitude().doubleValue();
+    }
+    return GeoBBoxFactory.makeGeoBBox(planetModel, maxLat, minLat, leftLon, rightLon);
+  }
+
+  abstract class Geo3dRectIntersectionTestHelper extends RectIntersectionTestHelper<Geo3dShape> {
+
+    public Geo3dRectIntersectionTestHelper(SpatialContext ctx) {
+      super(ctx);
+    }
+
+    //20 times each -- should be plenty
+
+    protected int getContainsMinimum(int laps) {
+      return 20;
+    }
+
+    protected int getIntersectsMinimum(int laps) {
+      return 20;
+    }
+
+    // producing "within" cases in Geo3D based on our random shapes doesn't happen often. It'd be nice to increase this.
+    protected int getWithinMinimum(int laps) {
+      return 2;
+    }
+
+    protected int getDisjointMinimum(int laps) {
+      return 20;
+    }
+
+    protected int getBoundingMinimum(int laps) {
+      return 20;
+    }
+  }
+
+  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
+  @Test
+  public void testGeoCircleRect() {
+    new Geo3dRectIntersectionTestHelper(ctx) {
+
+      @Override
+      protected Geo3dShape generateRandomShape(Point nearP) {
+        final int circleRadius = 180 - random().nextInt(180);//no 0-radius
+        final Point point = nearP;
+        final GeoShape shape = new GeoStandardCircle(planetModel, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS,
+            circleRadius * DEGREES_TO_RADIANS);
+        return new Geo3dShape(planetModel, shape, ctx);
+      }
+
+      @Override
+      protected Point randomPointInEmptyShape(Geo3dShape shape) {
+        GeoPoint geoPoint = ((GeoStandardCircle)shape.shape).getCenter();
+        return geoPointToSpatial4jPoint(geoPoint);
+      }
+
+    }.testRelateWithRectangle();
+  }
+
+  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
+  @Test
+  public void testGeoBBoxRect() {
+    new Geo3dRectIntersectionTestHelper(ctx) {
+
+      @Override
+      protected boolean isRandomShapeRectangular() {
+        return true;
+      }
+
+      @Override
+      protected Geo3dShape generateRandomShape(Point nearP) {
+        // (ignoring nearP)
+        Point ulhcPoint = randomPoint();
+        Point lrhcPoint = randomPoint();
+        if (ulhcPoint.getY() < lrhcPoint.getY()) {
+          //swap
+          Point temp = ulhcPoint;
+          ulhcPoint = lrhcPoint;
+          lrhcPoint = temp;
+        }
+        final GeoShape shape = GeoBBoxFactory.makeGeoBBox(planetModel, ulhcPoint.getY() * DEGREES_TO_RADIANS,
+            lrhcPoint.getY() * DEGREES_TO_RADIANS,
+            ulhcPoint.getX() * DEGREES_TO_RADIANS,
+            lrhcPoint.getX() * DEGREES_TO_RADIANS);
+        return new Geo3dShape(planetModel, shape, ctx);
+      }
+
+      @Override
+      protected Point randomPointInEmptyShape(Geo3dShape shape) {
+        return shape.getBoundingBox().getCenter();
+      }
+    }.testRelateWithRectangle();
+  }
+
+  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
+  @Test
+  public void testGeoPolygonRect() {
+    new Geo3dRectIntersectionTestHelper(ctx) {
+
+      @Override
+      protected Geo3dShape generateRandomShape(Point nearP) {
+        final Point centerPoint = randomPoint();
+        final int maxDistance = random().nextInt(160) + 20;
+        final Circle pointZone = ctx.makeCircle(centerPoint, maxDistance);
+        final int vertexCount = random().nextInt(3) + 3;
+        while (true) {
+          final List<GeoPoint> geoPoints = new ArrayList<>();
+          while (geoPoints.size() < vertexCount) {
+            final Point point = randomPointIn(pointZone);
+            final GeoPoint gPt = new GeoPoint(planetModel, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS);
+            geoPoints.add(gPt);
+          }
+          final int convexPointIndex = random().nextInt(vertexCount); //If we get this wrong, hopefully we get IllegalArgumentException
+          try {
+            final GeoShape shape = GeoPolygonFactory.makeGeoPolygon(planetModel, geoPoints, convexPointIndex);
+            return new Geo3dShape(planetModel, shape, ctx);
+          } catch (IllegalArgumentException e) {
+            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
+            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
+            continue;
+          }
+        }
+      }
+
+      @Override
+      protected Point randomPointInEmptyShape(Geo3dShape shape) {
+        throw new IllegalStateException("unexpected; need to finish test code");
+      }
+
+      @Override
+      protected int getWithinMinimum(int laps) {
+        // Long/thin so lets just find 1.
+        return 1;
+      }
+
+    }.testRelateWithRectangle();
+  }
+
+  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
+  @Test
+  public void testGeoPathRect() {
+    new Geo3dRectIntersectionTestHelper(ctx) {
+
+      @Override
+      protected Geo3dShape generateRandomShape(Point nearP) {
+        final Point centerPoint = randomPoint();
+        final int maxDistance = random().nextInt(160) + 20;
+        final Circle pointZone = ctx.makeCircle(centerPoint, maxDistance);
+        final int pointCount = random().nextInt(5) + 1;
+        final double width = (random().nextInt(89)+1) * DEGREES_TO_RADIANS;
+        while (true) {
+          try {
+            final GeoPath path = new GeoPath(planetModel, width);
+            for (int i = 0; i < pointCount; i++) {
+              final Point nextPoint = randomPointIn(pointZone);
+              path.addPoint(nextPoint.getY() * DEGREES_TO_RADIANS, nextPoint.getX() * DEGREES_TO_RADIANS);
+            }
+            path.done();
+            return new Geo3dShape(planetModel, path, ctx);
+          } catch (IllegalArgumentException e) {
+            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
+            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
+            continue;
+          }
+        }
+      }
+
+      @Override
+      protected Point randomPointInEmptyShape(Geo3dShape shape) {
+        throw new IllegalStateException("unexpected; need to finish test code");
+      }
+
+      @Override
+      protected int getWithinMinimum(int laps) {
+        // Long/thin so lets just find 1.
+        return 1;
+      }
+
+    }.testRelateWithRectangle();
+  }
+
+  private Point geoPointToSpatial4jPoint(GeoPoint geoPoint) {
+    return ctx.makePoint(geoPoint.getLongitude() * DistanceUtils.RADIANS_TO_DEGREES,
+        geoPoint.getLongitude() * DistanceUtils.RADIANS_TO_DEGREES);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
new file mode 100644
index 0000000..aac0a0a
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
@@ -0,0 +1,72 @@
+/*
+ * 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.lucene.spatial.spatial4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.spatial4j.core.shape.Rectangle;
+import org.apache.lucene.geo3d.GeoArea;
+import org.apache.lucene.geo3d.GeoBBox;
+import org.apache.lucene.geo3d.GeoBBoxFactory;
+import org.apache.lucene.geo3d.GeoStandardCircle;
+import org.apache.lucene.geo3d.GeoPoint;
+import org.apache.lucene.geo3d.GeoPolygonFactory;
+import org.apache.lucene.geo3d.GeoShape;
+import org.apache.lucene.geo3d.PlanetModel;
+import org.junit.Test;
+
+public class Geo3dShapeSphereModelRectRelationTest extends Geo3dShapeRectRelationTestCase {
+
+  public Geo3dShapeSphereModelRectRelationTest() {
+    super(PlanetModel.SPHERE);
+  }
+
+  @Test
+  public void testFailure1() {
+    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, 88 * RADIANS_PER_DEGREE, 30 * RADIANS_PER_DEGREE, -30 * RADIANS_PER_DEGREE, 62 * RADIANS_PER_DEGREE);
+    final List<GeoPoint> points = new ArrayList<>();
+    points.add(new GeoPoint(planetModel, 66.2465299717 * RADIANS_PER_DEGREE, -29.1786158537 * RADIANS_PER_DEGREE));
+    points.add(new GeoPoint(planetModel, 43.684447915 * RADIANS_PER_DEGREE, 46.2210986329 * RADIANS_PER_DEGREE));
+    points.add(new GeoPoint(planetModel, 30.4579218227 * RADIANS_PER_DEGREE, 14.5238410082 * RADIANS_PER_DEGREE));
+    final GeoShape path = GeoPolygonFactory.makeGeoPolygon(planetModel, points,0);
+
+    final GeoPoint point = new GeoPoint(planetModel, 34.2730264413182 * RADIANS_PER_DEGREE, 82.75500168892472 * RADIANS_PER_DEGREE);
+
+    // Apparently the rectangle thinks the polygon is completely within it... "shape inside rectangle"
+    assertTrue(GeoArea.WITHIN == rect.getRelationship(path));
+
+    // Point is within path? Apparently not...
+    assertFalse(path.isWithin(point));
+
+    // If it is within the path, it must be within the rectangle, and similarly visa versa
+    assertFalse(rect.isWithin(point));
+
+  }
+
+  @Test
+  public void testFailure2_LUCENE6475() {
+    GeoShape geo3dCircle = new GeoStandardCircle(planetModel, 1.6282053147165243E-4 * RADIANS_PER_DEGREE,
+        -70.1600629789353 * RADIANS_PER_DEGREE, 86 * RADIANS_PER_DEGREE);
+    Geo3dShape geo3dShape = new Geo3dShape(planetModel, geo3dCircle, ctx);
+    Rectangle rect = ctx.makeRectangle(-118, -114, -2.0, 32.0);
+    assertTrue(geo3dShape.relate(rect).intersects());
+    // thus the bounding box must intersect too
+    assertTrue(geo3dShape.getBoundingBox().relate(rect).intersects());
+
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
new file mode 100644
index 0000000..3b026c3
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
@@ -0,0 +1,94 @@
+/*
+ * 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.lucene.spatial.spatial4j;
+
+import org.apache.lucene.geo3d.GeoArea;
+import org.apache.lucene.geo3d.GeoBBox;
+import org.apache.lucene.geo3d.GeoBBoxFactory;
+import org.apache.lucene.geo3d.GeoCircle;
+import org.apache.lucene.geo3d.GeoStandardCircle;
+import org.apache.lucene.geo3d.GeoPath;
+import org.apache.lucene.geo3d.GeoPoint;
+import org.apache.lucene.geo3d.PlanetModel;
+import org.junit.Test;
+
+public class Geo3dShapeWGS84ModelRectRelationTest extends Geo3dShapeRectRelationTestCase {
+
+  public Geo3dShapeWGS84ModelRectRelationTest() {
+    super(PlanetModel.WGS84);
+  }
+
+  @Test
+  public void testFailure1() {
+    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, 90 * RADIANS_PER_DEGREE, 74 * RADIANS_PER_DEGREE,
+        40 * RADIANS_PER_DEGREE, 60 * RADIANS_PER_DEGREE);
+    final GeoPath path = new GeoPath(planetModel, 4 * RADIANS_PER_DEGREE);
+    path.addPoint(84.4987594274 * RADIANS_PER_DEGREE, -22.8345484402 * RADIANS_PER_DEGREE);
+    path.done();
+    assertTrue(GeoArea.DISJOINT == rect.getRelationship(path));
+    // This is what the test failure claimed...
+    //assertTrue(GeoArea.CONTAINS == rect.getRelationship(path));
+    //final GeoBBox bbox = getBoundingBox(path);
+    //assertFalse(GeoArea.DISJOINT == rect.getRelationship(bbox));
+  }
+
+  @Test
+  public void testFailure2() {
+    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, -74 * RADIANS_PER_DEGREE, -90 * RADIANS_PER_DEGREE,
+        0 * RADIANS_PER_DEGREE, 26 * RADIANS_PER_DEGREE);
+    final GeoCircle circle = new GeoStandardCircle(planetModel, -87.3647352103 * RADIANS_PER_DEGREE, 52.3769709972 * RADIANS_PER_DEGREE, 1 * RADIANS_PER_DEGREE);
+    assertTrue(GeoArea.DISJOINT == rect.getRelationship(circle));
+    // This is what the test failure claimed...
+    //assertTrue(GeoArea.CONTAINS == rect.getRelationship(circle));
+    //final GeoBBox bbox = getBoundingBox(circle);
+    //assertFalse(GeoArea.DISJOINT == rect.getRelationship(bbox));
+  }
+
+  @Test
+  public void testFailure3() {
+    /*
+   [junit4]   1> S-R Rel: {}, Shape {}, Rectangle {}    lap# {} [CONTAINS, Geo3dShape{planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, shape=GeoPath: {planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, width=1.53588974175501(87.99999999999999),
+    points={[[X=0.12097657665150223, Y=-0.6754177666095532, Z=0.7265376136709238], [X=-0.3837892785614207, Y=0.4258049113530899, Z=0.8180007850434892]]}}},
+    Rect(minX=4.0,maxX=36.0,minY=16.0,maxY=16.0), 6981](no slf4j subst; sorry)
+   [junit4] FAILURE 0.59s | Geo3dWGS84ShapeRectRelationTest.testGeoPathRect <<<
+   [junit4]    > Throwable #1: java.lang.AssertionError: Geo3dShape{planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, shape=GeoPath: {planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, width=1.53588974175501(87.99999999999999),
+    points={[[X=0.12097657665150223, Y=-0.6754177666095532, Z=0.7265376136709238], [X=-0.3837892785614207, Y=0.4258049113530899, Z=0.8180007850434892]]}}} intersect Pt(x=23.81626064835212,y=16.0)
+   [junit4]    >  at __randomizedtesting.SeedInfo.seed([2595268DA3F13FEA:6CC30D8C83453E5D]:0)
+   [junit4]    >  at org.apache.lucene.spatial.spatial4j.RandomizedShapeTestCase._assertIntersect(RandomizedShapeTestCase.java:168)
+   [junit4]    >  at org.apache.lucene.spatial.spatial4j.RandomizedShapeTestCase.assertRelation(RandomizedShapeTestCase.java:153)
+   [junit4]    >  at org.apache.lucene.spatial.spatial4j.RectIntersectionTestHelper.testRelateWithRectangle(RectIntersectionTestHelper.java:128)
+   [junit4]    >  at org.apache.lucene.spatial.spatial4j.Geo3dWGS84ShapeRectRelationTest.testGeoPathRect(Geo3dWGS84ShapeRectRelationTest.java:265)
+  */
+    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, 16 * RADIANS_PER_DEGREE, 16 * RADIANS_PER_DEGREE, 4 * RADIANS_PER_DEGREE, 36 * RADIANS_PER_DEGREE);
+    final GeoPoint pt = new GeoPoint(planetModel, 16 * RADIANS_PER_DEGREE, 23.81626064835212 * RADIANS_PER_DEGREE);
+    final GeoPath path = new GeoPath(planetModel, 88 * RADIANS_PER_DEGREE);
+    path.addPoint(46.6369060853 * RADIANS_PER_DEGREE, -79.8452213228 * RADIANS_PER_DEGREE);
+    path.addPoint(54.9779334519 * RADIANS_PER_DEGREE, 132.029177424 * RADIANS_PER_DEGREE);
+    path.done();
+    System.out.println("rect=" + rect);
+    // Rectangle is within path (this is wrong; it's on the other side.  Should be OVERLAPS)
+    assertTrue(GeoArea.OVERLAPS == rect.getRelationship(path));
+    // Rectangle contains point
+    //assertTrue(rect.isWithin(pt));
+    // Path contains point (THIS FAILS)
+    //assertTrue(path.isWithin(pt));
+    // What happens: (1) The center point of the horizontal line is within the path, in fact within a radius of one of the endpoints.
+    // (2) The point mentioned is NOT inside either SegmentEndpoint.
+    // (3) The point mentioned is NOT inside the path segment, either.  (I think it should be...)
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
new file mode 100644
index 0000000..40d1b24
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
@@ -0,0 +1,288 @@
+/*
+ * 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.lucene.spatial.spatial4j;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.distance.DistanceUtils;
+import com.spatial4j.core.shape.Circle;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import com.spatial4j.core.shape.impl.Range;
+
+import static com.spatial4j.core.shape.SpatialRelation.CONTAINS;
+import static com.spatial4j.core.shape.SpatialRelation.WITHIN;
+
+import org.apache.lucene.util.LuceneTestCase;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.*;
+
+/**
+ * A base test class with utility methods to help test shapes.
+ * Extends from RandomizedTest.
+ */
+public abstract class RandomizedShapeTestCase extends LuceneTestCase {
+
+  protected static final double EPS = 10e-9;
+
+  protected SpatialContext ctx;//needs to be set ASAP
+
+  /** Used to reduce the space of numbers to increase the likelihood that
+   * random numbers become equivalent, and thus trigger different code paths.
+   * Also makes some random shapes easier to manually examine.
+   */
+  protected final double DIVISIBLE = 2;// even coordinates; (not always used)
+
+  protected RandomizedShapeTestCase() {
+  }
+
+  public RandomizedShapeTestCase(SpatialContext ctx) {
+    this.ctx = ctx;
+  }
+
+  @SuppressWarnings("unchecked")
+  public static void checkShapesImplementEquals( Class<?>[] classes ) {
+    for( Class<?> clazz : classes ) {
+      try {
+        clazz.getDeclaredMethod( "equals", Object.class );
+      } catch (Exception e) {
+        fail("Shape needs to define 'equals' : " + clazz.getName());
+      }
+      try {
+        clazz.getDeclaredMethod( "hashCode" );
+      } catch (Exception e) {
+        fail("Shape needs to define 'hashCode' : " + clazz.getName());
+      }
+    }
+  }
+
+  //These few norm methods normalize the arguments for creating a shape to
+  // account for the dateline. Some tests loop past the dateline or have offsets
+  // that go past it and it's easier to have them coded that way and correct for
+  // it here.  These norm methods should be used when needed, not frivolously.
+
+  protected double normX(double x) {
+    return ctx.isGeo() ? DistanceUtils.normLonDEG(x) : x;
+  }
+
+  protected double normY(double y) {
+    return ctx.isGeo() ? DistanceUtils.normLatDEG(y) : y;
+  }
+
+  protected Rectangle makeNormRect(double minX, double maxX, double minY, double maxY) {
+    if (ctx.isGeo()) {
+      if (Math.abs(maxX - minX) >= 360) {
+        minX = -180;
+        maxX = 180;
+      } else {
+        minX = DistanceUtils.normLonDEG(minX);
+        maxX = DistanceUtils.normLonDEG(maxX);
+      }
+
+    } else {
+      if (maxX < minX) {
+        double t = minX;
+        minX = maxX;
+        maxX = t;
+      }
+      minX = boundX(minX, ctx.getWorldBounds());
+      maxX = boundX(maxX, ctx.getWorldBounds());
+    }
+    if (maxY < minY) {
+      double t = minY;
+      minY = maxY;
+      maxY = t;
+    }
+    minY = boundY(minY, ctx.getWorldBounds());
+    maxY = boundY(maxY, ctx.getWorldBounds());
+    return ctx.makeRectangle(minX, maxX, minY, maxY);
+  }
+
+  public static double divisible(double v, double divisible) {
+    return (int) (Math.round(v / divisible) * divisible);
+  }
+
+  protected double divisible(double v) {
+    return divisible(v, DIVISIBLE);
+  }
+
+  /** reset()'s p, and confines to world bounds. Might not be divisible if
+   * the world bound isn't divisible too.
+   */
+  protected Point divisible(Point p) {
+    Rectangle bounds = ctx.getWorldBounds();
+    double newX = boundX( divisible(p.getX()), bounds );
+    double newY = boundY( divisible(p.getY()), bounds );
+    p.reset(newX, newY);
+    return p;
+  }
+
+  static double boundX(double i, Rectangle bounds) {
+    return bound(i, bounds.getMinX(), bounds.getMaxX());
+  }
+
+  static double boundY(double i, Rectangle bounds) {
+    return bound(i, bounds.getMinY(), bounds.getMaxY());
+  }
+
+  static double bound(double i, double min, double max) {
+    if (i < min) return min;
+    if (i > max) return max;
+    return i;
+  }
+
+  protected void assertRelation(SpatialRelation expected, Shape a, Shape b) {
+    assertRelation(null, expected, a, b);
+  }
+
+  protected void assertRelation(String msg, SpatialRelation expected, Shape a, Shape b) {
+    _assertIntersect(msg, expected, a, b);
+    //check flipped a & b w/ transpose(), while we're at it
+    _assertIntersect(msg, expected.transpose(), b, a);
+  }
+
+  private void _assertIntersect(String msg, SpatialRelation expected, Shape a, Shape b) {
+    SpatialRelation sect = a.relate(b);
+    if (sect == expected)
+      return;
+    msg = ((msg == null) ? "" : msg+"\r") + a +" intersect "+b;
+    if (expected == WITHIN || expected == CONTAINS) {
+      if (a.getClass().equals(b.getClass())) // they are the same shape type
+        assertEquals(msg,a,b);
+      else {
+        //they are effectively points or lines that are the same location
+        assertTrue(msg,!a.hasArea());
+        assertTrue(msg,!b.hasArea());
+
+        Rectangle aBBox = a.getBoundingBox();
+        Rectangle bBBox = b.getBoundingBox();
+        if (aBBox.getHeight() == 0 && bBBox.getHeight() == 0
+            && (aBBox.getMaxY() == 90 && bBBox.getMaxY() == 90
+            || aBBox.getMinY() == -90 && bBBox.getMinY() == -90))
+          ;//== a point at the pole
+        else
+          assertEquals(msg, aBBox, bBBox);
+      }
+    } else {
+      assertEquals(msg,expected,sect);//always fails
+    }
+  }
+
+  protected void assertEqualsRatio(String msg, double expected, double actual) {
+    double delta = Math.abs(actual - expected);
+    double base = Math.min(actual, expected);
+    double deltaRatio = base==0 ? delta : Math.min(delta,delta / base);
+    assertEquals(msg,0,deltaRatio, EPS);
+  }
+
+  protected int randomIntBetweenDivisible(int start, int end) {
+    return randomIntBetweenDivisible(start, end, (int)DIVISIBLE);
+  }
+  /** Returns a random integer between [start, end]. Integers between must be divisible by the 3rd argument. */
+  protected int randomIntBetweenDivisible(int start, int end, int divisible) {
+    // DWS: I tested this
+    int divisStart = (int) Math.ceil( (start+1) / (double)divisible );
+    int divisEnd = (int) Math.floor( (end-1) / (double)divisible );
+    int divisRange = Math.max(0,divisEnd - divisStart + 1);
+    int r = randomInt(1 + divisRange);//remember that '0' is counted
+    if (r == 0)
+      return start;
+    if (r == 1)
+      return end;
+    return (r-2 + divisStart)*divisible;
+  }
+
+  protected Rectangle randomRectangle(Point nearP) {
+    Rectangle bounds = ctx.getWorldBounds();
+    if (nearP == null)
+      nearP = randomPointIn(bounds);
+
+    Range xRange = randomRange(rarely() ? 0 : nearP.getX(), Range.xRange(bounds, ctx));
+    Range yRange = randomRange(rarely() ? 0 : nearP.getY(), Range.yRange(bounds, ctx));
+
+    return makeNormRect(
+        divisible(xRange.getMin()),
+        divisible(xRange.getMax()),
+        divisible(yRange.getMin()),
+        divisible(yRange.getMax()) );
+  }
+
+  private Range randomRange(double near, Range bounds) {
+    double mid = near + randomGaussian() * bounds.getWidth() / 6;
+    double width = Math.abs(randomGaussian()) * bounds.getWidth() / 6;//1/3rd
+    return new Range(mid - width / 2, mid + width / 2);
+  }
+
+  private double randomGaussianZeroTo(double max) {
+    if (max == 0)
+      return max;
+    assert max > 0;
+    double r;
+    do {
+      r = Math.abs(randomGaussian()) * (max * 0.50);
+    } while (r > max);
+    return r;
+  }
+
+  protected Rectangle randomRectangle(int divisible) {
+    double rX = randomIntBetweenDivisible(-180, 180, divisible);
+    double rW = randomIntBetweenDivisible(0, 360, divisible);
+    double rY1 = randomIntBetweenDivisible(-90, 90, divisible);
+    double rY2 = randomIntBetweenDivisible(-90, 90, divisible);
+    double rYmin = Math.min(rY1,rY2);
+    double rYmax = Math.max(rY1,rY2);
+    if (rW > 0 && rX == 180)
+      rX = -180;
+    return makeNormRect(rX, rX + rW, rYmin, rYmax);
+  }
+
+  protected Point randomPoint() {
+    return randomPointIn(ctx.getWorldBounds());
+  }
+
+  protected Point randomPointIn(Circle c) {
+    double d = c.getRadius() * randomDouble();
+    double angleDEG = 360 * randomDouble();
+    Point p = ctx.getDistCalc().pointOnBearing(c.getCenter(), d, angleDEG, ctx, null);
+    assertEquals(CONTAINS,c.relate(p));
+    return p;
+  }
+
+  protected Point randomPointIn(Rectangle r) {
+    double x = r.getMinX() + randomDouble()*r.getWidth();
+    double y = r.getMinY() + randomDouble()*r.getHeight();
+    x = normX(x);
+    y = normY(y);
+    Point p = ctx.makePoint(x,y);
+    assertEquals(CONTAINS,r.relate(p));
+    return p;
+  }
+
+  protected Point randomPointInOrNull(Shape shape) {
+    if (!shape.hasArea())// or try the center?
+      throw new UnsupportedOperationException("Need area to define shape!");
+    Rectangle bbox = shape.getBoundingBox();
+    for (int i = 0; i < 1000; i++) {
+      Point p = randomPointIn(bbox);
+      if (shape.relate(p).intersects()) {
+        return p;
+      }
+    }
+    return null;//tried too many times and failed
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
new file mode 100644
index 0000000..1d559da
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
@@ -0,0 +1,80 @@
+/*
+ * 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.lucene.spatial.spatial4j.geo3d;
+
+import org.apache.lucene.geo3d.GeoPoint;
+import org.apache.lucene.geo3d.PlanetModel;
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Test;
+
+import com.spatial4j.core.distance.DistanceUtils;
+
+import static com.carrotsearch.randomizedtesting.RandomizedTest.randomFloat;
+
+/**
+ * Test basic GeoPoint functionality.
+ */
+public class GeoPointTest extends LuceneTestCase {
+
+  @Test
+  public void testConversion() {
+    testPointRoundTrip(PlanetModel.SPHERE, 90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
+    testPointRoundTrip(PlanetModel.SPHERE, -90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
+    testPointRoundTrip(PlanetModel.WGS84, 90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
+    testPointRoundTrip(PlanetModel.WGS84, -90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
+
+    final int times = atLeast(100);
+    for (int i = 0; i < times; i++) {
+      final double pLat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
+      final double pLon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
+      testPointRoundTrip(PlanetModel.SPHERE, pLat, pLon, 1e-6);//1e-6 since there's a square root in there (Karl says)
+      testPointRoundTrip(PlanetModel.WGS84, pLat, pLon, 1e-6);
+    }
+  }
+
+  protected void testPointRoundTrip(PlanetModel planetModel, double pLat, double pLon, double epsilon) {
+    final GeoPoint p1 = new GeoPoint(planetModel, pLat, pLon);
+    // In order to force the reverse conversion, we have to construct a geopoint from just x,y,z
+    final GeoPoint p2 = new GeoPoint(p1.x, p1.y, p1.z);
+    // Now, construct the final point based on getLatitude() and getLongitude()
+    final GeoPoint p3 = new GeoPoint(planetModel, p2.getLatitude(), p2.getLongitude());
+    double dist = p1.arcDistance(p3);
+    assertEquals(0, dist, epsilon);
+  }
+
+  @Test
+  public void testSurfaceDistance() {
+    final int times = atLeast(100);
+    for (int i = 0; i < times; i++) {
+      final double p1Lat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
+      final double p1Lon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
+      final double p2Lat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
+      final double p2Lon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
+      final GeoPoint p1 = new GeoPoint(PlanetModel.SPHERE, p1Lat, p1Lon);
+      final GeoPoint p2 = new GeoPoint(PlanetModel.SPHERE, p2Lat, p2Lon);
+      final double arcDistance = p1.arcDistance(p2);
+      // Compute ellipsoid distance; it should agree for a sphere
+      final double surfaceDistance = PlanetModel.SPHERE.surfaceDistance(p1,p2);
+      assertEquals(arcDistance, surfaceDistance, 1e-6);
+    }
+  }
+
+  @Test(expected = IllegalArgumentException.class)
+  public void testBadLatLon() {
+    new GeoPoint(PlanetModel.SPHERE, 50.0, 32.2);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
new file mode 100644
index 0000000..d62a0a8
--- /dev/null
+++ b/lucene/spatial-extras/src/test/org/apache/lucene/spatial/vector/TestPointVectorStrategy.java
@@ -0,0 +1,63 @@
+/*
+ * 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.lucene.spatial.vector;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Circle;
+import com.spatial4j.core.shape.Point;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.spatial.SpatialMatchConcern;
+import org.apache.lucene.spatial.StrategyTestCase;
+import org.apache.lucene.spatial.query.SpatialArgs;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.IOException;
+
+public class TestPointVectorStrategy extends StrategyTestCase {
+
+  @Before
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+    this.ctx = SpatialContext.GEO;
+    this.strategy = new PointVectorStrategy(ctx, getClass().getSimpleName());
+  }
+
+  @Test
+  public void testCircleShapeSupport() {
+    Circle circle = ctx.makeCircle(ctx.makePoint(0, 0), 10);
+    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, circle);
+    Query query = this.strategy.makeQuery(args);
+
+    assertNotNull(query);
+  }
+
+  @Test(expected = UnsupportedOperationException.class)
+  public void testInvalidQueryShape() {
+    Point point = ctx.makePoint(0, 0);
+    SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, point);
+    this.strategy.makeQuery(args);
+  }
+
+  @Test
+  public void testCitiesIntersectsBBox() throws IOException {
+    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
+    executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/build.xml
----------------------------------------------------------------------
diff --git a/lucene/spatial/build.xml b/lucene/spatial/build.xml
index 4c348ee..a79fa73 100644
--- a/lucene/spatial/build.xml
+++ b/lucene/spatial/build.xml
@@ -1,22 +1,20 @@
-<?xml version="1.0"?>
 <!--
-   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
+  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.
+  -->
 
-     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.
--->
 <project name="spatial" default="default">
   <description>
     Geospatial search
@@ -24,34 +22,4 @@
 
   <import file="../module-build.xml"/>
 
-  <path id="spatialjar">
-     <fileset dir="lib"/>
-  </path>
-
-  <path id="classpath">
-    <path refid="base.classpath"/>
-    <path refid="spatialjar"/>
-    <pathelement path="${queries.jar}" />
-    <pathelement path="${misc.jar}" />
-    <pathelement path="${spatial3d.jar}" />
-  </path>
-
-  <path id="test.classpath">
-    <path refid="test.base.classpath" />
-    <path refid="spatialjar"/>
-    <pathelement path="src/test-files" />
-  </path>
-
-  <target name="compile-core" depends="jar-queries,jar-misc,jar-spatial3d,common.compile-core" />
-
-  <target name="javadocs" depends="javadocs-queries,javadocs-misc,javadocs-spatial3d,compile-core,check-javadocs-uptodate"
-          unless="javadocs-uptodate-${name}">
-    <invoke-module-javadoc>
-      <links>
-        <link href="../queries"/>
-        <link href="../misc"/>
-        <link href="../spatial3d"/>
-      </links>
-    </invoke-module-javadoc>
-  </target>
 </project>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/ivy.xml
----------------------------------------------------------------------
diff --git a/lucene/spatial/ivy.xml b/lucene/spatial/ivy.xml
index 1625bfd..98ad93b 100644
--- a/lucene/spatial/ivy.xml
+++ b/lucene/spatial/ivy.xml
@@ -14,23 +14,8 @@
    "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.    
+   under the License.
 -->
-<ivy-module version="2.0"  xmlns:maven="http://ant.apache.org/ivy/maven">
+<ivy-module version="2.0">
   <info organisation="org.apache.lucene" module="spatial"/>
-  <configurations defaultconfmapping="compile->master;test->master">
-    <conf name="compile" transitive="false"/>
-    <conf name="test" transitive="false"/>
-  </configurations>
-  <dependencies>
-    <dependency org="com.spatial4j" name="spatial4j" rev="${/com.spatial4j/spatial4j}" conf="compile"/>
-
-    <dependency org="com.spatial4j" name="spatial4j" rev="${/com.spatial4j/spatial4j}" conf="test">
-      <artifact name="spatial4j" type="test" ext="jar" maven:classifier="tests" />
-    </dependency>
-
-    <dependency org="org.slf4j" name="slf4j-api" rev="${/org.slf4j/slf4j-api}" conf="test"/>
-
-    <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
-  </dependencies>
-</ivy-module>
+</ivy-module>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
deleted file mode 100644
index f433c11..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/SpatialStrategy.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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.lucene.spatial;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.queries.function.valuesource.ReciprocalFloatFunction;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.query.SpatialArgs;
-
-/**
- * The SpatialStrategy encapsulates an approach to indexing and searching based
- * on shapes.
- * <p>
- * Different implementations will support different features. A strategy should
- * document these common elements:
- * <ul>
- *   <li>Can it index more than one shape per field?</li>
- *   <li>What types of shapes can be indexed?</li>
- *   <li>What types of query shapes can be used?</li>
- *   <li>What types of query operations are supported?
- *   This might vary per shape.</li>
- *   <li>Does it use some type of cache?  When?
- * </ul>
- * If a strategy only supports certain shapes at index or query time, then in
- * general it will throw an exception if given an incompatible one.  It will not
- * be coerced into compatibility.
- * <p>
- * Note that a SpatialStrategy is not involved with the Lucene stored field
- * values of shapes, which is immaterial to indexing and search.
- * <p>
- * Thread-safe.
- * <p>
- * This API is marked as experimental, however it is quite stable.
- *
- * @lucene.experimental
- */
-public abstract class SpatialStrategy {
-
-  protected final SpatialContext ctx;
-  private final String fieldName;
-
-  /**
-   * Constructs the spatial strategy with its mandatory arguments.
-   */
-  public SpatialStrategy(SpatialContext ctx, String fieldName) {
-    if (ctx == null)
-      throw new IllegalArgumentException("ctx is required");
-    this.ctx = ctx;
-    if (fieldName == null || fieldName.length() == 0)
-      throw new IllegalArgumentException("fieldName is required");
-    this.fieldName = fieldName;
-  }
-
-  public SpatialContext getSpatialContext() {
-    return ctx;
-  }
-
-  /**
-   * The name of the field or the prefix of them if there are multiple
-   * fields needed internally.
-   * @return Not null.
-   */
-  public String getFieldName() {
-    return fieldName;
-  }
-
-  /**
-   * Returns the IndexableField(s) from the {@code shape} that are to be
-   * added to the {@link org.apache.lucene.document.Document}.  These fields
-   * are expected to be marked as indexed and not stored.
-   * <p>
-   * Note: If you want to <i>store</i> the shape as a string for retrieval in
-   * search results, you could add it like this:
-   * <pre>document.add(new StoredField(fieldName,ctx.toString(shape)));</pre>
-   * The particular string representation used doesn't matter to the Strategy
-   * since it doesn't use it.
-   *
-   * @return Not null nor will it have null elements.
-   * @throws UnsupportedOperationException if given a shape incompatible with the strategy
-   */
-  public abstract Field[] createIndexableFields(Shape shape);
-
-  /**
-   * See {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point, double)} called with
-   * a multiplier of 1.0 (i.e. units of degrees).
-   */
-  public ValueSource makeDistanceValueSource(Point queryPoint) {
-    return makeDistanceValueSource(queryPoint, 1.0);
-  }
-
-  /**
-   * Make a ValueSource returning the distance between the center of the
-   * indexed shape and {@code queryPoint}.  If there are multiple indexed shapes
-   * then the closest one is chosen. The result is multiplied by {@code multiplier}, which
-   * conveniently is used to get the desired units.
-   */
-  public abstract ValueSource makeDistanceValueSource(Point queryPoint, double multiplier);
-
-  /**
-   * Make a Query based principally on {@link org.apache.lucene.spatial.query.SpatialOperation}
-   * and {@link Shape} from the supplied {@code args}.  It should be constant scoring of 1.
-   *
-   * @throws UnsupportedOperationException If the strategy does not support the shape in {@code args}
-   * @throws org.apache.lucene.spatial.query.UnsupportedSpatialOperation If the strategy does not support the {@link
-   * org.apache.lucene.spatial.query.SpatialOperation} in {@code args}.
-   */
-  public abstract Query makeQuery(SpatialArgs args);
-
-  /**
-   * Returns a ValueSource with values ranging from 1 to 0, depending inversely
-   * on the distance from {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point,double)}.
-   * The formula is {@code c/(d + c)} where 'd' is the distance and 'c' is
-   * one tenth the distance to the farthest edge from the center. Thus the
-   * scores will be 1 for indexed points at the center of the query shape and as
-   * low as ~0.1 at its furthest edges.
-   */
-  public final ValueSource makeRecipDistanceValueSource(Shape queryShape) {
-    Rectangle bbox = queryShape.getBoundingBox();
-    double diagonalDist = ctx.getDistCalc().distance(
-        ctx.makePoint(bbox.getMinX(), bbox.getMinY()), bbox.getMaxX(), bbox.getMaxY());
-    double distToEdge = diagonalDist * 0.5;
-    float c = (float)distToEdge * 0.1f;//one tenth
-    return new ReciprocalFloatFunction(makeDistanceValueSource(queryShape.getCenter(), 1.0), 1f, c, c);
-  }
-
-  @Override
-  public String toString() {
-    return getClass().getSimpleName()+" field:"+fieldName+" ctx="+ctx;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java
deleted file mode 100644
index 9d0afe1..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxOverlapRatioValueSource.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * 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.lucene.spatial.bbox;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.search.Explanation;
-
-import com.spatial4j.core.shape.Rectangle;
-
-/**
- * The algorithm is implemented as envelope on envelope (rect on rect) overlays rather than
- * complex polygon on complex polygon overlays.
- * <p>
- * Spatial relevance scoring algorithm:
- * <DL>
- *   <DT>queryArea</DT> <DD>the area of the input query envelope</DD>
- *   <DT>targetArea</DT> <DD>the area of the target envelope (per Lucene document)</DD>
- *   <DT>intersectionArea</DT> <DD>the area of the intersection between the query and target envelopes</DD>
- *   <DT>queryTargetProportion</DT> <DD>A 0-1 factor that divides the score proportion between query and target.
- *   0.5 is evenly.</DD>
- *
- *   <DT>queryRatio</DT> <DD>intersectionArea / queryArea; (see note)</DD>
- *   <DT>targetRatio</DT> <DD>intersectionArea / targetArea; (see note)</DD>
- *   <DT>queryFactor</DT> <DD>queryRatio * queryTargetProportion;</DD>
- *   <DT>targetFactor</DT> <DD>targetRatio * (1 - queryTargetProportion);</DD>
- *   <DT>score</DT> <DD>queryFactor + targetFactor;</DD>
- * </DL>
- * Additionally, note that an optional minimum side length {@code minSideLength} may be used whenever an
- * area is calculated (queryArea, targetArea, intersectionArea). This allows for points or horizontal/vertical lines
- * to be used as the query shape and in such case the descending order should have smallest boxes up front. Without
- * this, a point or line query shape typically scores everything with the same value since there is 0 area.
- * <p>
- * Note: The actual computation of queryRatio and targetRatio is more complicated so that it considers
- * points and lines. Lines have the ratio of overlap, and points are either 1.0 or 0.0 depending on whether
- * it intersects or not.
- * <p>
- * Originally based on Geoportal's
- * <a href="http://geoportal.svn.sourceforge.net/svnroot/geoportal/Geoportal/trunk/src/com/esri/gpt/catalog/lucene/SpatialRankingValueSource.java">
- *   SpatialRankingValueSource</a> but modified quite a bit. GeoPortal's algorithm will yield a score of 0
- * if either a line or point is compared, and it doesn't output a 0-1 normalized score (it multiplies the factors),
- * and it doesn't support minSideLength, and it had dateline bugs.
- *
- * @lucene.experimental
- */
-public class BBoxOverlapRatioValueSource extends BBoxSimilarityValueSource {
-
-  private final boolean isGeo;//-180/+180 degrees  (not part of identity; attached to parent strategy/field)
-
-  private final Rectangle queryExtent;
-  private final double queryArea;//not part of identity
-
-  private final double minSideLength;
-
-  private final double queryTargetProportion;
-
-  //TODO option to compute geodetic area
-
-  /**
-   *
-   * @param rectValueSource mandatory; source of rectangles
-   * @param isGeo True if ctx.isGeo() and thus dateline issues should be attended to
-   * @param queryExtent mandatory; the query rectangle
-   * @param queryTargetProportion see class javadocs. Between 0 and 1.
-   * @param minSideLength see class javadocs. 0.0 will effectively disable.
-   */
-  public BBoxOverlapRatioValueSource(ValueSource rectValueSource, boolean isGeo, Rectangle queryExtent,
-                                     double queryTargetProportion, double minSideLength) {
-    super(rectValueSource);
-    this.isGeo = isGeo;
-    this.minSideLength = minSideLength;
-    this.queryExtent = queryExtent;
-    this.queryArea = calcArea(queryExtent.getWidth(), queryExtent.getHeight());
-    assert queryArea >= 0;
-    this.queryTargetProportion = queryTargetProportion;
-    if (queryTargetProportion < 0 || queryTargetProportion > 1.0)
-      throw new IllegalArgumentException("queryTargetProportion must be >= 0 and <= 1");
-  }
-
-  /** Construct with 75% weighting towards target (roughly GeoPortal's default), geo degrees assumed, no
-   * minimum side length. */
-  public BBoxOverlapRatioValueSource(ValueSource rectValueSource, Rectangle queryExtent) {
-    this(rectValueSource, true, queryExtent, 0.25, 0.0);
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (!super.equals(o)) return false;
-
-    BBoxOverlapRatioValueSource that = (BBoxOverlapRatioValueSource) o;
-
-    if (Double.compare(that.minSideLength, minSideLength) != 0) return false;
-    if (Double.compare(that.queryTargetProportion, queryTargetProportion) != 0) return false;
-    if (!queryExtent.equals(that.queryExtent)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    long temp;
-    result = 31 * result + queryExtent.hashCode();
-    temp = Double.doubleToLongBits(minSideLength);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(queryTargetProportion);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    return result;
-  }
-
-  @Override
-  protected String similarityDescription() {
-    return queryExtent.toString() + "," + queryTargetProportion;
-  }
-
-  @Override
-  protected double score(Rectangle target, AtomicReference<Explanation> exp) {
-    // calculate "height": the intersection height between two boxes.
-    double top = Math.min(queryExtent.getMaxY(), target.getMaxY());
-    double bottom = Math.max(queryExtent.getMinY(), target.getMinY());
-    double height = top - bottom;
-    if (height < 0) {
-      if (exp != null) {
-        exp.set(Explanation.noMatch("No intersection"));
-      }
-      return 0;//no intersection
-    }
-
-    // calculate "width": the intersection width between two boxes.
-    double width = 0;
-    {
-      Rectangle a = queryExtent;
-      Rectangle b = target;
-      if (a.getCrossesDateLine() == b.getCrossesDateLine()) {
-        //both either cross or don't
-        double left = Math.max(a.getMinX(), b.getMinX());
-        double right = Math.min(a.getMaxX(), b.getMaxX());
-        if (!a.getCrossesDateLine()) {//both don't
-          if (left <= right) {
-            width = right - left;
-          } else if (isGeo && (Math.abs(a.getMinX()) == 180 || Math.abs(a.getMaxX()) == 180)
-              && (Math.abs(b.getMinX()) == 180 || Math.abs(b.getMaxX()) == 180)) {
-            width = 0;//both adjacent to dateline
-          } else {
-            if (exp != null) {
-              exp.set(Explanation.noMatch("No intersection"));
-            }
-            return 0;//no intersection
-          }
-        } else {//both cross
-          width = right - left + 360;
-        }
-      } else {
-        if (!a.getCrossesDateLine()) {//then flip
-          a = target;
-          b = queryExtent;
-        }
-        //a crosses, b doesn't
-        double qryWestLeft = Math.max(a.getMinX(), b.getMinX());
-        double qryWestRight = b.getMaxX();
-        if (qryWestLeft < qryWestRight)
-          width += qryWestRight - qryWestLeft;
-
-        double qryEastLeft = b.getMinX();
-        double qryEastRight = Math.min(a.getMaxX(), b.getMaxX());
-        if (qryEastLeft < qryEastRight)
-          width += qryEastRight - qryEastLeft;
-
-        if (qryWestLeft > qryWestRight && qryEastLeft > qryEastRight) {
-          if (exp != null) {
-            exp.set(Explanation.noMatch("No intersection"));
-          }
-          return 0;//no intersection
-        }
-      }
-    }
-
-    // calculate queryRatio and targetRatio
-    double intersectionArea = calcArea(width, height);
-    double queryRatio;
-    if (queryArea > 0) {
-      queryRatio = intersectionArea / queryArea;
-    } else if (queryExtent.getHeight() > 0) {//vert line
-      queryRatio = height / queryExtent.getHeight();
-    } else if (queryExtent.getWidth() > 0) {//horiz line
-      queryRatio = width / queryExtent.getWidth();
-    } else {
-      queryRatio = queryExtent.relate(target).intersects() ? 1 : 0;//could be optimized
-    }
-
-    double targetArea = calcArea(target.getWidth(), target.getHeight());
-    assert targetArea >= 0;
-    double targetRatio;
-    if (targetArea > 0) {
-      targetRatio = intersectionArea / targetArea;
-    } else if (target.getHeight() > 0) {//vert line
-      targetRatio = height / target.getHeight();
-    } else if (target.getWidth() > 0) {//horiz line
-      targetRatio = width / target.getWidth();
-    } else {
-      targetRatio = target.relate(queryExtent).intersects() ? 1 : 0;//could be optimized
-    }
-    assert queryRatio >= 0 && queryRatio <= 1 : queryRatio;
-    assert targetRatio >= 0 && targetRatio <= 1 : targetRatio;
-
-    // combine ratios into a score
-
-    double queryFactor = queryRatio * queryTargetProportion;
-    double targetFactor = targetRatio * (1.0 - queryTargetProportion);
-    double score = queryFactor + targetFactor;
-
-    if (exp!=null) {
-      String minSideDesc = minSideLength > 0.0 ? " (minSide="+minSideLength+")" : "";
-      exp.set(Explanation.match((float) score,
-          this.getClass().getSimpleName()+": queryFactor + targetFactor",
-          Explanation.match((float)intersectionArea, "IntersectionArea" + minSideDesc,
-              Explanation.match((float)width, "width"),
-              Explanation.match((float)height, "height"),
-              Explanation.match((float)queryTargetProportion, "queryTargetProportion")),
-          Explanation.match((float)queryFactor, "queryFactor",
-              Explanation.match((float)targetRatio, "ratio"),
-              Explanation.match((float)queryArea,  "area of " + queryExtent + minSideDesc)),
-          Explanation.match((float)targetFactor, "targetFactor",
-              Explanation.match((float)targetRatio, "ratio"),
-              Explanation.match((float)targetArea,  "area of " + target + minSideDesc))));
-    }
-
-    return score;
-  }
-
-  /** Calculates the area while applying the minimum side length. */
-  private double calcArea(double width, double height) {
-    return Math.max(minSideLength, width) * Math.max(minSideLength, height);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java b/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
deleted file mode 100644
index 15cd646..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.lucene.spatial.bbox;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.queries.function.FunctionValues;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-
-import com.spatial4j.core.shape.Rectangle;
-
-/**
- * A base class for calculating a spatial relevance rank per document from a provided
- * {@link ValueSource} in which {@link FunctionValues#objectVal(int)} returns a {@link
- * com.spatial4j.core.shape.Rectangle}.
- * <p>
- * Implementers: remember to implement equals and hashCode if you have
- * fields!
- *
- * @lucene.experimental
- */
-public abstract class BBoxSimilarityValueSource extends ValueSource {
-
-  private final ValueSource bboxValueSource;
-
-  public BBoxSimilarityValueSource(ValueSource bboxValueSource) {
-    this.bboxValueSource = bboxValueSource;
-  }
-
-  @Override
-  public void createWeight(Map context, IndexSearcher searcher) throws IOException {
-    bboxValueSource.createWeight(context, searcher);
-  }
-
-  @Override
-  public String description() {
-    return getClass().getSimpleName()+"(" + bboxValueSource.description() + "," + similarityDescription() + ")";
-  }
-
-  /** A comma-separated list of configurable items of the subclass to put into {@link #description()}. */
-  protected abstract String similarityDescription();
-
-  @Override
-  public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
-
-    final FunctionValues shapeValues = bboxValueSource.getValues(context, readerContext);
-
-    return new DoubleDocValues(this) {
-      @Override
-      public double doubleVal(int doc) {
-        //? limit to Rect or call getBoundingBox()? latter would encourage bad practice
-        final Rectangle rect = (Rectangle) shapeValues.objectVal(doc);
-        return rect==null ? 0 : score(rect, null);
-      }
-
-      @Override
-      public boolean exists(int doc) {
-        return shapeValues.exists(doc);
-      }
-
-      @Override
-      public Explanation explain(int doc) {
-        final Rectangle rect = (Rectangle) shapeValues.objectVal(doc);
-        if (rect == null)
-          return Explanation.noMatch("no rect");
-        AtomicReference<Explanation> explanation = new AtomicReference<>();
-        score(rect, explanation);
-        return explanation.get();
-      }
-    };
-  }
-
-  /**
-   * Return a relevancy score. If {@code exp} is provided then diagnostic information is added.
-   * @param rect The indexed rectangle; not null.
-   * @param exp Optional diagnostic holder.
-   * @return a score.
-   */
-  protected abstract double score(Rectangle rect, AtomicReference<Explanation> exp);
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;//same class
-
-    BBoxSimilarityValueSource that = (BBoxSimilarityValueSource) o;
-
-    if (!bboxValueSource.equals(that.bboxValueSource)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return bboxValueSource.hashCode();
-  }
-}


[69/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
deleted file mode 100644
index e724ab0..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-
-import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.tokenattributes.BytesTermAttribute;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefIterator;
-
-/**
- * A TokenStream used internally by {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy}.
- *
- * This is modelled after {@link org.apache.lucene.analysis.LegacyNumericTokenStream}.
- *
- * @lucene.internal
- */
-class BytesRefIteratorTokenStream extends TokenStream {
-
-  public BytesRefIterator getBytesRefIterator() {
-    return bytesIter;
-  }
-
-  public BytesRefIteratorTokenStream setBytesRefIterator(BytesRefIterator iter) {
-    this.bytesIter = iter;
-    return this;
-  }
-
-  @Override
-  public void reset() throws IOException {
-    if (bytesIter == null)
-      throw new IllegalStateException("call setBytesRefIterator() before usage");
-  }
-
-  @Override
-  public final boolean incrementToken() throws IOException {
-    if (bytesIter == null)
-      throw new IllegalStateException("call setBytesRefIterator() before usage");
-
-    // get next
-    BytesRef bytes = bytesIter.next();
-    if (bytes == null) {
-      return false;
-    } else {
-      clearAttributes();
-      bytesAtt.setBytesRef(bytes);
-      //note: we don't bother setting posInc or type attributes.  There's no point to it.
-      return true;
-    }
-  }
-
-  //members
-  private final BytesTermAttribute bytesAtt = addAttribute(BytesTermAttribute.class);
-
-  private BytesRefIterator bytesIter = null; // null means not initialized
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
deleted file mode 100644
index 0b81b26..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/CellToBytesRefIterator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.util.Iterator;
-
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefIterator;
-
-/**
- * A reset'able {@link org.apache.lucene.util.BytesRefIterator} wrapper around
- * an {@link java.util.Iterator} of {@link org.apache.lucene.spatial.prefix.tree.Cell}s.
- *
- * @see PrefixTreeStrategy#newCellToBytesRefIterator()
- *
- * @lucene.internal
- */
-public class CellToBytesRefIterator implements BytesRefIterator {
-
-  protected Iterator<Cell> cellIter;
-  protected BytesRef bytesRef = new BytesRef();
-
-  public void reset(Iterator<Cell> cellIter) {
-    this.cellIter = cellIter;
-  }
-
-  @Override
-  public BytesRef next() {
-    if (!cellIter.hasNext()) {
-      return null;
-    }
-    return cellIter.next().getTokenBytesWithLeaf(bytesRef);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
deleted file mode 100644
index 7eadb64..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/ContainsPrefixTreeQuery.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.Arrays;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.RamUsageEstimator;
-import org.apache.lucene.util.SentinelIntSet;
-
-/**
- * Finds docs where its indexed shape {@link org.apache.lucene.spatial.query.SpatialOperation#Contains
- * CONTAINS} the query shape. For use on {@link RecursivePrefixTreeStrategy}.
- *
- * @lucene.experimental
- */
-public class ContainsPrefixTreeQuery extends AbstractPrefixTreeQuery {
-
-  /**
-   * If the spatial data for a document is comprised of multiple overlapping or adjacent parts,
-   * it might fail to match a query shape when doing the CONTAINS predicate when the sum of
-   * those shapes contain the query shape but none do individually.  Set this to false to
-   * increase performance if you don't care about that circumstance (such as if your indexed
-   * data doesn't even have such conditions).  See LUCENE-5062.
-   */
-  protected final boolean multiOverlappingIndexedShapes;
-
-  public ContainsPrefixTreeQuery(Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel, boolean multiOverlappingIndexedShapes) {
-    super(queryShape, fieldName, grid, detailLevel);
-    this.multiOverlappingIndexedShapes = multiOverlappingIndexedShapes;
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (!super.equals(o))
-      return false;
-    return multiOverlappingIndexedShapes == ((ContainsPrefixTreeQuery)o).multiOverlappingIndexedShapes;
-  }
-
-  @Override
-  public int hashCode() {
-    return super.hashCode() + (multiOverlappingIndexedShapes ? 1 : 0);
-  }
-
-  @Override
-  public String toString(String field) {
-    return getClass().getSimpleName() + "(" +
-        "fieldName=" + fieldName + "," +
-        "queryShape=" + queryShape + "," +
-        "detailLevel=" + detailLevel + "," +
-        "multiOverlappingIndexedShapes=" + multiOverlappingIndexedShapes +
-        ")";
-  }
-
-  @Override
-  protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
-    return new ContainsVisitor(context).visit(grid.getWorldCell(), null);
-  }
-
-  private class ContainsVisitor extends BaseTermsEnumTraverser {
-
-    public ContainsVisitor(LeafReaderContext context) throws IOException {
-      super(context);
-      if (termsEnum != null) {
-        nextTerm();//advance to first
-      }
-    }
-
-    BytesRef seekTerm = new BytesRef();//temp; see seek()
-    BytesRef thisTerm;//current term in termsEnum
-    Cell indexedCell;//the cell wrapper around thisTerm
-
-    /** This is the primary algorithm; recursive.  Returns null if finds none. */
-    private SmallDocSet visit(Cell cell, Bits acceptContains) throws IOException {
-
-      if (thisTerm == null)//signals all done
-        return null;
-
-      // Get the AND of all child results (into combinedSubResults)
-      SmallDocSet combinedSubResults = null;
-      //   Optimization: use null subCellsFilter when we know cell is within the query shape.
-      Shape subCellsFilter = queryShape;
-      if (cell.getLevel() != 0 && ((cell.getShapeRel() == null || cell.getShapeRel() == SpatialRelation.WITHIN))) {
-        subCellsFilter = null;
-        assert cell.getShape().relate(queryShape) == SpatialRelation.WITHIN;
-      }
-      CellIterator subCells = cell.getNextLevelCells(subCellsFilter);
-      while (subCells.hasNext()) {
-        Cell subCell = subCells.next();
-        if (!seek(subCell)) {
-          combinedSubResults = null;
-        } else if (subCell.getLevel() == detailLevel) {
-          combinedSubResults = getDocs(subCell, acceptContains);
-        } else if (!multiOverlappingIndexedShapes &&
-            subCell.getShapeRel() == SpatialRelation.WITHIN) {
-          combinedSubResults = getLeafDocs(subCell, acceptContains);
-        } else {
-          //OR the leaf docs with all child results
-          SmallDocSet leafDocs = getLeafDocs(subCell, acceptContains);
-          SmallDocSet subDocs = visit(subCell, acceptContains); //recursion
-          combinedSubResults = union(leafDocs, subDocs);
-        }
-
-        if (combinedSubResults == null)
-          break;
-        acceptContains = combinedSubResults;//has the 'AND' effect on next iteration
-      }
-
-      return combinedSubResults;
-    }
-
-    private boolean seek(Cell cell) throws IOException {
-      if (thisTerm == null)
-        return false;
-      final int compare = indexedCell.compareToNoLeaf(cell);
-      if (compare > 0) {
-        return false;//leap-frog effect
-      } else if (compare == 0) {
-        return true; // already there!
-      } else {//compare > 0
-        //seek!
-        seekTerm = cell.getTokenBytesNoLeaf(seekTerm);
-        final TermsEnum.SeekStatus seekStatus = termsEnum.seekCeil(seekTerm);
-        if (seekStatus == TermsEnum.SeekStatus.END) {
-          thisTerm = null;//all done
-          return false;
-        }
-        thisTerm = termsEnum.term();
-        indexedCell = grid.readCell(thisTerm, indexedCell);
-        if (seekStatus == TermsEnum.SeekStatus.FOUND) {
-          return true;
-        }
-        return indexedCell.isLeaf() && indexedCell.compareToNoLeaf(cell) == 0;
-      }
-    }
-
-    /** Get prefix & leaf docs at this cell. */
-    private SmallDocSet getDocs(Cell cell, Bits acceptContains) throws IOException {
-      assert indexedCell.compareToNoLeaf(cell) == 0;
-      //called when we've reached detailLevel.
-      if (indexedCell.isLeaf()) {//only a leaf
-        SmallDocSet result = collectDocs(acceptContains);
-        nextTerm();
-        return result;
-      } else {
-        SmallDocSet docsAtPrefix = collectDocs(acceptContains);
-        if (!nextTerm()) {
-          return docsAtPrefix;
-        }
-        //collect leaf too
-        if (indexedCell.isLeaf() && indexedCell.compareToNoLeaf(cell) == 0) {
-          SmallDocSet docsAtLeaf = collectDocs(acceptContains);
-          nextTerm();
-          return union(docsAtPrefix, docsAtLeaf);
-        } else {
-          return docsAtPrefix;
-        }
-      }
-    }
-
-    /** Gets docs on the leaf of the given cell, _if_ there is a leaf cell, otherwise null. */
-    private SmallDocSet getLeafDocs(Cell cell, Bits acceptContains) throws IOException {
-      assert indexedCell.compareToNoLeaf(cell) == 0;
-      //Advance past prefix if we're at a prefix; return null if no leaf
-      if (!indexedCell.isLeaf()) {
-        if (!nextTerm() || !indexedCell.isLeaf() || indexedCell.getLevel() != cell.getLevel()) {
-          return null;
-        }
-      }
-      SmallDocSet result = collectDocs(acceptContains);
-      nextTerm();
-      return result;
-    }
-
-    private boolean nextTerm() throws IOException {
-      if ((thisTerm = termsEnum.next()) == null)
-        return false;
-      indexedCell = grid.readCell(thisTerm, indexedCell);
-      return true;
-    }
-
-    private SmallDocSet union(SmallDocSet aSet, SmallDocSet bSet) {
-      if (bSet != null) {
-        if (aSet == null)
-          return bSet;
-        return aSet.union(bSet);//union is 'or'
-      }
-      return aSet;
-    }
-
-    private SmallDocSet collectDocs(Bits acceptContains) throws IOException {
-      SmallDocSet set = null;
-
-      postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
-      int docid;
-      while ((docid = postingsEnum.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
-        if (acceptContains != null && acceptContains.get(docid) == false) {
-          continue;
-        }
-        if (set == null) {
-          int size = termsEnum.docFreq();
-          if (size <= 0)
-            size = 16;
-          set = new SmallDocSet(size);
-        }
-        set.set(docid);
-      }
-      return set;
-    }
-
-  }//class ContainsVisitor
-
-  /** A hash based mutable set of docIds. If this were Solr code then we might
-   * use a combination of HashDocSet and SortedIntDocSet instead. */
-  // TODO use DocIdSetBuilder?
-  private static class SmallDocSet extends DocIdSet implements Bits {
-
-    private final SentinelIntSet intSet;
-    private int maxInt = 0;
-
-    public SmallDocSet(int size) {
-      intSet = new SentinelIntSet(size, -1);
-    }
-
-    @Override
-    public boolean get(int index) {
-      return intSet.exists(index);
-    }
-
-    public void set(int index) {
-      intSet.put(index);
-      if (index > maxInt)
-        maxInt = index;
-    }
-
-    /** Largest docid. */
-    @Override
-    public int length() {
-      return maxInt;
-    }
-
-    /** Number of docids. */
-    public int size() {
-      return intSet.size();
-    }
-
-    /** NOTE: modifies and returns either "this" or "other" */
-    public SmallDocSet union(SmallDocSet other) {
-      SmallDocSet bigger;
-      SmallDocSet smaller;
-      if (other.intSet.size() > this.intSet.size()) {
-        bigger = other;
-        smaller = this;
-      } else {
-        bigger = this;
-        smaller = other;
-      }
-      //modify bigger
-      for (int v : smaller.intSet.keys) {
-        if (v == smaller.intSet.emptyVal)
-          continue;
-        bigger.set(v);
-      }
-      return bigger;
-    }
-
-    @Override
-    public Bits bits() throws IOException {
-      //if the # of docids is super small, return null since iteration is going
-      // to be faster
-      return size() > 4 ? this : null;
-    }
-
-    @Override
-    public DocIdSetIterator iterator() throws IOException {
-      if (size() == 0)
-        return null;
-      //copy the unsorted values to a new array then sort them
-      int d = 0;
-      final int[] docs = new int[intSet.size()];
-      for (int v : intSet.keys) {
-        if (v == intSet.emptyVal)
-          continue;
-        docs[d++] = v;
-      }
-      assert d == intSet.size();
-      final int size = d;
-
-      //sort them
-      Arrays.sort(docs, 0, size);
-
-      return new DocIdSetIterator() {
-        int idx = -1;
-        @Override
-        public int docID() {
-          if (idx < 0) {
-            return -1;
-          } else if (idx < size) {
-            return docs[idx];
-          } else {
-            return NO_MORE_DOCS;
-          }
-        }
-
-        @Override
-        public int nextDoc() throws IOException {
-          if (++idx < size)
-            return docs[idx];
-          return NO_MORE_DOCS;
-        }
-
-        @Override
-        public int advance(int target) throws IOException {
-          //for this small set this is likely faster vs. a binary search
-          // into the sorted array
-          return slowAdvance(target);
-        }
-
-        @Override
-        public long cost() {
-          return size;
-        }
-      };
-    }
-
-    @Override
-    public long ramBytesUsed() {
-      return RamUsageEstimator.alignObjectSize(
-            RamUsageEstimator.NUM_BYTES_OBJECT_REF
-          + RamUsageEstimator.NUM_BYTES_INT)
-          + intSet.ramBytesUsed();
-    }
-
-  }//class SmallDocSet
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
deleted file mode 100644
index c6700cd..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/HeatmapFacetCounter.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.index.IndexReaderContext;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.Bits;
-
-/**
- * Computes spatial facets in two dimensions as a grid of numbers.  The data is often visualized as a so-called
- * "heatmap", hence the name.
- *
- * @lucene.experimental
- */
-public class HeatmapFacetCounter {
-  //TODO where should this code live? It could go to PrefixTreeFacetCounter, or maybe here in its own class is fine.
-
-  /** Maximum number of supported rows (or columns). */
-  public static final int MAX_ROWS_OR_COLUMNS = (int) Math.sqrt(ArrayUtil.MAX_ARRAY_LENGTH);
-  static {
-    Math.multiplyExact(MAX_ROWS_OR_COLUMNS, MAX_ROWS_OR_COLUMNS);//will throw if doesn't stay within integer
-  }
-
-  /** Response structure */
-  public static class Heatmap {
-    public final int columns;
-    public final int rows;
-    public final int[] counts;//in order of 1st column (all rows) then 2nd column (all rows) etc.
-    public final Rectangle region;
-
-    public Heatmap(int columns, int rows, Rectangle region) {
-      this.columns = columns;
-      this.rows = rows;
-      this.counts = new int[columns * rows];
-      this.region = region;
-    }
-
-    public int getCount(int x, int y) {
-      return counts[x * rows + y];
-    }
-
-    @Override
-    public String toString() {
-      return "Heatmap{" + columns + "x" + rows + " " + region + '}';
-    }
-  }
-
-  /**
-   * Calculates spatial 2D facets (aggregated counts) in a grid, sometimes called a heatmap.
-   * Facet computation is implemented by navigating the underlying indexed terms efficiently. If you don't know exactly
-   * what facetLevel to go to for a given input box but you have some sense of how many cells there should be relative
-   * to the size of the shape, then consider using the logic that {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy}
-   * uses when approximating what level to go to when indexing a shape given a distErrPct.
-   *
-   * @param context the IndexReader's context
-   * @param topAcceptDocs a Bits to limit counted docs.  If null, live docs are counted.
-   * @param inputShape the shape to gather grid squares for; typically a {@link Rectangle}.
-   *                   The <em>actual</em> heatmap area will usually be larger since the cells on the edge that overlap
-   *                   are returned. We always return a rectangle of integers even if the inputShape isn't a rectangle
-   *                   -- the non-intersecting cells will all be 0.
-   *                   If null is given, the entire world is assumed.
-   * @param facetLevel the target depth (detail) of cells.
-   * @param maxCells the maximum number of cells to return. If the cells exceed this count, an
-   */
-  public static Heatmap calcFacets(PrefixTreeStrategy strategy, IndexReaderContext context, Bits topAcceptDocs,
-                                   Shape inputShape, final int facetLevel, int maxCells) throws IOException {
-    if (maxCells > (MAX_ROWS_OR_COLUMNS * MAX_ROWS_OR_COLUMNS)) {
-      throw new IllegalArgumentException("maxCells (" + maxCells + ") should be <= " + MAX_ROWS_OR_COLUMNS);
-    }
-    if (inputShape == null) {
-      inputShape = strategy.getSpatialContext().getWorldBounds();
-    }
-    final Rectangle inputRect = inputShape.getBoundingBox();
-    //First get the rect of the cell at the bottom-left at depth facetLevel
-    final SpatialPrefixTree grid = strategy.getGrid();
-    final SpatialContext ctx = grid.getSpatialContext();
-    final Point cornerPt = ctx.makePoint(inputRect.getMinX(), inputRect.getMinY());
-    final CellIterator cellIterator = grid.getTreeCellIterator(cornerPt, facetLevel);
-    Cell cornerCell = null;
-    while (cellIterator.hasNext()) {
-      cornerCell = cellIterator.next();
-    }
-    assert cornerCell != null && cornerCell.getLevel() == facetLevel : "Cell not at target level: " + cornerCell;
-    final Rectangle cornerRect = (Rectangle) cornerCell.getShape();
-    assert cornerRect.hasArea();
-    //Now calculate the number of columns and rows necessary to cover the inputRect
-    double heatMinX = cornerRect.getMinX();//note: we might change this below...
-    final double cellWidth = cornerRect.getWidth();
-    final Rectangle worldRect = ctx.getWorldBounds();
-    final int columns = calcRowsOrCols(cellWidth, heatMinX, inputRect.getWidth(), inputRect.getMinX(), worldRect.getWidth());
-    final double heatMinY = cornerRect.getMinY();
-    final double cellHeight = cornerRect.getHeight();
-    final int rows = calcRowsOrCols(cellHeight, heatMinY, inputRect.getHeight(), inputRect.getMinY(), worldRect.getHeight());
-    assert rows > 0 && columns > 0;
-    if (columns > MAX_ROWS_OR_COLUMNS || rows > MAX_ROWS_OR_COLUMNS || columns * rows > maxCells) {
-      throw new IllegalArgumentException(
-          "Too many cells (" + columns + " x " + rows + ") for level " + facetLevel + " shape " + inputRect);
-    }
-
-    //Create resulting heatmap bounding rectangle & Heatmap object.
-    final double halfCellWidth = cellWidth / 2.0;
-    // if X world-wraps, use world bounds' range
-    if (columns * cellWidth + halfCellWidth > worldRect.getWidth()) {
-      heatMinX = worldRect.getMinX();
-    }
-    double heatMaxX = heatMinX + columns * cellWidth;
-    if (Math.abs(heatMaxX - worldRect.getMaxX()) < halfCellWidth) {//numeric conditioning issue
-      heatMaxX = worldRect.getMaxX();
-    } else if (heatMaxX > worldRect.getMaxX()) {//wraps dateline (won't happen if !geo)
-      heatMaxX = heatMaxX - worldRect.getMaxX() +  worldRect.getMinX();
-    }
-    final double halfCellHeight = cellHeight / 2.0;
-    double heatMaxY = heatMinY + rows * cellHeight;
-    if (Math.abs(heatMaxY - worldRect.getMaxY()) < halfCellHeight) {//numeric conditioning issue
-      heatMaxY = worldRect.getMaxY();
-    }
-
-    final Heatmap heatmap = new Heatmap(columns, rows, ctx.makeRectangle(heatMinX, heatMaxX, heatMinY, heatMaxY));
-
-    //All ancestor cell counts (of facetLevel) will be captured during facet visiting and applied later. If the data is
-    // just points then there won't be any ancestors.
-    //Facet count of ancestors covering all of the heatmap:
-    int[] allCellsAncestorCount = new int[1]; // single-element array so it can be accumulated in the inner class
-    //All other ancestors:
-    Map<Rectangle,Integer> ancestors = new HashMap<>();
-
-    //Now lets count some facets!
-    PrefixTreeFacetCounter.compute(strategy, context, topAcceptDocs, inputShape, facetLevel,
-        new PrefixTreeFacetCounter.FacetVisitor() {
-      @Override
-      public void visit(Cell cell, int count) {
-        final double heatMinX = heatmap.region.getMinX();
-        final Rectangle rect = (Rectangle) cell.getShape();
-        if (cell.getLevel() == facetLevel) {//heatmap level; count it directly
-          //convert to col & row
-          int column;
-          if (rect.getMinX() >= heatMinX) {
-            column = (int) Math.round((rect.getMinX() - heatMinX) / cellWidth);
-          } else { // due to dateline wrap
-            column = (int) Math.round((rect.getMinX() + 360 - heatMinX) / cellWidth);
-          }
-          int row = (int) Math.round((rect.getMinY() - heatMinY) / cellHeight);
-          //note: unfortunately, it's possible for us to visit adjacent cells to the heatmap (if the SpatialPrefixTree
-          // allows adjacent cells to overlap on the seam), so we need to skip them
-          if (column < 0 || column >= heatmap.columns || row < 0 || row >= heatmap.rows) {
-            return;
-          }
-          // increment
-          heatmap.counts[column * heatmap.rows + row] += count;
-
-        } else if (rect.relate(heatmap.region) == SpatialRelation.CONTAINS) {//containing ancestor
-          allCellsAncestorCount[0] += count;
-
-        } else { // ancestor
-          // note: not particularly efficient (possible put twice, and Integer wrapper); oh well
-          Integer existingCount = ancestors.put(rect, count);
-          if (existingCount != null) {
-            ancestors.put(rect, count + existingCount);
-          }
-        }
-      }
-    });
-
-    //Update the heatmap counts with ancestor counts
-
-    // Apply allCellsAncestorCount
-    if (allCellsAncestorCount[0] > 0) {
-      for (int i = 0; i < heatmap.counts.length; i++) {
-        heatmap.counts[i] += allCellsAncestorCount[0];
-      }
-    }
-
-    // Apply ancestors
-    //  note: This approach isn't optimized for a ton of ancestor cells. We'll potentially increment the same cells
-    //    multiple times in separate passes if any ancestors overlap. IF this poses a problem, we could optimize it
-    //    with additional complication by keeping track of intervals in a sorted tree structure (possible TreeMap/Set)
-    //    and iterate them cleverly such that we just make one pass at this stage.
-
-    int[] pair = new int[2];//output of intersectInterval
-    for (Map.Entry<Rectangle, Integer> entry : ancestors.entrySet()) {
-      Rectangle rect = entry.getKey();
-      final int count = entry.getValue();
-      //note: we approach this in a way that eliminates int overflow/underflow (think huge cell, tiny heatmap)
-      intersectInterval(heatMinY, heatMaxY, cellHeight, rows, rect.getMinY(), rect.getMaxY(), pair);
-      final int startRow = pair[0];
-      final int endRow = pair[1];
-
-      if (!heatmap.region.getCrossesDateLine()) {
-        intersectInterval(heatMinX, heatMaxX, cellWidth, columns, rect.getMinX(), rect.getMaxX(), pair);
-        final int startCol = pair[0];
-        final int endCol = pair[1];
-        incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
-
-      } else {
-        //left half of dateline:
-        if (rect.getMaxX() >= heatMinX) {
-          final int leftColumns = (int) Math.round((180 - heatMinX) / cellWidth) + 1;
-          intersectInterval(heatMinX, 180, cellWidth, leftColumns, rect.getMinX(), rect.getMaxX(), pair);
-          final int startCol = pair[0];
-          final int endCol = pair[1];
-          incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
-        }
-        //right half of dateline
-        if (rect.getMinY() <= heatMaxX) {
-          final int rightColumns = (int) Math.round(heatMaxX / cellWidth) + 1;
-          intersectInterval(0, heatMaxX, cellWidth, rightColumns, rect.getMinX(), rect.getMaxX(), pair);
-          final int startCol = pair[0];
-          final int endCol = pair[1];
-          incrementRange(heatmap, startCol, endCol, startRow, endRow, count);
-        }
-      }
-
-    }
-
-    return heatmap;
-  }
-
-  private static void intersectInterval(double heatMin, double heatMax, double heatCellLen, int heatLen,
-                                        double cellMin, double cellMax,
-                                        int[] out) {
-    //precondition: we know there's an intersection
-    if (heatMin >= cellMin) {
-      out[0] = 0;
-    } else {
-      out[0] = (int) Math.round((cellMin - heatMin) / heatCellLen);
-    }
-    if (heatMax <= cellMax) {
-      out[1] = heatLen - 1;
-    } else {
-      out[1] = (int) Math.round((cellMax - heatMin) / heatCellLen) - 1;
-    }
-  }
-
-  private static void incrementRange(Heatmap heatmap, int startColumn, int endColumn, int startRow, int endRow,
-                                     int count) {
-    //startColumn & startRow are not necessarily within the heatmap range; likewise numRows/columns may overlap.
-    if (startColumn < 0) {
-      endColumn += startColumn;
-      startColumn = 0;
-    }
-    endColumn = Math.min(heatmap.columns-1, endColumn);
-
-    if (startRow < 0) {
-      endRow += startRow;
-      startRow = 0;
-    }
-    endRow = Math.min(heatmap.rows-1, endRow);
-
-    if (startRow > endRow) {
-      return;//short-circuit
-    }
-    for (int c = startColumn; c <= endColumn; c++) {
-      int cBase = c * heatmap.rows;
-      for (int r = startRow; r <= endRow; r++) {
-        heatmap.counts[cBase + r] += count;
-      }
-    }
-  }
-
-  /** Computes the number of intervals (rows or columns) to cover a range given the sizes. */
-  private static int calcRowsOrCols(double cellRange, double cellMin, double requestRange, double requestMin,
-                                    double worldRange) {
-    assert requestMin >= cellMin;
-    //Idealistically this wouldn't be so complicated but we concern ourselves with overflow and edge cases
-    double range = (requestRange + (requestMin - cellMin));
-    if (range == 0) {
-      return 1;
-    }
-    final double intervals = Math.ceil(range / cellRange);
-    if (intervals > Integer.MAX_VALUE) {
-      return Integer.MAX_VALUE;//should result in an error soon (exceed thresholds)
-    }
-    // ensures we don't have more intervals than world bounds (possibly due to rounding/edge issue)
-    final long intervalsMax = Math.round(worldRange / cellRange);
-    if (intervalsMax > Integer.MAX_VALUE) {
-      //just return intervals
-      return (int) intervals;
-    }
-    return Math.min((int)intervalsMax, (int)intervals);
-  }
-
-  private HeatmapFacetCounter() {
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
deleted file mode 100644
index ccb0f89..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/IntersectsPrefixTreeQuery.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.BitDocIdSet;
-import org.apache.lucene.util.FixedBitSet;
-
-/**
- * A Query matching documents that have an {@link SpatialRelation#INTERSECTS}
- * (i.e. not DISTINCT) relationship with a provided query shape.
- *
- * @lucene.internal
- */
-public class IntersectsPrefixTreeQuery extends AbstractVisitingPrefixTreeQuery {
-
-  public IntersectsPrefixTreeQuery(Shape queryShape, String fieldName,
-                                   SpatialPrefixTree grid, int detailLevel,
-                                   int prefixGridScanLevel) {
-    super(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel);
-  }
-
-  @Override
-  protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException {
-    /* Possible optimizations (in IN ADDITION TO THOSE LISTED IN VISITORTEMPLATE):
-
-    * If docFreq is 1 (or < than some small threshold), then check to see if we've already
-      collected it; if so short-circuit. Don't do this just for point data, as there is
-      no benefit, or only marginal benefit when multi-valued.
-
-    * Point query shape optimization when the only indexed data is a point (no leaves).  Result is a term query.
-
-     */
-    return new VisitorTemplate(context) {
-      private FixedBitSet results;
-
-      @Override
-      protected void start() {
-        results = new FixedBitSet(maxDoc);
-      }
-
-      @Override
-      protected DocIdSet finish() {
-        return new BitDocIdSet(results);
-      }
-
-      @Override
-      protected boolean visitPrefix(Cell cell) throws IOException {
-        if (cell.getShapeRel() == SpatialRelation.WITHIN || cell.getLevel() == detailLevel) {
-          collectDocs(results);
-          return false;
-        }
-        return true;
-      }
-
-      @Override
-      protected void visitLeaf(Cell cell) throws IOException {
-        collectDocs(results);
-      }
-
-    }.getDocIdSet();
-  }
-
-  @Override
-  public String toString(String field) {
-    return getClass().getSimpleName() + "(" +
-        "fieldName=" + fieldName + "," +
-        "queryShape=" + queryShape + "," +
-        "detailLevel=" + detailLevel + "," +
-        "prefixGridScanLevel=" + prefixGridScanLevel +
-        ")";
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
deleted file mode 100644
index 8001c82..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/NumberRangePrefixTreeStrategy.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.index.IndexReaderContext;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree;
-import org.apache.lucene.util.Bits;
-
-import static org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape;
-
-/** A PrefixTree based on Number/Date ranges. This isn't very "spatial" on the surface (to the user) but
- * it's implemented using spatial so that's why it's here extending a SpatialStrategy. When using this class, you will
- * use various utility methods on the prefix tree implementation to convert objects/strings to/from shapes.
- *
- * To use with dates, pass in {@link org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree}.
- *
- * @lucene.experimental
- */
-public class NumberRangePrefixTreeStrategy extends RecursivePrefixTreeStrategy {
-
-  public NumberRangePrefixTreeStrategy(NumberRangePrefixTree prefixTree, String fieldName) {
-    super(prefixTree, fieldName);
-    setPruneLeafyBranches(false);
-    setPrefixGridScanLevel(prefixTree.getMaxLevels()-2);//user might want to change, however
-    setPointsOnly(false);
-    setDistErrPct(0);
-  }
-
-  @Override
-  public NumberRangePrefixTree getGrid() {
-    return (NumberRangePrefixTree) super.getGrid();
-  }
-
-  @Override
-  protected Iterator<Cell> createCellIteratorToIndex(Shape shape, int detailLevel, Iterator<Cell> reuse) {
-    //levels doesn't actually matter; NumberRange based Shapes have their own "level".
-    return super.createCellIteratorToIndex(shape, grid.getMaxLevels(), reuse);
-  }
-
-  /** Unsupported. */
-  @Override
-  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
-    throw new UnsupportedOperationException();
-  }
-
-  /** Calculates facets between {@code start} and {@code end} to a detail level one greater than that provided by the
-   * arguments. For example providing March to October of 2014 would return facets to the day level of those months.
-   * This is just a convenience method.
-   * @see #calcFacets(IndexReaderContext, Bits, Shape, int)
-   */
-  public Facets calcFacets(IndexReaderContext context, Bits topAcceptDocs, UnitNRShape start, UnitNRShape end)
-      throws IOException {
-    Shape facetRange = getGrid().toRangeShape(start, end);
-    int detailLevel = Math.max(start.getLevel(), end.getLevel()) + 1;
-    return calcFacets(context, topAcceptDocs, facetRange, detailLevel);
-  }
-
-  /**
-   * Calculates facets (aggregated counts) given a range shape (start-end span) and a level, which specifies the detail.
-   * To get the level of an existing shape, say a Calendar, call
-   * {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree#toUnitShape(Object)} then call
-   * {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape#getLevel()}.
-   * Facet computation is implemented by navigating the underlying indexed terms efficiently.
-   */
-  public Facets calcFacets(IndexReaderContext context, Bits topAcceptDocs, Shape facetRange, final int level)
-      throws IOException {
-    final Facets facets = new Facets(level);
-    PrefixTreeFacetCounter.compute(this, context, topAcceptDocs, facetRange, level,
-        new PrefixTreeFacetCounter.FacetVisitor() {
-          Facets.FacetParentVal parentFacet;
-          UnitNRShape parentShape;
-
-          @Override
-          public void visit(Cell cell, int count) {
-            if (cell.getLevel() < level - 1) {//some ancestor of parent facet level, direct or distant
-              parentFacet = null;//reset
-              parentShape = null;//reset
-              facets.topLeaves += count;
-            } else if (cell.getLevel() == level - 1) {//parent
-              //set up FacetParentVal
-              setupParent((UnitNRShape) cell.getShape());
-              parentFacet.parentLeaves += count;
-            } else {//at facet level
-              UnitNRShape unitShape = (UnitNRShape) cell.getShape();
-              UnitNRShape unitShapeParent = unitShape.getShapeAtLevel(unitShape.getLevel() - 1);
-              if (parentFacet == null || !parentShape.equals(unitShapeParent)) {
-                setupParent(unitShapeParent);
-              }
-              //lazy init childCounts
-              if (parentFacet.childCounts == null) {
-                parentFacet.childCounts = new int[parentFacet.childCountsLen];
-              }
-              parentFacet.childCounts[unitShape.getValAtLevel(cell.getLevel())] += count;
-            }
-          }
-
-          private void setupParent(UnitNRShape unitShape) {
-            parentShape = unitShape.clone();
-            //Look for existing parentFacet (from previous segment), or create anew if needed
-            parentFacet = facets.parents.get(parentShape);
-            if (parentFacet == null) {//didn't find one; make a new one
-              parentFacet = new Facets.FacetParentVal();
-              parentFacet.childCountsLen = getGrid().getNumSubCells(parentShape);
-              facets.parents.put(parentShape, parentFacet);
-            }
-          }
-        });
-    return facets;
-  }
-
-  /** Facet response information */
-  public static class Facets {
-    //TODO consider a variable-level structure -- more general purpose.
-
-    public Facets(int detailLevel) {
-      this.detailLevel = detailLevel;
-    }
-
-    /** The bottom-most detail-level counted, as requested. */
-    public final int detailLevel;
-
-    /**
-     * The count of documents with ranges that completely spanned the parents of the detail level. In more technical
-     * terms, this is the count of leaf cells 2 up and higher from the bottom. Usually you only care about counts at
-     * detailLevel, and so you will add this number to all other counts below, including to omitted/implied children
-     * counts of 0. If there are no indexed ranges (just instances, i.e. fully specified dates) then this value will
-     * always be 0.
-     */
-    public int topLeaves;
-
-    /** Holds all the {@link FacetParentVal} instances in order of the key. This is sparse; there won't be an
-     * instance if it's count and children are all 0. The keys are {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape} shapes, which can be
-     * converted back to the original Object (i.e. a Calendar) via
-     * {@link NumberRangePrefixTree#toObject(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
-    public final SortedMap<UnitNRShape,FacetParentVal> parents = new TreeMap<>();
-
-    /** Holds a block of detailLevel counts aggregated to their parent level. */
-    public static class FacetParentVal {
-
-      /** The count of ranges that span all of the childCounts.  In more technical terms, this is the number of leaf
-       * cells found at this parent.  Treat this like {@link Facets#topLeaves}. */
-      public int parentLeaves;
-
-      /** The length of {@link #childCounts}. If childCounts is not null then this is childCounts.length, otherwise it
-       * says how long it would have been if it weren't null. */
-      public int childCountsLen;
-
-      /** The detail level counts. It will be null if there are none, and thus they are assumed 0. Most apps, when
-       * presenting the information, will add {@link #topLeaves} and {@link #parentLeaves} to each count. */
-      public int[] childCounts;
-      //assert childCountsLen == childCounts.length
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder buf = new StringBuilder(2048);
-      buf.append("Facets: level=" + detailLevel + " topLeaves=" + topLeaves + " parentCount=" + parents.size());
-      for (Map.Entry<UnitNRShape, FacetParentVal> entry : parents.entrySet()) {
-        buf.append('\n');
-        if (buf.length() > 1000) {
-          buf.append("...");
-          break;
-        }
-        final FacetParentVal pVal = entry.getValue();
-        buf.append(' ').append(entry.getKey()+" leafCount=" + pVal.parentLeaves);
-        if (pVal.childCounts != null) {
-          buf.append(' ').append(Arrays.toString(pVal.childCounts));
-        }
-      }
-      return buf.toString();
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
deleted file mode 100644
index 165c418..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import com.spatial4j.core.shape.Point;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.util.ShapeFieldCacheProvider;
-import org.apache.lucene.util.BytesRef;
-
-/**
- * Implementation of {@link ShapeFieldCacheProvider} designed for {@link PrefixTreeStrategy}s that index points
- * (AND ONLY POINTS!).
- *
- * @lucene.internal
- */
-public class PointPrefixTreeFieldCacheProvider extends ShapeFieldCacheProvider<Point> {
-
-  private final SpatialPrefixTree grid;
-  private Cell scanCell;//re-used in readShape to save GC
-
-  public PointPrefixTreeFieldCacheProvider(SpatialPrefixTree grid, String shapeField, int defaultSize) {
-    super( shapeField, defaultSize );
-    this.grid = grid;
-  }
-
-  @Override
-  protected Point readShape(BytesRef term) {
-    scanCell = grid.readCell(term, scanCell);
-    if (scanCell.getLevel() == grid.getMaxLevels())
-      return scanCell.getShape().getCenter();
-    return null;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
deleted file mode 100644
index 59f43e0..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeFacetCounter.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.index.IndexReaderContext;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.util.Bits;
-
-/**
- * Computes facets on cells for {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy}.
- * <p>
- * <em>NOTE:</em> If for a given document and a given field using
- * {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy}
- * multiple values are indexed (i.e. multi-valued) and at least one of them is a non-point, then there is a possibility
- * of double-counting the document in the facet results.  Since each shape is independently turned into grid cells at
- * a resolution chosen by the shape's size, it's possible they will be indexed at different resolutions.  This means
- * the document could be present in BOTH the postings for a cell in both its prefix and leaf variants.  To avoid this,
- * use a single valued field with a {@link com.spatial4j.core.shape.ShapeCollection} (or WKT equivalent).  Or
- * calculate a suitable level/distErr to index both and call
- * {@link org.apache.lucene.spatial.prefix.PrefixTreeStrategy#createIndexableFields(com.spatial4j.core.shape.Shape, int)}
- * with the same value for all shapes for a given document/field.
- *
- * @lucene.experimental
- */
-public class PrefixTreeFacetCounter {
-
-  /** A callback/visitor of facet counts. */
-  public static abstract class FacetVisitor {
-    /** Called at the start of the segment, if there is indexed data. */
-    public void startOfSegment() {}
-
-    /** Called for cells with a leaf, or cells at the target facet level.  {@code count} is greater than zero.
-     * When an ancestor cell is given with non-zero count, the count can be considered to be added to all cells
-     * below. You won't necessarily get a cell at level {@code facetLevel} if the indexed data is courser (bigger).
-     */
-    public abstract void visit(Cell cell, int count);
-  }
-
-  private PrefixTreeFacetCounter() {
-  }
-
-  /**
-   * Computes facets using a callback/visitor style design, allowing flexibility for the caller to determine what to do
-   * with each underlying count.
-   * @param strategy the prefix tree strategy (contains the field reference, grid, max levels)
-   * @param context the IndexReader's context
-   * @param topAcceptDocs a Bits to limit counted docs. If null, live docs are counted.
-   * @param queryShape the shape to limit the range of facet counts to
-   * @param facetLevel the maximum depth (detail) of faceted cells
-   * @param facetVisitor the visitor/callback to receive the counts
-   */
-  public static void compute(PrefixTreeStrategy strategy, IndexReaderContext context, Bits topAcceptDocs,
-                             Shape queryShape, int facetLevel, FacetVisitor facetVisitor)
-      throws IOException {
-    //We collect per-leaf
-    for (final LeafReaderContext leafCtx : context.leaves()) {
-      //determine leaf acceptDocs Bits
-      Bits leafAcceptDocs;
-      if (topAcceptDocs == null) {
-        leafAcceptDocs = leafCtx.reader().getLiveDocs();//filter deleted
-      } else {
-        leafAcceptDocs = new Bits() {
-          @Override
-          public boolean get(int index) {
-            return topAcceptDocs.get(leafCtx.docBase + index);
-          }
-
-          @Override
-          public int length() {
-            return leafCtx.reader().maxDoc();
-          }
-        };
-      }
-
-      compute(strategy, leafCtx, leafAcceptDocs, queryShape, facetLevel, facetVisitor);
-    }
-  }
-
-  /** Lower-level per-leaf segment method. */
-  public static void compute(final PrefixTreeStrategy strategy, final LeafReaderContext context, final Bits acceptDocs,
-                             final Shape queryShape, final int facetLevel, final FacetVisitor facetVisitor)
-      throws IOException {
-    if (acceptDocs != null && acceptDocs.length() != context.reader().maxDoc()) {
-      throw new IllegalArgumentException(
-          "acceptDocs bits length " + acceptDocs.length() +" != leaf maxdoc " + context.reader().maxDoc());
-    }
-    final SpatialPrefixTree tree = strategy.getGrid();
-
-    //scanLevel is an optimization knob of AbstractVisitingPrefixTreeFilter. It's unlikely
-    // another scanLevel would be much faster and it tends to be a risky knob (can help a little, can hurt a ton).
-    // TODO use RPT's configured scan level?  Do we know better here?  Hard to say.
-    final int scanLevel = tree.getMaxLevels();
-    //AbstractVisitingPrefixTreeFilter is a Lucene Filter.  We don't need a filter; we use it for its great prefix-tree
-    // traversal code.  TODO consider refactoring if/when it makes sense (more use cases than this)
-    new AbstractVisitingPrefixTreeQuery(queryShape, strategy.getFieldName(), tree, facetLevel, scanLevel) {
-      
-      @Override
-      public String toString(String field) {
-        return "anonPrefixTreeQuery";//un-used
-      }
-
-      @Override
-      public DocIdSet getDocIdSet(LeafReaderContext contexts) throws IOException {
-        assert facetLevel == super.detailLevel;//same thing, FYI. (constant)
-
-        return new VisitorTemplate(context) {
-
-          @Override
-          protected void start() throws IOException {
-            facetVisitor.startOfSegment();
-          }
-
-          @Override
-          protected DocIdSet finish() throws IOException {
-            return null;//unused;
-          }
-
-          @Override
-          protected boolean visitPrefix(Cell cell) throws IOException {
-            // At facetLevel...
-            if (cell.getLevel() == facetLevel) {
-              // Count docs
-              visitLeaf(cell);//we're not a leaf but we treat it as such at facet level
-              return false;//don't descend further; this is enough detail
-            }
-
-            // We optimize for discriminating filters (reflected in acceptDocs) and short-circuit if no
-            // matching docs. We could do this at all levels or never but the closer we get to the facet level, the
-            // higher the probability this is worthwhile. We do when docFreq == 1 because it's a cheap check, especially
-            // due to "pulsing" in the codec.
-            //TODO this opt should move to VisitorTemplate (which contains an optimization TODO to this effect)
-            if (cell.getLevel() == facetLevel - 1 || termsEnum.docFreq() == 1) {
-              if (!hasDocsAtThisTerm()) {
-                return false;
-              }
-            }
-            return true;
-          }
-
-          @Override
-          protected void visitLeaf(Cell cell) throws IOException {
-            final int count = countDocsAtThisTerm();
-            if (count > 0) {
-              facetVisitor.visit(cell, count);
-            }
-          }
-
-          private int countDocsAtThisTerm() throws IOException {
-            if (acceptDocs == null) {
-              return termsEnum.docFreq();
-            }
-            int count = 0;
-            postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
-            while (postingsEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
-              if (acceptDocs.get(postingsEnum.docID()) == false) {
-                continue;
-              }
-              count++;
-            }
-            return count;
-          }
-
-          private boolean hasDocsAtThisTerm() throws IOException {
-            if (acceptDocs == null) {
-              return true;
-            }
-            postingsEnum = termsEnum.postings(postingsEnum, PostingsEnum.NONE);
-            int nextDoc = postingsEnum.nextDoc();
-            while (nextDoc != DocIdSetIterator.NO_MORE_DOCS && acceptDocs.get(nextDoc) == false) {
-              nextDoc = postingsEnum.nextDoc();
-            }
-            return nextDoc != DocIdSetIterator.NO_MORE_DOCS;
-          }
-
-        }.getDocIdSet();
-      }
-    }.getDocIdSet(context);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
deleted file mode 100644
index 608879b..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.index.IndexOptions;
-import org.apache.lucene.index.IndexReaderContext;
-import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.spatial.SpatialStrategy;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.util.ShapeFieldCacheDistanceValueSource;
-import org.apache.lucene.util.Bits;
-
-/**
- * An abstract SpatialStrategy based on {@link SpatialPrefixTree}. The two
- * subclasses are {@link RecursivePrefixTreeStrategy} and {@link
- * TermQueryPrefixTreeStrategy}.  This strategy is most effective as a fast
- * approximate spatial search filter.
- * <p>
- * <b>Characteristics:</b>
- * <br>
- * <ul>
- * <li>Can index any shape; however only {@link RecursivePrefixTreeStrategy}
- * can effectively search non-point shapes.</li>
- * <li>Can index a variable number of shapes per field value. This strategy
- * can do it via multiple calls to {@link #createIndexableFields(com.spatial4j.core.shape.Shape)}
- * for a document or by giving it some sort of Shape aggregate (e.g. JTS
- * WKT MultiPoint).  The shape's boundary is approximated to a grid precision.
- * </li>
- * <li>Can query with any shape.  The shape's boundary is approximated to a grid
- * precision.</li>
- * <li>Only {@link org.apache.lucene.spatial.query.SpatialOperation#Intersects}
- * is supported.  If only points are indexed then this is effectively equivalent
- * to IsWithin.</li>
- * <li>The strategy supports {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point,double)}
- * even for multi-valued data, so long as the indexed data is all points; the
- * behavior is undefined otherwise.  However, <em>it will likely be removed in
- * the future</em> in lieu of using another strategy with a more scalable
- * implementation.  Use of this call is the only
- * circumstance in which a cache is used.  The cache is simple but as such
- * it doesn't scale to large numbers of points nor is it real-time-search
- * friendly.</li>
- * </ul>
- * <p>
- * <b>Implementation:</b>
- * <p>
- * The {@link SpatialPrefixTree} does most of the work, for example returning
- * a list of terms representing grids of various sizes for a supplied shape.
- * An important
- * configuration item is {@link #setDistErrPct(double)} which balances
- * shape precision against scalability.  See those javadocs.
- *
- * @lucene.experimental
- */
-public abstract class PrefixTreeStrategy extends SpatialStrategy {
-  protected final SpatialPrefixTree grid;
-  private final Map<String, PointPrefixTreeFieldCacheProvider> provider = new ConcurrentHashMap<>();
-  protected int defaultFieldValuesArrayLen = 2;
-  protected double distErrPct = SpatialArgs.DEFAULT_DISTERRPCT;// [ 0 TO 0.5 ]
-  protected boolean pointsOnly = false;//if true, there are no leaves
-
-  public PrefixTreeStrategy(SpatialPrefixTree grid, String fieldName) {
-    super(grid.getSpatialContext(), fieldName);
-    this.grid = grid;
-  }
-
-  public SpatialPrefixTree getGrid() {
-    return grid;
-  }
-
-  /**
-   * A memory hint used by {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point)}
-   * for how big the initial size of each Document's array should be. The
-   * default is 2.  Set this to slightly more than the default expected number
-   * of points per document.
-   */
-  public void setDefaultFieldValuesArrayLen(int defaultFieldValuesArrayLen) {
-    this.defaultFieldValuesArrayLen = defaultFieldValuesArrayLen;
-  }
-
-  public double getDistErrPct() {
-    return distErrPct;
-  }
-
-  /**
-   * The default measure of shape precision affecting shapes at index and query
-   * times. Points don't use this as they are always indexed at the configured
-   * maximum precision ({@link org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree#getMaxLevels()});
-   * this applies to all other shapes. Specific shapes at index and query time
-   * can use something different than this default value.  If you don't set a
-   * default then the default is {@link SpatialArgs#DEFAULT_DISTERRPCT} --
-   * 2.5%.
-   *
-   * @see org.apache.lucene.spatial.query.SpatialArgs#getDistErrPct()
-   */
-  public void setDistErrPct(double distErrPct) {
-    this.distErrPct = distErrPct;
-  }
-
-  public boolean isPointsOnly() {
-    return pointsOnly;
-  }
-
-  /** True if only indexed points shall be supported. There are no "leafs" in such a case, except those
-   * at maximum precision. */
-  public void setPointsOnly(boolean pointsOnly) {
-    this.pointsOnly = pointsOnly;
-  }
-
-  @Override
-  public Field[] createIndexableFields(Shape shape) {
-    double distErr = SpatialArgs.calcDistanceFromErrPct(shape, distErrPct, ctx);
-    return createIndexableFields(shape, distErr);
-  }
-
-  /**
-   * Turns {@link SpatialPrefixTree#getTreeCellIterator(Shape, int)} into a
-   * {@link org.apache.lucene.analysis.TokenStream}.
-   */
-  public Field[] createIndexableFields(Shape shape, double distErr) {
-    int detailLevel = grid.getLevelForDistance(distErr);
-    return createIndexableFields(shape, detailLevel);
-  }
-
-  public Field[] createIndexableFields(Shape shape, int detailLevel) {
-    //TODO re-use TokenStream LUCENE-5776: Subclass Field, put cell iterator there, override tokenStream()
-    Iterator<Cell> cells = createCellIteratorToIndex(shape, detailLevel, null);
-    CellToBytesRefIterator cellToBytesRefIterator = newCellToBytesRefIterator();
-    cellToBytesRefIterator.reset(cells);
-    BytesRefIteratorTokenStream tokenStream = new BytesRefIteratorTokenStream();
-    tokenStream.setBytesRefIterator(cellToBytesRefIterator);
-    Field field = new Field(getFieldName(), tokenStream, FIELD_TYPE);
-    return new Field[]{field};
-  }
-
-  protected CellToBytesRefIterator newCellToBytesRefIterator() {
-    //subclasses could return one that never emits leaves, or does both, or who knows.
-    return new CellToBytesRefIterator();
-  }
-
-  protected Iterator<Cell> createCellIteratorToIndex(Shape shape, int detailLevel, Iterator<Cell> reuse) {
-    if (pointsOnly && !(shape instanceof Point)) {
-      throw new IllegalArgumentException("pointsOnly is true yet a " + shape.getClass() + " is given for indexing");
-    }
-    return grid.getTreeCellIterator(shape, detailLevel);//TODO should take a re-use iterator
-  }
-
-  /* Indexed, tokenized, not stored. */
-  public static final FieldType FIELD_TYPE = new FieldType();
-
-  static {
-    FIELD_TYPE.setTokenized(true);
-    FIELD_TYPE.setOmitNorms(true);
-    FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
-    FIELD_TYPE.freeze();
-  }
-
-  @Override
-  public ValueSource makeDistanceValueSource(Point queryPoint, double multiplier) {
-    PointPrefixTreeFieldCacheProvider p = provider.get( getFieldName() );
-    if( p == null ) {
-      synchronized (this) {//double checked locking idiom is okay since provider is threadsafe
-        p = provider.get( getFieldName() );
-        if (p == null) {
-          p = new PointPrefixTreeFieldCacheProvider(grid, getFieldName(), defaultFieldValuesArrayLen);
-          provider.put(getFieldName(),p);
-        }
-      }
-    }
-
-    return new ShapeFieldCacheDistanceValueSource(ctx, p, queryPoint, multiplier);
-  }
-
-  /**
-   * Computes spatial facets in two dimensions as a grid of numbers.  The data is often visualized as a so-called
-   * "heatmap".
-   *
-   * @see HeatmapFacetCounter#calcFacets(PrefixTreeStrategy, IndexReaderContext, Bits, Shape, int, int)
-   */
-  public HeatmapFacetCounter.Heatmap calcFacets(IndexReaderContext context, Bits topAcceptDocs,
-                                   Shape inputShape, final int facetLevel, int maxCells) throws IOException {
-    return HeatmapFacetCounter.calcFacets(this, context, topAcceptDocs, inputShape, facetLevel, maxCells);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
deleted file mode 100644
index 575b6c9..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/RecursivePrefixTreeStrategy.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.LegacyCell;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
-
-/**
- * A {@link PrefixTreeStrategy} which uses {@link AbstractVisitingPrefixTreeQuery}.
- * This strategy has support for searching non-point shapes (note: not tested).
- * Even a query shape with distErrPct=0 (fully precise to the grid) should have
- * good performance for typical data, unless there is a lot of indexed data
- * coincident with the shape's edge.
- *
- * @lucene.experimental
- */
-public class RecursivePrefixTreeStrategy extends PrefixTreeStrategy {
-  /* Future potential optimizations:
-
-    Each shape.relate(otherShape) result could be cached since much of the same relations will be invoked when
-    multiple segments are involved. Do this for "complex" shapes, not cheap ones, and don't cache when disjoint to
-    bbox because it's a cheap calc. This is one advantage TermQueryPrefixTreeStrategy has over RPT.
-
-   */
-
-  protected int prefixGridScanLevel;
-
-  //Formerly known as simplifyIndexedCells. Eventually will be removed. Only compatible with RPT
-  // and a LegacyPrefixTree.
-  protected boolean pruneLeafyBranches = true;
-
-  protected boolean multiOverlappingIndexedShapes = true;
-
-  public RecursivePrefixTreeStrategy(SpatialPrefixTree grid, String fieldName) {
-    super(grid, fieldName);
-    prefixGridScanLevel = grid.getMaxLevels() - 4;//TODO this default constant is dependent on the prefix grid size
-  }
-
-  public int getPrefixGridScanLevel() {
-    return prefixGridScanLevel;
-  }
-
-  /**
-   * Sets the grid level [1-maxLevels] at which indexed terms are scanned brute-force
-   * instead of by grid decomposition.  By default this is maxLevels - 4.  The
-   * final level, maxLevels, is always scanned.
-   *
-   * @param prefixGridScanLevel 1 to maxLevels
-   */
-  public void setPrefixGridScanLevel(int prefixGridScanLevel) {
-    //TODO if negative then subtract from maxlevels
-    this.prefixGridScanLevel = prefixGridScanLevel;
-  }
-
-  public boolean isMultiOverlappingIndexedShapes() {
-    return multiOverlappingIndexedShapes;
-  }
-
-  /** See {@link ContainsPrefixTreeQuery#multiOverlappingIndexedShapes}. */
-  public void setMultiOverlappingIndexedShapes(boolean multiOverlappingIndexedShapes) {
-    this.multiOverlappingIndexedShapes = multiOverlappingIndexedShapes;
-  }
-
-  public boolean isPruneLeafyBranches() {
-    return pruneLeafyBranches;
-  }
-
-  /**
-   * An optional hint affecting non-point shapes: it will
-   * prune away a complete set sibling leaves to their parent (recursively), resulting in ~20-50%
-   * fewer indexed cells, and consequently that much less disk and that much faster indexing.
-   * So if it's a quad tree and all 4 sub-cells are there marked as a leaf, then they will be
-   * removed (pruned) and the parent is marked as a leaf instead.  This occurs recursively on up.  Unfortunately, the
-   * current implementation will buffer all cells to do this, so consider disabling for high precision (low distErrPct)
-   * shapes. (default=true)
-   */
-  public void setPruneLeafyBranches(boolean pruneLeafyBranches) {
-    this.pruneLeafyBranches = pruneLeafyBranches;
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder str = new StringBuilder(getClass().getSimpleName()).append('(');
-    str.append("SPG:(").append(grid.toString()).append(')');
-    if (pointsOnly)
-      str.append(",pointsOnly");
-    if (pruneLeafyBranches)
-      str.append(",pruneLeafyBranches");
-    if (prefixGridScanLevel != grid.getMaxLevels() - 4)
-      str.append(",prefixGridScanLevel:").append(""+prefixGridScanLevel);
-    if (!multiOverlappingIndexedShapes)
-      str.append(",!multiOverlappingIndexedShapes");
-    return str.append(')').toString();
-  }
-
-  @Override
-  protected Iterator<Cell> createCellIteratorToIndex(Shape shape, int detailLevel, Iterator<Cell> reuse) {
-    if (shape instanceof Point || !pruneLeafyBranches)
-      return super.createCellIteratorToIndex(shape, detailLevel, reuse);
-
-    List<Cell> cells = new ArrayList<>(4096);
-    recursiveTraverseAndPrune(grid.getWorldCell(), shape, detailLevel, cells);
-    return cells.iterator();
-  }
-
-  /** Returns true if cell was added as a leaf. If it wasn't it recursively descends. */
-  private boolean recursiveTraverseAndPrune(Cell cell, Shape shape, int detailLevel, List<Cell> result) {
-    // Important: this logic assumes Cells don't share anything with other cells when
-    // calling cell.getNextLevelCells(). This is only true for LegacyCell.
-    if (!(cell instanceof LegacyCell))
-      throw new IllegalStateException("pruneLeafyBranches must be disabled for use with grid "+grid);
-
-    if (cell.getLevel() == detailLevel) {
-      cell.setLeaf();//FYI might already be a leaf
-    }
-    if (cell.isLeaf()) {
-      result.add(cell);
-      return true;
-    }
-    if (cell.getLevel() != 0)
-      result.add(cell);
-
-    int leaves = 0;
-    CellIterator subCells = cell.getNextLevelCells(shape);
-    while (subCells.hasNext()) {
-      Cell subCell = subCells.next();
-      if (recursiveTraverseAndPrune(subCell, shape, detailLevel, result))
-        leaves++;
-    }
-    //can we prune?
-    if (leaves == ((LegacyCell)cell).getSubCellsSize() && cell.getLevel() != 0) {
-      //Optimization: substitute the parent as a leaf instead of adding all
-      // children as leaves
-
-      //remove the leaves
-      do {
-        result.remove(result.size() - 1);//remove last
-      } while (--leaves > 0);
-      //add cell as the leaf
-      cell.setLeaf();
-      return true;
-    }
-    return false;
-  }
-
-  @Override
-  public Query makeQuery(SpatialArgs args) {
-    final SpatialOperation op = args.getOperation();
-
-    Shape shape = args.getShape();
-    int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, distErrPct));
-
-    if (op == SpatialOperation.Intersects) {
-      return new IntersectsPrefixTreeQuery(
-          shape, getFieldName(), grid, detailLevel, prefixGridScanLevel);
-    } else if (op == SpatialOperation.IsWithin) {
-      return new WithinPrefixTreeQuery(
-          shape, getFieldName(), grid, detailLevel, prefixGridScanLevel,
-          -1);//-1 flag is slower but ensures correct results
-    } else if (op == SpatialOperation.Contains) {
-      return new ContainsPrefixTreeQuery(shape, getFieldName(), grid, detailLevel,
-          multiOverlappingIndexedShapes);
-    }
-    throw new UnsupportedSpatialOperation(op);
-  }
-}
-
-
-
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
deleted file mode 100644
index a74786b..0000000
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/TermQueryPrefixTreeStrategy.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * 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.lucene.spatial.prefix;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.queries.TermsQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.spatial.prefix.tree.Cell;
-import org.apache.lucene.spatial.prefix.tree.CellIterator;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialArgs;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.query.UnsupportedSpatialOperation;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefBuilder;
-
-/**
- * A basic implementation of {@link PrefixTreeStrategy} using a large
- * {@link TermsQuery} of all the cells from
- * {@link SpatialPrefixTree#getTreeCellIterator(com.spatial4j.core.shape.Shape, int)}.
- * It only supports the search of indexed Point shapes.
- * <p>
- * The precision of query shapes (distErrPct) is an important factor in using
- * this Strategy. If the precision is too precise then it will result in many
- * terms which will amount to a slower query.
- *
- * @lucene.experimental
- */
-public class TermQueryPrefixTreeStrategy extends PrefixTreeStrategy {
-
-  protected boolean simplifyIndexedCells = false;
-
-  public TermQueryPrefixTreeStrategy(SpatialPrefixTree grid, String fieldName) {
-    super(grid, fieldName);
-  }
-
-  @Override
-  protected CellToBytesRefIterator newCellToBytesRefIterator() {
-    //Ensure we don't have leaves, as this strategy doesn't handle them.
-    return new CellToBytesRefIterator() {
-      @Override
-      public BytesRef next() {
-        if (!cellIter.hasNext()) {
-          return null;
-        }
-        return cellIter.next().getTokenBytesNoLeaf(bytesRef);
-      }
-    };
-  }
-
-  @Override
-  public Query makeQuery(SpatialArgs args) {
-    final SpatialOperation op = args.getOperation();
-    if (op != SpatialOperation.Intersects)
-      throw new UnsupportedSpatialOperation(op);
-
-    Shape shape = args.getShape();
-    int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, distErrPct));
-
-    //--get a List of BytesRef for each term we want (no parents, no leaf bytes))
-    final int GUESS_NUM_TERMS;
-    if (shape instanceof Point)
-      GUESS_NUM_TERMS = detailLevel;//perfect guess
-    else
-      GUESS_NUM_TERMS = 4096;//should this be a method on SpatialPrefixTree?
-
-    BytesRefBuilder masterBytes = new BytesRefBuilder();//shared byte array for all terms
-    List<BytesRef> terms = new ArrayList<>(GUESS_NUM_TERMS);
-
-    CellIterator cells = grid.getTreeCellIterator(shape, detailLevel);
-    while (cells.hasNext()) {
-      Cell cell = cells.next();
-      if (!cell.isLeaf())
-        continue;
-      BytesRef term = cell.getTokenBytesNoLeaf(null);//null because we want a new BytesRef
-      //We copy out the bytes because it may be re-used across the iteration. This also gives us the opportunity
-      // to use one contiguous block of memory for the bytes of all terms we need.
-      masterBytes.grow(masterBytes.length() + term.length);
-      masterBytes.append(term);
-      term.bytes = null;//don't need; will reset later
-      term.offset = masterBytes.length() - term.length;
-      terms.add(term);
-    }
-    //doing this now because if we did earlier, it's possible the bytes needed to grow()
-    for (BytesRef byteRef : terms) {
-      byteRef.bytes = masterBytes.bytes();
-    }
-    //unfortunately TermsQuery will needlessly sort & dedupe
-    //TODO an automatonQuery might be faster?
-    return new TermsQuery(getFieldName(), terms);
-  }
-
-}


[10/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
index 10076cd..34880a1 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Geo3DUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 class Geo3DUtil {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
index 5c99e40..424e494 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoArea.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * A GeoArea represents a standard 2-D breakdown of a part of sphere.  It can

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
index c5a0f96..24dd211 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoAreaFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Factory for {@link org.apache.lucene.geo3d.GeoArea}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
index bf2b213..10a2388 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBox.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * All bounding box shapes have this interface in common.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
index e0432df..9a02ab9 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBBoxFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Factory for {@link org.apache.lucene.geo3d.GeoBBox}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
index 205aaeb..f40a0a1 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseBBox.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * All bounding box shapes can derive from this base class, which furnishes

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
index 205d9f5..8c306d7 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseCircle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * GeoCircles have all the characteristics of GeoBaseDistanceShapes, plus GeoSizeable.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
index b8760d1..1c8306a 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseDistanceShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Distance shapes have capabilities of both geohashing and distance

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
index 3868b8f..a6bba8f 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseMembershipShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Membership shapes have capabilities of both geohashing and membership

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
index fb09604..50ad0dc 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBasePolygon.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * GeoBasePolygon objects are the base class of most GeoPolygon objects.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
index 1aac431..146cfe8 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoBaseShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Base extended shape object.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
index f5d8b29..154cdc4 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Interface describing circular area with a center and radius.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
index e27ee45..2bb8ffc 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCircleFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Class which constructs a GeoCircle representing an arbitrary circle.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
index 2f9100b..25bdda0 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositeMembershipShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
index 0d05951..b537590 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoCompositePolygon.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * GeoCompositePolygon is a specific implementation of GeoMembershipShape, which implements GeoPolygon explicitly.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoConvexPolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoConvexPolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoConvexPolygon.java
index 2dc7e02..fc07c4b 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoConvexPolygon.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoConvexPolygon.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.util.ArrayList;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateHorizontalLine.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateHorizontalLine.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateHorizontalLine.java
index c0a7740..6644f0d 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateHorizontalLine.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateHorizontalLine.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Degenerate bounding box limited on two sides (left lon, right lon).

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLatitudeZone.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLatitudeZone.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLatitudeZone.java
index bc3a4bc..4890733 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLatitudeZone.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLatitudeZone.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * This GeoBBox represents an area rectangle of one specific latitude with

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLongitudeSlice.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLongitudeSlice.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLongitudeSlice.java
index 6d74684..b5eb902 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLongitudeSlice.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateLongitudeSlice.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Degenerate longitude slice.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegeneratePoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegeneratePoint.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegeneratePoint.java
index 79fef86..63670d7 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegeneratePoint.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegeneratePoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-    
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,8 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.geo3d;
+    
 /**
  * This class represents a degenerate point bounding box.
  * It is not a simple GeoPoint because we must have the latitude and longitude.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateVerticalLine.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateVerticalLine.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateVerticalLine.java
index 7a93613..f21f774 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateVerticalLine.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDegenerateVerticalLine.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Degenerate bounding box limited on two sides (top lat, bottom lat).

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistance.java
index 87d1d54..899a687 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * An implementer of this interface is capable of computing the described "distance" values,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistanceShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistanceShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistanceShape.java
index 253afce..1e82f48 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistanceShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoDistanceShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Distance shapes have capabilities of both geohashing and distance

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLatitudeZone.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLatitudeZone.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLatitudeZone.java
index 16201bf..3fc4423 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLatitudeZone.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLatitudeZone.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * This GeoBBox represents an area rectangle limited only in latitude.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLongitudeSlice.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLongitudeSlice.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLongitudeSlice.java
index e32316c..f5de7e7 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLongitudeSlice.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoLongitudeSlice.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box limited on left and right.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoMembershipShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoMembershipShape.java
index 0b5b090..54b2551 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoMembershipShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoMembershipShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Membership shapes have capabilities of both geohashing and membership

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthLatitudeZone.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthLatitudeZone.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthLatitudeZone.java
index e54f3a1..43338bb 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthLatitudeZone.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthLatitudeZone.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * This GeoBBox represents an area rectangle limited only in south latitude.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthRectangle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthRectangle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthRectangle.java
index 6d713c6..66b9480 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthRectangle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoNorthRectangle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box limited on three sides (bottom lat, left lon, right lon), including

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoOutsideDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoOutsideDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoOutsideDistance.java
index 79630b7..c1d784d 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoOutsideDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoOutsideDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Implemented by Geo3D shapes that can compute the distance from a point to the closest outside edge.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPath.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPath.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPath.java
index 0e727dc..bc5b9cf 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPath.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPath.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPoint.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPoint.java
index 4225e19..e8a265d 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPoint.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-    
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,8 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.geo3d;
+    
 /**
  * This class represents a point on the surface of a sphere or ellipsoid.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygon.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygon.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygon.java
index 35fd919..634406d 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygon.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygon.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * GeoPolygon interface description.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygonFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygonFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygonFactory.java
index b63b73e..0dc70a5 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygonFactory.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoPolygonFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.util.ArrayList;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoRectangle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoRectangle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoRectangle.java
index f1ef7de..fc2a531 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoRectangle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoRectangle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box limited on four sides (top lat, bottom lat, left lon, right lon).

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoShape.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoShape.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoShape.java
index 1605fbe..21cdba3 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoShape.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Generic shape.  This describes methods that help GeoAreas figure out

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSizeable.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSizeable.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSizeable.java
index b9aba9b..e8c0ebb 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSizeable.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSizeable.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Some shapes can compute radii of a geocircle in which they are inscribed.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthLatitudeZone.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthLatitudeZone.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthLatitudeZone.java
index 95e8703..439dc1b 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthLatitudeZone.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthLatitudeZone.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * This GeoBBox represents an area rectangle limited only in north latitude.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthRectangle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthRectangle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthRectangle.java
index cf74419..eb6526b 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthRectangle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoSouthRectangle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box limited on three sides (top lat, left lon, right lon).  The

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoStandardCircle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoStandardCircle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoStandardCircle.java
index d90908e..0304d53 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoStandardCircle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoStandardCircle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Circular area with a center and radius.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideDegenerateHorizontalLine.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideDegenerateHorizontalLine.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideDegenerateHorizontalLine.java
index 7f6a147..a9af5b2 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideDegenerateHorizontalLine.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideDegenerateHorizontalLine.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Degenerate bounding box wider than PI and limited on two sides (left lon, right lon).

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideLongitudeSlice.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideLongitudeSlice.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideLongitudeSlice.java
index 1443248..64e4fa8 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideLongitudeSlice.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideLongitudeSlice.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box wider than PI but limited on left and right sides (

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideNorthRectangle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideNorthRectangle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideNorthRectangle.java
index 51e81ac..86de584 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideNorthRectangle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideNorthRectangle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box wider than PI but limited on three sides (

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideRectangle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideRectangle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideRectangle.java
index 851c55f..68397bb 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideRectangle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideRectangle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box wider than PI but limited on four sides (top lat,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideSouthRectangle.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideSouthRectangle.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideSouthRectangle.java
index 35bdc73..8bd7220 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideSouthRectangle.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWideSouthRectangle.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box wider than PI but limited on three sides (top lat,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWorld.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWorld.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWorld.java
index 48e22ee..35ec4ae 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWorld.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/GeoWorld.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Bounding box including the entire world.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LatLonBounds.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LatLonBounds.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LatLonBounds.java
index 158076f..6478e0c 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LatLonBounds.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LatLonBounds.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * An object for accumulating latitude/longitude bounds information.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearDistance.java
index 8fab628..9cbedba 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Linear distance computation style.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearSquaredDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearSquaredDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearSquaredDistance.java
index 82d864d..028d3c4 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearSquaredDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/LinearSquaredDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Linear squared distance computation style.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Membership.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Membership.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Membership.java
index e41d96c..3ca6b09 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Membership.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Membership.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Implemented by Geo3D shapes that can calculate if a point is within it or not.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalDistance.java
index 5de7ff3..cdac0d2 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Normal distance computation style.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalSquaredDistance.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalSquaredDistance.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalSquaredDistance.java
index 75ccc62..035fd40 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalSquaredDistance.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/NormalSquaredDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Normal squared distance computation style.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
index 25c8591..07d0c5b 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * We know about three kinds of planes.  First kind: general plain through two points and origin

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PlanetModel.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PlanetModel.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PlanetModel.java
index 42944bf..395fa15 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PlanetModel.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PlanetModel.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Holds mathematical constants associated with the model of a planet.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
index ac8d227..84ff01b 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/SidedPlane.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/SidedPlane.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/SidedPlane.java
index 3f3e3cd..7fc543d 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/SidedPlane.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/SidedPlane.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Combination of a plane, and a sign value indicating what evaluation values are on the correct

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/StandardXYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/StandardXYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/StandardXYZSolid.java
index 5b7b69a..cd54225 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/StandardXYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/StandardXYZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Tools.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Tools.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Tools.java
index e2000fa..89d37aa 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Tools.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Tools.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Static methods globally useful for 3d geometric work.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Vector.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Vector.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Vector.java
index bd1db07..1a3972d 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Vector.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Vector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * A 3d vector in space, not necessarily

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
index e824acc..22e324b 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * An object for accumulating XYZ bounds information.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolid.java
index 5fe72eb..ab46402 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Interface for a family of 3D rectangles, bounded on six sides by X,Y,Z limits

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolidFactory.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolidFactory.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolidFactory.java
index b13a24f..409ba86 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolidFactory.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZSolidFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * Factory for {@link org.apache.lucene.geo3d.XYZSolid}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYdZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYdZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYdZSolid.java
index 782386e..e7cbe25 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYdZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYdZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in Z

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYZSolid.java
index b683724..f6a2fa3 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in Y

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYdZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYdZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYdZSolid.java
index 507a683..562e5a6 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYdZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XdYdZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in Y and Z.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYZSolid.java
index cfea99c..5a2a006 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in X.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYdZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYdZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYdZSolid.java
index 430a84e..96b3004 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYdZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXYdZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in X and Z.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYZSolid.java
index f5bb799..b58cd92 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in X and Y.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYdZSolid.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYdZSolid.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYdZSolid.java
index e5327ea..b26cf63 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYdZSolid.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/dXdYdZSolid.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 /**
  * 3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in all dimensions

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/java/org/apache/lucene/geo3d/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/package-info.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/package-info.java
index 2b6af74..4b45d3d 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/package-info.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Shapes implemented using 3D planar geometry.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoBBoxTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoBBoxTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoBBoxTest.java
index 85931cc..b76134e 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoBBoxTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoBBoxTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoCircleTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoCircleTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoCircleTest.java
index 98122ea..aa5c2e3 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoCircleTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoCircleTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoConvexPolygonTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoConvexPolygonTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoConvexPolygonTest.java
index 6c50d2a..d6ca7ba 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoConvexPolygonTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoConvexPolygonTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoModelTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoModelTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoModelTest.java
index 7f0be1f..b3001d4 100644
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoModelTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoModelTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPathTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPathTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPathTest.java
index 245964a..fea7ed4 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPathTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPathTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPolygonTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPolygonTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPolygonTest.java
index 154b991..f1511b9 100755
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPolygonTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/GeoPolygonTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/PlaneTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/PlaneTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/PlaneTest.java
index b01d405..2ac3856 100644
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/PlaneTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/PlaneTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/TestGeo3DPoint.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/TestGeo3DPoint.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/TestGeo3DPoint.java
index 0b7a5de..c495562 100644
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/TestGeo3DPoint.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/TestGeo3DPoint.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import java.io.IOException;
 import java.io.PrintWriter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/spatial3d/src/test/org/apache/lucene/geo3d/XYZSolidTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/XYZSolidTest.java b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/XYZSolidTest.java
index 4654f51..876a525 100644
--- a/lucene/spatial3d/src/test/org/apache/lucene/geo3d/XYZSolidTest.java
+++ b/lucene/spatial3d/src/test/org/apache/lucene/geo3d/XYZSolidTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.geo3d;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.geo3d;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.geo3d;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/CombineSuggestion.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/CombineSuggestion.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/CombineSuggestion.java
index e3a6f02..4a67177 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/CombineSuggestion.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/CombineSuggestion.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 /**
  * <p>A suggestion generated by combining one or more original query terms</p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/Dictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/Dictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/Dictionary.java
index 59194b8..5814059 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/Dictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/Dictionary.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.spell;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.spell;
 import java.io.IOException;
 
 import org.apache.lucene.search.suggest.InputIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
index 0e5b0ec..f372382 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/DirectSpellChecker.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiFields;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/HighFrequencyDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/HighFrequencyDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/HighFrequencyDictionary.java
index be6b94f..657684c 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/HighFrequencyDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/HighFrequencyDictionary.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.search.spell;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/JaroWinklerDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/JaroWinklerDistance.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/JaroWinklerDistance.java
index d3d2a7b..7f5d1a2 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/JaroWinklerDistance.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/JaroWinklerDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/LevensteinDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/LevensteinDistance.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/LevensteinDistance.java
index 5d9ccd4..de3f587 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/LevensteinDistance.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/LevensteinDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 /**
  * Levenstein edit distance class.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
index ec5ab49..5612463 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneDictionary.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.suggest.InputIterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneLevenshteinDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneLevenshteinDistance.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneLevenshteinDistance.java
index 6a6ce44..3ba0bd3 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneLevenshteinDistance.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/LuceneLevenshteinDistance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.spell;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.spell;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.spell;
 
 import org.apache.lucene.util.IntsRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/suggest/src/java/org/apache/lucene/search/spell/NGramDistance.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/spell/NGramDistance.java b/lucene/suggest/src/java/org/apache/lucene/search/spell/NGramDistance.java
index 38cd01a..3625570 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/spell/NGramDistance.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/spell/NGramDistance.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.search.spell;
-
 /*
-* 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.
-*/
+ * 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.lucene.search.spell;
 
 /**
  * N-Gram version of edit distance based on paper by Grzegorz Kondrak, 


[25/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestInfoStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestInfoStream.java b/lucene/core/src/test/org/apache/lucene/index/TestInfoStream.java
index cd3cbc0..4ef2208 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestInfoStream.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestInfoStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicBoolean;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java b/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java
index 199c3a7..1ad7c1d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 import java.util.ArrayList;
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestIsCurrent.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIsCurrent.java b/lucene/core/src/test/org/apache/lucene/index/TestIsCurrent.java
index d942196..7d6e31d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIsCurrent.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIsCurrent.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java b/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
index 5f15ab1..a928fd2 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
index 8dffdf8..9dde87a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 public class TestLogMergePolicy extends BaseMergePolicyTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java b/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java
index 1fe6406..bafea38 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestManyFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestManyFields.java b/lucene/core/src/test/org/apache/lucene/index/TestManyFields.java
index 07b731b..9b2f732 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestManyFields.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestManyFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMaxPosition.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMaxPosition.java b/lucene/core/src/test/org/apache/lucene/index/TestMaxPosition.java
index 59c540c..f8c7ceb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMaxPosition.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMaxPosition.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.Token;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMaxTermFrequency.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMaxTermFrequency.java b/lucene/core/src/test/org/apache/lucene/index/TestMaxTermFrequency.java
index 4509f0b..69a7f7f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMaxTermFrequency.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMaxTermFrequency.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java b/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
index fa2f4b0..670bcdb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMergeRateLimiter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Collections;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMixedCodecs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMixedCodecs.java b/lucene/core/src/test/org/apache/lucene/index/TestMixedCodecs.java
index 6fc5c84..1d687bc 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMixedCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMixedCodecs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.HashSet;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
index 6d9e3ee..72a67ec 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.index;
 
 import java.io.IOException;
@@ -23,22 +39,6 @@ import org.apache.lucene.util.TestUtil;
 
 import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 
-/*
- * 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.
- */
 
 public class TestMixedDocValuesUpdates extends LuceneTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java b/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java
index e335233..121e85c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java b/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java
index 7de3132..f0954f3 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java b/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
index 11ab22b..a82444b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicInteger;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
index f50f192..ed59d5b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestMultiTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderCleanup.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderCleanup.java b/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderCleanup.java
index 6d9bb69..f1d77fe 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderCleanup.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderCleanup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java b/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java
index 41da4de..871715f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Random;
 import java.util.concurrent.atomic.AtomicInteger;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java b/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
index a429413..1b55653 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Set;
 import java.util.concurrent.ExecutorService;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java b/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
index 0a0438a..8f11557 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNeverDelete.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.nio.file.Path;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNewestSegment.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNewestSegment.java b/lucene/core/src/test/org/apache/lucene/index/TestNewestSegment.java
index 5c40861..1209ad0 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNewestSegment.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNewestSegment.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.store.Directory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
index 7377b46..329d09f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
index bdd83c6..21f54d7 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java b/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java
index 03e2fe7..135d33e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNorms.java b/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
index 804fa59..78fc872 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
index 1fb2206..9f97283 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.index;
 
 import java.io.IOException;
@@ -38,22 +54,6 @@ import org.junit.Test;
 
 import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 
-/*
- * 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.
- */
 
 @SuppressWarnings("resource")
 public class TestNumericDocValuesUpdates extends LuceneTestCase {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java b/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java
index 317310e..83dfd19 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOmitNorms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java b/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
index 551a073..41dd5ce 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java b/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
index 187216b..8f13609 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java b/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
index cc4b383..e0fab18 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.lang.reflect.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java b/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
index 96aac04..e7d735c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestParallelCompositeReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestParallelLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestParallelLeafReader.java b/lucene/core/src/test/org/apache/lucene/index/TestParallelLeafReader.java
index 4c6a89c..ff6fab6 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestParallelLeafReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestParallelLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java b/lucene/core/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java
index ffc7b60..373a125 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestParallelReaderEmptyIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
index ae4e3c9..c51fd2d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java b/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
index 26f09ba..3fa2131 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.io.StringReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPayloadsOnVectors.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPayloadsOnVectors.java b/lucene/core/src/test/org/apache/lucene/index/TestPayloadsOnVectors.java
index 5450656..3b0117d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPayloadsOnVectors.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPayloadsOnVectors.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.StringReader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java b/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
index 8b84319..99a0202 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
index c94b66a..52f7b83 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPersistentSnapshotDeletionPolicy.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPointValues.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPointValues.java b/lucene/core/src/test/org/apache/lucene/index/TestPointValues.java
index ff5fdf8..0eb5e8f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPointValues.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPointValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java b/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
index d81225c..bf01c8a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java b/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java
index b4b0b49..89d4ad1 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Arrays;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestReadOnlyIndex.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestReadOnlyIndex.java b/lucene/core/src/test/org/apache/lucene/index/TestReadOnlyIndex.java
index dabfae1..11e583e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestReadOnlyIndex.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestReadOnlyIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.FilePermission;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java b/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
index 55258c6..6a1ab3a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.RejectedExecutionException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestReaderWrapperDVTypeCheck.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestReaderWrapperDVTypeCheck.java b/lucene/core/src/test/org/apache/lucene/index/TestReaderWrapperDVTypeCheck.java
index 70cc5b8..308c48e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestReaderWrapperDVTypeCheck.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestReaderWrapperDVTypeCheck.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.index;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestRollback.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestRollback.java b/lucene/core/src/test/org/apache/lucene/index/TestRollback.java
index 8232ee5..4286bb7 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestRollback.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestRollback.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java b/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java
index f367024..5988ec3 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java b/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java
index 52b8ce8..4bb2318 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
index ac3561d..733f75e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentInfos.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.store.BaseDirectoryWrapper;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
index 1e96db6..e1075ab 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
index e330a74..e43bc0e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
index b914c57..7acf3e4 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
index 512f949..fc708c2 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java b/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java
index b31c77b..8114868 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
index 1780494..215e84a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java b/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
index 7a9ddd3..d423616 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestStressDeletes.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressDeletes.java b/lucene/core/src/test/org/apache/lucene/index/TestStressDeletes.java
index 1df019c..a80852b 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressDeletes.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressDeletes.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java b/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java
index 87a0ea4..dcc5cd9 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.util.*;
 import org.apache.lucene.store.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java b/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
index 6326209..646d677 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
@@ -1,9 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Licensed 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
+ * 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
  *
@@ -13,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java b/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java
index b6cc489..8a082e4 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java b/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java
index 971df82..67063f6 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestSwappedIndexFiles.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSwappedIndexFiles.java b/lucene/core/src/test/org/apache/lucene/index/TestSwappedIndexFiles.java
index c412545..0c24775 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSwappedIndexFiles.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSwappedIndexFiles.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.EOFException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTerm.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTerm.java b/lucene/core/src/test/org/apache/lucene/index/TestTerm.java
index 22c0e53..f7cad85 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTerm.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTerm.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTermVectors.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermVectors.java b/lucene/core/src/test/org/apache/lucene/index/TestTermVectors.java
index d4bbf44..dd8616a 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermVectors.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermVectors.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java b/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
index 8495010..fad0755 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsWriter.java b/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsWriter.java
index 6dec07c..f1ce915 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java b/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java
index 9190843..2060353 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.index;
-
 /*
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,7 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTerms.java b/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
index 23f83e0..6c41646 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.CannedBinaryTokenStream;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java b/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
index 44eca85..3296330 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java b/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java
index 9d0053f..00181d5 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestThreadedForceMerge.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestThreadedForceMerge.java b/lucene/core/src/test/org/apache/lucene/index/TestThreadedForceMerge.java
index 6c8235d..dae20b5 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestThreadedForceMerge.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestThreadedForceMerge.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.Analyzer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
index 945cf10..1c83e06 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTragicIndexWriterDeadlock.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTragicIndexWriterDeadlock.java b/lucene/core/src/test/org/apache/lucene/index/TestTragicIndexWriterDeadlock.java
index d09dc78..3cce698 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTragicIndexWriterDeadlock.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTragicIndexWriterDeadlock.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicBoolean;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java b/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
index afc3dfd..3abb392 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTransactions.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTransactions.java b/lucene/core/src/test/org/apache/lucene/index/TestTransactions.java
index d21d188..92a6b08 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTransactions.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTransactions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTryDelete.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTryDelete.java b/lucene/core/src/test/org/apache/lucene/index/TestTryDelete.java
index b6df55f..f9f1f0d 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTryDelete.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTryDelete.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java b/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java
index 2c18ece..be6e4f8 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestUniqueTermCount.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestUniqueTermCount.java b/lucene/core/src/test/org/apache/lucene/index/TestUniqueTermCount.java
index 2cb9332..575a9bb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestUniqueTermCount.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestUniqueTermCount.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
index 857bcca..0ab13b4 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
+
 
 public class TestUpgradeIndexMergePolicy extends BaseMergePolicyTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/BaseTestRangeFilter.java b/lucene/core/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
index 6679756..48ba704 100644
--- a/lucene/core/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
+++ b/lucene/core/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java b/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
index 3970042..ca586cf 100644
--- a/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
+++ b/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java b/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java
index 337490d..fe63741 100644
--- a/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java
+++ b/lucene/core/src/test/org/apache/lucene/search/MultiCollectorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestApproximationSearchEquivalence.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestApproximationSearchEquivalence.java b/lucene/core/src/test/org/apache/lucene/search/TestApproximationSearchEquivalence.java
index c4709db..a4926fc 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestApproximationSearchEquivalence.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestApproximationSearchEquivalence.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BooleanClause.Occur;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQuery.java
index 83ce3f4..d4c865f 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQuery.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 
 import java.io.IOException;
 import java.util.ArrayList;


[50/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
index 00efcfd..3d36c86 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.java
index c9f0fef..ba94106 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java
index 53fc4c1..0568614 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
index 5912f10..92a818d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilter.java
index e894ec8..f1d0fa3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java
index 58bc29b..ec8b2ed 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
index 908147a..6093317 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.analysis.ar;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,9 @@ package org.apache.lucene.analysis.ar;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ar;
+
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/package-info.java
index dfb2cab..5738123 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Arabic.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java
index d461dd0..24746e4 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilter.java
index c122b69..eec74a6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java
index 0c7b010..62b731a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
index e79a8bb..0f5ebb2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.bg;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.bg;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.bg;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.*;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/package-info.java
index c60a53b..d4ffb24 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Bulgarian.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java
index 3c4decb..3b02567 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.br;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.br;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.br;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java
index b6a6650..e605df5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.br;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.br;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.br;
+
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java
index c97f332..19aa2be 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.br;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.br;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.br;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
index 3362939..0f96331 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis.br;
-
-import java.util.Locale;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.util.Locale;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.br;
+
+import java.util.Locale;
+
 
 /**
  * A stemmer for Brazilian Portuguese words.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/package-info.java
index 080389b..84b482f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Brazilian Portuguese.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/CatalanAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/CatalanAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/CatalanAnalyzer.java
index 61ca46b..cb674de 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/CatalanAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/CatalanAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ca;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ca;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ca;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/package-info.java
index 7f8b0da..fc1bb3e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ca/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Catalan.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/BaseCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/BaseCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/BaseCharFilter.java
index 1a96076..48ffa48 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/BaseCharFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/BaseCharFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.charfilter;
 
 import org.apache.lucene.analysis.CharFilter;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
index d5a8eb8..1f681a8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.java
@@ -1,7 +1,5 @@
 /* The following code was generated by JFlex 1.6.0 */
 
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +16,7 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex
index 9db8c7e..352ede7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.jflex
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java
index 1e0920b..9a237c2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/HTMLStripCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
+
 
 import org.apache.lucene.analysis.util.CharFilterFactory;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java
index 095d003..764e1c6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.charfilter;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java
index f3948d6..7aba3b2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.charfilter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.charfilter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.charfilter;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
index ca2c778..e724374 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.charfilter;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/package-info.java
index 12a43a5..f6b043d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Normalization of text before the tokenizer.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java
index ddbf0cd..ed8eee6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilter.java
index f92023c..bf4f621 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilterFactory.java
index a235941..d7da5b0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKBigramFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java
index d01bae4..485ac63 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilterFactory.java
index 7153344..c59b86a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/CJKWidthFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.cjk;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.cjk;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.cjk;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/package-info.java
index 2fd4ad4..f3e0036 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cjk/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Chinese, Japanese, and Korean, which indexes bigrams. 
  * This analyzer generates bigram terms, which are overlapping groups of two adjacent Han, Hiragana, Katakana, or Hangul characters.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
index cbfd78d..78304c7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.java
index 3c4622a..6819b5b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilterFactory.java
index 56cf08f..1f99a51 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizationFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
index 14dbc37..bb9187c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 import static org.apache.lucene.analysis.util.StemmerUtil.delete;
 
 /** 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilter.java
index 174ea1e..0d7a207 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilterFactory.java
index a76d149..8d3e984 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
index 16a72ef..70c5e7f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.ckb;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.ckb;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.ckb;
+
 
 import static org.apache.lucene.analysis.util.StemmerUtil.endsWith;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/package-info.java
index 5fccddf..74e8af8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Analyzer for Sorani Kurdish.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java
index 2d53b3f..35dedde 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilter.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.analysis.commongrams;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java
index 82765f4..ebd5ec3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.commongrams;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.commongrams;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.commongrams;
+
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsQueryFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsQueryFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsQueryFilterFactory.java
index 6a72c1a..034ed56 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsQueryFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/CommonGramsQueryFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.commongrams;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.commongrams;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.commongrams;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/package-info.java
index 4c9eaba..282a638 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/commongrams/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Construct n-grams for frequently occurring terms and phrases.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java
index b6718af..1920401 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/CompoundWordTokenFilterBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java
index c94950e..3dfe3ab 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilterFactory.java
index 25d4a74..440ab5e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.CharArraySet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
index 1ad61da..c047358 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.compound.hyphenation.Hyphenation;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
index 0fe31d0..3b8d0b7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/HyphenationCompoundWordTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.compound;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.compound;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.compound;
+
 
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/ByteVector.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/ByteVector.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/ByteVector.java
index e8ad2d6..8e83893 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/ByteVector.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/ByteVector.java
@@ -5,9 +5,9 @@
  * 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
- * 
+ *
+ *     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.
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 
-
 package org.apache.lucene.analysis.compound.hyphenation;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/CharVector.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/CharVector.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/CharVector.java
index fa27755..c61ac19 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/CharVector.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/CharVector.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphen.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphen.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphen.java
index 151c37f..1845f25 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphen.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphen.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphenation.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphenation.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphenation.java
index aa99748..3fb1e04 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphenation.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/Hyphenation.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java
index 62f6426..0f7dd2b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternConsumer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternConsumer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternConsumer.java
index e20126f..358841c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternConsumer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternConsumer.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternParser.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternParser.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternParser.java
index 9aa4e38..f5f31d8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternParser.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/PatternParser.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 // SAX

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/TernaryTree.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/TernaryTree.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/TernaryTree.java
index c265134..6aeb69b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/TernaryTree.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/TernaryTree.java
@@ -5,16 +5,15 @@
  * 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
- * 
+ *
+ *     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.lucene.analysis.compound.hyphenation;
 
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/package-info.java
index 27de951..b26ae8f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/hyphenation/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Hyphenation code for the CompoundWordTokenFilter. 
  * The code for the compound word hyphenation is taken from the 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/package-info.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/package-info.java
index 126f887..c88dcc9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/package-info.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * A filter that decomposes compound words you find in many Germanic
  * languages into the word parts. This example shows what it does:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilter.java
index 013ed51..b81d42f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilterFactory.java
index 9b3c9f5..2142692 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/DecimalDigitFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordAnalyzer.java
index 6002ea9..25436f9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Analyzer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizer.java
index 9997d40..209ecee 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizerFactory.java
index 8c55886..3654f67 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/KeywordTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java
index 5c0b6d2..df41b37 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.util.CharTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizerFactory.java
index 11dae66..828d6cf 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LetterTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
index 7a7e968..d1198a6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilterFactory.java
index ded2966..785daa5 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java
index 66586f7..982d356 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.util.AttributeFactory;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizerFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizerFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizerFactory.java
index 68b3c04..3e29161 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizerFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/LowerCaseTokenizerFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.util.AbstractAnalysisFactory;
 import org.apache.lucene.analysis.util.MultiTermAwareComponent;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java
index 503b95a..45c8d23 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/SimpleAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Analyzer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
index e25774e..9f4b05a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.File;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java
index 2c3f000..fc33a1c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Arrays;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilterFactory.java
index 7bf3242..d3f6aff 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.CharArraySet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java
index d2791df..d7447d6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilterFactory.java
index 089ef7a..fe7b654 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/TypeTokenFilterFactory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.ResourceLoader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceAnalyzer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceAnalyzer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceAnalyzer.java
index 2c7d5e1..0dcaad9 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceAnalyzer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceAnalyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Analyzer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceTokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceTokenizer.java
index 79564db..5e4313f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UnicodeWhitespaceTokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.util.CharTokenizer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
index 6fdae1b..9c2c283 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/core/UpperCaseFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.core;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.core;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.core;
+
 
 import java.io.IOException;
 


[55/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/search/TestGeoPointQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/search/TestGeoPointQuery.java b/lucene/spatial/src/test/org/apache/lucene/spatial/search/TestGeoPointQuery.java
new file mode 100644
index 0000000..68075a6
--- /dev/null
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/search/TestGeoPointQuery.java
@@ -0,0 +1,399 @@
+<<<<<<< HEAD:lucene/sandbox/src/test/org/apache/lucene/search/TestGeoPointQuery.java
+=======
+package org.apache.lucene.spatial.search;
+
+>>>>>>> LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module:lucene/spatial/src/test/org/apache/lucene/spatial/search/TestGeoPointQuery.java
+/*
+ * 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.lucene.search;
+
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.spatial.document.GeoPointField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.spatial.util.GeoBoundingBox;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.spatial.util.BaseGeoPointTestCase;
+import org.apache.lucene.spatial.util.GeoRelationUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
+import org.apache.lucene.util.SloppyMath;
+import org.apache.lucene.util.TestUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+import static org.apache.lucene.spatial.util.GeoDistanceUtils.DISTANCE_PCT_ERR;
+import static org.apache.lucene.spatial.util.GeoUtils.MAX_LAT_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.MAX_LON_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.MIN_LAT_INCL;
+import static org.apache.lucene.spatial.util.GeoUtils.MIN_LON_INCL;
+
+
+/**
+ * Unit testing for basic GeoPoint query logic
+ *
+ * @lucene.experimental
+ */
+
+public class TestGeoPointQuery extends BaseGeoPointTestCase {
+
+  private static Directory directory = null;
+  private static IndexReader reader = null;
+  private static IndexSearcher searcher = null;
+
+  @Override
+  protected boolean forceSmall() {
+    return false;
+  }
+
+  @Override
+  protected void addPointToDoc(String field, Document doc, double lat, double lon) {
+    doc.add(new GeoPointField(field, lon, lat, Field.Store.NO));
+  }
+
+  @Override
+  protected Query newRectQuery(String field, GeoBoundingBox rect) {
+    return new GeoPointInBBoxQuery(field, rect.minLon, rect.minLat, rect.maxLon, rect.maxLat);
+  }
+
+  @Override
+  protected Query newDistanceQuery(String field, double centerLat, double centerLon, double radiusMeters) {
+    return new GeoPointDistanceQuery(field, centerLon, centerLat, radiusMeters);
+  }
+
+  @Override
+  protected Query newDistanceRangeQuery(String field, double centerLat, double centerLon, double minRadiusMeters, double radiusMeters) {
+    return new GeoPointDistanceRangeQuery(field, centerLon, centerLat, minRadiusMeters, radiusMeters);
+  }
+
+  @Override
+  protected Query newPolygonQuery(String field, double[] lats, double[] lons) {
+    return new GeoPointInPolygonQuery(field, lons, lats);
+  }
+
+  @BeforeClass
+  public static void beforeClass() throws Exception {
+    directory = newDirectory();
+
+    RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
+            newIndexWriterConfig(new MockAnalyzer(random()))
+                    .setMaxBufferedDocs(TestUtil.nextInt(random(), 100, 1000))
+                    .setMergePolicy(newLogMergePolicy()));
+
+    // create some simple geo points
+    final FieldType storedPoint = new FieldType(GeoPointField.TYPE_STORED);
+    // this is a simple systematic test
+    GeoPointField[] pts = new GeoPointField[] {
+         new GeoPointField(FIELD_NAME, -96.774, 32.763420, storedPoint),
+         new GeoPointField(FIELD_NAME, -96.7759895324707, 32.7559529921407, storedPoint),
+         new GeoPointField(FIELD_NAME, -96.77701950073242, 32.77866942010977, storedPoint),
+         new GeoPointField(FIELD_NAME, -96.7706036567688, 32.7756745755423, storedPoint),
+         new GeoPointField(FIELD_NAME, -139.73458170890808, 27.703618681345585, storedPoint),
+         new GeoPointField(FIELD_NAME, -96.4538113027811, 32.94823588839368, storedPoint),
+         new GeoPointField(FIELD_NAME, -96.65084838867188, 33.06047141970814, storedPoint),
+         new GeoPointField(FIELD_NAME, -96.7772, 32.778650, storedPoint),
+         new GeoPointField(FIELD_NAME, -177.23537676036358, -88.56029371730983, storedPoint),
+         new GeoPointField(FIELD_NAME, -26.779373834241003, 33.541429799076354, storedPoint),
+         new GeoPointField(FIELD_NAME, -77.35379276106497, 26.774024500421728, storedPoint),
+         new GeoPointField(FIELD_NAME, -14.796283808944777, -90.0, storedPoint),
+         new GeoPointField(FIELD_NAME, -178.8538113027811, 32.94823588839368, storedPoint),
+         new GeoPointField(FIELD_NAME, 178.8538113027811, 32.94823588839368, storedPoint),
+         new GeoPointField(FIELD_NAME, -73.998776, 40.720611, storedPoint),
+         new GeoPointField(FIELD_NAME, -179.5, -44.5, storedPoint)};
+
+    for (GeoPointField p : pts) {
+        Document doc = new Document();
+        doc.add(p);
+        writer.addDocument(doc);
+    }
+
+    // add explicit multi-valued docs
+    for (int i=0; i<pts.length; i+=2) {
+      Document doc = new Document();
+      doc.add(pts[i]);
+      doc.add(pts[i+1]);
+      writer.addDocument(doc);
+    }
+
+    // index random string documents
+    for (int i=0; i<random().nextInt(10); ++i) {
+      Document doc = new Document();
+      doc.add(new StringField("string", Integer.toString(i), Field.Store.NO));
+      writer.addDocument(doc);
+    }
+
+    reader = writer.getReader();
+    searcher = newSearcher(reader);
+    writer.close();
+  }
+
+  @AfterClass
+  public static void afterClass() throws Exception {
+    searcher = null;
+    reader.close();
+    reader = null;
+    directory.close();
+    directory = null;
+  }
+
+  private TopDocs bboxQuery(double minLon, double minLat, double maxLon, double maxLat, int limit) throws Exception {
+    GeoPointInBBoxQuery q = new GeoPointInBBoxQuery(FIELD_NAME, minLon, minLat, maxLon, maxLat);
+    return searcher.search(q, limit);
+  }
+
+  private TopDocs polygonQuery(double[] lon, double[] lat, int limit) throws Exception {
+    GeoPointInPolygonQuery q = new GeoPointInPolygonQuery(FIELD_NAME, lon, lat);
+    return searcher.search(q, limit);
+  }
+
+  private TopDocs geoDistanceQuery(double lon, double lat, double radius, int limit) throws Exception {
+    GeoPointDistanceQuery q = new GeoPointDistanceQuery(FIELD_NAME, lon, lat, radius);
+    return searcher.search(q, limit);
+  }
+
+  @Override
+  protected Boolean rectContainsPoint(GeoBoundingBox rect, double pointLat, double pointLon) {
+    if (GeoUtils.compare(pointLon, rect.minLon) == 0.0 ||
+        GeoUtils.compare(pointLon, rect.maxLon) == 0.0 ||
+        GeoUtils.compare(pointLat, rect.minLat) == 0.0 ||
+        GeoUtils.compare(pointLat, rect.maxLat) == 0.0) {
+      // Point is very close to rect boundary
+      return null;
+    }
+
+    if (rect.minLon < rect.maxLon) {
+      return GeoRelationUtils.pointInRectPrecise(pointLon, pointLat, rect.minLon, rect.minLat, rect.maxLon, rect.maxLat);
+    } else {
+      // Rect crosses dateline:
+      return GeoRelationUtils.pointInRectPrecise(pointLon, pointLat, -180.0, rect.minLat, rect.maxLon, rect.maxLat)
+          || GeoRelationUtils.pointInRectPrecise(pointLon, pointLat, rect.minLon, rect.minLat, 180.0, rect.maxLat);
+    }
+  }
+
+  @Override
+  protected Boolean polyRectContainsPoint(GeoBoundingBox rect, double pointLat, double pointLon) {
+    return rectContainsPoint(rect, pointLat, pointLon);
+  }
+
+  @Override
+  protected Boolean circleContainsPoint(double centerLat, double centerLon, double radiusMeters, double pointLat, double pointLon) {
+    if (radiusQueryCanBeWrong(centerLat, centerLon, pointLon, pointLat, radiusMeters)) {
+      return null;
+    } else {
+      return SloppyMath.haversin(centerLat, centerLon, pointLat, pointLon)*1000.0 <= radiusMeters;
+    }
+  }
+
+  @Override
+  protected Boolean distanceRangeContainsPoint(double centerLat, double centerLon, double minRadiusMeters, double radiusMeters, double pointLat, double pointLon) {
+    if (radiusQueryCanBeWrong(centerLat, centerLon, pointLon, pointLat, minRadiusMeters)
+        || radiusQueryCanBeWrong(centerLat, centerLon, pointLon, pointLat, radiusMeters)) {
+      return null;
+    } else {
+      final double d = SloppyMath.haversin(centerLat, centerLon, pointLat, pointLon)*1000.0;
+      return d >= minRadiusMeters && d <= radiusMeters;
+    }
+  }
+
+  private static boolean radiusQueryCanBeWrong(double centerLat, double centerLon, double ptLon, double ptLat,
+                                               final double radius) {
+    final long hashedCntr = GeoUtils.mortonHash(centerLon, centerLat);
+    centerLon = GeoUtils.mortonUnhashLon(hashedCntr);
+    centerLat = GeoUtils.mortonUnhashLat(hashedCntr);
+    final long hashedPt = GeoUtils.mortonHash(ptLon, ptLat);
+    ptLon = GeoUtils.mortonUnhashLon(hashedPt);
+    ptLat = GeoUtils.mortonUnhashLat(hashedPt);
+
+    double ptDistance = SloppyMath.haversin(centerLat, centerLon, ptLat, ptLon)*1000.0;
+    double delta = StrictMath.abs(ptDistance - radius);
+
+    // if its within the distance error then it can be wrong
+    return delta < (ptDistance*DISTANCE_PCT_ERR);
+  }
+
+  public void testRectCrossesCircle() throws Exception {
+    assertTrue(GeoRelationUtils.rectCrossesCircle(-180, -90, 180, 0.0, 0.667, 0.0, 88000.0));
+  }
+
+  private TopDocs geoDistanceRangeQuery(double lon, double lat, double minRadius, double maxRadius, int limit)
+      throws Exception {
+    GeoPointDistanceRangeQuery q = new GeoPointDistanceRangeQuery(FIELD_NAME, lon, lat, minRadius, maxRadius);
+    return searcher.search(q, limit);
+  }
+
+  public void testBBoxQuery() throws Exception {
+    TopDocs td = bboxQuery(-96.7772, 32.778650, -96.77690000, 32.778950, 5);
+    assertEquals("GeoBoundingBoxQuery failed", 4, td.totalHits);
+  }
+
+  public void testPolyQuery() throws Exception {
+    TopDocs td = polygonQuery(new double[]{-96.7682647, -96.8280029, -96.6288757, -96.4929199,
+            -96.6041564, -96.7449188, -96.76826477, -96.7682647},
+        new double[]{33.073130, 32.9942669, 32.938386, 33.0374494,
+            33.1369762, 33.1162747, 33.073130, 33.073130}, 5);
+    assertEquals("GeoPolygonQuery failed", 2, td.totalHits);
+  }
+
+  public void testPacManPolyQuery() throws Exception {
+    // pacman
+    double[] px = {0, 10, 10, 0, -8, -10, -8, 0, 10, 10, 0};
+    double[] py = {0, 5, 9, 10, 9, 0, -9, -10, -9, -5, 0};
+
+    // shape bbox
+    double xMinA = -10;
+    double xMaxA = 10;
+    double yMinA = -10;
+    double yMaxA = 10;
+
+    // candidate crosses cell
+    double xMin = 2;//-5;
+    double xMax = 11;//0.000001;
+    double yMin = -1;//0;
+    double yMax = 1;//5;
+
+    // test cell crossing poly
+    assertTrue(GeoRelationUtils.rectCrossesPolyApprox(xMin, yMin, xMax, yMax, px, py, xMinA, yMinA, xMaxA, yMaxA));
+    assertFalse(GeoRelationUtils.rectCrossesPolyApprox(-5, 0,  0.000001, 5, px, py, xMin, yMin, xMax, yMax));
+    assertTrue(GeoRelationUtils.rectWithinPolyApprox(-5, 0, -2, 5, px, py, xMin, yMin, xMax, yMax));
+  }
+
+  public void testBBoxCrossDateline() throws Exception {
+    TopDocs td = bboxQuery(179.0, -45.0, -179.0, -44.0, 20);
+    assertEquals("BBoxCrossDateline query failed", 2, td.totalHits);
+  }
+
+  public void testWholeMap() throws Exception {
+    TopDocs td = bboxQuery(MIN_LON_INCL, MIN_LAT_INCL, MAX_LON_INCL, MAX_LAT_INCL, 25);
+    assertEquals("testWholeMap failed", 24, td.totalHits);
+    td = polygonQuery(new double[] {GeoUtils.MIN_LON_INCL, GeoUtils.MIN_LON_INCL, GeoUtils.MAX_LON_INCL, GeoUtils.MAX_LON_INCL, GeoUtils.MIN_LON_INCL},
+        new double[] {GeoUtils.MIN_LAT_INCL, GeoUtils.MAX_LAT_INCL, GeoUtils.MAX_LAT_INCL, GeoUtils.MIN_LAT_INCL, GeoUtils.MIN_LAT_INCL}, 20);
+    assertEquals("testWholeMap failed", 24, td.totalHits);
+  }
+
+  public void smallTest() throws Exception {
+    TopDocs td = geoDistanceQuery(-73.998776, 40.720611, 1, 20);
+    assertEquals("smallTest failed", 2, td.totalHits);
+  }
+
+  public void testInvalidBBox() throws Exception {
+    try {
+      bboxQuery(179.0, -92.0, 181.0, -91.0, 20);
+    } catch(Exception e) {
+      return;
+    }
+    throw new Exception("GeoBoundingBox should not accept invalid lat/lon");
+  }
+
+  public void testGeoDistanceQuery() throws Exception {
+    TopDocs td = geoDistanceQuery(-96.4538113027811, 32.94823588839368, 6000, 20);
+    assertEquals("GeoDistanceQuery failed", 2, td.totalHits);
+  }
+
+  /** see https://issues.apache.org/jira/browse/LUCENE-6905 */
+  public void testNonEmptyTermsEnum() throws Exception {
+    TopDocs td = geoDistanceQuery(-177.23537676036358, -88.56029371730983, 7757.999232959935, 20);
+    assertEquals("GeoDistanceQuery failed", 2, td.totalHits);
+  }
+
+  public void testMultiValuedQuery() throws Exception {
+    TopDocs td = bboxQuery(-96.4538113027811, 32.7559529921407, -96.7706036567688, 32.7756745755423, 20);
+    // 3 single valued docs + 2 multi-valued docs
+    assertEquals("testMultiValuedQuery failed", 5, td.totalHits);
+  }
+
+  public void testTooBigRadius() throws Exception {
+    try {
+      geoDistanceQuery(0.0, 85.0, 4000000, 20);
+    } catch (IllegalArgumentException e) {
+      e.getMessage().contains("exceeds maxRadius");
+    }
+  }
+
+  /**
+   * Explicitly large
+   */
+  public void testGeoDistanceQueryHuge() throws Exception {
+    TopDocs td = geoDistanceQuery(-96.4538113027811, 32.94823588839368, 6000000, 20);
+    assertEquals("GeoDistanceQuery failed", 16, td.totalHits);
+  }
+
+  public void testGeoDistanceQueryCrossDateline() throws Exception {
+    TopDocs td = geoDistanceQuery(-179.9538113027811, 32.94823588839368, 120000, 20);
+    assertEquals("GeoDistanceQuery failed", 3, td.totalHits);
+  }
+
+  public void testInvalidGeoDistanceQuery() throws Exception {
+    try {
+      geoDistanceQuery(181.0, 92.0, 120000, 20);
+    } catch (Exception e) {
+      return;
+    }
+    throw new Exception("GeoDistanceQuery should not accept invalid lat/lon as origin");
+  }
+
+  public void testMaxDistanceRangeQuery() throws Exception {
+    TopDocs td = geoDistanceRangeQuery(0.0, 0.0, 10, 20000000, 20);
+    assertEquals("GeoDistanceRangeQuery failed", 24, td.totalHits);
+  }
+
+  public void testMortonEncoding() throws Exception {
+    long hash = GeoUtils.mortonHash(180, 90);
+    assertEquals(180.0, GeoUtils.mortonUnhashLon(hash), 0);
+    assertEquals(90.0, GeoUtils.mortonUnhashLat(hash), 0);
+  }
+
+  public void testEncodeDecode() throws Exception {
+    int iters = atLeast(10000);
+    boolean small = random().nextBoolean();
+    for(int iter=0;iter<iters;iter++) {
+      double lat = randomLat(small);
+      double lon = randomLon(small);
+
+      long enc = GeoUtils.mortonHash(lon, lat);
+      double latEnc = GeoUtils.mortonUnhashLat(enc);
+      double lonEnc = GeoUtils.mortonUnhashLon(enc);
+
+      assertEquals("lat=" + lat + " latEnc=" + latEnc + " diff=" + (lat - latEnc), lat, latEnc, GeoUtils.TOLERANCE);
+      assertEquals("lon=" + lon + " lonEnc=" + lonEnc + " diff=" + (lon - lonEnc), lon, lonEnc, GeoUtils.TOLERANCE);
+    }
+  }
+
+  public void testScaleUnscaleIsStable() throws Exception {
+    int iters = atLeast(1000);
+    boolean small = random().nextBoolean();
+    for(int iter=0;iter<iters;iter++) {
+      double lat = randomLat(small);
+      double lon = randomLon(small);
+
+      long enc = GeoUtils.mortonHash(lon, lat);
+      double latEnc = GeoUtils.mortonUnhashLat(enc);
+      double lonEnc = GeoUtils.mortonUnhashLon(enc);
+
+      long enc2 = GeoUtils.mortonHash(lon, lat);
+      double latEnc2 = GeoUtils.mortonUnhashLat(enc2);
+      double lonEnc2 = GeoUtils.mortonUnhashLon(enc2);
+      assertEquals(latEnc, latEnc2, 0.0);
+      assertEquals(lonEnc, lonEnc2, 0.0);
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
deleted file mode 100644
index bed8339..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/serialized/SerializedStrategyTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.lucene.spatial.serialized;
-
-import java.io.IOException;
-
-import com.spatial4j.core.context.SpatialContext;
-import org.apache.lucene.spatial.SpatialMatchConcern;
-import org.apache.lucene.spatial.StrategyTestCase;
-import org.junit.Before;
-import org.junit.Test;
-
-public class SerializedStrategyTest extends StrategyTestCase {
-
-  @Before
-  @Override
-  public void setUp() throws Exception {
-    super.setUp();
-    this.ctx = SpatialContext.GEO;
-    this.strategy = new SerializedDVStrategy(ctx, "serialized");
-  }
-
-  @Override
-  protected boolean needsDocValues() {
-    return (strategy instanceof SerializedDVStrategy);
-  }
-
-  @Test
-  public void testBasicOperaions() throws IOException {
-    getAddAndVerifyIndexedDocuments(DATA_SIMPLE_BBOX);
-
-    executeQueries(SpatialMatchConcern.EXACT, QTEST_Simple_Queries_BBox);
-  }
-
-  @Test
-  public void testStatesBBox() throws IOException {
-    getAddAndVerifyIndexedDocuments(DATA_STATES_BBOX);
-
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_IsWithin_BBox);
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_States_Intersects_BBox);
-  }
-
-  @Test
-  public void testCitiesIntersectsBBox() throws IOException {
-    getAddAndVerifyIndexedDocuments(DATA_WORLD_CITIES_POINTS);
-
-    executeQueries(SpatialMatchConcern.FILTER, QTEST_Cities_Intersects_BBox);
-  }
-
-  //sorting is tested in DistanceStrategyTest
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
deleted file mode 100644
index 7c98d0244..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dRptTest.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * 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.lucene.spatial.spatial4j;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import org.apache.lucene.spatial.composite.CompositeSpatialStrategy;
-import org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase;
-import org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy;
-import org.apache.lucene.spatial.prefix.tree.GeohashPrefixTree;
-import org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.apache.lucene.spatial.serialized.SerializedDVStrategy;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPath;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoPolygonFactory;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
-import org.junit.Test;
-
-import static com.spatial4j.core.distance.DistanceUtils.DEGREES_TO_RADIANS;
-
-public class Geo3dRptTest extends RandomSpatialOpStrategyTestCase {
-
-  private SpatialPrefixTree grid;
-  private RecursivePrefixTreeStrategy rptStrategy;
-  {
-    this.ctx = SpatialContext.GEO;
-  }
-
-  private void setupGeohashGrid() {
-    this.grid = new GeohashPrefixTree(ctx, 2);//A fairly shallow grid
-    this.rptStrategy = newRPT();
-  }
-
-  protected RecursivePrefixTreeStrategy newRPT() {
-    final RecursivePrefixTreeStrategy rpt = new RecursivePrefixTreeStrategy(this.grid,
-        getClass().getSimpleName() + "_rpt");
-    rpt.setDistErrPct(0.10);//not too many cells
-    return rpt;
-  }
-
-  @Override
-  protected boolean needsDocValues() {
-    return true;//due to SerializedDVStrategy
-  }
-
-  private void setupStrategy() {
-    //setup
-    setupGeohashGrid();
-
-    SerializedDVStrategy serializedDVStrategy = new SerializedDVStrategy(ctx, getClass().getSimpleName() + "_sdv");
-    this.strategy = new CompositeSpatialStrategy("composite_" + getClass().getSimpleName(),
-        rptStrategy, serializedDVStrategy);
-  }
-
-  @Test
-  public void testFailure1() throws IOException {
-    setupStrategy();
-    final List<GeoPoint> points = new ArrayList<GeoPoint>();
-    points.add(new GeoPoint(PlanetModel.SPHERE, 18 * DEGREES_TO_RADIANS, -27 * DEGREES_TO_RADIANS));
-    points.add(new GeoPoint(PlanetModel.SPHERE, -57 * DEGREES_TO_RADIANS, 146 * DEGREES_TO_RADIANS));
-    points.add(new GeoPoint(PlanetModel.SPHERE, 14 * DEGREES_TO_RADIANS, -180 * DEGREES_TO_RADIANS));
-    points.add(new GeoPoint(PlanetModel.SPHERE, -15 * DEGREES_TO_RADIANS, 153 * DEGREES_TO_RADIANS));
-    
-    final Shape triangle = new Geo3dShape(GeoPolygonFactory.makeGeoPolygon(PlanetModel.SPHERE, points,0),ctx);
-    final Rectangle rect = ctx.makeRectangle(-49, -45, 73, 86);
-    testOperation(rect,SpatialOperation.Intersects,triangle, false);
-  }
-
-  @Test
-  public void testFailureLucene6535() throws IOException {
-    setupStrategy();
-
-    final List<GeoPoint> points = new ArrayList<>();
-    points.add(new GeoPoint(PlanetModel.SPHERE, 18 * DEGREES_TO_RADIANS, -27 * DEGREES_TO_RADIANS));
-    points.add(new GeoPoint(PlanetModel.SPHERE, -57 * DEGREES_TO_RADIANS, 146 * DEGREES_TO_RADIANS));
-    points.add(new GeoPoint(PlanetModel.SPHERE, 14 * DEGREES_TO_RADIANS, -180 * DEGREES_TO_RADIANS));
-    points.add(new GeoPoint(PlanetModel.SPHERE, -15 * DEGREES_TO_RADIANS, 153 * DEGREES_TO_RADIANS));
-    final GeoPath path = new GeoPath(PlanetModel.SPHERE, 29 * DEGREES_TO_RADIANS);
-    path.addPoint(55.0 * DEGREES_TO_RADIANS, -26.0 * DEGREES_TO_RADIANS);
-    path.addPoint(-90.0 * DEGREES_TO_RADIANS, 0.0);
-    path.addPoint(54.0 * DEGREES_TO_RADIANS, 165.0 * DEGREES_TO_RADIANS);
-    path.addPoint(-90.0 * DEGREES_TO_RADIANS, 0.0);
-    path.done();
-    final Shape shape = new Geo3dShape(path,ctx);
-    final Rectangle rect = ctx.makeRectangle(131, 143, 39, 54);
-    testOperation(rect,SpatialOperation.Intersects,shape,true);
-  }
-
-  @Test
-  @Repeat(iterations = 10)
-  public void testOperations() throws IOException {
-    setupStrategy();
-
-    testOperationRandomShapes(SpatialOperation.Intersects);
-  }
-
-  private Shape makeTriangle(double x1, double y1, double x2, double y2, double x3, double y3) {
-    final List<GeoPoint> geoPoints = new ArrayList<>();
-    geoPoints.add(new GeoPoint(PlanetModel.SPHERE, y1 * DEGREES_TO_RADIANS, x1 * DEGREES_TO_RADIANS));
-    geoPoints.add(new GeoPoint(PlanetModel.SPHERE, y2 * DEGREES_TO_RADIANS, x2 * DEGREES_TO_RADIANS));
-    geoPoints.add(new GeoPoint(PlanetModel.SPHERE, y3 * DEGREES_TO_RADIANS, x3 * DEGREES_TO_RADIANS));
-    final int convexPointIndex = 0;
-    final GeoShape shape = GeoPolygonFactory.makeGeoPolygon(PlanetModel.SPHERE, geoPoints, convexPointIndex);
-    return new Geo3dShape(shape, ctx);
-  }
-
-  @Override
-  protected Shape randomIndexedShape() {
-    return randomRectangle();
-  }
-
-  @Override
-  protected Shape randomQueryShape() {
-    final int shapeType = random().nextInt(4);
-    switch (shapeType) {
-    case 0: {
-        // Polygons
-        final int vertexCount = random().nextInt(3) + 3;
-        while (true) {
-          final List<GeoPoint> geoPoints = new ArrayList<>();
-          while (geoPoints.size() < vertexCount) {
-            final Point point = randomPoint();
-            final GeoPoint gPt = new GeoPoint(PlanetModel.SPHERE, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS);
-            geoPoints.add(gPt);
-          }
-          final int convexPointIndex = random().nextInt(vertexCount);       //If we get this wrong, hopefully we get IllegalArgumentException
-          try {
-            final GeoShape shape = GeoPolygonFactory.makeGeoPolygon(PlanetModel.SPHERE, geoPoints, convexPointIndex);
-            return new Geo3dShape(shape, ctx);
-          } catch (IllegalArgumentException e) {
-            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
-            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
-            continue;
-          }
-        }
-      }
-    case 1: {
-        // Circles
-        while (true) {
-          final int circleRadius = random().nextInt(179) + 1;
-          final Point point = randomPoint();
-          try {
-            final GeoShape shape = new GeoStandardCircle(PlanetModel.SPHERE, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS,
-              circleRadius * DEGREES_TO_RADIANS);
-            return new Geo3dShape(shape, ctx);
-          } catch (IllegalArgumentException e) {
-            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
-            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
-            continue;
-          }
-        }
-      }
-    case 2: {
-        // Rectangles
-        while (true) {
-          Point ulhcPoint = randomPoint();
-          Point lrhcPoint = randomPoint();
-          if (ulhcPoint.getY() < lrhcPoint.getY()) {
-            //swap
-            Point temp = ulhcPoint;
-            ulhcPoint = lrhcPoint;
-            lrhcPoint = temp;
-          }
-          try {
-            final GeoShape shape = GeoBBoxFactory.makeGeoBBox(PlanetModel.SPHERE, ulhcPoint.getY() * DEGREES_TO_RADIANS,
-              lrhcPoint.getY() * DEGREES_TO_RADIANS,
-              ulhcPoint.getX() * DEGREES_TO_RADIANS,
-              lrhcPoint.getX() * DEGREES_TO_RADIANS);
-            //System.err.println("Trial rectangle shape: "+shape);
-            return new Geo3dShape(shape, ctx);
-          } catch (IllegalArgumentException e) {
-            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
-            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
-            continue;
-          }
-        }
-      }
-    case 3: {
-        // Paths
-        final int pointCount = random().nextInt(5) + 1;
-        final double width = (random().nextInt(89)+1) * DEGREES_TO_RADIANS;
-        while (true) {
-          try {
-            final GeoPath path = new GeoPath(PlanetModel.SPHERE, width);
-            for (int i = 0; i < pointCount; i++) {
-              final Point nextPoint = randomPoint();
-              path.addPoint(nextPoint.getY() * DEGREES_TO_RADIANS, nextPoint.getX() * DEGREES_TO_RADIANS);
-            }
-            path.done();
-            return new Geo3dShape(path, ctx);
-          } catch (IllegalArgumentException e) {
-            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
-            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
-            continue;
-          }
-        }
-      }
-    default:
-      throw new IllegalStateException("Unexpected shape type");
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
deleted file mode 100644
index 3113aed..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * 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.lucene.spatial.spatial4j;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
-import com.carrotsearch.randomizedtesting.RandomizedContext;
-import com.spatial4j.core.TestLog;
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.RectIntersectionTestHelper;
-import org.apache.lucene.geo3d.LatLonBounds;
-import org.apache.lucene.geo3d.GeoBBox;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPath;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoPolygonFactory;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
-import org.junit.Rule;
-import org.junit.Test;
-
-import static com.spatial4j.core.distance.DistanceUtils.DEGREES_TO_RADIANS;
-
-public abstract class Geo3dShapeRectRelationTestCase extends RandomizedShapeTestCase {
-  protected final static double RADIANS_PER_DEGREE = Math.PI/180.0;
-
-  @Rule
-  public final TestLog testLog = TestLog.instance;
-
-  protected final PlanetModel planetModel;
-
-  public Geo3dShapeRectRelationTestCase(PlanetModel planetModel) {
-    super(SpatialContext.GEO);
-    this.planetModel = planetModel;
-  }
-
-  protected GeoBBox getBoundingBox(final GeoShape path) {
-    LatLonBounds bounds = new LatLonBounds();
-    path.getBounds(bounds);
-
-    double leftLon;
-    double rightLon;
-    if (bounds.checkNoLongitudeBound()) {
-      leftLon = -Math.PI;
-      rightLon = Math.PI;
-    } else {
-      leftLon = bounds.getLeftLongitude().doubleValue();
-      rightLon = bounds.getRightLongitude().doubleValue();
-    }
-    double minLat;
-    if (bounds.checkNoBottomLatitudeBound()) {
-      minLat = -Math.PI * 0.5;
-    } else {
-      minLat = bounds.getMinLatitude().doubleValue();
-    }
-    double maxLat;
-    if (bounds.checkNoTopLatitudeBound()) {
-      maxLat = Math.PI * 0.5;
-    } else {
-      maxLat = bounds.getMaxLatitude().doubleValue();
-    }
-    return GeoBBoxFactory.makeGeoBBox(planetModel, maxLat, minLat, leftLon, rightLon);
-  }
-
-  abstract class Geo3dRectIntersectionTestHelper extends RectIntersectionTestHelper<Geo3dShape> {
-
-    public Geo3dRectIntersectionTestHelper(SpatialContext ctx) {
-      super(ctx);
-    }
-
-    //20 times each -- should be plenty
-
-    protected int getContainsMinimum(int laps) {
-      return 20;
-    }
-
-    protected int getIntersectsMinimum(int laps) {
-      return 20;
-    }
-
-    // producing "within" cases in Geo3D based on our random shapes doesn't happen often. It'd be nice to increase this.
-    protected int getWithinMinimum(int laps) {
-      return 2;
-    }
-
-    protected int getDisjointMinimum(int laps) {
-      return 20;
-    }
-
-    protected int getBoundingMinimum(int laps) {
-      return 20;
-    }
-  }
-
-  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
-  @Test
-  public void testGeoCircleRect() {
-    new Geo3dRectIntersectionTestHelper(ctx) {
-
-      @Override
-      protected Geo3dShape generateRandomShape(Point nearP) {
-        final int circleRadius = 180 - random().nextInt(180);//no 0-radius
-        final Point point = nearP;
-        final GeoShape shape = new GeoStandardCircle(planetModel, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS,
-            circleRadius * DEGREES_TO_RADIANS);
-        return new Geo3dShape(planetModel, shape, ctx);
-      }
-
-      @Override
-      protected Point randomPointInEmptyShape(Geo3dShape shape) {
-        GeoPoint geoPoint = ((GeoStandardCircle)shape.shape).getCenter();
-        return geoPointToSpatial4jPoint(geoPoint);
-      }
-
-    }.testRelateWithRectangle();
-  }
-
-  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
-  @Test
-  public void testGeoBBoxRect() {
-    new Geo3dRectIntersectionTestHelper(ctx) {
-
-      @Override
-      protected boolean isRandomShapeRectangular() {
-        return true;
-      }
-
-      @Override
-      protected Geo3dShape generateRandomShape(Point nearP) {
-        // (ignoring nearP)
-        Point ulhcPoint = randomPoint();
-        Point lrhcPoint = randomPoint();
-        if (ulhcPoint.getY() < lrhcPoint.getY()) {
-          //swap
-          Point temp = ulhcPoint;
-          ulhcPoint = lrhcPoint;
-          lrhcPoint = temp;
-        }
-        final GeoShape shape = GeoBBoxFactory.makeGeoBBox(planetModel, ulhcPoint.getY() * DEGREES_TO_RADIANS,
-            lrhcPoint.getY() * DEGREES_TO_RADIANS,
-            ulhcPoint.getX() * DEGREES_TO_RADIANS,
-            lrhcPoint.getX() * DEGREES_TO_RADIANS);
-        return new Geo3dShape(planetModel, shape, ctx);
-      }
-
-      @Override
-      protected Point randomPointInEmptyShape(Geo3dShape shape) {
-        return shape.getBoundingBox().getCenter();
-      }
-    }.testRelateWithRectangle();
-  }
-
-  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
-  @Test
-  public void testGeoPolygonRect() {
-    new Geo3dRectIntersectionTestHelper(ctx) {
-
-      @Override
-      protected Geo3dShape generateRandomShape(Point nearP) {
-        final Point centerPoint = randomPoint();
-        final int maxDistance = random().nextInt(160) + 20;
-        final Circle pointZone = ctx.makeCircle(centerPoint, maxDistance);
-        final int vertexCount = random().nextInt(3) + 3;
-        while (true) {
-          final List<GeoPoint> geoPoints = new ArrayList<>();
-          while (geoPoints.size() < vertexCount) {
-            final Point point = randomPointIn(pointZone);
-            final GeoPoint gPt = new GeoPoint(planetModel, point.getY() * DEGREES_TO_RADIANS, point.getX() * DEGREES_TO_RADIANS);
-            geoPoints.add(gPt);
-          }
-          final int convexPointIndex = random().nextInt(vertexCount); //If we get this wrong, hopefully we get IllegalArgumentException
-          try {
-            final GeoShape shape = GeoPolygonFactory.makeGeoPolygon(planetModel, geoPoints, convexPointIndex);
-            return new Geo3dShape(planetModel, shape, ctx);
-          } catch (IllegalArgumentException e) {
-            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
-            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
-            continue;
-          }
-        }
-      }
-
-      @Override
-      protected Point randomPointInEmptyShape(Geo3dShape shape) {
-        throw new IllegalStateException("unexpected; need to finish test code");
-      }
-
-      @Override
-      protected int getWithinMinimum(int laps) {
-        // Long/thin so lets just find 1.
-        return 1;
-      }
-
-    }.testRelateWithRectangle();
-  }
-
-  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-6867")
-  @Test
-  public void testGeoPathRect() {
-    new Geo3dRectIntersectionTestHelper(ctx) {
-
-      @Override
-      protected Geo3dShape generateRandomShape(Point nearP) {
-        final Point centerPoint = randomPoint();
-        final int maxDistance = random().nextInt(160) + 20;
-        final Circle pointZone = ctx.makeCircle(centerPoint, maxDistance);
-        final int pointCount = random().nextInt(5) + 1;
-        final double width = (random().nextInt(89)+1) * DEGREES_TO_RADIANS;
-        while (true) {
-          try {
-            final GeoPath path = new GeoPath(planetModel, width);
-            for (int i = 0; i < pointCount; i++) {
-              final Point nextPoint = randomPointIn(pointZone);
-              path.addPoint(nextPoint.getY() * DEGREES_TO_RADIANS, nextPoint.getX() * DEGREES_TO_RADIANS);
-            }
-            path.done();
-            return new Geo3dShape(planetModel, path, ctx);
-          } catch (IllegalArgumentException e) {
-            // This is what happens when we create a shape that is invalid.  Although it is conceivable that there are cases where
-            // the exception is thrown incorrectly, we aren't going to be able to do that in this random test.
-            continue;
-          }
-        }
-      }
-
-      @Override
-      protected Point randomPointInEmptyShape(Geo3dShape shape) {
-        throw new IllegalStateException("unexpected; need to finish test code");
-      }
-
-      @Override
-      protected int getWithinMinimum(int laps) {
-        // Long/thin so lets just find 1.
-        return 1;
-      }
-
-    }.testRelateWithRectangle();
-  }
-
-  private Point geoPointToSpatial4jPoint(GeoPoint geoPoint) {
-    return ctx.makePoint(geoPoint.getLongitude() * DistanceUtils.RADIANS_TO_DEGREES,
-        geoPoint.getLongitude() * DistanceUtils.RADIANS_TO_DEGREES);
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
deleted file mode 100644
index aac0a0a..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeSphereModelRectRelationTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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.lucene.spatial.spatial4j;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.spatial4j.core.shape.Rectangle;
-import org.apache.lucene.geo3d.GeoArea;
-import org.apache.lucene.geo3d.GeoBBox;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.GeoPolygonFactory;
-import org.apache.lucene.geo3d.GeoShape;
-import org.apache.lucene.geo3d.PlanetModel;
-import org.junit.Test;
-
-public class Geo3dShapeSphereModelRectRelationTest extends Geo3dShapeRectRelationTestCase {
-
-  public Geo3dShapeSphereModelRectRelationTest() {
-    super(PlanetModel.SPHERE);
-  }
-
-  @Test
-  public void testFailure1() {
-    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, 88 * RADIANS_PER_DEGREE, 30 * RADIANS_PER_DEGREE, -30 * RADIANS_PER_DEGREE, 62 * RADIANS_PER_DEGREE);
-    final List<GeoPoint> points = new ArrayList<>();
-    points.add(new GeoPoint(planetModel, 66.2465299717 * RADIANS_PER_DEGREE, -29.1786158537 * RADIANS_PER_DEGREE));
-    points.add(new GeoPoint(planetModel, 43.684447915 * RADIANS_PER_DEGREE, 46.2210986329 * RADIANS_PER_DEGREE));
-    points.add(new GeoPoint(planetModel, 30.4579218227 * RADIANS_PER_DEGREE, 14.5238410082 * RADIANS_PER_DEGREE));
-    final GeoShape path = GeoPolygonFactory.makeGeoPolygon(planetModel, points,0);
-
-    final GeoPoint point = new GeoPoint(planetModel, 34.2730264413182 * RADIANS_PER_DEGREE, 82.75500168892472 * RADIANS_PER_DEGREE);
-
-    // Apparently the rectangle thinks the polygon is completely within it... "shape inside rectangle"
-    assertTrue(GeoArea.WITHIN == rect.getRelationship(path));
-
-    // Point is within path? Apparently not...
-    assertFalse(path.isWithin(point));
-
-    // If it is within the path, it must be within the rectangle, and similarly visa versa
-    assertFalse(rect.isWithin(point));
-
-  }
-
-  @Test
-  public void testFailure2_LUCENE6475() {
-    GeoShape geo3dCircle = new GeoStandardCircle(planetModel, 1.6282053147165243E-4 * RADIANS_PER_DEGREE,
-        -70.1600629789353 * RADIANS_PER_DEGREE, 86 * RADIANS_PER_DEGREE);
-    Geo3dShape geo3dShape = new Geo3dShape(planetModel, geo3dCircle, ctx);
-    Rectangle rect = ctx.makeRectangle(-118, -114, -2.0, 32.0);
-    assertTrue(geo3dShape.relate(rect).intersects());
-    // thus the bounding box must intersect too
-    assertTrue(geo3dShape.getBoundingBox().relate(rect).intersects());
-
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
deleted file mode 100644
index a9ff58d..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeWGS84ModelRectRelationTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.lucene.spatial.spatial4j;
-
-import org.apache.lucene.geo3d.GeoArea;
-import org.apache.lucene.geo3d.GeoBBox;
-import org.apache.lucene.geo3d.GeoBBoxFactory;
-import org.apache.lucene.geo3d.GeoCircle;
-import org.apache.lucene.geo3d.GeoStandardCircle;
-import org.apache.lucene.geo3d.GeoPath;
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.PlanetModel;
-import org.junit.Test;
-
-public class Geo3dShapeWGS84ModelRectRelationTest extends Geo3dShapeRectRelationTestCase {
-
-  public Geo3dShapeWGS84ModelRectRelationTest() {
-    super(PlanetModel.WGS84);
-  }
-
-  @Test
-  public void testFailure1() {
-    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, 90 * RADIANS_PER_DEGREE, 74 * RADIANS_PER_DEGREE,
-        40 * RADIANS_PER_DEGREE, 60 * RADIANS_PER_DEGREE);
-    final GeoPath path = new GeoPath(planetModel, 4 * RADIANS_PER_DEGREE);
-    path.addPoint(84.4987594274 * RADIANS_PER_DEGREE, -22.8345484402 * RADIANS_PER_DEGREE);
-    path.done();
-    assertTrue(GeoArea.DISJOINT == rect.getRelationship(path));
-    // This is what the test failure claimed...
-    //assertTrue(GeoArea.CONTAINS == rect.getRelationship(path));
-    //final GeoBBox bbox = getBoundingBox(path);
-    //assertFalse(GeoArea.DISJOINT == rect.getRelationship(bbox));
-  }
-
-  @Test
-  public void testFailure2() {
-    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, -74 * RADIANS_PER_DEGREE, -90 * RADIANS_PER_DEGREE,
-        0 * RADIANS_PER_DEGREE, 26 * RADIANS_PER_DEGREE);
-    final GeoCircle circle = new GeoStandardCircle(planetModel, -87.3647352103 * RADIANS_PER_DEGREE, 52.3769709972 * RADIANS_PER_DEGREE, 1 * RADIANS_PER_DEGREE);
-    assertTrue(GeoArea.DISJOINT == rect.getRelationship(circle));
-    // This is what the test failure claimed...
-    //assertTrue(GeoArea.CONTAINS == rect.getRelationship(circle));
-    //final GeoBBox bbox = getBoundingBox(circle);
-    //assertFalse(GeoArea.DISJOINT == rect.getRelationship(bbox));
-  }
-
-  @Test
-  public void testFailure3() {
-    /*
-   [junit4]   1> S-R Rel: {}, Shape {}, Rectangle {}    lap# {} [CONTAINS, Geo3dShape{planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, shape=GeoPath: {planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, width=1.53588974175501(87.99999999999999), 
-    points={[[X=0.12097657665150223, Y=-0.6754177666095532, Z=0.7265376136709238], [X=-0.3837892785614207, Y=0.4258049113530899, Z=0.8180007850434892]]}}}, 
-    Rect(minX=4.0,maxX=36.0,minY=16.0,maxY=16.0), 6981](no slf4j subst; sorry)
-   [junit4] FAILURE 0.59s | Geo3dWGS84ShapeRectRelationTest.testGeoPathRect <<<
-   [junit4]    > Throwable #1: java.lang.AssertionError: Geo3dShape{planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, shape=GeoPath: {planetmodel=PlanetModel: {ab=1.0011188180710464, c=0.9977622539852008}, width=1.53588974175501(87.99999999999999), 
-    points={[[X=0.12097657665150223, Y=-0.6754177666095532, Z=0.7265376136709238], [X=-0.3837892785614207, Y=0.4258049113530899, Z=0.8180007850434892]]}}} intersect Pt(x=23.81626064835212,y=16.0)
-   [junit4]    >  at __randomizedtesting.SeedInfo.seed([2595268DA3F13FEA:6CC30D8C83453E5D]:0)
-   [junit4]    >  at org.apache.lucene.spatial.spatial4j.RandomizedShapeTestCase._assertIntersect(RandomizedShapeTestCase.java:168)
-   [junit4]    >  at org.apache.lucene.spatial.spatial4j.RandomizedShapeTestCase.assertRelation(RandomizedShapeTestCase.java:153)
-   [junit4]    >  at org.apache.lucene.spatial.spatial4j.RectIntersectionTestHelper.testRelateWithRectangle(RectIntersectionTestHelper.java:128)
-   [junit4]    >  at org.apache.lucene.spatial.spatial4j.Geo3dWGS84ShapeRectRelationTest.testGeoPathRect(Geo3dWGS84ShapeRectRelationTest.java:265)
-  */
-    final GeoBBox rect = GeoBBoxFactory.makeGeoBBox(planetModel, 16 * RADIANS_PER_DEGREE, 16 * RADIANS_PER_DEGREE, 4 * RADIANS_PER_DEGREE, 36 * RADIANS_PER_DEGREE);
-    final GeoPoint pt = new GeoPoint(planetModel, 16 * RADIANS_PER_DEGREE, 23.81626064835212 * RADIANS_PER_DEGREE);
-    final GeoPath path = new GeoPath(planetModel, 88 * RADIANS_PER_DEGREE);
-    path.addPoint(46.6369060853 * RADIANS_PER_DEGREE, -79.8452213228 * RADIANS_PER_DEGREE);
-    path.addPoint(54.9779334519 * RADIANS_PER_DEGREE, 132.029177424 * RADIANS_PER_DEGREE);
-    path.done();
-    System.out.println("rect=" + rect);
-    // Rectangle is within path (this is wrong; it's on the other side.  Should be OVERLAPS)
-    assertTrue(GeoArea.OVERLAPS == rect.getRelationship(path));
-    // Rectangle contains point
-    //assertTrue(rect.isWithin(pt));
-    // Path contains point (THIS FAILS)
-    //assertTrue(path.isWithin(pt));
-    // What happens: (1) The center point of the horizontal line is within the path, in fact within a radius of one of the endpoints.
-    // (2) The point mentioned is NOT inside either SegmentEndpoint.
-    // (3) The point mentioned is NOT inside the path segment, either.  (I think it should be...)
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
deleted file mode 100644
index db72520..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/RandomizedShapeTestCase.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * 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.lucene.spatial.spatial4j;
-
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.distance.DistanceUtils;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Rectangle;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.SpatialRelation;
-import com.spatial4j.core.shape.impl.Range;
-
-import static com.spatial4j.core.shape.SpatialRelation.CONTAINS;
-import static com.spatial4j.core.shape.SpatialRelation.WITHIN;
-
-import org.apache.lucene.util.LuceneTestCase;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.*;
-
-/**
- * A base test class with utility methods to help test shapes.
- * Extends from RandomizedTest.
- */
-public abstract class RandomizedShapeTestCase extends LuceneTestCase {
-
-  protected static final double EPS = 10e-9;
-
-  protected SpatialContext ctx;//needs to be set ASAP
-
-  /** Used to reduce the space of numbers to increase the likelihood that
-   * random numbers become equivalent, and thus trigger different code paths.
-   * Also makes some random shapes easier to manually examine.
-   */
-  protected final double DIVISIBLE = 2;// even coordinates; (not always used)
-
-  protected RandomizedShapeTestCase() {
-  }
-
-  public RandomizedShapeTestCase(SpatialContext ctx) {
-    this.ctx = ctx;
-  }
-
-  @SuppressWarnings("unchecked")
-  public static void checkShapesImplementEquals( Class<?>[] classes ) {
-    for( Class<?> clazz : classes ) {
-      try {
-        clazz.getDeclaredMethod( "equals", Object.class );
-      } catch (Exception e) {
-        fail("Shape needs to define 'equals' : " + clazz.getName());
-      }
-      try {
-        clazz.getDeclaredMethod( "hashCode" );
-      } catch (Exception e) {
-        fail("Shape needs to define 'hashCode' : " + clazz.getName());
-      }
-    }
-  }
-
-  //These few norm methods normalize the arguments for creating a shape to
-  // account for the dateline. Some tests loop past the dateline or have offsets
-  // that go past it and it's easier to have them coded that way and correct for
-  // it here.  These norm methods should be used when needed, not frivolously.
-
-  protected double normX(double x) {
-    return ctx.isGeo() ? DistanceUtils.normLonDEG(x) : x;
-  }
-
-  protected double normY(double y) {
-    return ctx.isGeo() ? DistanceUtils.normLatDEG(y) : y;
-  }
-
-  protected Rectangle makeNormRect(double minX, double maxX, double minY, double maxY) {
-    if (ctx.isGeo()) {
-      if (Math.abs(maxX - minX) >= 360) {
-        minX = -180;
-        maxX = 180;
-      } else {
-        minX = DistanceUtils.normLonDEG(minX);
-        maxX = DistanceUtils.normLonDEG(maxX);
-      }
-
-    } else {
-      if (maxX < minX) {
-        double t = minX;
-        minX = maxX;
-        maxX = t;
-      }
-      minX = boundX(minX, ctx.getWorldBounds());
-      maxX = boundX(maxX, ctx.getWorldBounds());
-    }
-    if (maxY < minY) {
-      double t = minY;
-      minY = maxY;
-      maxY = t;
-    }
-    minY = boundY(minY, ctx.getWorldBounds());
-    maxY = boundY(maxY, ctx.getWorldBounds());
-    return ctx.makeRectangle(minX, maxX, minY, maxY);
-  }
-
-  public static double divisible(double v, double divisible) {
-    return (int) (Math.round(v / divisible) * divisible);
-  }
-
-  protected double divisible(double v) {
-    return divisible(v, DIVISIBLE);
-  }
-
-  /** reset()'s p, and confines to world bounds. Might not be divisible if
-   * the world bound isn't divisible too.
-   */
-  protected Point divisible(Point p) {
-    Rectangle bounds = ctx.getWorldBounds();
-    double newX = boundX( divisible(p.getX()), bounds );
-    double newY = boundY( divisible(p.getY()), bounds );
-    p.reset(newX, newY);
-    return p;
-  }
-
-  static double boundX(double i, Rectangle bounds) {
-    return bound(i, bounds.getMinX(), bounds.getMaxX());
-  }
-
-  static double boundY(double i, Rectangle bounds) {
-    return bound(i, bounds.getMinY(), bounds.getMaxY());
-  }
-
-  static double bound(double i, double min, double max) {
-    if (i < min) return min;
-    if (i > max) return max;
-    return i;
-  }
-
-  protected void assertRelation(SpatialRelation expected, Shape a, Shape b) {
-    assertRelation(null, expected, a, b);
-  }
-
-  protected void assertRelation(String msg, SpatialRelation expected, Shape a, Shape b) {
-    _assertIntersect(msg, expected, a, b);
-    //check flipped a & b w/ transpose(), while we're at it
-    _assertIntersect(msg, expected.transpose(), b, a);
-  }
-
-  private void _assertIntersect(String msg, SpatialRelation expected, Shape a, Shape b) {
-    SpatialRelation sect = a.relate(b);
-    if (sect == expected)
-      return;
-    msg = ((msg == null) ? "" : msg+"\r") + a +" intersect "+b;
-    if (expected == WITHIN || expected == CONTAINS) {
-      if (a.getClass().equals(b.getClass())) // they are the same shape type
-        assertEquals(msg,a,b);
-      else {
-        //they are effectively points or lines that are the same location
-        assertTrue(msg,!a.hasArea());
-        assertTrue(msg,!b.hasArea());
-
-        Rectangle aBBox = a.getBoundingBox();
-        Rectangle bBBox = b.getBoundingBox();
-        if (aBBox.getHeight() == 0 && bBBox.getHeight() == 0
-            && (aBBox.getMaxY() == 90 && bBBox.getMaxY() == 90
-            || aBBox.getMinY() == -90 && bBBox.getMinY() == -90))
-          ;//== a point at the pole
-        else
-          assertEquals(msg, aBBox, bBBox);
-      }
-    } else {
-      assertEquals(msg,expected,sect);//always fails
-    }
-  }
-
-  protected void assertEqualsRatio(String msg, double expected, double actual) {
-    double delta = Math.abs(actual - expected);
-    double base = Math.min(actual, expected);
-    double deltaRatio = base==0 ? delta : Math.min(delta,delta / base);
-    assertEquals(msg,0,deltaRatio, EPS);
-  }
-
-  protected int randomIntBetweenDivisible(int start, int end) {
-    return randomIntBetweenDivisible(start, end, (int)DIVISIBLE);
-  }
-  /** Returns a random integer between [start, end]. Integers between must be divisible by the 3rd argument. */
-  protected int randomIntBetweenDivisible(int start, int end, int divisible) {
-    // DWS: I tested this
-    int divisStart = (int) Math.ceil( (start+1) / (double)divisible );
-    int divisEnd = (int) Math.floor( (end-1) / (double)divisible );
-    int divisRange = Math.max(0,divisEnd - divisStart + 1);
-    int r = randomInt(1 + divisRange);//remember that '0' is counted
-    if (r == 0)
-      return start;
-    if (r == 1)
-      return end;
-    return (r-2 + divisStart)*divisible;
-  }
-
-  protected Rectangle randomRectangle(Point nearP) {
-    Rectangle bounds = ctx.getWorldBounds();
-    if (nearP == null)
-      nearP = randomPointIn(bounds);
-
-    Range xRange = randomRange(rarely() ? 0 : nearP.getX(), Range.xRange(bounds, ctx));
-    Range yRange = randomRange(rarely() ? 0 : nearP.getY(), Range.yRange(bounds, ctx));
-
-    return makeNormRect(
-        divisible(xRange.getMin()),
-        divisible(xRange.getMax()),
-        divisible(yRange.getMin()),
-        divisible(yRange.getMax()) );
-  }
-
-  private Range randomRange(double near, Range bounds) {
-    double mid = near + randomGaussian() * bounds.getWidth() / 6;
-    double width = Math.abs(randomGaussian()) * bounds.getWidth() / 6;//1/3rd
-    return new Range(mid - width / 2, mid + width / 2);
-  }
-
-  private double randomGaussianZeroTo(double max) {
-    if (max == 0)
-      return max;
-    assert max > 0;
-    double r;
-    do {
-      r = Math.abs(randomGaussian()) * (max * 0.50);
-    } while (r > max);
-    return r;
-  }
-
-  protected Rectangle randomRectangle(int divisible) {
-    double rX = randomIntBetweenDivisible(-180, 180, divisible);
-    double rW = randomIntBetweenDivisible(0, 360, divisible);
-    double rY1 = randomIntBetweenDivisible(-90, 90, divisible);
-    double rY2 = randomIntBetweenDivisible(-90, 90, divisible);
-    double rYmin = Math.min(rY1,rY2);
-    double rYmax = Math.max(rY1,rY2);
-    if (rW > 0 && rX == 180)
-      rX = -180;
-    return makeNormRect(rX, rX + rW, rYmin, rYmax);
-  }
-
-  protected Point randomPoint() {
-    return randomPointIn(ctx.getWorldBounds());
-  }
-
-  protected Point randomPointIn(Circle c) {
-    double d = c.getRadius() * randomDouble();
-    double angleDEG = 360 * randomDouble();
-    Point p = ctx.getDistCalc().pointOnBearing(c.getCenter(), d, angleDEG, ctx, null);
-    assertEquals(CONTAINS,c.relate(p));
-    return p;
-  }
-
-  protected Point randomPointIn(Rectangle r) {
-    double x = r.getMinX() + randomDouble()*r.getWidth();
-    double y = r.getMinY() + randomDouble()*r.getHeight();
-    x = normX(x);
-    y = normY(y);
-    Point p = ctx.makePoint(x,y);
-    assertEquals(CONTAINS,r.relate(p));
-    return p;
-  }
-
-  protected Point randomPointInOrNull(Shape shape) {
-    if (!shape.hasArea())// or try the center?
-      throw new UnsupportedOperationException("Need area to define shape!");
-    Rectangle bbox = shape.getBoundingBox();
-    for (int i = 0; i < 1000; i++) {
-      Point p = randomPointIn(bbox);
-      if (shape.relate(p).intersects()) {
-        return p;
-      }
-    }
-    return null;//tried too many times and failed
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
deleted file mode 100644
index e652581..0000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/geo3d/GeoPointTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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.lucene.spatial.spatial4j.geo3d;
-
-import org.apache.lucene.geo3d.GeoPoint;
-import org.apache.lucene.geo3d.PlanetModel;
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Test;
-
-import com.spatial4j.core.distance.DistanceUtils;
-
-import static com.carrotsearch.randomizedtesting.RandomizedTest.randomFloat;
-
-/**
- * Test basic GeoPoint functionality.
- */
-public class GeoPointTest extends LuceneTestCase {
-
-  @Test
-  public void testConversion() {
-    testPointRoundTrip(PlanetModel.SPHERE, 90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
-    testPointRoundTrip(PlanetModel.SPHERE, -90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
-    testPointRoundTrip(PlanetModel.WGS84, 90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
-    testPointRoundTrip(PlanetModel.WGS84, -90 * DistanceUtils.DEGREES_TO_RADIANS, 0, 1e-6);
-
-    final int times = atLeast(100);
-    for (int i = 0; i < times; i++) {
-      final double pLat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
-      final double pLon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
-      testPointRoundTrip(PlanetModel.SPHERE, pLat, pLon, 1e-6);//1e-6 since there's a square root in there (Karl says)
-      testPointRoundTrip(PlanetModel.WGS84, pLat, pLon, 1e-6);
-    }
-  }
-
-  protected void testPointRoundTrip(PlanetModel planetModel, double pLat, double pLon, double epsilon) {
-    final GeoPoint p1 = new GeoPoint(planetModel, pLat, pLon);
-    // In order to force the reverse conversion, we have to construct a geopoint from just x,y,z
-    final GeoPoint p2 = new GeoPoint(p1.x, p1.y, p1.z);
-    // Now, construct the final point based on getLatitude() and getLongitude()
-    final GeoPoint p3 = new GeoPoint(planetModel, p2.getLatitude(), p2.getLongitude());
-    double dist = p1.arcDistance(p3);
-    assertEquals(0, dist, epsilon);
-  }
-
-  @Test
-  public void testSurfaceDistance() {
-    final int times = atLeast(100);
-    for (int i = 0; i < times; i++) {
-      final double p1Lat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
-      final double p1Lon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
-      final double p2Lat = (randomFloat() * 180.0 - 90.0) * DistanceUtils.DEGREES_TO_RADIANS;
-      final double p2Lon = (randomFloat() * 360.0 - 180.0) * DistanceUtils.DEGREES_TO_RADIANS;
-      final GeoPoint p1 = new GeoPoint(PlanetModel.SPHERE, p1Lat, p1Lon);
-      final GeoPoint p2 = new GeoPoint(PlanetModel.SPHERE, p2Lat, p2Lon);
-      final double arcDistance = p1.arcDistance(p2);
-      // Compute ellipsoid distance; it should agree for a sphere
-      final double surfaceDistance = PlanetModel.SPHERE.surfaceDistance(p1,p2);
-      assertEquals(arcDistance, surfaceDistance, 1e-6);
-    }
-  }
-
-  @Test(expected = IllegalArgumentException.class)
-  public void testBadLatLon() {
-    new GeoPoint(PlanetModel.SPHERE, 50.0, 32.2);
-  }
-}
-
-


[81/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
new file mode 100644
index 0000000..fa4e987
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/GeohashPrefixTree.java
@@ -0,0 +1,162 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.io.GeohashUtils;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * A {@link SpatialPrefixTree} based on
+ * <a href="http://en.wikipedia.org/wiki/Geohash">Geohashes</a>.
+ * Uses {@link GeohashUtils} to do all the geohash work.
+ *
+ * @lucene.experimental
+ */
+public class GeohashPrefixTree extends LegacyPrefixTree {
+
+  /**
+   * Factory for creating {@link GeohashPrefixTree} instances with useful defaults
+   */
+  public static class Factory extends SpatialPrefixTreeFactory {
+
+    @Override
+    protected int getLevelForDistance(double degrees) {
+      GeohashPrefixTree grid = new GeohashPrefixTree(ctx, GeohashPrefixTree.getMaxLevelsPossible());
+      return grid.getLevelForDistance(degrees);
+    }
+
+    @Override
+    protected SpatialPrefixTree newSPT() {
+      return new GeohashPrefixTree(ctx,
+          maxLevels != null ? maxLevels : GeohashPrefixTree.getMaxLevelsPossible());
+    }
+  }
+
+  public GeohashPrefixTree(SpatialContext ctx, int maxLevels) {
+    super(ctx, maxLevels);
+    Rectangle bounds = ctx.getWorldBounds();
+    if (bounds.getMinX() != -180)
+      throw new IllegalArgumentException("Geohash only supports lat-lon world bounds. Got "+bounds);
+    int MAXP = getMaxLevelsPossible();
+    if (maxLevels <= 0 || maxLevels > MAXP)
+      throw new IllegalArgumentException("maxLevels must be [1-"+MAXP+"] but got "+ maxLevels);
+  }
+
+  /** Any more than this and there's no point (double lat and lon are the same). */
+  public static int getMaxLevelsPossible() {
+    return GeohashUtils.MAX_PRECISION;
+  }
+
+  @Override
+  public Cell getWorldCell() {
+    return new GhCell(BytesRef.EMPTY_BYTES, 0, 0);
+  }
+
+  @Override
+  public int getLevelForDistance(double dist) {
+    if (dist == 0)
+      return maxLevels;//short circuit
+    final int level = GeohashUtils.lookupHashLenForWidthHeight(dist, dist);
+    return Math.max(Math.min(level, maxLevels), 1);
+  }
+
+  @Override
+  protected Cell getCell(Point p, int level) {
+    return new GhCell(GeohashUtils.encodeLatLon(p.getY(), p.getX(), level));//args are lat,lon (y,x)
+  }
+
+  private static byte[] stringToBytesPlus1(String token) {
+    //copy ASCII token to byte array with one extra spot for eventual LEAF_BYTE if needed
+    byte[] bytes = new byte[token.length() + 1];
+    for (int i = 0; i < token.length(); i++) {
+      bytes[i] = (byte) token.charAt(i);
+    }
+    return bytes;
+  }
+
+  private class GhCell extends LegacyCell {
+
+    private String geohash;//cache; never has leaf byte, simply a geohash
+
+    GhCell(String geohash) {
+      super(stringToBytesPlus1(geohash), 0, geohash.length());
+      this.geohash = geohash;
+      if (isLeaf() && getLevel() < getMaxLevels())//we don't have a leaf byte at max levels (an opt)
+        this.geohash = geohash.substring(0, geohash.length() - 1);
+    }
+
+    GhCell(byte[] bytes, int off, int len) {
+      super(bytes, off, len);
+    }
+
+    @Override
+    protected GeohashPrefixTree getGrid() { return GeohashPrefixTree.this; }
+
+    @Override
+    protected int getMaxLevels() { return maxLevels; }
+
+    @Override
+    protected void readCell(BytesRef bytesRef) {
+      super.readCell(bytesRef);
+      geohash = null;
+    }
+
+    @Override
+    public Collection<Cell> getSubCells() {
+      String[] hashes = GeohashUtils.getSubGeohashes(getGeohash());//sorted
+      List<Cell> cells = new ArrayList<>(hashes.length);
+      for (String hash : hashes) {
+        cells.add(new GhCell(hash));
+      }
+      return cells;
+    }
+
+    @Override
+    public int getSubCellsSize() {
+      return 32;//8x4
+    }
+
+    @Override
+    protected GhCell getSubCell(Point p) {
+      return (GhCell) getGrid().getCell(p, getLevel() + 1);//not performant!
+    }
+
+    @Override
+    public Shape getShape() {
+      if (shape == null) {
+        shape = GeohashUtils.decodeBoundary(getGeohash(), getGrid().getSpatialContext());
+      }
+      return shape;
+    }
+
+    private String getGeohash() {
+      if (geohash == null)
+        geohash = getTokenBytesNoLeaf(null).utf8ToString();
+      return geohash;
+    }
+
+  }//class GhCell
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
new file mode 100644
index 0000000..27c56a7
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyCell.java
@@ -0,0 +1,242 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.util.Collection;
+
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.StringHelper;
+
+/** The base for the original two SPT's: Geohash and Quad. Don't subclass this for new SPTs.
+ * @lucene.internal */
+//public for RPT pruneLeafyBranches code
+public abstract class LegacyCell implements Cell {
+
+  // Important: A LegacyCell doesn't share state for getNextLevelCells(), and
+  //  LegacySpatialPrefixTree assumes this in its simplify tree logic.
+
+  private static final byte LEAF_BYTE = '+';//NOTE: must sort before letters & numbers
+
+  //Arguably we could simply use a BytesRef, using an extra Object.
+  protected byte[] bytes;//generally bigger to potentially hold a leaf
+  protected int b_off;
+  protected int b_len;//doesn't reflect leaf; same as getLevel()
+
+  protected boolean isLeaf;
+
+  /**
+   * When set via getSubCells(filter), it is the relationship between this cell
+   * and the given shape filter. Doesn't participate in shape equality.
+   */
+  protected SpatialRelation shapeRel;
+
+  protected Shape shape;//cached
+
+  /** Warning: Refers to the same bytes (no copy). If {@link #setLeaf()} is subsequently called then it
+   * may modify bytes. */
+  protected LegacyCell(byte[] bytes, int off, int len) {
+    this.bytes = bytes;
+    this.b_off = off;
+    this.b_len = len;
+    readLeafAdjust();
+  }
+
+  protected void readCell(BytesRef bytes) {
+    shapeRel = null;
+    shape = null;
+    this.bytes = bytes.bytes;
+    this.b_off = bytes.offset;
+    this.b_len = (short) bytes.length;
+    readLeafAdjust();
+  }
+
+  protected void readLeafAdjust() {
+    isLeaf = (b_len > 0 && bytes[b_off + b_len - 1] == LEAF_BYTE);
+    if (isLeaf)
+      b_len--;
+    if (getLevel() == getMaxLevels())
+      isLeaf = true;
+  }
+
+  protected abstract SpatialPrefixTree getGrid();
+
+  protected abstract int getMaxLevels();
+
+  @Override
+  public SpatialRelation getShapeRel() {
+    return shapeRel;
+  }
+
+  @Override
+  public void setShapeRel(SpatialRelation rel) {
+    this.shapeRel = rel;
+  }
+
+  @Override
+  public boolean isLeaf() {
+    return isLeaf;
+  }
+
+  @Override
+  public void setLeaf() {
+    isLeaf = true;
+  }
+
+  @Override
+  public BytesRef getTokenBytesWithLeaf(BytesRef result) {
+    result = getTokenBytesNoLeaf(result);
+    if (!isLeaf || getLevel() == getMaxLevels())
+      return result;
+    if (result.bytes.length < result.offset + result.length + 1) {
+      assert false : "Not supposed to happen; performance bug";
+      byte[] copy = new byte[result.length + 1];
+      System.arraycopy(result.bytes, result.offset, copy, 0, result.length - 1);
+      result.bytes = copy;
+      result.offset = 0;
+    }
+    result.bytes[result.offset + result.length++] = LEAF_BYTE;
+    return result;
+  }
+
+  @Override
+  public BytesRef getTokenBytesNoLeaf(BytesRef result) {
+    if (result == null)
+      return new BytesRef(bytes, b_off, b_len);
+    result.bytes = bytes;
+    result.offset = b_off;
+    result.length = b_len;
+    return result;
+  }
+
+  @Override
+  public int getLevel() {
+    return b_len;
+  }
+
+  @Override
+  public CellIterator getNextLevelCells(Shape shapeFilter) {
+    assert getLevel() < getGrid().getMaxLevels();
+    if (shapeFilter instanceof Point) {
+      LegacyCell cell = getSubCell((Point) shapeFilter);
+      cell.shapeRel = SpatialRelation.CONTAINS;
+      return new SingletonCellIterator(cell);
+    } else {
+      return new FilterCellIterator(getSubCells().iterator(), shapeFilter);
+    }
+  }
+
+  /**
+   * Performant implementations are expected to implement this efficiently by
+   * considering the current cell's boundary.
+   * <p>
+   * Precondition: Never called when getLevel() == maxLevel.
+   * Precondition: this.getShape().relate(p) != DISJOINT.
+   */
+  protected abstract LegacyCell getSubCell(Point p);
+
+  /**
+   * Gets the cells at the next grid cell level that covers this cell.
+   * Precondition: Never called when getLevel() == maxLevel.
+   *
+   * @return A set of cells (no dups), sorted, modifiable, not empty, not null.
+   */
+  protected abstract Collection<Cell> getSubCells();
+
+  /**
+   * {@link #getSubCells()}.size() -- usually a constant. Should be &gt;=2
+   */
+  public abstract int getSubCellsSize();
+
+  @Override
+  public boolean isPrefixOf(Cell c) {
+    //Note: this only works when each level uses a whole number of bytes.
+    LegacyCell cell = (LegacyCell)c;
+    boolean result = sliceEquals(cell.bytes, cell.b_off, cell.b_len, bytes, b_off, b_len);
+    assert result == StringHelper.startsWith(c.getTokenBytesNoLeaf(null), getTokenBytesNoLeaf(null));
+    return result;
+  }
+
+  /** Copied from {@link org.apache.lucene.util.StringHelper#startsWith(BytesRef, BytesRef)}
+   *  which calls this. This is to avoid creating a BytesRef.  */
+  private static boolean sliceEquals(byte[] sliceToTest_bytes, int sliceToTest_offset, int sliceToTest_length,
+                                     byte[] other_bytes, int other_offset, int other_length) {
+    if (sliceToTest_length < other_length) {
+      return false;
+    }
+    int i = sliceToTest_offset;
+    int j = other_offset;
+    final int k = other_offset + other_length;
+
+    while (j < k) {
+      if (sliceToTest_bytes[i++] != other_bytes[j++]) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  @Override
+  public int compareToNoLeaf(Cell fromCell) {
+    LegacyCell b = (LegacyCell) fromCell;
+    return compare(bytes, b_off, b_len, b.bytes, b.b_off, b.b_len);
+  }
+
+  /** Copied from {@link BytesRef#compareTo(BytesRef)}.
+   * This is to avoid creating a BytesRef. */
+  protected static int compare(byte[] aBytes, int aUpto, int a_length, byte[] bBytes, int bUpto, int b_length) {
+    final int aStop = aUpto + Math.min(a_length, b_length);
+    while(aUpto < aStop) {
+      int aByte = aBytes[aUpto++] & 0xff;
+      int bByte = bBytes[bUpto++] & 0xff;
+
+      int diff = aByte - bByte;
+      if (diff != 0) {
+        return diff;
+      }
+    }
+
+    // One is a prefix of the other, or, they are equal:
+    return a_length - b_length;
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    //this method isn't "normally" called; just in asserts/tests
+    if (obj instanceof Cell) {
+      Cell cell = (Cell) obj;
+      return getTokenBytesWithLeaf(null).equals(cell.getTokenBytesWithLeaf(null));
+    } else {
+      return false;
+    }
+  }
+
+  @Override
+  public int hashCode() {
+    return getTokenBytesWithLeaf(null).hashCode();
+  }
+
+  @Override
+  public String toString() {
+    //this method isn't "normally" called; just in asserts/tests
+    return getTokenBytesWithLeaf(null).utf8ToString();
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
new file mode 100644
index 0000000..672c2fe
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
@@ -0,0 +1,84 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.util.Arrays;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.util.BytesRef;
+
+/** The base for the original two SPT's: Geohash and Quad. Don't subclass this for new SPTs.
+ * @lucene.internal */
+abstract class LegacyPrefixTree extends SpatialPrefixTree {
+  public LegacyPrefixTree(SpatialContext ctx, int maxLevels) {
+    super(ctx, maxLevels);
+  }
+
+  public double getDistanceForLevel(int level) {
+    if (level < 1 || level > getMaxLevels())
+      throw new IllegalArgumentException("Level must be in 1 to maxLevels range");
+    //TODO cache for each level
+    Cell cell = getCell(ctx.getWorldBounds().getCenter(), level);
+    Rectangle bbox = cell.getShape().getBoundingBox();
+    double width = bbox.getWidth();
+    double height = bbox.getHeight();
+    //Use standard cartesian hypotenuse. For geospatial, this answer is larger
+    // than the correct one but it's okay to over-estimate.
+    return Math.sqrt(width * width + height * height);
+  }
+
+  /**
+   * Returns the cell containing point {@code p} at the specified {@code level}.
+   */
+  protected abstract Cell getCell(Point p, int level);
+
+  @Override
+  public Cell readCell(BytesRef term, Cell scratch) {
+    LegacyCell cell = (LegacyCell) scratch;
+    if (cell == null)
+      cell = (LegacyCell) getWorldCell();
+    cell.readCell(term);
+    return cell;
+  }
+
+  @Override
+  public CellIterator getTreeCellIterator(Shape shape, int detailLevel) {
+    if (!(shape instanceof Point))
+      return super.getTreeCellIterator(shape, detailLevel);
+
+    //This specialization is here because the legacy implementations don't have a fast implementation of
+    // cell.getSubCells(point). It's fastest here to encode the full bytes for detailLevel, and create
+    // subcells from the bytesRef in a loop. This avoids an O(N^2) encode, and we have O(N) instead.
+
+    Cell cell = getCell((Point) shape, detailLevel);
+    assert cell instanceof LegacyCell;
+    BytesRef fullBytes = cell.getTokenBytesNoLeaf(null);
+    //fill in reverse order to be sorted
+    Cell[] cells = new Cell[detailLevel];
+    for (int i = 1; i < detailLevel; i++) {
+      fullBytes.length = i;
+      Cell parentCell = readCell(fullBytes, null);
+      cells[i-1] = parentCell;
+    }
+    cells[detailLevel-1] = cell;
+    return new FilterCellIterator(Arrays.asList(cells).iterator(), null);//null filter
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
new file mode 100644
index 0000000..40e80bc
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
@@ -0,0 +1,989 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.text.ParseException;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.context.SpatialContextFactory;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import com.spatial4j.core.shape.impl.RectangleImpl;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.StringHelper;
+
+/**
+ * A SpatialPrefixTree for single-dimensional numbers and number ranges of fixed precision values (not floating point).
+ * Despite its name, the indexed values (and queries) need not actually be ranges, they can be unit instance/values.
+ * <p>
+ * Why might you use this instead of Lucene's built-in integer/long support?  Here are some reasons with features based
+ * on code in this class, <em>or are possible based on this class but require a subclass to fully realize it</em>.
+ * <ul>
+ *   <li>Index ranges, not just unit instances. This is especially useful when the requirement calls for a
+ *   multi-valued range.</li>
+ *   <li>Instead of a fixed "precisionStep", this prefixTree can have a customizable number of child values for any
+ *   prefix (up to 32768). This allows exact alignment of the prefix-tree with typical/expected values, which
+ *   results in better performance.  For example in a Date implementation, every month can get its own dedicated prefix,
+ *   every day, etc., even though months vary in duration.</li>
+ *   <li>Arbitrary precision, like {@link java.math.BigDecimal}.</li>
+ *   <li>Standard Lucene integer/long indexing always indexes the full precision of those data types but this one
+ *   is customizable.</li>
+ * </ul>
+ *
+ * Unlike "normal" spatial components in this module, this special-purpose one only works with {@link Shape}s
+ * created by the methods on this class, not from any {@link com.spatial4j.core.context.SpatialContext}.
+ *
+ * @see org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy
+ * @see <a href="https://issues.apache.org/jira/browse/LUCENE-5648">LUCENE-5648</a>
+ * @lucene.experimental
+ */
+public abstract class NumberRangePrefixTree extends SpatialPrefixTree {
+
+  //
+  //    Dummy SpatialContext
+  //
+
+  private static final SpatialContext DUMMY_CTX;
+  static {
+    SpatialContextFactory factory = new SpatialContextFactory();
+    factory.geo = false;
+    factory.worldBounds = new RectangleImpl(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY, 0L, 0L, null);
+    DUMMY_CTX = factory.newSpatialContext();
+  }
+
+  /** Base interface for {@link Shape}s this prefix tree supports. It extends {@link Shape} (Spatial4j) for compatibility
+   * with the spatial API even though it doesn't intermix with conventional 2D shapes.
+   * @lucene.experimental
+   */
+  public static interface NRShape extends Shape, Cloneable {
+    /** The result should be parseable by {@link #parseShape(String)}. */
+    abstract String toString();
+
+    /** Returns this shape rounded to the target level. If we are already more course than the level then the shape is
+     * simply returned.  The result may refer to internal state of the argument so you may want to clone it.
+     */
+    public NRShape roundToLevel(int targetLevel);
+  }
+
+  //
+  //  Factory / Conversions / parsing relating to NRShapes
+  //
+
+  /** Converts the value to a unit shape. Doesn't parse strings; see {@link #parseShape(String)} for
+   * that. This is the reverse of {@link #toObject(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
+  public abstract UnitNRShape toUnitShape(Object value);
+
+  /** Returns a shape that represents the continuous range between {@code start} and {@code end}. It will
+   * be normalized, and so sometimes a {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape}
+   * will be returned, other times a
+   * {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.SpanUnitsNRShape} will be.
+   *
+   * @throws IllegalArgumentException if the arguments are in the wrong order, or if either contains the other (yet they
+   * aren't equal).
+   */
+  public NRShape toRangeShape(UnitNRShape startUnit, UnitNRShape endUnit) {
+    //note: this normalization/optimization process is actually REQUIRED based on assumptions elsewhere.
+    //Normalize start & end
+    startUnit = startUnit.getShapeAtLevel(truncateStartVals(startUnit, 0)); // chops off trailing min-vals (zeroes)
+    endUnit = endUnit.getShapeAtLevel(truncateEndVals(endUnit, 0)); // chops off trailing max-vals
+    //Optimize to just start or end if it's equivalent, e.g. April to April 1st is April 1st.
+    int cmp = comparePrefix(startUnit, endUnit);
+    if (cmp > 0) {
+      throw new IllegalArgumentException("Wrong order: "+ startUnit +" TO "+ endUnit);
+    }
+    if (cmp == 0) {//one is a prefix of the other
+      if (startUnit.getLevel() == endUnit.getLevel()) {
+        //same
+        return startUnit;
+      } else if (endUnit.getLevel() > startUnit.getLevel()) {
+        // e.g. April to April 1st
+        if (truncateStartVals(endUnit, startUnit.getLevel()) == startUnit.getLevel()) {
+          return endUnit;
+        }
+      } else {//minLV level > maxLV level
+        // e.g. April 30 to April
+        if (truncateEndVals(startUnit, endUnit.getLevel()) == endUnit.getLevel()) {
+          return startUnit;
+        }
+      }
+    }
+    return new SpanUnitsNRShape(startUnit, endUnit);
+  }
+
+  /** From lv.getLevel on up, it returns the first Level seen with val != 0. It doesn't check past endLevel. */
+  private int truncateStartVals(UnitNRShape lv, int endLevel) {
+    for (int level = lv.getLevel(); level > endLevel; level--) {
+      if (lv.getValAtLevel(level) != 0)
+        return level;
+    }
+    return endLevel;
+  }
+
+  private int truncateEndVals(UnitNRShape lv, int endLevel) {
+    for (int level = lv.getLevel(); level > endLevel; level--) {
+      int max = getNumSubCells(lv.getShapeAtLevel(level - 1)) - 1;
+      if (lv.getValAtLevel(level) != max)
+        return level;
+    }
+    return endLevel;
+  }
+
+  /** Converts a UnitNRShape shape to the corresponding type supported by this class, such as a Calendar/BigDecimal.
+   * This is the reverse of {@link #toUnitShape(Object)}.
+   */
+  public abstract Object toObject(UnitNRShape shape);
+
+  /** A string representation of the UnitNRShape that is parse-able by {@link #parseUnitShape(String)}. */
+  protected abstract String toString(UnitNRShape lv);
+
+  protected static String toStringUnitRaw(UnitNRShape lv) {
+    StringBuilder buf = new StringBuilder(100);
+    buf.append('[');
+    for (int level = 1; level <= lv.getLevel(); level++) {
+      buf.append(lv.getValAtLevel(level)).append(',');
+    }
+    buf.setLength(buf.length()-1);//chop off ','
+    buf.append(']');
+    return buf.toString();
+  }
+
+  /** Detects a range pattern and parses it, otherwise it's parsed as one shape via
+   * {@link #parseUnitShape(String)}.  The range pattern looks like this BNF:
+   * <pre>
+   *   '[' + parseShapeLV + ' TO ' + parseShapeLV + ']'
+   * </pre>
+   * It's the same thing as the toString() of the range shape, notwithstanding range optimization.
+   *
+   * @param str not null or empty
+   * @return not null
+   * @throws java.text.ParseException If there is a problem
+   */
+  public NRShape parseShape(String str) throws ParseException {
+    if (str == null || str.isEmpty())
+      throw new IllegalArgumentException("str is null or blank");
+    if (str.charAt(0) == '[') {
+      if (str.charAt(str.length()-1) != ']')
+        throw new ParseException("If starts with [ must end with ]; got "+str, str.length()-1);
+      int middle = str.indexOf(" TO ");
+      if (middle < 0)
+        throw new ParseException("If starts with [ must contain ' TO '; got "+str, -1);
+      String leftStr = str.substring(1, middle);
+      String rightStr = str.substring(middle + " TO ".length(), str.length()-1);
+      return toRangeShape(parseUnitShape(leftStr), parseUnitShape(rightStr));
+    } else if (str.charAt(0) == '{') {
+      throw new ParseException("Exclusive ranges not supported; got "+str, 0);
+    } else {
+      return parseUnitShape(str);
+    }
+  }
+
+  /** Parse a String to a UnitNRShape. "*" should be the full-range (level 0 shape). */
+  protected abstract UnitNRShape parseUnitShape(String str) throws ParseException;
+
+
+  //
+  //    UnitNRShape
+  //
+
+  /**
+   * A unit value Shape implemented as a stack of numbers, one for each level in the prefix tree. It directly
+   * corresponds to a {@link Cell}.  Spatially speaking, it's analogous to a Point but 1D and has some precision width.
+   * @lucene.experimental
+   */
+  public static interface UnitNRShape extends NRShape, Comparable<UnitNRShape> {
+    //note: formerly known as LevelledValue; thus some variables still use 'lv'
+
+    /** Get the prefix tree level, the higher the more precise. 0 means the world (universe). */
+    int getLevel();
+    /** Gets the value at the specified level of this unit. level must be &gt;= 0 and &lt;= getLevel(). */
+    int getValAtLevel(int level);
+    /** Gets an ancestor at the specified level. It shares state, so you may want to clone() it. */
+    UnitNRShape getShapeAtLevel(int level);
+    @Override
+    UnitNRShape roundToLevel(int targetLevel);
+
+    /** Deep clone */
+    UnitNRShape clone();
+  }
+
+  /** Compares a to b, returning less than 0, 0, or greater than 0, if a is less than, equal to, or
+   * greater than b, respectively, up to their common prefix (i.e. only min(a.levels,b.levels) are compared).
+   * @lucene.internal */
+  protected static int comparePrefix(UnitNRShape a, UnitNRShape b) {
+    int minLevel = Math.min(a.getLevel(), b.getLevel());
+    for (int level = 1; level <= minLevel; level++) {
+      int diff = a.getValAtLevel(level) - b.getValAtLevel(level);
+      if (diff != 0)
+        return diff;
+    }
+    return 0;
+  }
+
+
+  //
+  //    SpanUnitsNRShape
+  //
+
+  /** A range Shape; based on a pair of {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape}.
+   * Spatially speaking, it's analogous to a Rectangle but 1D. It might have been named with Range in the name but it
+   * may be confusing since even the {@link org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape}
+   * is in some sense a range.
+   * @lucene.experimental */
+  public class SpanUnitsNRShape implements NRShape {
+
+    private final UnitNRShape minLV, maxLV;
+    private final int lastLevelInCommon;//computed; not part of identity
+
+    /** Don't call directly; see
+     * {@link #toRangeShape(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape, org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.UnitNRShape)}. */
+    private SpanUnitsNRShape(UnitNRShape minLV, UnitNRShape maxLV) {
+      this.minLV = minLV;
+      this.maxLV = maxLV;
+
+      //calc lastLevelInCommon
+      int level = 1;
+      for (; level <= minLV.getLevel() && level <= maxLV.getLevel(); level++) {
+        if (minLV.getValAtLevel(level) != maxLV.getValAtLevel(level))
+          break;
+      }
+      lastLevelInCommon = level - 1;
+    }
+
+    @Override
+    public SpatialContext getContext() {
+      return DUMMY_CTX;
+    }
+
+    public UnitNRShape getMinUnit() { return minLV; }
+
+    public UnitNRShape getMaxUnit() { return maxLV; }
+
+    /** How many levels are in common between minUnit and maxUnit, not including level 0. */
+    private int getLevelsInCommon() { return lastLevelInCommon; }
+
+    @Override
+    public NRShape roundToLevel(int targetLevel) {
+      return toRangeShape(minLV.roundToLevel(targetLevel), maxLV.roundToLevel(targetLevel));
+    }
+
+    @Override
+    public SpatialRelation relate(Shape shape) {
+//      if (shape instanceof UnitNRShape)
+//        return relate((UnitNRShape)shape);
+      if (shape instanceof SpanUnitsNRShape)
+        return relate((SpanUnitsNRShape) shape);
+      return shape.relate(this).transpose();//probably a UnitNRShape
+    }
+
+    public SpatialRelation relate(SpanUnitsNRShape ext) {
+      //This logic somewhat mirrors RectangleImpl.relate_range()
+      int extMin_intMax = comparePrefix(ext.getMinUnit(), getMaxUnit());
+      if (extMin_intMax > 0)
+        return SpatialRelation.DISJOINT;
+      int extMax_intMin = comparePrefix(ext.getMaxUnit(), getMinUnit());
+      if (extMax_intMin < 0)
+        return SpatialRelation.DISJOINT;
+      int extMin_intMin = comparePrefix(ext.getMinUnit(), getMinUnit());
+      int extMax_intMax = comparePrefix(ext.getMaxUnit(), getMaxUnit());
+      if ((extMin_intMin > 0 || extMin_intMin == 0 && ext.getMinUnit().getLevel() >= getMinUnit().getLevel())
+          && (extMax_intMax < 0 || extMax_intMax == 0 && ext.getMaxUnit().getLevel() >= getMaxUnit().getLevel()))
+        return SpatialRelation.CONTAINS;
+      if ((extMin_intMin < 0 || extMin_intMin == 0 && ext.getMinUnit().getLevel() <= getMinUnit().getLevel())
+          && (extMax_intMax > 0 || extMax_intMax == 0 && ext.getMaxUnit().getLevel() <= getMaxUnit().getLevel()))
+        return SpatialRelation.WITHIN;
+      return SpatialRelation.INTERSECTS;
+    }
+
+    @Override
+    public Rectangle getBoundingBox() { throw new UnsupportedOperationException(); }
+
+    @Override
+    public boolean hasArea() { return true; }
+
+    @Override
+    public double getArea(SpatialContext spatialContext) { throw new UnsupportedOperationException(); }
+
+    @Override
+    public Point getCenter() { throw new UnsupportedOperationException(); }
+
+    @Override
+    public Shape getBuffered(double v, SpatialContext spatialContext) { throw new UnsupportedOperationException(); }
+
+    @Override
+    public boolean isEmpty() { return false; }
+
+    /** A deep clone. */
+    @Override
+    public SpanUnitsNRShape clone() {
+      return new SpanUnitsNRShape(minLV.clone(), maxLV.clone());
+    }
+
+    @Override
+    public String toString() {
+      return "[" + NumberRangePrefixTree.this.toString(minLV) + " TO "
+          + NumberRangePrefixTree.this.toString(maxLV) + "]";
+    }
+
+    @Override
+    public boolean equals(Object o) {
+      if (this == o) return true;
+      if (o == null || getClass() != o.getClass()) return false;
+
+      SpanUnitsNRShape spanShape = (SpanUnitsNRShape) o;
+
+      if (!maxLV.equals(spanShape.maxLV)) return false;
+      if (!minLV.equals(spanShape.minLV)) return false;
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int result = minLV.hashCode();
+      result = 31 * result + maxLV.hashCode();
+      return result;
+    }
+  }// class SpanUnitsNRShape
+
+  //
+  //    NumberRangePrefixTree
+  //
+
+  protected final int[] maxSubCellsByLevel;
+  protected final int[] termLenByLevel;
+  protected final int[] levelByTermLen;
+  protected final int maxTermLen; // how long could cell.getToken... (that is a leaf) possibly be?
+
+  protected NumberRangePrefixTree(int[] maxSubCellsByLevel) {
+    super(DUMMY_CTX, maxSubCellsByLevel.length);
+    this.maxSubCellsByLevel = maxSubCellsByLevel;
+
+    // Fill termLenByLevel
+    this.termLenByLevel = new int[maxLevels + 1];
+    termLenByLevel[0] = 0;
+    final int MAX_STATES = 1 << 15;//1 bit less than 2 bytes
+    for (int level = 1; level <= maxLevels; level++) {
+      final int states = maxSubCellsByLevel[level - 1];
+      if (states >= MAX_STATES || states <= 1) {
+        throw new IllegalArgumentException("Max states is "+MAX_STATES+", given "+states+" at level "+level);
+      }
+      boolean twoBytes = states >= 256;
+      termLenByLevel[level] = termLenByLevel[level-1] + (twoBytes ? 2 : 1);
+    }
+    maxTermLen = termLenByLevel[maxLevels] + 1;// + 1 for leaf byte
+
+    // Fill levelByTermLen
+    levelByTermLen = new int[maxTermLen];
+    levelByTermLen[0] = 0;
+    for (int level = 1; level < termLenByLevel.length; level++) {
+      int termLen = termLenByLevel[level];
+      int prevTermLen = termLenByLevel[level-1];
+      if (termLen - prevTermLen == 2) {//2 byte delta
+        //if the term doesn't completely cover this cell then it must be a leaf of the prior.
+        levelByTermLen[termLen-1] = -1;//won't be used; otherwise erroneous
+        levelByTermLen[termLen] = level;
+      } else {//1 byte delta
+        assert termLen - prevTermLen == 1;
+        levelByTermLen[termLen] = level;
+      }
+    }
+
+  }
+
+  @Override
+  public String toString() {
+    return getClass().getSimpleName();
+  }
+
+  @Override
+  public int getLevelForDistance(double dist) {
+    //note: it might be useful to compute which level has a raw width (counted in
+    // bottom units, e.g. milliseconds), that covers the provided dist in those units?
+    return maxLevels; // thus always use full precision. We don't do approximations in this tree/strategy.
+    //throw new UnsupportedOperationException("Not applicable.");
+  }
+
+  @Override
+  public double getDistanceForLevel(int level) {
+    //note: we could compute this... should we?
+    throw new UnsupportedOperationException("Not applicable.");
+  }
+
+  protected UnitNRShape toShape(int[] valStack, int len) {
+    final NRCell[] cellStack = newCellStack(len);
+    for (int i = 0; i < len; i++) {
+      cellStack[i+1].resetCellWithCellNum(valStack[i]);
+    }
+    return cellStack[len];
+  }
+
+  @Override
+  public Cell getWorldCell() {
+    return newCellStack(maxLevels)[0];
+  }
+
+  protected NRCell[] newCellStack(int levels) {
+    final NRCell[] cellsByLevel = new NRCell[levels + 1];
+    final BytesRef term = new BytesRef(maxTermLen);
+    for (int level = 0; level <= levels; level++) {
+      cellsByLevel[level] = new NRCell(cellsByLevel,term,level);
+    }
+    return cellsByLevel;
+  }
+
+  @Override
+  public Cell readCell(BytesRef term, Cell scratch) {
+    if (scratch == null)
+      scratch = getWorldCell();
+
+    //We decode level #, leaf boolean, and populate bytes by reference. We don't decode the stack.
+
+    //reverse lookup term length to the level and hence the cell
+    NRCell[] cellsByLevel = ((NRCell) scratch).cellsByLevel;
+    boolean isLeaf = term.bytes[term.offset + term.length - 1] == 0;
+    int lenNoLeaf = isLeaf ? term.length - 1 : term.length;
+
+    NRCell result = cellsByLevel[levelByTermLen[lenNoLeaf]];
+    if (cellsByLevel[0].termBuf == null)
+      cellsByLevel[0].termBuf = result.term.bytes;//a kluge; see cell.ensureOwnTermBytes()
+    result.term.bytes = term.bytes;
+    result.term.offset = term.offset;
+    result.term.length = lenNoLeaf;//technically this isn't used but may help debugging
+    result.reset();
+    if (isLeaf)
+      result.setLeaf();
+
+    result.cellNumber = -1;//lazy decode flag
+
+    return result;
+  }
+
+  /** Returns the number of sub-cells beneath the given UnitNRShape. */
+  public int getNumSubCells(UnitNRShape lv) {
+    return maxSubCellsByLevel[lv.getLevel()];
+  }
+
+  //
+  //    NRCell
+  //
+
+  /** Most of the PrefixTree implementation is in this one class, which is both
+   * the Cell, the CellIterator, and the Shape to reduce object allocation. It's implemented as a re-used array/stack
+   * of Cells at adjacent levels, that all have a reference back to the cell array to traverse. They also share a common
+   * BytesRef for the term.
+   * @lucene.internal */
+  protected class NRCell extends CellIterator implements Cell, UnitNRShape {
+
+    //Shared: (TODO put this in a new class)
+    final NRCell[] cellsByLevel;
+    final BytesRef term;//AKA the token
+    byte[] termBuf;// see ensureOwnTermBytes(), only for cell0
+
+    //Cell state...
+    final int cellLevel; // assert levelStack[cellLevel] == this
+    int cellNumber; //relative to parent cell. It's unused for level 0. Starts at 0.
+
+    SpatialRelation cellShapeRel;
+    boolean cellIsLeaf;
+
+    //CellIterator state is defined further below
+
+    NRCell(NRCell[] cellsByLevel, BytesRef term, int cellLevel) {
+      this.cellsByLevel = cellsByLevel;
+      this.term = term;
+      this.cellLevel = cellLevel;
+      this.cellNumber = cellLevel == 0 ? 0 : -1;
+      this.cellIsLeaf = false;
+      assert cellsByLevel[cellLevel] == null;
+    }
+
+    /** Ensure we own term.bytes so that it's safe to modify. We detect via a kluge in which cellsByLevel[0].termBuf
+     * is non-null, which is a pre-allocated for use to replace term.bytes. */
+    void ensureOwnTermBytes() {
+      NRCell cell0 = cellsByLevel[0];
+      if (cell0.termBuf == null)
+        return;//we already own the bytes
+      System.arraycopy(term.bytes, term.offset, cell0.termBuf, 0, term.length);
+      term.bytes = cell0.termBuf;
+      term.offset = 0;
+      cell0.termBuf = null;
+    }
+
+    private void reset() {
+      this.cellIsLeaf = false;
+      this.cellShapeRel = null;
+    }
+
+    private void resetCellWithCellNum(int cellNumber) {
+      reset();
+
+      //update bytes
+      //  note: see lazyInitCellNumsFromBytes() for the reverse
+      if (cellNumber >= 0) {//valid
+        ensureOwnTermBytes();
+        int termLen = termLenByLevel[getLevel()];
+        boolean twoBytes = (termLen - termLenByLevel[getLevel()-1]) > 1;
+        if (twoBytes) {
+          //right 7 bits, plus 1 (may overflow to 8th bit which is okay)
+          term.bytes[termLen-2] = (byte) (cellNumber >> 7);
+          term.bytes[termLen-1] = (byte) ((cellNumber & 0x7F) + 1);
+        } else {
+          term.bytes[termLen-1] = (byte) (cellNumber+1);
+        }
+        assert term.bytes[termLen-1] != 0;
+        term.length = termLen;
+      }
+      this.cellNumber = cellNumber;
+    }
+
+    private void ensureDecoded() {
+      if (cellNumber >= 0)
+        return;
+      //Decode cell numbers from bytes. This is the inverse of resetCellWithCellNum().
+      for (int level = 1; level <= getLevel(); level++) {
+        NRCell cell = cellsByLevel[level];
+        int termLen = termLenByLevel[level];
+        boolean twoBytes = (termLen - termLenByLevel[level-1]) > 1;
+        if (twoBytes) {
+          int byteH = (term.bytes[term.offset + termLen - 2] & 0xFF);
+          int byteL = (term.bytes[term.offset + termLen - 1] & 0xFF);
+          assert byteL - 1 < (1<<7);
+          cell.cellNumber = (byteH << 7) + (byteL-1);
+          assert cell.cellNumber < 1<<15;
+        } else {
+          cell.cellNumber = (term.bytes[term.offset + termLen - 1] & 0xFF) - 1;
+          assert cell.cellNumber < 255;
+        }
+        cell.assertDecoded();
+      }
+    }
+
+    private void assertDecoded() {
+      assert cellNumber >= 0 : "Illegal state; ensureDecoded() wasn't called";
+    }
+
+    @Override // for Cell & for UnitNRShape
+    public int getLevel() {
+      return cellLevel;
+    }
+
+    @Override
+    public SpatialRelation getShapeRel() {
+      return cellShapeRel;
+    }
+
+    @Override
+    public void setShapeRel(SpatialRelation rel) {
+      cellShapeRel = rel;
+    }
+
+    @Override
+    public boolean isLeaf() {
+      return cellIsLeaf;
+    }
+
+    @Override
+    public void setLeaf() {
+      cellIsLeaf = true;
+    }
+
+    @Override
+    public UnitNRShape getShape() {
+      ensureDecoded();
+      return this;
+    }
+
+    @Override
+    public BytesRef getTokenBytesNoLeaf(BytesRef result) {
+      if (result == null)
+        result = new BytesRef();
+      result.bytes = term.bytes;
+      result.offset = term.offset;
+      result.length = termLenByLevel[cellLevel];
+      assert result.length <= term.length;
+      return result;
+    }
+
+    @Override
+    public BytesRef getTokenBytesWithLeaf(BytesRef result) {
+      ensureOwnTermBytes();//normally shouldn't do anything
+      result = getTokenBytesNoLeaf(result);
+      if (isLeaf()) {
+        result.bytes[result.length++] = 0;
+      }
+      return result;
+    }
+
+    @Override
+    public boolean isPrefixOf(Cell c) {
+      NRCell otherCell = (NRCell) c;
+      assert term != otherCell.term;
+      //trick to re-use bytesref; provided that we re-instate it
+      int myLastLen = term.length;
+      term.length = termLenByLevel[getLevel()];
+      int otherLastLen = otherCell.term.length;
+      otherCell.term.length = termLenByLevel[otherCell.getLevel()];
+      boolean answer = StringHelper.startsWith(otherCell.term, term);
+      term.length = myLastLen;
+      otherCell.term.length = otherLastLen;
+      return answer;
+    }
+
+    @Override
+    public int compareToNoLeaf(Cell fromCell) {
+      final NRCell nrCell = (NRCell) fromCell;
+      assert term != nrCell.term;
+      //trick to re-use bytesref; provided that we re-instate it
+      int myLastLen = term.length;
+      int otherLastLen = nrCell.term.length;
+      term.length = termLenByLevel[getLevel()];
+      nrCell.term.length = termLenByLevel[nrCell.getLevel()];
+      int answer = term.compareTo(nrCell.term);
+      term.length = myLastLen;
+      nrCell.term.length = otherLastLen;
+      return answer;
+    }
+
+    @Override
+    public CellIterator getNextLevelCells(Shape shapeFilter) {
+      ensureDecoded();
+      NRCell subCell = cellsByLevel[cellLevel + 1];
+      subCell.initIter(shapeFilter);
+      return subCell;
+    }
+
+    //----------- CellIterator
+
+    Shape iterFilter;//UnitNRShape or NRShape
+    boolean iterFirstIsIntersects;
+    boolean iterLastIsIntersects;
+    int iterFirstCellNumber;
+    int iterLastCellNumber;
+
+    private void initIter(Shape filter) {
+      cellNumber = -1;
+      if (filter instanceof UnitNRShape && ((UnitNRShape) filter).getLevel() == 0)
+        filter = null;//world means everything -- no filter
+      iterFilter = filter;
+
+      NRCell parent = getShapeAtLevel(getLevel() - 1);
+
+      // Initialize iter* members.
+
+      //no filter means all subcells
+      if (filter == null) {
+        iterFirstCellNumber = 0;
+        iterFirstIsIntersects = false;
+        iterLastCellNumber = getNumSubCells(parent) - 1;
+        iterLastIsIntersects = false;
+        return;
+      }
+
+      final UnitNRShape minLV;
+      final UnitNRShape maxLV;
+      final int lastLevelInCommon;//between minLV & maxLV
+      if (filter instanceof SpanUnitsNRShape) {
+        SpanUnitsNRShape spanShape = (SpanUnitsNRShape) iterFilter;
+        minLV = spanShape.getMinUnit();
+        maxLV = spanShape.getMaxUnit();
+        lastLevelInCommon = spanShape.getLevelsInCommon();
+      } else {
+        minLV = (UnitNRShape) iterFilter;
+        maxLV = minLV;
+        lastLevelInCommon = minLV.getLevel();
+      }
+
+      //fast path optimization that is usually true, but never first level
+      if (iterFilter == parent.iterFilter &&
+          (getLevel() <= lastLevelInCommon || parent.iterFirstCellNumber != parent.iterLastCellNumber)) {
+        //TODO benchmark if this optimization pays off. We avoid two comparePrefixLV calls.
+        if (parent.iterFirstIsIntersects && parent.cellNumber == parent.iterFirstCellNumber
+            && minLV.getLevel() >= getLevel()) {
+          iterFirstCellNumber = minLV.getValAtLevel(getLevel());
+          iterFirstIsIntersects = (minLV.getLevel() > getLevel());
+        } else {
+          iterFirstCellNumber = 0;
+          iterFirstIsIntersects = false;
+        }
+        if (parent.iterLastIsIntersects && parent.cellNumber == parent.iterLastCellNumber
+            && maxLV.getLevel() >= getLevel()) {
+          iterLastCellNumber = maxLV.getValAtLevel(getLevel());
+          iterLastIsIntersects = (maxLV.getLevel() > getLevel());
+        } else {
+          iterLastCellNumber = getNumSubCells(parent) - 1;
+          iterLastIsIntersects = false;
+        }
+        if (iterFirstCellNumber == iterLastCellNumber) {
+          if (iterLastIsIntersects)
+            iterFirstIsIntersects = true;
+          else if (iterFirstIsIntersects)
+            iterLastIsIntersects = true;
+        }
+        return;
+      }
+
+      //not common to get here, except for level 1 which always happens
+
+      int startCmp = comparePrefix(minLV, parent);
+      if (startCmp > 0) {//start comes after this cell
+        iterFirstCellNumber = 0;
+        iterFirstIsIntersects = false;
+        iterLastCellNumber = -1;//so ends early (no cells)
+        iterLastIsIntersects = false;
+        return;
+      }
+      int endCmp = comparePrefix(maxLV, parent);//compare to end cell
+      if (endCmp < 0) {//end comes before this cell
+        iterFirstCellNumber = 0;
+        iterFirstIsIntersects = false;
+        iterLastCellNumber = -1;//so ends early (no cells)
+        iterLastIsIntersects = false;
+        return;
+      }
+      if (startCmp < 0 || minLV.getLevel() < getLevel()) {
+        //start comes before...
+        iterFirstCellNumber = 0;
+        iterFirstIsIntersects = false;
+      } else {
+        iterFirstCellNumber = minLV.getValAtLevel(getLevel());
+        iterFirstIsIntersects = (minLV.getLevel() > getLevel());
+      }
+      if (endCmp > 0 || maxLV.getLevel() < getLevel()) {
+        //end comes after...
+        iterLastCellNumber = getNumSubCells(parent) - 1;
+        iterLastIsIntersects = false;
+      } else {
+        iterLastCellNumber = maxLV.getValAtLevel(getLevel());
+        iterLastIsIntersects = (maxLV.getLevel() > getLevel());
+      }
+      if (iterFirstCellNumber == iterLastCellNumber) {
+        if (iterLastIsIntersects)
+          iterFirstIsIntersects = true;
+        else if (iterFirstIsIntersects)
+          iterLastIsIntersects = true;
+      }
+    }
+
+    @Override
+    public boolean hasNext() {
+      thisCell = null;
+      if (nextCell != null)//calling hasNext twice in a row
+        return true;
+
+      if (cellNumber >= iterLastCellNumber)
+        return false;
+
+      resetCellWithCellNum(cellNumber < iterFirstCellNumber ? iterFirstCellNumber : cellNumber + 1);
+
+      boolean hasChildren =
+          (cellNumber == iterFirstCellNumber && iterFirstIsIntersects)
+              || (cellNumber == iterLastCellNumber && iterLastIsIntersects);
+
+      if (!hasChildren) {
+        setLeaf();
+        setShapeRel(SpatialRelation.WITHIN);
+      } else if (iterFirstCellNumber == iterLastCellNumber) {
+        setShapeRel(SpatialRelation.CONTAINS);
+      } else {
+        setShapeRel(SpatialRelation.INTERSECTS);
+      }
+
+      nextCell = this;
+      return true;
+    }
+
+    //TODO override nextFrom to be more efficient
+
+    //----------- UnitNRShape
+
+    @Override
+    public int getValAtLevel(int level) {
+      final int result = cellsByLevel[level].cellNumber;
+      assert result >= 0;//initialized (decoded)
+      return result;
+    }
+
+    @Override
+    public NRCell getShapeAtLevel(int level) {
+      assert level <= cellLevel;
+      return cellsByLevel[level];
+    }
+
+    @Override
+    public UnitNRShape roundToLevel(int targetLevel) {
+      if (getLevel() <= targetLevel) {
+        return this;
+      } else {
+        return getShapeAtLevel(targetLevel);
+      }
+    }
+
+    @Override
+    public SpatialRelation relate(Shape shape) {
+      assertDecoded();
+      if (shape == iterFilter && cellShapeRel != null)
+        return cellShapeRel;
+      if (shape instanceof UnitNRShape)
+        return relate((UnitNRShape)shape);
+      if (shape instanceof SpanUnitsNRShape)
+        return relate((SpanUnitsNRShape)shape);
+      return shape.relate(this).transpose();
+    }
+
+    public SpatialRelation relate(UnitNRShape lv) {
+      assertDecoded();
+      int cmp = comparePrefix(this, lv);
+      if (cmp != 0)
+        return SpatialRelation.DISJOINT;
+      if (getLevel() > lv.getLevel())
+        return SpatialRelation.WITHIN;
+      return SpatialRelation.CONTAINS;//or equals
+      //no INTERSECTS; that won't happen.
+    }
+
+    public SpatialRelation relate(SpanUnitsNRShape spanShape) {
+      assertDecoded();
+      int startCmp = comparePrefix(spanShape.getMinUnit(), this);
+      if (startCmp > 0) {//start comes after this cell
+        return SpatialRelation.DISJOINT;
+      }
+      int endCmp = comparePrefix(spanShape.getMaxUnit(), this);
+      if (endCmp < 0) {//end comes before this cell
+        return SpatialRelation.DISJOINT;
+      }
+      int nrMinLevel = spanShape.getMinUnit().getLevel();
+      int nrMaxLevel = spanShape.getMaxUnit().getLevel();
+      if ((startCmp < 0 || startCmp == 0 && nrMinLevel <= getLevel())
+          && (endCmp > 0 || endCmp == 0 && nrMaxLevel <= getLevel()))
+        return SpatialRelation.WITHIN;//or equals
+      //At this point it's Contains or Within.
+      if (startCmp != 0 || endCmp != 0)
+        return SpatialRelation.INTERSECTS;
+      //if min or max Level is less, it might be on the equivalent edge.
+      for (;nrMinLevel < getLevel(); nrMinLevel++) {
+        if (getValAtLevel(nrMinLevel + 1) != 0)
+          return SpatialRelation.INTERSECTS;
+      }
+      for (;nrMaxLevel < getLevel(); nrMaxLevel++) {
+        if (getValAtLevel(nrMaxLevel + 1) != getNumSubCells(getShapeAtLevel(nrMaxLevel)) - 1)
+          return SpatialRelation.INTERSECTS;
+      }
+      return SpatialRelation.CONTAINS;
+    }
+
+    @Override
+    public UnitNRShape clone() {
+      //no leaf distinction; this is purely based on UnitNRShape
+      NRCell cell = (NRCell) readCell(getTokenBytesNoLeaf(null), null);
+      cell.ensureOwnTermBytes();
+      return cell.getShape();
+    }
+
+    @Override
+    public int compareTo(UnitNRShape o) {
+      assertDecoded();
+      //no leaf distinction; this is purely based on UnitNRShape
+      int cmp = comparePrefix(this, o);
+      if (cmp != 0) {
+        return cmp;
+      } else {
+        return getLevel() - o.getLevel();
+      }
+    }
+
+    @Override
+    public Rectangle getBoundingBox() {
+      throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public boolean hasArea() {
+      return true;
+    }
+
+    @Override
+    public double getArea(SpatialContext ctx) {
+      throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Point getCenter() {
+      throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Shape getBuffered(double distance, SpatialContext ctx) { throw new UnsupportedOperationException(); }
+
+    @Override
+    public boolean isEmpty() {
+      return false;
+    }
+
+    //------- Object
+
+    @Override
+    public boolean equals(Object obj) {
+      if (!(obj instanceof NRCell)) {
+        return false;
+      }
+      if (this == obj)
+        return true;
+      NRCell nrCell = (NRCell) obj;
+      assert term != nrCell.term;
+      if (getLevel() != nrCell.getLevel())
+        return false;
+      //trick to re-use bytesref; provided that we re-instate it
+      int myLastLen = term.length;
+      int otherLastLen = nrCell.term.length;
+      boolean answer = getTokenBytesNoLeaf(term).equals(nrCell.getTokenBytesNoLeaf(nrCell.term));
+      term.length = myLastLen;
+      nrCell.term.length = otherLastLen;
+      return answer;
+    }
+
+    @Override
+    public SpatialContext getContext() {
+      return DUMMY_CTX;
+    }
+
+    @Override
+    public int hashCode() {
+      //trick to re-use bytesref; provided that we re-instate it
+      int myLastLen = term.length;
+      int result = getTokenBytesNoLeaf(term).hashCode();
+      term.length = myLastLen;
+      return result;
+    }
+
+    @Override
+    public String toString() {
+      return NumberRangePrefixTree.this.toString(getShape());
+    }
+
+    /** Configure your IDE to use this. */
+    public String toStringDebug() {
+      String pretty = toString();
+      if (getLevel() == 0)
+        return pretty;
+      return toStringUnitRaw(this) + (isLeaf() ? "•" : "") + " " + pretty;
+    }
+
+  } // END OF NRCell
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
new file mode 100644
index 0000000..6fe2bff
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/PackedQuadPrefixTree.java
@@ -0,0 +1,459 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import com.spatial4j.core.shape.impl.RectangleImpl;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * Uses a compact binary representation of 8 bytes to encode a spatial quad trie.
+ *
+ * The binary representation is as follows:
+ * <pre>
+ * CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDL
+ *
+ * Where C = Cell bits (2 per quad)
+ *       D = Depth bits (5 with max of 29 levels)
+ *       L = isLeaf bit
+ * </pre>
+ *
+ * It includes a built-in "pruneLeafyBranches" setting (true by default) similar to
+ * {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy#setPruneLeafyBranches(boolean)} although
+ * this one only prunes at the target detail level (where it has the most effect).  Usually you should disable RPT's
+ * prune, since it is very memory in-efficient.
+ *
+ * @lucene.experimental
+ */
+public class PackedQuadPrefixTree extends QuadPrefixTree {
+  public static final int MAX_LEVELS_POSSIBLE = 29;
+  protected static final byte[] QUAD = new byte[] {0x00, 0x01, 0x02, 0x03};
+
+  protected boolean leafyPrune = true;
+
+  /**
+   * Factory for creating {@link PackedQuadPrefixTree} instances with useful defaults.
+   */
+  public static class Factory extends QuadPrefixTree.Factory {
+    @Override
+    protected SpatialPrefixTree newSPT() {
+      return new PackedQuadPrefixTree(ctx, maxLevels != null ? maxLevels : MAX_LEVELS_POSSIBLE);
+    }
+  }
+
+  public PackedQuadPrefixTree(SpatialContext ctx, int maxLevels) {
+    super(ctx, maxLevels);
+    if (maxLevels > MAX_LEVELS_POSSIBLE) {
+      throw new IllegalArgumentException("maxLevels of " + maxLevels + " exceeds limit of " + MAX_LEVELS_POSSIBLE);
+    }
+  }
+
+  @Override
+  public String toString() {
+    return getClass().getSimpleName() + "(maxLevels:" + maxLevels + ",ctx:" + ctx + ",prune:" + leafyPrune + ")";
+  }
+
+  @Override
+  public Cell getWorldCell() {
+    return new PackedQuadCell(0x0L);
+  }
+
+  @Override
+  public Cell getCell(Point p, int level) {
+    List<Cell> cells = new ArrayList<>(1);
+    build(xmid, ymid, 0, cells, 0x0L, ctx.makePoint(p.getX(), p.getY()), level);
+    return cells.get(0);//note cells could be longer if p on edge
+  }
+
+  protected void build(double x, double y, int level, List<Cell> matches, long term, Shape shape, int maxLevel) {
+    double w = levelW[level] / 2;
+    double h = levelH[level] / 2;
+
+    // Z-Order
+    // http://en.wikipedia.org/wiki/Z-order_%28curve%29
+    checkBattenberg(QUAD[0], x - w, y + h, level, matches, term, shape, maxLevel);
+    checkBattenberg(QUAD[1], x + w, y + h, level, matches, term, shape, maxLevel);
+    checkBattenberg(QUAD[2], x - w, y - h, level, matches, term, shape, maxLevel);
+    checkBattenberg(QUAD[3], x + w, y - h, level, matches, term, shape, maxLevel);
+  }
+
+  protected void checkBattenberg(byte quad, double cx, double cy, int level, List<Cell> matches,
+                               long term, Shape shape, int maxLevel) {
+    // short-circuit if we find a match for the point (no need to continue recursion)
+    if (shape instanceof Point && !matches.isEmpty())
+      return;
+    double w = levelW[level] / 2;
+    double h = levelH[level] / 2;
+
+    SpatialRelation v = shape.relate(ctx.makeRectangle(cx - w, cx + w, cy - h, cy + h));
+
+    if (SpatialRelation.DISJOINT == v) {
+      return;
+    }
+
+    // set bits for next level
+    term |= (((long)(quad))<<(64-(++level<<1)));
+    // increment level
+    term = ((term>>>1)+1)<<1;
+
+    if (SpatialRelation.CONTAINS == v || (level >= maxLevel)) {
+      matches.add(new PackedQuadCell(term, v.transpose()));
+    } else {// SpatialRelation.WITHIN, SpatialRelation.INTERSECTS
+      build(cx, cy, level, matches, term, shape, maxLevel);
+    }
+  }
+
+  @Override
+  public Cell readCell(BytesRef term, Cell scratch) {
+    PackedQuadCell cell = (PackedQuadCell) scratch;
+    if (cell == null)
+      cell = (PackedQuadCell) getWorldCell();
+    cell.readCell(term);
+    return cell;
+  }
+
+  @Override
+  public CellIterator getTreeCellIterator(Shape shape, int detailLevel) {
+    if (detailLevel > maxLevels) {
+      throw new IllegalArgumentException("detailLevel:" + detailLevel +" exceed max: " + maxLevels);
+    }
+    return new PrefixTreeIterator(shape, (short) detailLevel);
+  }
+
+  public boolean isPruneLeafyBranches() {
+    return leafyPrune;
+  }
+
+  /** Like {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy#setPruneLeafyBranches(boolean)}
+   * but more memory efficient and only applies to the detailLevel, where it has the most effect. */
+  public void setPruneLeafyBranches( boolean pruneLeafyBranches ) {
+    this.leafyPrune = pruneLeafyBranches;
+  }
+
+  /** See binary representation in the javadocs of {@link PackedQuadPrefixTree}. */
+  protected class PackedQuadCell extends QuadCell {
+    private long term;
+
+    PackedQuadCell(long term) {
+      super(null, 0, 0);
+      this.term = term;
+      this.b_off = 0;
+      this.bytes = longToByteArray(this.term);
+      this.b_len = 8;
+      readLeafAdjust();
+    }
+
+    PackedQuadCell(long term, SpatialRelation shapeRel) {
+      this(term);
+      this.shapeRel = shapeRel;
+    }
+
+    @Override
+    protected void readCell(BytesRef bytes) {
+      shapeRel = null;
+      shape = null;
+      this.bytes = bytes.bytes;
+      this.b_off = bytes.offset;
+      this.b_len = (short) bytes.length;
+      this.term = longFromByteArray(this.bytes, bytes.offset);
+      readLeafAdjust();
+    }
+
+    private final int getShiftForLevel(final int level) {
+      return 64 - (level<<1);
+    }
+
+    public boolean isEnd(final int level, final int shift) {
+      return (term != 0x0L && ((((0x1L<<(level<<1))-1)-(term>>>shift)) == 0x0L));
+    }
+
+    /**
+     * Get the next cell in the tree without using recursion. descend parameter requests traversal to the child nodes,
+     * setting this to false will step to the next sibling.
+     * Note: This complies with lexicographical ordering, once you've moved to the next sibling there is no backtracking.
+     */
+    public PackedQuadCell nextCell(boolean descend) {
+      final int level = getLevel();
+      final int shift = getShiftForLevel(level);
+      // base case: can't go further
+      if ( (!descend && isEnd(level, shift)) || isEnd(maxLevels, getShiftForLevel(maxLevels))) {
+        return null;
+      }
+      long newTerm;
+      final boolean isLeaf = (term&0x1L)==0x1L;
+      // if descend requested && we're not at the maxLevel
+      if ((descend && !isLeaf && (level != maxLevels)) || level == 0) {
+        // simple case: increment level bits (next level)
+        newTerm = ((term>>>1)+0x1L)<<1;
+      } else {  // we're not descending or we can't descend
+        newTerm = term + (0x1L<<shift);
+        // we're at the last sibling...force descend
+        if (((term>>>shift)&0x3L) == 0x3L) {
+          // adjust level for number popping up
+          newTerm = ((newTerm>>>1) - (Long.numberOfTrailingZeros(newTerm>>>shift)>>>1))<<1;
+        }
+      }
+      return new PackedQuadCell(newTerm);
+    }
+
+    @Override
+    protected void readLeafAdjust() {
+      isLeaf = ((0x1L)&term) == 0x1L;
+      if (getLevel() == getMaxLevels()) {
+        isLeaf = true;
+      }
+    }
+
+    @Override
+    public BytesRef getTokenBytesWithLeaf(BytesRef result) {
+      if (isLeaf) {
+        term |= 0x1L;
+      }
+      return getTokenBytesNoLeaf(result);
+    }
+
+    @Override
+    public BytesRef getTokenBytesNoLeaf(BytesRef result) {
+      if (result == null)
+        return new BytesRef(bytes, b_off, b_len);
+      result.bytes = longToByteArray(this.term);
+      result.offset = 0;
+      result.length = result.bytes.length;
+      return result;
+    }
+
+    @Override
+    public int compareToNoLeaf(Cell fromCell) {
+      PackedQuadCell b = (PackedQuadCell) fromCell;
+      final long thisTerm = (((0x1L)&term) == 0x1L) ? term-1 : term;
+      final long fromTerm = (((0x1L)&b.term) == 0x1L) ? b.term-1 : b.term;
+      final int result = Long.compareUnsigned(thisTerm, fromTerm);
+      assert Math.signum(result)
+          == Math.signum(compare(longToByteArray(thisTerm), 0, 8, longToByteArray(fromTerm), 0, 8)); // TODO remove
+      return result;
+    }
+
+    @Override
+    public int getLevel() {
+      int l = (int)((term >>> 1)&0x1FL);
+      return l;
+    }
+
+    @Override
+    protected Collection<Cell> getSubCells() {
+      List<Cell> cells = new ArrayList<>(4);
+      PackedQuadCell pqc = (new PackedQuadCell(((term&0x1)==0x1) ? this.term-1 : this.term))
+          .nextCell(true);
+      cells.add(pqc);
+      cells.add((pqc = pqc.nextCell(false)));
+      cells.add((pqc = pqc.nextCell(false)));
+      cells.add(pqc.nextCell(false));
+      return cells;
+    }
+
+    @Override
+    protected QuadCell getSubCell(Point p) {
+      return (PackedQuadCell) PackedQuadPrefixTree.this.getCell(p, getLevel() + 1);//not performant!
+    }
+
+    @Override
+    public boolean isPrefixOf(Cell c) {
+      PackedQuadCell cell = (PackedQuadCell)c;
+      return (this.term == 0x0L) || isInternalPrefix(cell);
+    }
+
+    protected boolean isInternalPrefix(PackedQuadCell c) {
+      final int shift = 64 - (getLevel()<<1);
+      return ((term>>>shift)-(c.term>>>shift)) == 0x0L;
+    }
+
+    protected long concat(byte postfix) {
+      // extra leaf bit
+      return this.term | (((long)(postfix))<<((getMaxLevels()-getLevel()<<1)+6));
+    }
+
+    /**
+     * Constructs a bounding box shape out of the encoded cell
+     */
+    @Override
+    protected Rectangle makeShape() {
+      double xmin = PackedQuadPrefixTree.this.xmin;
+      double ymin = PackedQuadPrefixTree.this.ymin;
+      int level = getLevel();
+
+      byte b;
+      for (short l=0, i=1; l<level; ++l, ++i) {
+        b = (byte) ((term>>>(64-(i<<1))) & 0x3L);
+
+        switch (b) {
+          case 0x00:
+            ymin += levelH[l];
+            break;
+          case 0x01:
+            xmin += levelW[l];
+            ymin += levelH[l];
+            break;
+          case 0x02:
+            break;//nothing really
+          case 0x03:
+            xmin += levelW[l];
+            break;
+          default:
+            throw new RuntimeException("unexpected quadrant");
+        }
+      }
+
+      double width, height;
+      if (level > 0) {
+        width = levelW[level - 1];
+        height = levelH[level - 1];
+      } else {
+        width = gridW;
+        height = gridH;
+      }
+      return new RectangleImpl(xmin, xmin + width, ymin, ymin + height, ctx);
+    }
+
+    private long fromBytes(byte b1, byte b2, byte b3, byte b4, byte b5, byte b6, byte b7, byte b8) {
+      return ((long)b1 & 255L) << 56 | ((long)b2 & 255L) << 48 | ((long)b3 & 255L) << 40
+          | ((long)b4 & 255L) << 32 | ((long)b5 & 255L) << 24 | ((long)b6 & 255L) << 16
+          | ((long)b7 & 255L) << 8 | (long)b8 & 255L;
+    }
+
+    private byte[] longToByteArray(long value) {
+      byte[] result = new byte[8];
+      for(int i = 7; i >= 0; --i) {
+        result[i] = (byte)((int)(value & 255L));
+        value >>= 8;
+      }
+      return result;
+    }
+
+    private long longFromByteArray(byte[] bytes, int ofs) {
+      assert bytes.length >= 8;
+      return fromBytes(bytes[0+ofs], bytes[1+ofs], bytes[2+ofs], bytes[3+ofs],
+          bytes[4+ofs], bytes[5+ofs], bytes[6+ofs], bytes[7+ofs]);
+    }
+
+    /**
+     * Used for debugging, this will print the bits of the cell
+     */
+    @Override
+    public String toString() {
+      StringBuilder s = new StringBuilder(64);
+      final int numberOfLeadingZeros = Long.numberOfLeadingZeros(term);
+      for (int i = 0; i < numberOfLeadingZeros; i++) {
+        s.append('0');
+      }
+      if (term != 0)
+        s.append(Long.toBinaryString(term));
+      return s.toString();
+    }
+  } // PackedQuadCell
+
+  /** This is a streamlined version of TreeCellIterator, with built-in support to prune at detailLevel
+   * (but not recursively upwards). */
+  protected class PrefixTreeIterator extends CellIterator {
+    private Shape shape;
+    private PackedQuadCell thisCell;
+    private PackedQuadCell nextCell;
+
+    private short level;
+    private final short detailLevel;
+    private CellIterator pruneIter;
+
+    PrefixTreeIterator(Shape shape, short detailLevel) {
+      this.shape = shape;
+      this.thisCell = ((PackedQuadCell)(getWorldCell())).nextCell(true);
+      this.detailLevel = detailLevel;
+      this.nextCell = null;
+    }
+
+    @Override
+    public boolean hasNext() {
+      if (nextCell != null) {
+        return true;
+      }
+      SpatialRelation rel;
+      // loop until we're at the end of the quad tree or we hit a relation
+      while (thisCell != null) {
+        rel = thisCell.getShape().relate(shape);
+        if (rel == SpatialRelation.DISJOINT) {
+          thisCell = thisCell.nextCell(false);
+        } else { // within || intersects || contains
+          thisCell.setShapeRel(rel);
+          nextCell = thisCell;
+          if (rel == SpatialRelation.WITHIN) {
+            thisCell.setLeaf();
+            thisCell = thisCell.nextCell(false);
+          } else {  // intersects || contains
+            level = (short) (thisCell.getLevel());
+            if (level == detailLevel || pruned(rel)) {
+              thisCell.setLeaf();
+              if (shape instanceof Point) {
+                thisCell.setShapeRel(SpatialRelation.WITHIN);
+                thisCell = null;
+              } else {
+                thisCell = thisCell.nextCell(false);
+              }
+              break;
+            }
+            thisCell = thisCell.nextCell(true);
+          }
+          break;
+        }
+      }
+      return nextCell != null;
+    }
+
+    private boolean pruned(SpatialRelation rel) {
+      int leaves;
+      if (rel == SpatialRelation.INTERSECTS && leafyPrune && level == detailLevel - 1) {
+        for (leaves=0, pruneIter=thisCell.getNextLevelCells(shape); pruneIter.hasNext(); pruneIter.next(), ++leaves);
+        return leaves == 4;
+      }
+      return false;
+    }
+
+    @Override
+    public Cell next() {
+      if (nextCell == null) {
+        if (!hasNext()) {
+          throw new NoSuchElementException();
+        }
+      }
+      // overriding since this implementation sets thisCell in hasNext
+      Cell temp = nextCell;
+      nextCell = null;
+      return temp;
+    }
+
+    @Override
+    public void remove() {
+      //no-op
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
new file mode 100644
index 0000000..48dac87
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/QuadPrefixTree.java
@@ -0,0 +1,308 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import java.io.PrintStream;
+import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Point;
+import com.spatial4j.core.shape.Rectangle;
+import com.spatial4j.core.shape.Shape;
+import com.spatial4j.core.shape.SpatialRelation;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * A {@link SpatialPrefixTree} which uses a
+ * <a href="http://en.wikipedia.org/wiki/Quadtree">quad tree</a> in which an
+ * indexed term will be generated for each cell, 'A', 'B', 'C', 'D'.
+ *
+ * @lucene.experimental
+ */
+public class QuadPrefixTree extends LegacyPrefixTree {
+
+  /**
+   * Factory for creating {@link QuadPrefixTree} instances with useful defaults
+   */
+  public static class Factory extends SpatialPrefixTreeFactory {
+
+    @Override
+    protected int getLevelForDistance(double degrees) {
+      QuadPrefixTree grid = new QuadPrefixTree(ctx, MAX_LEVELS_POSSIBLE);
+      return grid.getLevelForDistance(degrees);
+    }
+
+    @Override
+    protected SpatialPrefixTree newSPT() {
+      return new QuadPrefixTree(ctx,
+          maxLevels != null ? maxLevels : MAX_LEVELS_POSSIBLE);
+    }
+  }
+
+  public static final int MAX_LEVELS_POSSIBLE = 50;//not really sure how big this should be
+
+  public static final int DEFAULT_MAX_LEVELS = 12;
+  protected final double xmin;
+  protected final double xmax;
+  protected final double ymin;
+  protected final double ymax;
+  protected final double xmid;
+  protected final double ymid;
+
+  protected final double gridW;
+  public final double gridH;
+
+  final double[] levelW;
+  final double[] levelH;
+  final int[]    levelS; // side
+  final int[]    levelN; // number
+
+  public QuadPrefixTree(
+      SpatialContext ctx, Rectangle bounds, int maxLevels) {
+    super(ctx, maxLevels);
+    this.xmin = bounds.getMinX();
+    this.xmax = bounds.getMaxX();
+    this.ymin = bounds.getMinY();
+    this.ymax = bounds.getMaxY();
+
+    levelW = new double[maxLevels];
+    levelH = new double[maxLevels];
+    levelS = new int[maxLevels];
+    levelN = new int[maxLevels];
+
+    gridW = xmax - xmin;
+    gridH = ymax - ymin;
+    this.xmid = xmin + gridW/2.0;
+    this.ymid = ymin + gridH/2.0;
+    levelW[0] = gridW/2.0;
+    levelH[0] = gridH/2.0;
+    levelS[0] = 2;
+    levelN[0] = 4;
+
+    for (int i = 1; i < levelW.length; i++) {
+      levelW[i] = levelW[i - 1] / 2.0;
+      levelH[i] = levelH[i - 1] / 2.0;
+      levelS[i] = levelS[i - 1] * 2;
+      levelN[i] = levelN[i - 1] * 4;
+    }
+  }
+
+  public QuadPrefixTree(SpatialContext ctx) {
+    this(ctx, DEFAULT_MAX_LEVELS);
+  }
+
+  public QuadPrefixTree(
+      SpatialContext ctx, int maxLevels) {
+    this(ctx, ctx.getWorldBounds(), maxLevels);
+  }
+
+  @Override
+  public Cell getWorldCell() {
+    return new QuadCell(BytesRef.EMPTY_BYTES, 0, 0);
+  }
+
+  public void printInfo(PrintStream out) {
+    NumberFormat nf = NumberFormat.getNumberInstance(Locale.ROOT);
+    nf.setMaximumFractionDigits(5);
+    nf.setMinimumFractionDigits(5);
+    nf.setMinimumIntegerDigits(3);
+
+    for (int i = 0; i < maxLevels; i++) {
+      out.println(i + "]\t" + nf.format(levelW[i]) + "\t" + nf.format(levelH[i]) + "\t" +
+          levelS[i] + "\t" + (levelS[i] * levelS[i]));
+    }
+  }
+
+  @Override
+  public int getLevelForDistance(double dist) {
+    if (dist == 0)//short circuit
+      return maxLevels;
+    for (int i = 0; i < maxLevels-1; i++) {
+      //note: level[i] is actually a lookup for level i+1
+      if(dist > levelW[i] && dist > levelH[i]) {
+        return i+1;
+      }
+    }
+    return maxLevels;
+  }
+
+  @Override
+  public Cell getCell(Point p, int level) {
+    List<Cell> cells = new ArrayList<>(1);
+    build(xmid, ymid, 0, cells, new BytesRef(maxLevels+1), ctx.makePoint(p.getX(),p.getY()), level);
+    return cells.get(0);//note cells could be longer if p on edge
+  }
+
+  private void build(
+      double x,
+      double y,
+      int level,
+      List<Cell> matches,
+      BytesRef str,
+      Shape shape,
+      int maxLevel) {
+    assert str.length == level;
+    double w = levelW[level] / 2;
+    double h = levelH[level] / 2;
+
+    // Z-Order
+    // http://en.wikipedia.org/wiki/Z-order_%28curve%29
+    checkBattenberg('A', x - w, y + h, level, matches, str, shape, maxLevel);
+    checkBattenberg('B', x + w, y + h, level, matches, str, shape, maxLevel);
+    checkBattenberg('C', x - w, y - h, level, matches, str, shape, maxLevel);
+    checkBattenberg('D', x + w, y - h, level, matches, str, shape, maxLevel);
+
+    // possibly consider hilbert curve
+    // http://en.wikipedia.org/wiki/Hilbert_curve
+    // http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves
+    // if we actually use the range property in the query, this could be useful
+  }
+
+  protected void checkBattenberg(
+      char c,
+      double cx,
+      double cy,
+      int level,
+      List<Cell> matches,
+      BytesRef str,
+      Shape shape,
+      int maxLevel) {
+    assert str.length == level;
+    assert str.offset == 0;
+    double w = levelW[level] / 2;
+    double h = levelH[level] / 2;
+
+    int strlen = str.length;
+    Rectangle rectangle = ctx.makeRectangle(cx - w, cx + w, cy - h, cy + h);
+    SpatialRelation v = shape.relate(rectangle);
+    if (SpatialRelation.CONTAINS == v) {
+      str.bytes[str.length++] = (byte)c;//append
+      //str.append(SpatialPrefixGrid.COVER);
+      matches.add(new QuadCell(BytesRef.deepCopyOf(str), v.transpose()));
+    } else if (SpatialRelation.DISJOINT == v) {
+      // nothing
+    } else { // SpatialRelation.WITHIN, SpatialRelation.INTERSECTS
+      str.bytes[str.length++] = (byte)c;//append
+
+      int nextLevel = level+1;
+      if (nextLevel >= maxLevel) {
+        //str.append(SpatialPrefixGrid.INTERSECTS);
+        matches.add(new QuadCell(BytesRef.deepCopyOf(str), v.transpose()));
+      } else {
+        build(cx, cy, nextLevel, matches, str, shape, maxLevel);
+      }
+    }
+    str.length = strlen;
+  }
+
+  protected class QuadCell extends LegacyCell {
+
+    QuadCell(byte[] bytes, int off, int len) {
+      super(bytes, off, len);
+    }
+
+    QuadCell(BytesRef str, SpatialRelation shapeRel) {
+      this(str.bytes, str.offset, str.length);
+      this.shapeRel = shapeRel;
+    }
+
+    @Override
+    protected QuadPrefixTree getGrid() { return QuadPrefixTree.this; }
+
+    @Override
+    protected int getMaxLevels() { return maxLevels; }
+
+    @Override
+    protected Collection<Cell> getSubCells() {
+      BytesRef source = getTokenBytesNoLeaf(null);
+
+      List<Cell> cells = new ArrayList<>(4);
+      cells.add(new QuadCell(concat(source, (byte)'A'), null));
+      cells.add(new QuadCell(concat(source, (byte)'B'), null));
+      cells.add(new QuadCell(concat(source, (byte)'C'), null));
+      cells.add(new QuadCell(concat(source, (byte)'D'), null));
+      return cells;
+    }
+
+    protected BytesRef concat(BytesRef source, byte b) {
+      //+2 for new char + potential leaf
+      final byte[] buffer = Arrays.copyOfRange(source.bytes, source.offset, source.offset + source.length + 2);
+      BytesRef target = new BytesRef(buffer);
+      target.length = source.length;
+      target.bytes[target.length++] = b;
+      return target;
+    }
+
+    @Override
+    public int getSubCellsSize() {
+      return 4;
+    }
+
+    @Override
+    protected QuadCell getSubCell(Point p) {
+      return (QuadCell) QuadPrefixTree.this.getCell(p, getLevel() + 1);//not performant!
+    }
+
+    @Override
+    public Shape getShape() {
+      if (shape == null)
+        shape = makeShape();
+      return shape;
+    }
+
+    protected Rectangle makeShape() {
+      BytesRef token = getTokenBytesNoLeaf(null);
+      double xmin = QuadPrefixTree.this.xmin;
+      double ymin = QuadPrefixTree.this.ymin;
+
+      for (int i = 0; i < token.length; i++) {
+        byte c = token.bytes[token.offset + i];
+        switch (c) {
+          case 'A':
+            ymin += levelH[i];
+            break;
+          case 'B':
+            xmin += levelW[i];
+            ymin += levelH[i];
+            break;
+          case 'C':
+            break;//nothing really
+          case 'D':
+            xmin += levelW[i];
+            break;
+          default:
+            throw new RuntimeException("unexpected char: " + c);
+        }
+      }
+      int len = token.length;
+      double width, height;
+      if (len > 0) {
+        width = levelW[len-1];
+        height = levelH[len-1];
+      } else {
+        width = gridW;
+        height = gridH;
+      }
+      return ctx.makeRectangle(xmin, xmin + width, ymin, ymin + height);
+    }
+  }//QuadCell
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
new file mode 100644
index 0000000..177b431
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SingletonCellIterator.java
@@ -0,0 +1,36 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+/**
+ * A singleton (one Cell) instance of CellIterator.
+ *
+ * @lucene.internal
+ */
+class SingletonCellIterator extends CellIterator {
+
+  SingletonCellIterator(Cell cell) {
+    this.nextCell = cell;//preload nextCell
+  }
+
+  @Override
+  public boolean hasNext() {
+    thisCell = null;
+    return nextCell != null;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
new file mode 100644
index 0000000..8ead954
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/tree/SpatialPrefixTree.java
@@ -0,0 +1,117 @@
+/*
+ * 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.lucene.spatial.prefix.tree;
+
+import com.spatial4j.core.context.SpatialContext;
+import com.spatial4j.core.shape.Shape;
+import org.apache.lucene.util.BytesRef;
+
+/**
+ * A spatial Prefix Tree, or Trie, which decomposes shapes into prefixed strings
+ * at variable lengths corresponding to variable precision.  Each string
+ * corresponds to a rectangular spatial region.  This approach is
+ * also referred to "Grids", "Tiles", and "Spatial Tiers".
+ * <p>
+ * Implementations of this class should be thread-safe and immutable once
+ * initialized.
+ *
+ * @lucene.experimental
+ */
+public abstract class SpatialPrefixTree {
+
+  protected final int maxLevels;
+
+  protected final SpatialContext ctx;
+
+  public SpatialPrefixTree(SpatialContext ctx, int maxLevels) {
+    assert maxLevels > 0;
+    this.ctx = ctx;
+    this.maxLevels = maxLevels;
+  }
+
+  public SpatialContext getSpatialContext() {
+    return ctx;
+  }
+
+  public int getMaxLevels() {
+    return maxLevels;
+  }
+
+  @Override
+  public String toString() {
+    return getClass().getSimpleName() + "(maxLevels:" + maxLevels + ",ctx:" + ctx + ")";
+  }
+
+  /**
+   * Returns the level of the largest grid in which its longest side is less
+   * than or equal to the provided distance (in degrees). Consequently {@code
+   * dist} acts as an error epsilon declaring the amount of detail needed in the
+   * grid, such that you can get a grid with just the right amount of
+   * precision.
+   *
+   * @param dist {@code >= 0}
+   * @return level [1 to maxLevels]
+   */
+  public abstract int getLevelForDistance(double dist);
+
+  /**
+   * Given a cell having the specified level, returns the distance from opposite
+   * corners. Since this might vary depending on where the cell is, this method
+   * may over-estimate.
+   *
+   * @param level [1 to maxLevels]
+   * @return {@code > 0}
+   */
+  public abstract double getDistanceForLevel(int level);
+
+  /**
+   * Returns the level 0 cell which encompasses all spatial data. Equivalent to {@link #readCell(BytesRef,Cell)}
+   * with no bytes.
+   */
+  public abstract Cell getWorldCell(); //another possible name: getTopCell
+
+  /**
+   * This creates a new Cell (or re-using {@code scratch} if provided), initialized to the state as read
+   * by the bytes.
+   * Warning: An implementation may refer to the same byte array (no copy). If {@link Cell#setLeaf()} is
+   * subsequently called, it would then modify these bytes.
+   */
+  public abstract Cell readCell(BytesRef term, Cell scratch);
+
+  /**
+   * Gets the intersecting cells for the specified shape, without exceeding
+   * detail level. If a cell is within the query shape then it's marked as a
+   * leaf and none of its children are added. For cells at detailLevel, they are marked as
+   * leaves too, unless it's a point.
+   * <p>
+   * IMPORTANT: Cells returned from the iterator can be re-used for cells at the same level. So you can't simply
+   * iterate to subsequent cells and still refer to the former cell nor the bytes returned from the former cell, unless
+   * you know the former cell is a parent.
+   *
+   * @param shape       the shape; possibly null but the caller should liberally call
+   *  {@code remove()} if so.
+   * @param detailLevel the maximum detail level to get cells for
+   * @return the matching cells
+   */
+  public CellIterator getTreeCellIterator(Shape shape, int detailLevel) {
+    if (detailLevel > maxLevels) {
+      throw new IllegalArgumentException("detailLevel > maxLevels");
+    }
+    return new TreeCellIterator(shape, detailLevel, getWorldCell());
+  }
+
+}


[36/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/memory/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/package-info.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/package-info.java
index fadc94a..d03f876 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/package-info.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Term dictionary, DocValues or Postings formats that are read 
  * entirely into memory.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextBKDReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextBKDReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextBKDReader.java
index f07c4a3..d0ab81e 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextBKDReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextBKDReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCodec.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCodec.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCodec.java
index 89cd859..4cec13d 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCodec.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCodec.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.CompoundFormat;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCompoundFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCompoundFormat.java
index c994df7..4f9cfbf 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCompoundFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextCompoundFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.FileNotFoundException;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
index ae14c68..46ac983 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java
index 72600e4..8b97128 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.math.BigDecimal;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesWriter.java
index 71a9ab2..0d28479 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.math.BigInteger;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldInfosFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldInfosFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldInfosFormat.java
index 109966a..0ace153 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldInfosFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldInfosFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
index 20a0b8b..2a61854 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java
index 476d102..3b026be 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
index 5a8a34c..22f7687 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextLiveDocsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.util.BitSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java
index 28443c1..53e9b87 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointFormat.java
index 089ba4f..87b8310 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointReader.java
index ce7fee7..0ec2e03 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointWriter.java
index 7f92ae8..0c5a3fc 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPointWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
index f23fdb6..a770505 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSegmentInfoFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSegmentInfoFormat.java
index bbdc80e..0823a88 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSegmentInfoFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextSegmentInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsFormat.java
index 77b1ec1..d783041 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsReader.java
index b410e19..ead8ecc 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsWriter.java
index 2abcff5..00259b8 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextStoredFieldsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsFormat.java
index 6960f5f..e1feb2b 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsFormat.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
index 9211367..4a468e9 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsWriter.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsWriter.java
index b45d86c..117ec19 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsWriter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextUtil.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextUtil.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextUtil.java
index f09fa85..3bfbff0 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextUtil.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import java.io.IOException;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/package-info.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/package-info.java
index 812a93c..c49e8cd 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/package-info.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Simpletext Codec: writes human readable postings.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixPostingsFormat.java
index fa3cc70..3c7059e 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.autoprefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.autoprefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.autoprefix;
+
 
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.RandomPostingsTester;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixTerms.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixTerms.java b/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixTerms.java
index bfdce6f..726c3f0 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixTerms.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/autoprefix/TestAutoPrefixTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.autoprefix;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.autoprefix;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.autoprefix;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
index 9cd5e85..17b0c7f 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
index b70dc6e..fa7dbcc 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.blockterms.LuceneVarGapFixedInterval;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
index 8ea4d17..db9b4f5 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blockterms;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blockterms;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blockterms;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.blockterms.LuceneVarGapDocFreqInterval;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
index a5a62c1..773bbf5 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.blocktreeords;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.blocktreeords;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.blocktreeords;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
index 40863c8..37a46bf 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.bloom;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.bloom;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.bloom;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectDocValuesFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectDocValuesFormat.java
index 1073c11..3eb1f7b 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectDocValuesFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseDocValuesFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
index afd261c..9a36e52 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTOrdPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTOrdPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTOrdPostingsFormat.java
index 8a7ad9f..ec86085 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTOrdPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTOrdPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
index 0439682..939c5e3 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryDocValuesFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryDocValuesFormat.java
index 81b2367..1c83eec 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryDocValuesFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseCompressingDocValuesFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryPostingsFormat.java
index 36782b4..3a56bf5 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestMemoryPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.memory;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
index cda6df3..ea38832 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseCompoundFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
index 1512957..155ab3a 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseDocValuesFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
index 68e5b95..e21f345 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseFieldInfoFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
index 0a88ca8..91e0c37 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseNormsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointFormat.java
index 6ef9a61..7637584 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePointFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
index 81219c6..7df8e68 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BasePostingsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
index 75be4ea..2270f59 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseSegmentInfoFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
index 9a8a2ff..8eed1a5 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
----------------------------------------------------------------------
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
index b0683c6..62df152 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.codecs.simpletext;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.codecs.simpletext;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.codecs.simpletext;
+
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.index.BaseTermVectorsFormatTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/LucenePackage.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/LucenePackage.java b/lucene/core/src/java/org/apache/lucene/LucenePackage.java
index 225e054..02fe86e 100644
--- a/lucene/core/src/java/org/apache/lucene/LucenePackage.java
+++ b/lucene/core/src/java/org/apache/lucene/LucenePackage.java
@@ -1,5 +1,3 @@
-package org.apache.lucene;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene;
+
 
 /** Lucene's package information, including version. **/
 public final class LucenePackage {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java b/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java
index 96d6bc1..cce740d 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.Closeable;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/AnalyzerWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/AnalyzerWrapper.java b/lucene/core/src/java/org/apache/lucene/analysis/AnalyzerWrapper.java
index 3c97438..1e5640f 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/AnalyzerWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/AnalyzerWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.Reader;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/CachingTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/CachingTokenFilter.java b/lucene/core/src/java/org/apache/lucene/analysis/CachingTokenFilter.java
index a8be808..010f41f 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/CachingTokenFilter.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/CachingTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/CharFilter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/CharFilter.java b/lucene/core/src/java/org/apache/lucene/analysis/CharFilter.java
index e6658af..0a3fcae 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/CharFilter.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/CharFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/DelegatingAnalyzerWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/DelegatingAnalyzerWrapper.java b/lucene/core/src/java/org/apache/lucene/analysis/DelegatingAnalyzerWrapper.java
index 5e2934c..6f05d4d 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/DelegatingAnalyzerWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/DelegatingAnalyzerWrapper.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis;
-
-import java.io.Reader;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.Reader;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
+import java.io.Reader;
+
 
 /**
  * An analyzer wrapper, that doesn't allow to wrap components or readers.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/LegacyNumericTokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/LegacyNumericTokenStream.java b/lucene/core/src/java/org/apache/lucene/analysis/LegacyNumericTokenStream.java
index e7abf1f..9bab26f 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/LegacyNumericTokenStream.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/LegacyNumericTokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/ReusableStringReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/ReusableStringReader.java b/lucene/core/src/java/org/apache/lucene/analysis/ReusableStringReader.java
index a629c0d..c350534 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/ReusableStringReader.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/ReusableStringReader.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.analysis;
-
-import java.io.Reader;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,10 @@ import java.io.Reader;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
+import java.io.Reader;
+
 
 /** Internal class to enable reuse of the string reader by {@link Analyzer#tokenStream(String,String)} */
 final class ReusableStringReader extends Reader {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/Token.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/Token.java b/lucene/core/src/java/org/apache/lucene/analysis/Token.java
index 1cdd789..f2323a6 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/Token.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/Token.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
 import org.apache.lucene.analysis.tokenattributes.PackedTokenAttributeImpl;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java b/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
index 2961283..c097c26 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java b/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java
index 81178254..6a78e1c 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/TokenStream.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 import java.io.Closeable;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/TokenStreamToAutomaton.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/TokenStreamToAutomaton.java b/lucene/core/src/java/org/apache/lucene/analysis/TokenStreamToAutomaton.java
index b62a5ff..071fa4a 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/TokenStreamToAutomaton.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/TokenStreamToAutomaton.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java b/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
index c885360..33f972a 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis;
+
 
 import java.io.IOException;
 import java.io.Reader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/package-info.java b/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
index 511f268..4a748663 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Text analysis. 
  * <p>API and code to convert text into indexable/searchable tokens.  Covers {@link org.apache.lucene.analysis.Analyzer} and related classes.</p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttribute.java
index 2085e5f..4c65086 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
index 81fa816..6cebb9d 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import java.util.Objects;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java
index f9ec8ea..5e10bd7 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
index d75da21..a1ac69b 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import java.nio.CharBuffer;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java
index 8e05ef5..842e47d 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
index b1c26e9..208a32d 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttribute.java
index d3906ab..8b99bc2 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.util.Attribute;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java
index 37d2b89..bda62bb 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/KeywordAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java
index a0f87d5..1153448 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
index 45ee5ad..cdc5d42 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PackedTokenAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PackedTokenAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PackedTokenAttributeImpl.java
index df280ed..a84d7b7 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PackedTokenAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PackedTokenAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
index fa63d9c..73ecdeb 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
index 1d4d981..5eaed0c 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java
index 807987b..2e73713 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
index 1f0bffa..283f481 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttribute.java
index b402ead..210eb0f 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
index 672d43c..9bfdb49 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute.java
index f6630da..7fe5e25 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.BytesRef;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttribute.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttribute.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttribute.java
index 00ee0d4..74ceb72 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttribute.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttribute.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.analysis.tokenattributes;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.analysis.tokenattributes;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.analysis.tokenattributes;
+
 
 import org.apache.lucene.util.Attribute;
 


[21/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptOperations.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptOperations.java b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptOperations.java
index f0cd482..82d5056 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptOperations.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestJavascriptOperations.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.expressions.js;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
 
 import org.apache.lucene.expressions.Expression;
 import org.apache.lucene.util.LuceneTestCase;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestVariableContext.java
----------------------------------------------------------------------
diff --git a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestVariableContext.java b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestVariableContext.java
index f8392ed..c3cc351 100644
--- a/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestVariableContext.java
+++ b/lucene/expressions/src/test/org/apache/lucene/expressions/js/TestVariableContext.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.expressions.js;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.expressions.js;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.expressions.js;
+
 
 import org.apache.lucene.util.LuceneTestCase;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/DrillDownQuery.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/DrillDownQuery.java b/lucene/facet/src/java/org/apache/lucene/facet/DrillDownQuery.java
index 7967aae..91d5b0f 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/DrillDownQuery.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/DrillDownQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java b/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java
index e633579..cc5647e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java b/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java
index 0103163..b3ffb0d 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
+
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java b/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java
index d825b2a..42da30a 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java b/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java
index 2b2a39e..14dabf1 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/FacetField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/FacetResult.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/FacetResult.java b/lucene/facet/src/java/org/apache/lucene/facet/FacetResult.java
index b90622d..7635364 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/FacetResult.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/FacetResult.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/Facets.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/Facets.java b/lucene/facet/src/java/org/apache/lucene/facet/Facets.java
index 4842603..e9c4707 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/Facets.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/Facets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java b/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
index 99300df..d3f2eb8 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java b/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
index 4b155fe..96db60f 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -30,7 +29,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import org.apache.lucene.document.BinaryDocValuesField;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/LabelAndValue.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/LabelAndValue.java b/lucene/facet/src/java/org/apache/lucene/facet/LabelAndValue.java
index 018d6a6..9e460eb 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/LabelAndValue.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/LabelAndValue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 /** Single label and its value, usually contained in a
  *  {@link FacetResult}. */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java b/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java
index e5a764c..a890816 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/MultiFacets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/RandomSamplingFacetsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/RandomSamplingFacetsCollector.java b/lucene/facet/src/java/org/apache/lucene/facet/RandomSamplingFacetsCollector.java
index dcc366a..74590da 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/RandomSamplingFacetsCollector.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/RandomSamplingFacetsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndFloatQueue.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndFloatQueue.java b/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndFloatQueue.java
index e6972d4..d0fe8a9 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndFloatQueue.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndFloatQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndIntQueue.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndIntQueue.java b/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndIntQueue.java
index b605441..4429116 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndIntQueue.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/TopOrdAndIntQueue.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import org.apache.lucene.util.PriorityQueue;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRange.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRange.java b/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRange.java
index 415efe4..362dd7b 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRange.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRange.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRangeFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRangeFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRangeFacetCounts.java
index 485a8d6..8892725 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRangeFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRangeFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/LongRange.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/LongRange.java b/lucene/facet/src/java/org/apache/lucene/facet/range/LongRange.java
index d6745de..73c519d 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/LongRange.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/LongRange.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java b/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java
index 0f047b2..8c0b123 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeCounter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeFacetCounts.java
index d729576..0512ab3 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/LongRangeFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/Range.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/Range.java b/lucene/facet/src/java/org/apache/lucene/facet/range/Range.java
index 3abfdde..2273831 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/Range.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/Range.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import org.apache.lucene.facet.DrillDownQuery; // javadocs
 import org.apache.lucene.queries.function.ValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
index 1b91d2a..61ec53f 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java b/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
index aa41077..8e5d812 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/package-info.java
@@ -14,8 +14,4 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/**
- * Provides range faceting capabilities. 
- */
 package org.apache.lucene.facet.range;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
index 7ff40c7..5d374f7 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/DefaultSortedSetDocValuesReaderState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.sortedset;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.sortedset;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.sortedset;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java
index a54932f..a571328 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.sortedset;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.sortedset;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.sortedset;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetField.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetField.java b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetField.java
index d24491d..9b6c26e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetField.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.sortedset;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.sortedset;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.sortedset;
 
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesReaderState.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesReaderState.java b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesReaderState.java
index 177173a..83ed3f0 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesReaderState.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesReaderState.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.sortedset;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.sortedset;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.sortedset;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/AssociationFacetField.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/AssociationFacetField.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/AssociationFacetField.java
index 216595e..c2696a4 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/AssociationFacetField.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/AssociationFacetField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java
index d80e8d3..0fbf4fb 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/DocValuesOrdinalsReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/DocValuesOrdinalsReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/DocValuesOrdinalsReader.java
index 941b575..6afe5c7 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/DocValuesOrdinalsReader.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/DocValuesOrdinalsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 
@@ -28,7 +27,6 @@ import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IntsRef;
 
 /** Decodes ordinals previously indexed into a BinaryDocValues field */
-
 public class DocValuesOrdinalsReader extends OrdinalsReader {
   private final String field;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FacetLabel.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FacetLabel.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FacetLabel.java
index ee14e7f..2778d9e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FacetLabel.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FacetLabel.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import static org.apache.lucene.util.ByteBlockPool.BYTE_BLOCK_SIZE;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FakeScorer.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FakeScorer.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FakeScorer.java
index 0a8f0ed..238b74c 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FakeScorer.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FakeScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FastTaxonomyFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FastTaxonomyFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FastTaxonomyFacetCounts.java
index 7f4afce..0ed8f22 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FastTaxonomyFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FastTaxonomyFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatAssociationFacetField.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatAssociationFacetField.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatAssociationFacetField.java
index d89b49e..a3bc8c4 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatAssociationFacetField.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatAssociationFacetField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatTaxonomyFacets.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatTaxonomyFacets.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatTaxonomyFacets.java
index d82db6e..2e8231d 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatTaxonomyFacets.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatTaxonomyFacets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntAssociationFacetField.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntAssociationFacetField.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntAssociationFacetField.java
index e2f953f..19ea0d7 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntAssociationFacetField.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntAssociationFacetField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntTaxonomyFacets.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntTaxonomyFacets.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntTaxonomyFacets.java
index bfc5ed5..1b0a96d 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntTaxonomyFacets.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/IntTaxonomyFacets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/LRUHashMap.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/LRUHashMap.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/LRUHashMap.java
index 7b05298..238f919 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/LRUHashMap.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/LRUHashMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.util.LinkedHashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingLeafReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingLeafReader.java
index a0fef04..f116cd9 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingLeafReader.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalsReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalsReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalsReader.java
index 985059e..fdee365 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalsReader.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/ParallelTaxonomyArrays.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/ParallelTaxonomyArrays.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/ParallelTaxonomyArrays.java
index fbfd912..a9c27da 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/ParallelTaxonomyArrays.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/ParallelTaxonomyArrays.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 /**
  * Returns 3 arrays for traversing the taxonomy:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/PrintTaxonomyStats.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/PrintTaxonomyStats.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/PrintTaxonomyStats.java
index 668a300..1065462 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/PrintTaxonomyStats.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/PrintTaxonomyStats.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/SearcherTaxonomyManager.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/SearcherTaxonomyManager.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/SearcherTaxonomyManager.java
index cdd0a15..92ef58e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/SearcherTaxonomyManager.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/SearcherTaxonomyManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetCounts.java
index cbb7491..7dd31d3 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumFloatAssociations.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumFloatAssociations.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumFloatAssociations.java
index cded8c2..a76e750 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumFloatAssociations.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumFloatAssociations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumIntAssociations.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumIntAssociations.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumIntAssociations.java
index 2b5d3e3..64001ad 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumIntAssociations.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumIntAssociations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java
index bef02b4..4010c81 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java
index d1d9e11..d111b44 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyMergeUtils.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyMergeUtils.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyMergeUtils.java
index 7be7294..8d8f01b 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyMergeUtils.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyMergeUtils.java
@@ -1,20 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.apache.lucene.facet.FacetsConfig;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.CodecReader;
-import org.apache.lucene.index.MultiReader;
-import org.apache.lucene.index.SlowCodecReaderWrapper;
-import org.apache.lucene.store.Directory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -31,6 +14,20 @@ import org.apache.lucene.store.Directory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.apache.lucene.facet.FacetsConfig;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.CodecReader;
+import org.apache.lucene.index.SlowCodecReaderWrapper;
+import org.apache.lucene.store.Directory;
 
 /**
  * Utility methods for merging index and taxonomy directories.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyReader.java
index a7b2240..319377a 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyReader.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyReader.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.lucene.store.AlreadyClosedException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,14 @@ import org.apache.lucene.store.AlreadyClosedException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.lucene.store.AlreadyClosedException;
 
 /**
  * TaxonomyReader is the read-only interface with which the faceted-search

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyWriter.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyWriter.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyWriter.java
index d00d1d0..763fe97 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyWriter.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyWriter.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.Map;
-
-import org.apache.lucene.index.TwoPhaseCommit;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.apache.lucene.index.TwoPhaseCommit;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.Map;
+
+import org.apache.lucene.index.TwoPhaseCommit;
 
 /**
  * TaxonomyWriter is the interface which the faceted-search library uses

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/Consts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/Consts.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/Consts.java
index 2f103e8..faf41e2 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/Consts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/Consts.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.facet.taxonomy.directory;
-
-import org.apache.lucene.util.BytesRef;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.util.BytesRef;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.directory;
+
+import org.apache.lucene.util.BytesRef;
 
 /**
  * @lucene.experimental

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
index 2418a19..dee967e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet.taxonomy.directory;
 
 import java.io.IOException;
@@ -21,23 +37,6 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IOUtils;
 
-/*
- * 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.
- */
-
 /**
  * A {@link TaxonomyReader} which retrieves stored taxonomy information from a
  * {@link Directory}.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
index e241007..4c6101f 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet.taxonomy.directory;
 
 import java.io.BufferedInputStream;
@@ -46,23 +62,6 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.LockObtainFailedException;
 import org.apache.lucene.util.BytesRef;
 
-/*
- * 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.
- */
-
 /**
  * {@link TaxonomyWriter} which uses a {@link Directory} to store the taxonomy
  * information on disk, and keeps an additional in-memory cache of some or all

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/TaxonomyIndexArrays.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/TaxonomyIndexArrays.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/TaxonomyIndexArrays.java
index c798185..bdd5c80 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/TaxonomyIndexArrays.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/TaxonomyIndexArrays.java
@@ -1,16 +1,3 @@
-package org.apache.lucene.facet.taxonomy.directory;
-
-import org.apache.lucene.facet.taxonomy.ParallelTaxonomyArrays;
-import org.apache.lucene.facet.taxonomy.TaxonomyReader;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.MultiFields;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.util.ArrayUtil;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -27,6 +14,18 @@ import java.io.IOException;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.directory;
+
+import org.apache.lucene.facet.taxonomy.ParallelTaxonomyArrays;
+import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.PostingsEnum;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.util.ArrayUtil;
+
+import java.io.IOException;
 
 /**
  * A {@link ParallelTaxonomyArrays} that are initialized from the taxonomy

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CategoryPathUtils.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CategoryPathUtils.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CategoryPathUtils.java
index 1ea5e97..497440e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CategoryPathUtils.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CategoryPathUtils.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.facet.taxonomy.FacetLabel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
 
 /** Utilities for use of {@link FacetLabel} by {@link CompactLabelToOrdinal}. */
 class CategoryPathUtils {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java
index d182f8b..017641a 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CharBlockArray.java
@@ -1,14 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import java.util.List;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Similar to {@link StringBuilder}, but with a more efficient growing strategy.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/Cl2oTaxonomyWriterCache.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/Cl2oTaxonomyWriterCache.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/Cl2oTaxonomyWriterCache.java
index 9d678f0..03b0a3c 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/Cl2oTaxonomyWriterCache.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/Cl2oTaxonomyWriterCache.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-import org.apache.lucene.facet.taxonomy.writercache.TaxonomyWriterCache;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import org.apache.lucene.facet.taxonomy.writercache.TaxonomyWriterCache;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
+import org.apache.lucene.facet.taxonomy.writercache.TaxonomyWriterCache;
 
 /**
  * {@link TaxonomyWriterCache} using {@link CompactLabelToOrdinal}. Although

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CollisionMap.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CollisionMap.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CollisionMap.java
index 28cc8ee..205a540 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CollisionMap.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CollisionMap.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import org.apache.lucene.facet.taxonomy.FacetLabel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
 
 /**
  * HashMap to store colliding labels. See {@link CompactLabelToOrdinal} for

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CompactLabelToOrdinal.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CompactLabelToOrdinal.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CompactLabelToOrdinal.java
index 68922a4..4e6173e 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CompactLabelToOrdinal.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/CompactLabelToOrdinal.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy.writercache;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LabelToOrdinal.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LabelToOrdinal.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LabelToOrdinal.java
index 6332621..40884f6 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LabelToOrdinal.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LabelToOrdinal.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.facet.taxonomy.FacetLabel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
 
 /**
  * Abstract class for storing Label-&gt;Ordinal mappings in a taxonomy. 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LruTaxonomyWriterCache.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LruTaxonomyWriterCache.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LruTaxonomyWriterCache.java
index 1393a0d..828e2b6 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LruTaxonomyWriterCache.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/LruTaxonomyWriterCache.java
@@ -1,8 +1,3 @@
- package org.apache.lucene.facet.taxonomy.writercache;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-import org.apache.lucene.facet.taxonomy.writercache.TaxonomyWriterCache;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import org.apache.lucene.facet.taxonomy.writercache.TaxonomyWriterCache;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
+import org.apache.lucene.facet.taxonomy.writercache.TaxonomyWriterCache;
 
 /**
  * LRU {@link TaxonomyWriterCache} - good choice for huge taxonomies.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameHashIntCacheLRU.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameHashIntCacheLRU.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameHashIntCacheLRU.java
index 9743d4b..450d9d9 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameHashIntCacheLRU.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameHashIntCacheLRU.java
@@ -1,7 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,6 +14,9 @@ import org.apache.lucene.facet.taxonomy.FacetLabel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
 
 /**
  * An an LRU cache of mapping from name to int.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java
index b425496..778f0b7 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/NameIntCacheLRU.java
@@ -1,10 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -21,6 +14,12 @@ import org.apache.lucene.facet.taxonomy.FacetLabel;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import org.apache.lucene.facet.taxonomy.FacetLabel;
 
 /**
  * An an LRU cache of mapping from name to int.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/TaxonomyWriterCache.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/TaxonomyWriterCache.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/TaxonomyWriterCache.java
index d5e5b40..f310426 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/TaxonomyWriterCache.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/TaxonomyWriterCache.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import org.apache.lucene.facet.taxonomy.FacetLabel;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
 
 /**
  * TaxonomyWriterCache is a relatively simple interface for a cache of

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java b/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java
index 61c1277..793cc412 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/AssertingSubDocsAtOnceCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java b/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java
index 1622e3d..a88a080 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/FacetTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/SlowRAMDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/SlowRAMDirectory.java b/lucene/facet/src/test/org/apache/lucene/facet/SlowRAMDirectory.java
index f4a6464..f6e691e 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/SlowRAMDirectory.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/SlowRAMDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/TestDrillDownQuery.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/TestDrillDownQuery.java b/lucene/facet/src/test/org/apache/lucene/facet/TestDrillDownQuery.java
index 1ac4ea8..f76e839 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/TestDrillDownQuery.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/TestDrillDownQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.Random;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java b/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java
index 7027269..e37215e 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java b/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
index 3c217b4..630aadf 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java b/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java
index 97528cd..ea29c68 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/TestMultipleIndexFields.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/TestRandomSamplingFacetsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/TestRandomSamplingFacetsCollector.java b/lucene/facet/src/test/org/apache/lucene/facet/TestRandomSamplingFacetsCollector.java
index cf9d316..a275c27 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/TestRandomSamplingFacetsCollector.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/TestRandomSamplingFacetsCollector.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet;
 
 import java.util.List;
@@ -20,23 +36,6 @@ import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.IOUtils;
 
-/*
- * 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.
- */
-
 public class TestRandomSamplingFacetsCollector extends FacetTestCase {
   
   // The first 50 chi-square value for p-value=0.05, taken from:


[86/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
deleted file mode 100644
index abdcf95..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * 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.lucene.search;
-
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.apache.lucene.index.Terms;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.util.AttributeSource;
-import org.apache.lucene.util.GeoRect;
-import org.apache.lucene.util.GeoRelationUtils;
-import org.apache.lucene.util.GeoUtils;
-
-/** Implements a simple point in polygon query on a GeoPoint field. This is based on
- * {@code GeoPointInBBoxQueryImpl} and is implemented using a
- * three phase approach. First, like {@code GeoPointInBBoxQueryImpl}
- * candidate terms are queried using a numeric range based on the morton codes
- * of the min and max lat/lon pairs. Terms passing this initial filter are passed
- * to a secondary filter that verifies whether the decoded lat/lon point falls within
- * (or on the boundary) of the bounding box query. Finally, the remaining candidate
- * term is passed to the final point in polygon check. All value comparisons are subject
- * to the same precision tolerance defined in {@value org.apache.lucene.util.GeoUtils#TOLERANCE}
- *
- * <p>NOTES:
- *    1.  The polygon coordinates need to be in either clockwise or counter-clockwise order.
- *    2.  The polygon must not be self-crossing, otherwise the query may result in unexpected behavior
- *    3.  All latitude/longitude values must be in decimal degrees.
- *    4.  Complex computational geometry (e.g., dateline wrapping, polygon with holes) is not supported
- *    5.  For more advanced GeoSpatial indexing and query operations see spatial module
- *
- * @lucene.experimental
- */
-public final class GeoPointInPolygonQuery extends GeoPointInBBoxQueryImpl {
-  // polygon position arrays - this avoids the use of any objects or
-  // or geo library dependencies
-  private final double[] x;
-  private final double[] y;
-
-  /**
-   * Constructs a new GeoPolygonQuery that will match encoded {@link org.apache.lucene.document.GeoPointField} terms
-   * that fall within or on the boundary of the polygon defined by the input parameters.
-   */
-  public GeoPointInPolygonQuery(final String field, final double[] polyLons, final double[] polyLats) {
-    this(field, GeoUtils.polyToBBox(polyLons, polyLats), polyLons, polyLats);
-  }
-
-  /** Common constructor, used only internally. */
-  private GeoPointInPolygonQuery(final String field, GeoRect bbox, final double[] polyLons, final double[] polyLats) {
-    super(field, bbox.minLon, bbox.minLat, bbox.maxLon, bbox.maxLat);
-    if (polyLats.length != polyLons.length) {
-      throw new IllegalArgumentException("polyLats and polyLons must be equal length");
-    }
-    if (polyLats.length < 4) {
-      throw new IllegalArgumentException("at least 4 polygon points required");
-    }
-    if (polyLats[0] != polyLats[polyLats.length-1]) {
-      throw new IllegalArgumentException("first and last points of the polygon must be the same (it must close itself): polyLats[0]=" + polyLats[0] + " polyLats[" + (polyLats.length-1) + "]=" + polyLats[polyLats.length-1]);
-    }
-    if (polyLons[0] != polyLons[polyLons.length-1]) {
-      throw new IllegalArgumentException("first and last points of the polygon must be the same (it must close itself): polyLons[0]=" + polyLons[0] + " polyLons[" + (polyLons.length-1) + "]=" + polyLons[polyLons.length-1]);
-    }
-
-    this.x = polyLons;
-    this.y = polyLats;
-  }
-
-  @Override @SuppressWarnings("unchecked")
-  protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
-    return new GeoPolygonTermsEnum(terms.iterator(), this.minLon, this.minLat, this.maxLon, this.maxLat);
-  }
-
-  @Override
-  public void setRewriteMethod(RewriteMethod method) {
-    throw new UnsupportedOperationException("cannot change rewrite method");
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-    if (!super.equals(o)) return false;
-
-    GeoPointInPolygonQuery that = (GeoPointInPolygonQuery) o;
-
-    if (!Arrays.equals(x, that.x)) return false;
-    if (!Arrays.equals(y, that.y)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + (x != null ? Arrays.hashCode(x) : 0);
-    result = 31 * result + (y != null ? Arrays.hashCode(y) : 0);
-    return result;
-  }
-
-  @Override
-  public String toString(String field) {
-    assert x.length == y.length;
-
-    final StringBuilder sb = new StringBuilder();
-    sb.append(getClass().getSimpleName());
-    sb.append(':');
-    if (!getField().equals(field)) {
-      sb.append(" field=");
-      sb.append(getField());
-      sb.append(':');
-    }
-    sb.append(" Points: ");
-    for (int i=0; i<x.length; ++i) {
-      sb.append("[")
-        .append(x[i])
-        .append(", ")
-        .append(y[i])
-        .append("] ");
-    }
-
-    return sb.toString();
-  }
-
-  /**
-   * Custom {@link org.apache.lucene.index.TermsEnum} that computes morton hash ranges based on the defined edges of
-   * the provided polygon.
-   */
-  private final class GeoPolygonTermsEnum extends GeoPointTermsEnum {
-    GeoPolygonTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
-                        final double maxLon, final double maxLat) {
-      super(tenum, minLon, minLat, maxLon, maxLat);
-    }
-
-    @Override
-    protected boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return GeoRelationUtils.rectCrossesPolyApprox(minLon, minLat, maxLon, maxLat, x, y, GeoPointInPolygonQuery.this.minLon,
-          GeoPointInPolygonQuery.this.minLat, GeoPointInPolygonQuery.this.maxLon, GeoPointInPolygonQuery.this.maxLat);
-    }
-
-    @Override
-    protected boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return GeoRelationUtils.rectWithinPolyApprox(minLon, minLat, maxLon, maxLat, x, y, GeoPointInPolygonQuery.this.minLon,
-          GeoPointInPolygonQuery.this.minLat, GeoPointInPolygonQuery.this.maxLon, GeoPointInPolygonQuery.this.maxLat);
-    }
-
-    @Override
-    protected boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return cellContains(minLon, minLat, maxLon, maxLat) || cellWithin(minLon, minLat, maxLon, maxLat)
-          || cellCrosses(minLon, minLat, maxLon, maxLat);
-    }
-
-    /**
-     * The two-phase query approach. The parent
-     * {@link org.apache.lucene.search.GeoPointTermsEnum#accept} method is called to match
-     * encoded terms that fall within the bounding box of the polygon. Those documents that pass the initial
-     * bounding box filter are then compared to the provided polygon using the
-     * {@link org.apache.lucene.util.GeoRelationUtils#pointInPolygon} method.
-     */
-    @Override
-    protected boolean postFilter(final double lon, final double lat) {
-      return GeoRelationUtils.pointInPolygon(x, y, lat, lon);
-    }
-  }
-
-  /**
-   * API utility method for returning the array of longitudinal values for this GeoPolygon
-   * The returned array is not a copy so do not change it!
-   */
-  public double[] getLons() {
-    return this.x;
-  }
-
-  /**
-   * API utility method for returning the array of latitudinal values for this GeoPolygon
-   * The returned array is not a copy so do not change it!
-   */
-  public double[] getLats() {
-    return this.y;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
deleted file mode 100644
index 5ec0774..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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.lucene.search;
-
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.util.GeoUtils;
-
-/**
- * TermQuery for GeoPointField for overriding {@link org.apache.lucene.search.MultiTermQuery} methods specific to
- * Geospatial operations
- *
- * @lucene.experimental
- */
-abstract class GeoPointTermQuery extends MultiTermQuery {
-  // simple bounding box optimization - no objects used to avoid dependencies
-  protected final double minLon;
-  protected final double minLat;
-  protected final double maxLon;
-  protected final double maxLat;
-
-  /**
-   * Constructs a query matching terms that cannot be represented with a single
-   * Term.
-   */
-  public GeoPointTermQuery(String field, final double minLon, final double minLat, final double maxLon, final double maxLat) {
-    super(field);
-
-    if (GeoUtils.isValidLon(minLon) == false) {
-      throw new IllegalArgumentException("invalid minLon " + minLon);
-    }
-    if (GeoUtils.isValidLon(maxLon) == false) {
-      throw new IllegalArgumentException("invalid maxLon " + maxLon);
-    }
-    if (GeoUtils.isValidLat(minLat) == false) {
-      throw new IllegalArgumentException("invalid minLat " + minLat);
-    }
-    if (GeoUtils.isValidLat(maxLat) == false) {
-      throw new IllegalArgumentException("invalid maxLat " + maxLat);
-    }
-    this.minLon = minLon;
-    this.minLat = minLat;
-    this.maxLon = maxLon;
-    this.maxLat = maxLat;
-
-    this.rewriteMethod = GEO_CONSTANT_SCORE_REWRITE;
-  }
-
-  public static final RewriteMethod GEO_CONSTANT_SCORE_REWRITE = new RewriteMethod() {
-    @Override
-    public Query rewrite(IndexReader reader, MultiTermQuery query) {
-      return new GeoPointTermQueryConstantScoreWrapper<>((GeoPointTermQuery)query);
-    }
-  };
-
-
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
deleted file mode 100644
index e00bb72..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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.lucene.search;
-
-import java.io.IOException;
-
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.SortedNumericDocValues;
-import org.apache.lucene.index.Terms;
-import org.apache.lucene.util.DocIdSetBuilder;
-import org.apache.lucene.util.GeoUtils;
-
-/**
- * Custom ConstantScoreWrapper for {@code GeoPointTermQuery} that cuts over to DocValues
- * for post filtering boundary ranges. Multi-valued GeoPoint documents are supported.
- *
- * @lucene.experimental
- */
-final class GeoPointTermQueryConstantScoreWrapper <Q extends GeoPointTermQuery> extends Query {
-  protected final Q query;
-
-  protected GeoPointTermQueryConstantScoreWrapper(Q query) {
-    this.query = query;
-  }
-
-  @Override
-  public String toString(String field) {
-    return query.toString();
-  }
-
-  @Override
-  public final boolean equals(final Object o) {
-    if (super.equals(o) == false) {
-      return false;
-    }
-    final GeoPointTermQueryConstantScoreWrapper<?> that = (GeoPointTermQueryConstantScoreWrapper<?>) o;
-    return this.query.equals(that.query);
-  }
-
-  @Override
-  public final int hashCode() {
-    return 31 * super.hashCode() + query.hashCode();
-  }
-
-  @Override
-  public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
-    return new ConstantScoreWeight(this) {
-
-      private DocIdSet getDocIDs(LeafReaderContext context) throws IOException {
-        final Terms terms = context.reader().terms(query.field);
-        if (terms == null) {
-          return DocIdSet.EMPTY;
-        }
-
-        final GeoPointTermsEnum termsEnum = (GeoPointTermsEnum)(query.getTermsEnum(terms));
-        assert termsEnum != null;
-
-        LeafReader reader = context.reader();
-        DocIdSetBuilder builder = new DocIdSetBuilder(reader.maxDoc());
-        PostingsEnum docs = null;
-        SortedNumericDocValues sdv = reader.getSortedNumericDocValues(query.field);
-
-        while (termsEnum.next() != null) {
-          docs = termsEnum.postings(docs, PostingsEnum.NONE);
-          // boundary terms need post filtering by
-          if (termsEnum.boundaryTerm()) {
-            int docId = docs.nextDoc();
-            long hash;
-            do {
-              sdv.setDocument(docId);
-              for (int i=0; i<sdv.count(); ++i) {
-                hash = sdv.valueAt(i);
-                if (termsEnum.postFilter(GeoUtils.mortonUnhashLon(hash), GeoUtils.mortonUnhashLat(hash))) {
-                  builder.add(docId);
-                  break;
-                }
-              }
-            } while ((docId = docs.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS);
-          } else {
-            builder.add(docs);
-          }
-        }
-
-        return builder.build();
-      }
-
-      private Scorer scorer(DocIdSet set) throws IOException {
-        if (set == null) {
-          return null;
-        }
-        final DocIdSetIterator disi = set.iterator();
-        if (disi == null) {
-          return null;
-        }
-        return new ConstantScoreScorer(this, score(), disi);
-      }
-
-      @Override
-      public BulkScorer bulkScorer(LeafReaderContext context) throws IOException {
-        final Scorer scorer = scorer(getDocIDs(context));
-        if (scorer == null) {
-          return null;
-        }
-        return new DefaultBulkScorer(scorer);
-      }
-
-      @Override
-      public Scorer scorer(LeafReaderContext context) throws IOException {
-        return scorer(getDocIDs(context));
-      }
-    };
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
deleted file mode 100644
index e2f96d4..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermsEnum.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * 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.lucene.search;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.lucene.document.GeoPointField;
-import org.apache.lucene.index.FilteredTermsEnum;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.GeoRelationUtils;
-import org.apache.lucene.util.GeoUtils;
-import org.apache.lucene.util.LegacyNumericUtils;
-
-/**
- * computes all ranges along a space-filling curve that represents
- * the given bounding box and enumerates all terms contained within those ranges
- *
- *  @lucene.experimental
- */
-abstract class GeoPointTermsEnum extends FilteredTermsEnum {
-  protected final double minLon;
-  protected final double minLat;
-  protected final double maxLon;
-  protected final double maxLat;
-
-  protected Range currentRange;
-  private final BytesRefBuilder currentCell = new BytesRefBuilder();
-  private final BytesRefBuilder nextSubRange = new BytesRefBuilder();
-
-  private final List<Range> rangeBounds = new LinkedList<>();
-
-  // detail level should be a factor of PRECISION_STEP limiting the depth of recursion (and number of ranges)
-  protected final short DETAIL_LEVEL;
-
-  GeoPointTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
-                    final double maxLon, final double maxLat) {
-    super(tenum);
-    final long rectMinHash = GeoUtils.mortonHash(minLon, minLat);
-    final long rectMaxHash = GeoUtils.mortonHash(maxLon, maxLat);
-    this.minLon = GeoUtils.mortonUnhashLon(rectMinHash);
-    this.minLat = GeoUtils.mortonUnhashLat(rectMinHash);
-    this.maxLon = GeoUtils.mortonUnhashLon(rectMaxHash);
-    this.maxLat = GeoUtils.mortonUnhashLat(rectMaxHash);
-    DETAIL_LEVEL = (short)(((GeoUtils.BITS<<1)-computeMaxShift())/2);
-
-    computeRange(0L, (short) ((GeoUtils.BITS << 1) - 1));
-    assert rangeBounds.isEmpty() == false;
-    Collections.sort(rangeBounds);
-  }
-
-  /**
-   * entry point for recursively computing ranges
-   */
-  private final void computeRange(long term, final short shift) {
-    final long split = term | (0x1L<<shift);
-    assert shift < 64;
-    final long upperMax;
-    if (shift < 63) {
-      upperMax = term | ((1L << (shift+1))-1);
-    } else {
-      upperMax = 0xffffffffffffffffL;
-    }
-    final long lowerMax = split-1;
-
-    relateAndRecurse(term, lowerMax, shift);
-    relateAndRecurse(split, upperMax, shift);
-  }
-
-  /**
-   * recurse to higher level precision cells to find ranges along the space-filling curve that fall within the
-   * query box
-   *
-   * @param start starting value on the space-filling curve for a cell at a given res
-   * @param end ending value on the space-filling curve for a cell at a given res
-   * @param res spatial res represented as a bit shift (MSB is lower res)
-   */
-  private void relateAndRecurse(final long start, final long end, final short res) {
-    final double minLon = GeoUtils.mortonUnhashLon(start);
-    final double minLat = GeoUtils.mortonUnhashLat(start);
-    final double maxLon = GeoUtils.mortonUnhashLon(end);
-    final double maxLat = GeoUtils.mortonUnhashLat(end);
-
-    final short level = (short)((GeoUtils.BITS<<1)-res>>>1);
-
-    // if cell is within and a factor of the precision step, or it crosses the edge of the shape add the range
-    final boolean within = res % GeoPointField.PRECISION_STEP == 0 && cellWithin(minLon, minLat, maxLon, maxLat);
-    if (within || (level == DETAIL_LEVEL && cellIntersectsShape(minLon, minLat, maxLon, maxLat))) {
-      final short nextRes = (short)(res-1);
-      if (nextRes % GeoPointField.PRECISION_STEP == 0) {
-        rangeBounds.add(new Range(start, nextRes, !within));
-        rangeBounds.add(new Range(start|(1L<<nextRes), nextRes, !within));
-      } else {
-        rangeBounds.add(new Range(start, res, !within));
-      }
-    } else if (level < DETAIL_LEVEL && cellIntersectsMBR(minLon, minLat, maxLon, maxLat)) {
-      computeRange(start, (short) (res - 1));
-    }
-  }
-
-  protected short computeMaxShift() {
-    // in this case a factor of 4 brings the detail level to ~0.002/0.001 degrees lon/lat respectively (or ~222m/111m)
-    return GeoPointField.PRECISION_STEP * 4;
-  }
-
-  /**
-   * Determine whether the quad-cell crosses the shape
-   */
-  protected abstract boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat);
-
-  /**
-   * Determine whether quad-cell is within the shape
-   */
-  protected abstract boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat);
-
-  /**
-   * Default shape is a rectangle, so this returns the same as {@code cellIntersectsMBR}
-   */
-  protected abstract boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat);
-
-  /**
-   * Primary driver for cells intersecting shape boundaries
-   */
-  protected boolean cellIntersectsMBR(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-    return GeoRelationUtils.rectIntersects(minLon, minLat, maxLon, maxLat, this.minLon, this.minLat, this.maxLon, this.maxLat);
-  }
-
-  /**
-   * Return whether quad-cell contains the bounding box of this shape
-   */
-  protected boolean cellContains(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-    return GeoRelationUtils.rectWithin(this.minLon, this.minLat, this.maxLon, this.maxLat, minLon, minLat, maxLon, maxLat);
-  }
-
-  public boolean boundaryTerm() {
-    if (currentRange == null) {
-      throw new IllegalStateException("GeoPointTermsEnum empty or not initialized");
-    }
-    return currentRange.boundary;
-  }
-
-  private void nextRange() {
-    currentRange = rangeBounds.remove(0);
-    currentRange.fillBytesRef(currentCell);
-  }
-
-  @Override
-  protected final BytesRef nextSeekTerm(BytesRef term) {
-    while (!rangeBounds.isEmpty()) {
-      if (currentRange == null) {
-        nextRange();
-      }
-
-      // if the new upper bound is before the term parameter, the sub-range is never a hit
-      if (term != null && term.compareTo(currentCell.get()) > 0) {
-        nextRange();
-        if (!rangeBounds.isEmpty()) {
-          continue;
-        }
-      }
-      // never seek backwards, so use current term if lower bound is smaller
-      return (term != null && term.compareTo(currentCell.get()) > 0) ?
-          term : currentCell.get();
-    }
-
-    // no more sub-range enums available
-    assert rangeBounds.isEmpty();
-    return null;
-  }
-
-  /**
-   * The two-phase query approach. {@link #nextSeekTerm} is called to obtain the next term that matches a numeric
-   * range of the bounding box. Those terms that pass the initial range filter are then compared against the
-   * decoded min/max latitude and longitude values of the bounding box only if the range is not a "boundary" range
-   * (e.g., a range that straddles the boundary of the bbox).
-   * @param term term for candidate document
-   * @return match status
-   */
-  @Override
-  protected AcceptStatus accept(BytesRef term) {
-    // validate value is in range
-    while (currentCell == null || term.compareTo(currentCell.get()) > 0) {
-      if (rangeBounds.isEmpty()) {
-        return AcceptStatus.END;
-      }
-      // peek next sub-range, only seek if the current term is smaller than next lower bound
-      rangeBounds.get(0).fillBytesRef(this.nextSubRange);
-      if (term.compareTo(this.nextSubRange.get()) < 0) {
-        return AcceptStatus.NO_AND_SEEK;
-      }
-      // step forward to next range without seeking, as next range is less or equal current term
-      nextRange();
-    }
-
-    return AcceptStatus.YES;
-  }
-
-  protected abstract boolean postFilter(final double lon, final double lat);
-
-  /**
-   * Internal class to represent a range along the space filling curve
-   */
-  protected final class Range implements Comparable<Range> {
-    final short shift;
-    final long start;
-    final boolean boundary;
-
-    Range(final long lower, final short shift, boolean boundary) {
-      this.boundary = boundary;
-      this.start = lower;
-      this.shift = shift;
-    }
-
-    /**
-     * Encode as a BytesRef using a reusable object. This allows us to lazily create the BytesRef (which is
-     * quite expensive), only when we need it.
-     */
-    private void fillBytesRef(BytesRefBuilder result) {
-      assert result != null;
-      LegacyNumericUtils.longToPrefixCoded(start, shift, result);
-    }
-
-    @Override
-    public int compareTo(Range other) {
-      final int result = Short.compare(this.shift, other.shift);
-      if (result == 0) {
-        return Long.compare(this.start, other.start);
-      }
-      return result;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
index 861a109..44fe8fa 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/PointInPolygonQuery.java
@@ -26,8 +26,8 @@ import org.apache.lucene.index.PointValues;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.util.DocIdSetBuilder;
-import org.apache.lucene.util.GeoRelationUtils;
-import org.apache.lucene.util.GeoUtils;
+import org.apache.lucene.spatial.util.GeoRelationUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
 import org.apache.lucene.util.NumericUtils;
 
 /** Finds all previously indexed points that fall within the specified polygon.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
index 6ef1703..719a2c5 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/PointInRectQuery.java
@@ -26,7 +26,7 @@ import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.util.DocIdSetBuilder;
-import org.apache.lucene.util.GeoUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
 import org.apache.lucene.util.NumericUtils;
 
 /** Finds all previously indexed points that fall within the specified boundings box.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
deleted file mode 100644
index 9134709..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoDistanceUtils.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * 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.lucene.util;
-
-import static org.apache.lucene.util.SloppyMath.TO_RADIANS;
-
-/**
- * Reusable geo-spatial distance utility methods.
- *
- * @lucene.experimental
- */
-public class GeoDistanceUtils {
-  /** error threshold for point-distance queries (in percent) NOTE: Guideline from USGS is 0.005 **/
-  public static final double DISTANCE_PCT_ERR = 0.005;
-
-  /**
-   * Compute the great-circle distance using original haversine implementation published by Sinnot in:
-   * R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159
-   *
-   * NOTE: this differs from {@link org.apache.lucene.util.SloppyMath#haversin} in that it uses the semi-major axis
-   * of the earth instead of an approximation based on the average latitude of the two points (which can introduce an
-   * additional error up to .337%, or ~67.6 km at the equator)
-   */
-  public static double haversin(double lat1, double lon1, double lat2, double lon2) {
-    double dLat = TO_RADIANS * (lat2 - lat1);
-    double dLon = TO_RADIANS * (lon2 - lon1);
-    lat1 = TO_RADIANS * (lat1);
-    lat2 = TO_RADIANS * (lat2);
-
-    final double sinDLatO2 = SloppyMath.sin(dLat / 2);
-    final double sinDLonO2 = SloppyMath.sin(dLon / 2);
-
-    double a = sinDLatO2*sinDLatO2 + sinDLonO2 * sinDLonO2 * SloppyMath.cos(lat1) * SloppyMath.cos(lat2);
-    double c = 2 * SloppyMath.asin(Math.sqrt(a));
-    return (GeoProjectionUtils.SEMIMAJOR_AXIS * c);
-  }
-
-  /**
-   * Compute the distance between two geo-points using vincenty distance formula
-   * Vincenty uses the oblate spheroid whereas haversine uses unit sphere, this will give roughly
-   * 22m better accuracy (in worst case) than haversine
-   *
-   * @param lonA longitudinal coordinate of point A (in degrees)
-   * @param latA latitudinal coordinate of point A (in degrees)
-   * @param lonB longitudinal coordinate of point B (in degrees)
-   * @param latB latitudinal coordinate of point B (in degrees)
-   * @return distance (in meters) between point A and point B
-   */
-  public static final double vincentyDistance(final double lonA, final double latA, final double lonB, final double latB) {
-    final double L = StrictMath.toRadians(lonB - lonA);
-    final double oF = 1 - GeoProjectionUtils.FLATTENING;
-    final double U1 = StrictMath.atan(oF * StrictMath.tan(StrictMath.toRadians(latA)));
-    final double U2 = StrictMath.atan(oF * StrictMath.tan(StrictMath.toRadians(latB)));
-    final double sU1 = StrictMath.sin(U1);
-    final double cU1 = StrictMath.cos(U1);
-    final double sU2 = StrictMath.sin(U2);
-    final double cU2 = StrictMath.cos(U2);
-
-    double sigma, sinSigma, cosSigma;
-    double sinAlpha, cos2Alpha, cos2SigmaM;
-    double lambda = L;
-    double lambdaP;
-    double iters = 100;
-    double sinLambda, cosLambda, c;
-
-    do {
-      sinLambda = StrictMath.sin(lambda);
-      cosLambda = Math.cos(lambda);
-      sinSigma = Math.sqrt((cU2 * sinLambda) * (cU2 * sinLambda) + (cU1 * sU2 - sU1 * cU2 * cosLambda)
-          * (cU1 * sU2 - sU1 * cU2 * cosLambda));
-      if (sinSigma == 0) {
-        return 0;
-      }
-
-      cosSigma = sU1 * sU2 + cU1 * cU2 * cosLambda;
-      sigma = Math.atan2(sinSigma, cosSigma);
-      sinAlpha = cU1 * cU2 * sinLambda / sinSigma;
-      cos2Alpha = 1 - sinAlpha * sinAlpha;
-      cos2SigmaM = cosSigma - 2 * sU1 * sU2 / cos2Alpha;
-
-      c = GeoProjectionUtils.FLATTENING/16 * cos2Alpha * (4 + GeoProjectionUtils.FLATTENING * (4 - 3 * cos2Alpha));
-      lambdaP = lambda;
-      lambda = L + (1 - c) * GeoProjectionUtils.FLATTENING * sinAlpha * (sigma + c * sinSigma * (cos2SigmaM + c * cosSigma *
-          (-1 + 2 * cos2SigmaM * cos2SigmaM)));
-    } while (StrictMath.abs(lambda - lambdaP) > 1E-12 && --iters > 0);
-
-    if (iters == 0) {
-      return 0;
-    }
-
-    final double uSq = cos2Alpha * (GeoProjectionUtils.SEMIMAJOR_AXIS2 - GeoProjectionUtils.SEMIMINOR_AXIS2) / (GeoProjectionUtils.SEMIMINOR_AXIS2);
-    final double A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq)));
-    final double B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq)));
-    final double deltaSigma = B * sinSigma * (cos2SigmaM + B/4 * (cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) - B/6 * cos2SigmaM
-        * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)));
-
-    return (GeoProjectionUtils.SEMIMINOR_AXIS * A * (sigma - deltaSigma));
-  }
-
-  /**
-   * Computes distance between two points in a cartesian (x, y, {z - optional}) coordinate system
-   */
-  public static double linearDistance(double[] pt1, double[] pt2) {
-    assert pt1 != null && pt2 != null && pt1.length == pt2.length && pt1.length > 1;
-    final double d0 = pt1[0] - pt2[0];
-    final double d1 = pt1[1] - pt2[1];
-    if (pt1.length == 3) {
-      final double d2 = pt1[2] - pt2[2];
-      return Math.sqrt(d0*d0 + d1*d1 + d2*d2);
-    }
-    return Math.sqrt(d0*d0 + d1*d1);
-  }
-
-  /**
-   * Compute the inverse haversine to determine distance in degrees longitude for provided distance in meters
-   * @param lat latitude to compute delta degrees lon
-   * @param distance distance in meters to convert to degrees lon
-   * @return Sloppy distance in degrees longitude for provided distance in meters
-   */
-  public static double distanceToDegreesLon(double lat, double distance) {
-    distance /= 1000.0;
-    // convert latitude to radians
-    lat = StrictMath.toRadians(lat);
-
-    // get the diameter at the latitude
-    final double diameter = SloppyMath.earthDiameter(StrictMath.toRadians(lat));
-
-    // compute inverse haversine
-    double a = StrictMath.sin(distance/diameter);
-    double h = StrictMath.min(1, a);
-    h *= h;
-    double cLat = StrictMath.cos(lat);
-
-    return StrictMath.toDegrees(StrictMath.acos(1-((2d*h)/(cLat*cLat))));
-  }
-
-  /**
-   *  Finds the closest point within a rectangle (defined by rMinX, rMinY, rMaxX, rMaxY) to the given (lon, lat) point
-   *  the result is provided in closestPt.  When the point is outside the rectangle, the closest point is on an edge
-   *  or corner of the rectangle; else, the closest point is the point itself.
-   */
-  public static void closestPointOnBBox(final double rMinX, final double rMinY, final double rMaxX, final double rMaxY,
-                                        final double lon, final double lat, double[] closestPt) {
-    assert closestPt != null && closestPt.length == 2;
-
-    closestPt[0] = 0;
-    closestPt[1] = 0;
-
-    boolean xSet = true;
-    boolean ySet = true;
-
-    if (lon > rMaxX) {
-      closestPt[0] = rMaxX;
-    } else if (lon < rMinX) {
-      closestPt[0] = rMinX;
-    } else {
-      xSet = false;
-    }
-
-    if (lat > rMaxY) {
-      closestPt[1] = rMaxY;
-    } else if (lat < rMinY) {
-      closestPt[1] = rMinY;
-    } else {
-      ySet = false;
-    }
-
-    if (closestPt[0] == 0 && xSet == false) {
-      closestPt[0] = lon;
-    }
-
-    if (closestPt[1] == 0 && ySet == false) {
-      closestPt[1] = lat;
-    }
-  }
-
-  /** Returns the maximum distance/radius (in meters) from the point 'center' before overlapping */
-  public static double maxRadialDistanceMeters(final double centerLon, final double centerLat) {
-    if (Math.abs(centerLat) == GeoUtils.MAX_LAT_INCL) {
-      return GeoDistanceUtils.haversin(centerLat, centerLon, 0, centerLon);
-    }
-    return GeoDistanceUtils.haversin(centerLat, centerLon, centerLat, (GeoUtils.MAX_LON_INCL + centerLon) % 360);
-  }
-
-  /**
-   * Compute the inverse haversine to determine distance in degrees longitude for provided distance in meters
-   * @param lat latitude to compute delta degrees lon
-   * @param distance distance in meters to convert to degrees lon
-   * @return Sloppy distance in degrees longitude for provided distance in meters
-   */
-  public static double distanceToDegreesLat(double lat, double distance) {
-    // get the diameter at the latitude
-    final double diameter = SloppyMath.earthDiameter(StrictMath.toRadians(lat));
-    distance /= 1000.0;
-
-    // compute inverse haversine
-    double a = StrictMath.sin(distance/diameter);
-    double h = StrictMath.min(1, a);
-    h *= h;
-
-    return StrictMath.toDegrees(StrictMath.acos(1-(2d*h)));
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
deleted file mode 100644
index d421cc9..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoHashUtils.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * 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.lucene.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Utilities for converting to/from the GeoHash standard
- *
- * The geohash long format is represented as lon/lat (x/y) interleaved with the 4 least significant bits
- * representing the level (1-12) [xyxy...xyxyllll]
- *
- * This differs from a morton encoded value which interleaves lat/lon (y/x).
- *
- * @lucene.experimental
- */
-public class GeoHashUtils {
-  public static final char[] BASE_32 = {'0', '1', '2', '3', '4', '5', '6',
-      '7', '8', '9', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'm', 'n',
-      'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
-
-  public static final String BASE_32_STRING = new String(BASE_32);
-
-  public static final int PRECISION = 12;
-  private static final short MORTON_OFFSET = (GeoUtils.BITS<<1) - (PRECISION*5);
-
-  /**
-   * Encode lon/lat to the geohash based long format (lon/lat interleaved, 4 least significant bits = level)
-   */
-  public static final long longEncode(final double lon, final double lat, final int level) {
-    // shift to appropriate level
-    final short msf = (short)(((12 - level) * 5) + MORTON_OFFSET);
-    return ((BitUtil.flipFlop(GeoUtils.mortonHash(lon, lat)) >>> msf) << 4) | level;
-  }
-
-  /**
-   * Encode from geohash string to the geohash based long format (lon/lat interleaved, 4 least significant bits = level)
-   */
-  public static final long longEncode(final String hash) {
-    int level = hash.length()-1;
-    long b;
-    long l = 0L;
-    for(char c : hash.toCharArray()) {
-      b = (long)(BASE_32_STRING.indexOf(c));
-      l |= (b<<(level--*5));
-    }
-    return (l<<4)|hash.length();
-  }
-
-  /**
-   * Encode an existing geohash long to the provided precision
-   */
-  public static long longEncode(long geohash, int level) {
-    final short precision = (short)(geohash & 15);
-    if (precision == level) {
-      return geohash;
-    } else if (precision > level) {
-      return ((geohash >>> (((precision - level) * 5) + 4)) << 4) | level;
-    }
-    return ((geohash >>> 4) << (((level - precision) * 5) + 4) | level);
-  }
-
-  public static long fromMorton(long morton, int level) {
-    long mFlipped = BitUtil.flipFlop(morton);
-    mFlipped >>>= (((GeoHashUtils.PRECISION - level) * 5) + MORTON_OFFSET);
-    return (mFlipped << 4) | level;
-  }
-
-  /**
-   * Encode to a geohash string from the geohash based long format
-   */
-  public static final String stringEncode(long geoHashLong) {
-    int level = (int)geoHashLong&15;
-    geoHashLong >>>= 4;
-    char[] chars = new char[level];
-    do {
-      chars[--level] = BASE_32[(int) (geoHashLong&31L)];
-      geoHashLong>>>=5;
-    } while(level > 0);
-
-    return new String(chars);
-  }
-
-  /**
-   * Encode to a geohash string from full resolution longitude, latitude)
-   */
-  public static final String stringEncode(final double lon, final double lat) {
-    return stringEncode(lon, lat, 12);
-  }
-
-  /**
-   * Encode to a level specific geohash string from full resolution longitude, latitude
-   */
-  public static final String stringEncode(final double lon, final double lat, final int level) {
-    // convert to geohashlong
-    final long ghLong = fromMorton(GeoUtils.mortonHash(lon, lat), level);
-    return stringEncode(ghLong);
-
-  }
-
-  /**
-   * Encode to a full precision geohash string from a given morton encoded long value
-   */
-  public static final String stringEncodeFromMortonLong(final long hashedVal) throws Exception {
-    return stringEncode(hashedVal, PRECISION);
-  }
-
-  /**
-   * Encode to a geohash string at a given level from a morton long
-   */
-  public static final String stringEncodeFromMortonLong(long hashedVal, final int level) {
-    // bit twiddle to geohash (since geohash is a swapped (lon/lat) encoding)
-    hashedVal = BitUtil.flipFlop(hashedVal);
-
-    StringBuilder geoHash = new StringBuilder();
-    short precision = 0;
-    final short msf = (GeoUtils.BITS<<1)-5;
-    long mask = 31L<<msf;
-    do {
-      geoHash.append(BASE_32[(int)((mask & hashedVal)>>>(msf-(precision*5)))]);
-      // next 5 bits
-      mask >>>= 5;
-    } while (++precision < level);
-    return geoHash.toString();
-  }
-
-  /**
-   * Encode to a morton long value from a given geohash string
-   */
-  public static final long mortonEncode(final String hash) {
-    int level = 11;
-    long b;
-    long l = 0L;
-    for(char c : hash.toCharArray()) {
-      b = (long)(BASE_32_STRING.indexOf(c));
-      l |= (b<<((level--*5) + MORTON_OFFSET));
-    }
-    return BitUtil.flipFlop(l);
-  }
-
-  /**
-   * Encode to a morton long value from a given geohash long value
-   */
-  public static final long mortonEncode(final long geoHashLong) {
-    final int level = (int)(geoHashLong&15);
-    final short odd = (short)(level & 1);
-
-    return BitUtil.flipFlop(((geoHashLong >>> 4) << odd) << (((12 - level) * 5) + (MORTON_OFFSET - odd)));
-  }
-
-  private static final char encode(int x, int y) {
-    return BASE_32[((x & 1) + ((y & 1) * 2) + ((x & 2) * 2) + ((y & 2) * 4) + ((x & 4) * 4)) % 32];
-  }
-
-  /**
-   * Calculate all neighbors of a given geohash cell.
-   *
-   * @param geohash Geohash of the defined cell
-   * @return geohashes of all neighbor cells
-   */
-  public static Collection<? extends CharSequence> neighbors(String geohash) {
-    return addNeighbors(geohash, geohash.length(), new ArrayList<CharSequence>(8));
-  }
-
-  /**
-   * Calculate the geohash of a neighbor of a geohash
-   *
-   * @param geohash the geohash of a cell
-   * @param level   level of the geohash
-   * @param dx      delta of the first grid coordinate (must be -1, 0 or +1)
-   * @param dy      delta of the second grid coordinate (must be -1, 0 or +1)
-   * @return geohash of the defined cell
-   */
-  public final static String neighbor(String geohash, int level, int dx, int dy) {
-    int cell = BASE_32_STRING.indexOf(geohash.charAt(level -1));
-
-    // Decoding the Geohash bit pattern to determine grid coordinates
-    int x0 = cell & 1;  // first bit of x
-    int y0 = cell & 2;  // first bit of y
-    int x1 = cell & 4;  // second bit of x
-    int y1 = cell & 8;  // second bit of y
-    int x2 = cell & 16; // third bit of x
-
-    // combine the bitpattern to grid coordinates.
-    // note that the semantics of x and y are swapping
-    // on each level
-    int x = x0 + (x1 / 2) + (x2 / 4);
-    int y = (y0 / 2) + (y1 / 4);
-
-    if (level == 1) {
-      // Root cells at north (namely "bcfguvyz") or at
-      // south (namely "0145hjnp") do not have neighbors
-      // in north/south direction
-      if ((dy < 0 && y == 0) || (dy > 0 && y == 3)) {
-        return null;
-      } else {
-        return Character.toString(encode(x + dx, y + dy));
-      }
-    } else {
-      // define grid coordinates for next level
-      final int nx = ((level % 2) == 1) ? (x + dx) : (x + dy);
-      final int ny = ((level % 2) == 1) ? (y + dy) : (y + dx);
-
-      // if the defined neighbor has the same parent a the current cell
-      // encode the cell directly. Otherwise find the cell next to this
-      // cell recursively. Since encoding wraps around within a cell
-      // it can be encoded here.
-      // xLimit and YLimit must always be respectively 7 and 3
-      // since x and y semantics are swapping on each level.
-      if (nx >= 0 && nx <= 7 && ny >= 0 && ny <= 3) {
-        return geohash.substring(0, level - 1) + encode(nx, ny);
-      } else {
-        String neighbor = neighbor(geohash, level - 1, dx, dy);
-        return (neighbor != null) ? neighbor + encode(nx, ny) : neighbor;
-      }
-    }
-  }
-
-  /**
-   * Add all geohashes of the cells next to a given geohash to a list.
-   *
-   * @param geohash   Geohash of a specified cell
-   * @param neighbors list to add the neighbors to
-   * @return the given list
-   */
-  public static final <E extends Collection<? super String>> E addNeighbors(String geohash, E neighbors) {
-    return addNeighbors(geohash, geohash.length(), neighbors);
-  }
-
-  /**
-   * Add all geohashes of the cells next to a given geohash to a list.
-   *
-   * @param geohash   Geohash of a specified cell
-   * @param length    level of the given geohash
-   * @param neighbors list to add the neighbors to
-   * @return the given list
-   */
-  public static final <E extends Collection<? super String>> E addNeighbors(String geohash, int length, E neighbors) {
-    String south = neighbor(geohash, length, 0, -1);
-    String north = neighbor(geohash, length, 0, +1);
-    if (north != null) {
-      neighbors.add(neighbor(north, length, -1, 0));
-      neighbors.add(north);
-      neighbors.add(neighbor(north, length, +1, 0));
-    }
-
-    neighbors.add(neighbor(geohash, length, -1, 0));
-    neighbors.add(neighbor(geohash, length, +1, 0));
-
-    if (south != null) {
-      neighbors.add(neighbor(south, length, -1, 0));
-      neighbors.add(south);
-      neighbors.add(neighbor(south, length, +1, 0));
-    }
-
-    return neighbors;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
deleted file mode 100644
index 7e285da..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoProjectionUtils.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * 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.lucene.util;
-
-import static org.apache.lucene.util.SloppyMath.PIO2;
-import static org.apache.lucene.util.SloppyMath.TO_DEGREES;
-import static org.apache.lucene.util.SloppyMath.TO_RADIANS;
-
-/**
- * Reusable geo-spatial projection utility methods.
- *
- * @lucene.experimental
- */
-public class GeoProjectionUtils {
-  // WGS84 earth-ellipsoid major (a) minor (b) radius, (f) flattening and eccentricity (e)
-  public static final double SEMIMAJOR_AXIS = 6_378_137; // [m]
-  public static final double FLATTENING = 1.0/298.257223563;
-  public static final double SEMIMINOR_AXIS = SEMIMAJOR_AXIS * (1.0 - FLATTENING); //6_356_752.31420; // [m]
-  public static final double ECCENTRICITY = StrictMath.sqrt((2.0 - FLATTENING) * FLATTENING);
-  static final double SEMIMAJOR_AXIS2 = SEMIMAJOR_AXIS * SEMIMAJOR_AXIS;
-  static final double SEMIMINOR_AXIS2 = SEMIMINOR_AXIS * SEMIMINOR_AXIS;
-  public static final double MIN_LON_RADIANS = TO_RADIANS * GeoUtils.MIN_LON_INCL;
-  public static final double MIN_LAT_RADIANS = TO_RADIANS * GeoUtils.MIN_LAT_INCL;
-  public static final double MAX_LON_RADIANS = TO_RADIANS * GeoUtils.MAX_LON_INCL;
-  public static final double MAX_LAT_RADIANS = TO_RADIANS * GeoUtils.MAX_LAT_INCL;
-  private static final double E2 = (SEMIMAJOR_AXIS2 - SEMIMINOR_AXIS2)/(SEMIMAJOR_AXIS2);
-  private static final double EP2 = (SEMIMAJOR_AXIS2 - SEMIMINOR_AXIS2)/(SEMIMINOR_AXIS2);
-
-  /**
-   * Converts from geocentric earth-centered earth-fixed to geodesic lat/lon/alt
-   * @param x Cartesian x coordinate
-   * @param y Cartesian y coordinate
-   * @param z Cartesian z coordinate
-   * @param lla 0: longitude 1: latitude: 2: altitude
-   * @return double array as 0: longitude 1: latitude 2: altitude
-   */
-  public static final double[] ecfToLLA(final double x, final double y, final double z, double[] lla) {
-    boolean atPole = false;
-    final double ad_c = 1.0026000D;
-    final double cos67P5 = 0.38268343236508977D;
-
-    if (lla == null) {
-      lla = new double[3];
-    }
-
-    if (x != 0.0) {
-      lla[0] = StrictMath.atan2(y,x);
-    } else {
-      if (y > 0) {
-        lla[0] = PIO2;
-      } else if (y < 0) {
-        lla[0] = -PIO2;
-      } else {
-        atPole = true;
-        lla[0] = 0.0D;
-        if (z > 0.0) {
-          lla[1] = PIO2;
-        } else if (z < 0.0) {
-          lla[1] = -PIO2;
-        } else {
-          lla[1] = PIO2;
-          lla[2] = -SEMIMINOR_AXIS;
-          return lla;
-        }
-      }
-    }
-
-    final double w2 = x*x + y*y;
-    final double w = StrictMath.sqrt(w2);
-    final double t0 = z * ad_c;
-    final double s0 = StrictMath.sqrt(t0 * t0 + w2);
-    final double sinB0 = t0 / s0;
-    final double cosB0 = w / s0;
-    final double sin3B0 = sinB0 * sinB0 * sinB0;
-    final double t1 = z + SEMIMINOR_AXIS * EP2 * sin3B0;
-    final double sum = w - SEMIMAJOR_AXIS * E2 * cosB0 * cosB0 * cosB0;
-    final double s1 = StrictMath.sqrt(t1 * t1 + sum * sum);
-    final double sinP1 = t1 / s1;
-    final double cosP1 = sum / s1;
-    final double rn = SEMIMAJOR_AXIS / StrictMath.sqrt(1.0D - E2 * sinP1 * sinP1);
-
-    if (cosP1 >= cos67P5) {
-      lla[2] = w / cosP1 - rn;
-    } else if (cosP1 <= -cos67P5) {
-      lla[2] = w / -cosP1 - rn;
-    } else {
-      lla[2] = z / sinP1 + rn * (E2 - 1.0);
-    }
-    if (!atPole) {
-      lla[1] = StrictMath.atan(sinP1/cosP1);
-    }
-    lla[0] = TO_DEGREES * lla[0];
-    lla[1] = TO_DEGREES * lla[1];
-
-    return lla;
-  }
-
-  /**
-   * Converts from geodesic lon lat alt to geocentric earth-centered earth-fixed
-   * @param lon geodesic longitude
-   * @param lat geodesic latitude
-   * @param alt geodesic altitude
-   * @param ecf reusable earth-centered earth-fixed result
-   * @return either a new ecef array or the reusable ecf parameter
-   */
-  public static final double[] llaToECF(double lon, double lat, double alt, double[] ecf) {
-    lon = TO_RADIANS * lon;
-    lat = TO_RADIANS * lat;
-
-    final double sl = SloppyMath.sin(lat);
-    final double s2 = sl*sl;
-    final double cl = SloppyMath.cos(lat);
-
-    if (ecf == null) {
-      ecf = new double[3];
-    }
-
-    if (lat < -PIO2 && lat > -1.001D * PIO2) {
-      lat = -PIO2;
-    } else if (lat > PIO2 && lat < 1.001D * PIO2) {
-      lat = PIO2;
-    }
-    assert (lat >= -PIO2) || (lat <= PIO2);
-
-    if (lon > StrictMath.PI) {
-      lon -= (2*StrictMath.PI);
-    }
-
-    final double rn = SEMIMAJOR_AXIS / StrictMath.sqrt(1.0D - E2 * s2);
-    ecf[0] = (rn+alt) * cl * SloppyMath.cos(lon);
-    ecf[1] = (rn+alt) * cl * SloppyMath.sin(lon);
-    ecf[2] = ((rn*(1.0-E2))+alt)*sl;
-
-    return ecf;
-  }
-
-  /**
-   * Converts from lat lon alt (in degrees) to East North Up right-hand coordinate system
-   * @param lon longitude in degrees
-   * @param lat latitude in degrees
-   * @param alt altitude in meters
-   * @param centerLon reference point longitude in degrees
-   * @param centerLat reference point latitude in degrees
-   * @param centerAlt reference point altitude in meters
-   * @param enu result east, north, up coordinate
-   * @return east, north, up coordinate
-   */
-  public static double[] llaToENU(final double lon, final double lat, final double alt, double centerLon,
-                                  double centerLat, final double centerAlt, double[] enu) {
-    if (enu == null) {
-      enu = new double[3];
-    }
-
-    // convert point to ecf coordinates
-    final double[] ecf = llaToECF(lon, lat, alt, null);
-
-    // convert from ecf to enu
-    return ecfToENU(ecf[0], ecf[1], ecf[2], centerLon, centerLat, centerAlt, enu);
-  }
-
-  /**
-   * Converts from East North Up right-hand rule to lat lon alt in degrees
-   * @param x easting (in meters)
-   * @param y northing (in meters)
-   * @param z up (in meters)
-   * @param centerLon reference point longitude (in degrees)
-   * @param centerLat reference point latitude (in degrees)
-   * @param centerAlt reference point altitude (in meters)
-   * @param lla resulting lat, lon, alt point (in degrees)
-   * @return lat, lon, alt point (in degrees)
-   */
-  public static double[] enuToLLA(final double x, final double y, final double z, final double centerLon,
-                                  final double centerLat, final double centerAlt, double[] lla) {
-    // convert enuToECF
-    if (lla == null) {
-      lla = new double[3];
-    }
-
-    // convert enuToECF, storing intermediate result in lla
-    lla = enuToECF(x, y, z, centerLon, centerLat, centerAlt, lla);
-
-    // convert ecf to LLA
-    return ecfToLLA(lla[0], lla[1], lla[2], lla);
-  }
-
-  /**
-   * Convert from Earth-Centered-Fixed to Easting, Northing, Up Right Hand System
-   * @param x ECF X coordinate (in meters)
-   * @param y ECF Y coordinate (in meters)
-   * @param z ECF Z coordinate (in meters)
-   * @param centerLon ENU origin longitude (in degrees)
-   * @param centerLat ENU origin latitude (in degrees)
-   * @param centerAlt ENU altitude (in meters)
-   * @param enu reusable enu result
-   * @return Easting, Northing, Up coordinate
-   */
-  public static double[] ecfToENU(double x, double y, double z, final double centerLon,
-                                  final double centerLat, final double centerAlt, double[] enu) {
-    if (enu == null) {
-      enu = new double[3];
-    }
-
-    // create rotation matrix and rotate to enu orientation
-    final double[][] phi = createPhiTransform(centerLon, centerLat, null);
-
-    // convert origin to ENU
-    final double[] originECF = llaToECF(centerLon, centerLat, centerAlt, null);
-    final double[] originENU = new double[3];
-    originENU[0] = ((phi[0][0] * originECF[0]) + (phi[0][1] * originECF[1]) + (phi[0][2] * originECF[2]));
-    originENU[1] = ((phi[1][0] * originECF[0]) + (phi[1][1] * originECF[1]) + (phi[1][2] * originECF[2]));
-    originENU[2] = ((phi[2][0] * originECF[0]) + (phi[2][1] * originECF[1]) + (phi[2][2] * originECF[2]));
-
-    // rotate then translate
-    enu[0] = ((phi[0][0] * x) + (phi[0][1] * y) + (phi[0][2] * z)) - originENU[0];
-    enu[1] = ((phi[1][0] * x) + (phi[1][1] * y) + (phi[1][2] * z)) - originENU[1];
-    enu[2] = ((phi[2][0] * x) + (phi[2][1] * y) + (phi[2][2] * z)) - originENU[2];
-
-    return enu;
-  }
-
-  /**
-   * Convert from Easting, Northing, Up Right-Handed system to Earth Centered Fixed system
-   * @param x ENU x coordinate (in meters)
-   * @param y ENU y coordinate (in meters)
-   * @param z ENU z coordinate (in meters)
-   * @param centerLon ENU origin longitude (in degrees)
-   * @param centerLat ENU origin latitude (in degrees)
-   * @param centerAlt ENU origin altitude (in meters)
-   * @param ecf reusable ecf result
-   * @return ecf result coordinate
-   */
-  public static double[] enuToECF(final double x, final double y, final double z, double centerLon,
-                                  double centerLat, final double centerAlt, double[] ecf) {
-    if (ecf == null) {
-      ecf = new double[3];
-    }
-
-    double[][] phi = createTransposedPhiTransform(centerLon, centerLat, null);
-    double[] ecfOrigin = llaToECF(centerLon, centerLat, centerAlt, null);
-
-    // rotate and translate
-    ecf[0] = (phi[0][0]*x + phi[0][1]*y + phi[0][2]*z) + ecfOrigin[0];
-    ecf[1] = (phi[1][0]*x + phi[1][1]*y + phi[1][2]*z) + ecfOrigin[1];
-    ecf[2] = (phi[2][0]*x + phi[2][1]*y + phi[2][2]*z) + ecfOrigin[2];
-
-    return ecf;
-  }
-
-  /**
-   * Create the rotation matrix for converting Earth Centered Fixed to Easting Northing Up
-   * @param originLon ENU origin longitude (in degrees)
-   * @param originLat ENU origin latitude (in degrees)
-   * @param phiMatrix reusable phi matrix result
-   * @return phi rotation matrix
-   */
-  private static double[][] createPhiTransform(double originLon, double originLat, double[][] phiMatrix) {
-
-    if (phiMatrix == null) {
-      phiMatrix = new double[3][3];
-    }
-
-    originLon = TO_RADIANS * originLon;
-    originLat = TO_RADIANS * originLat;
-
-    final double sLon = SloppyMath.sin(originLon);
-    final double cLon = SloppyMath.cos(originLon);
-    final double sLat = SloppyMath.sin(originLat);
-    final double cLat = SloppyMath.cos(originLat);
-
-    phiMatrix[0][0] = -sLon;
-    phiMatrix[0][1] = cLon;
-    phiMatrix[0][2] = 0.0D;
-    phiMatrix[1][0] = -sLat * cLon;
-    phiMatrix[1][1] = -sLat * sLon;
-    phiMatrix[1][2] = cLat;
-    phiMatrix[2][0] = cLat * cLon;
-    phiMatrix[2][1] = cLat * sLon;
-    phiMatrix[2][2] = sLat;
-
-    return phiMatrix;
-  }
-
-  /**
-   * Create the transposed rotation matrix for converting Easting Northing Up coordinates to Earth Centered Fixed
-   * @param originLon ENU origin longitude (in degrees)
-   * @param originLat ENU origin latitude (in degrees)
-   * @param phiMatrix reusable phi rotation matrix result
-   * @return transposed phi rotation matrix
-   */
-  private static double[][] createTransposedPhiTransform(double originLon, double originLat, double[][] phiMatrix) {
-
-    if (phiMatrix == null) {
-      phiMatrix = new double[3][3];
-    }
-
-    originLon = TO_RADIANS * originLon;
-    originLat = TO_RADIANS * originLat;
-
-    final double sLat = SloppyMath.sin(originLat);
-    final double cLat = SloppyMath.cos(originLat);
-    final double sLon = SloppyMath.sin(originLon);
-    final double cLon = SloppyMath.cos(originLon);
-
-    phiMatrix[0][0] = -sLon;
-    phiMatrix[1][0] = cLon;
-    phiMatrix[2][0] = 0.0D;
-    phiMatrix[0][1] = -sLat * cLon;
-    phiMatrix[1][1] = -sLat * sLon;
-    phiMatrix[2][1] = cLat;
-    phiMatrix[0][2] = cLat * cLon;
-    phiMatrix[1][2] = cLat * sLon;
-    phiMatrix[2][2] = sLat;
-
-    return phiMatrix;
-  }
-
-  /**
-   * Finds a point along a bearing from a given lon,lat geolocation using vincenty's distance formula
-   *
-   * @param lon origin longitude in degrees
-   * @param lat origin latitude in degrees
-   * @param bearing azimuthal bearing in degrees
-   * @param dist distance in meters
-   * @param pt resulting point
-   * @return the point along a bearing at a given distance in meters
-   */
-  public static final double[] pointFromLonLatBearingVincenty(double lon, double lat, double bearing, double dist, double[] pt) {
-
-    if (pt == null) {
-      pt = new double[2];
-    }
-
-    final double alpha1 = TO_RADIANS * bearing;
-    final double cosA1 = SloppyMath.cos(alpha1);
-    final double sinA1 = SloppyMath.sin(alpha1);
-    final double tanU1 = (1-FLATTENING) * SloppyMath.tan(TO_RADIANS * lat);
-    final double cosU1 = 1 / StrictMath.sqrt((1+tanU1*tanU1));
-    final double sinU1 = tanU1*cosU1;
-    final double sig1 = StrictMath.atan2(tanU1, cosA1);
-    final double sinAlpha = cosU1 * sinA1;
-    final double cosSqAlpha = 1 - sinAlpha*sinAlpha;
-    final double uSq = cosSqAlpha * EP2;
-    final double A = 1 + uSq/16384D*(4096D + uSq * (-768D + uSq * (320D - 175D*uSq)));
-    final double B = uSq/1024D * (256D + uSq * (-128D + uSq * (74D - 47D * uSq)));
-
-    double sigma = dist / (SEMIMINOR_AXIS*A);
-    double sigmaP;
-    double sinSigma, cosSigma, cos2SigmaM, deltaSigma;
-
-    do {
-      cos2SigmaM = SloppyMath.cos(2*sig1 + sigma);
-      sinSigma = SloppyMath.sin(sigma);
-      cosSigma = SloppyMath.cos(sigma);
-
-      deltaSigma = B * sinSigma * (cos2SigmaM + (B/4D) * (cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
-          (B/6) * cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
-      sigmaP = sigma;
-      sigma = dist / (SEMIMINOR_AXIS*A) + deltaSigma;
-    } while (StrictMath.abs(sigma-sigmaP) > 1E-12);
-
-    final double tmp = sinU1*sinSigma - cosU1*cosSigma*cosA1;
-    final double lat2 = StrictMath.atan2(sinU1*cosSigma + cosU1*sinSigma*cosA1,
-        (1-FLATTENING) * StrictMath.sqrt(sinAlpha*sinAlpha + tmp*tmp));
-    final double lambda = StrictMath.atan2(sinSigma*sinA1, cosU1*cosSigma - sinU1*sinSigma*cosA1);
-    final double c = FLATTENING/16 * cosSqAlpha * (4 + FLATTENING * (4 - 3 * cosSqAlpha));
-
-    final double lam = lambda - (1-c) * FLATTENING * sinAlpha *
-        (sigma + c * sinSigma * (cos2SigmaM + c * cosSigma * (-1 + 2* cos2SigmaM*cos2SigmaM)));
-    pt[0] = GeoUtils.normalizeLon(lon + TO_DEGREES * lam);
-    pt[1] = GeoUtils.normalizeLat(TO_DEGREES * lat2);
-
-    return pt;
-  }
-
-  /**
-   * Finds a point along a bearing from a given lon,lat geolocation using great circle arc
-   *
-   * @param lon origin longitude in degrees
-   * @param lat origin latitude in degrees
-   * @param bearing azimuthal bearing in degrees
-   * @param dist distance in meters
-   * @param pt resulting point
-   * @return the point along a bearing at a given distance in meters
-   */
-  public static final double[] pointFromLonLatBearingGreatCircle(double lon, double lat, double bearing, double dist, double[] pt) {
-
-    if (pt == null) {
-      pt = new double[2];
-    }
-
-    lon *= TO_RADIANS;
-    lat *= TO_RADIANS;
-    bearing *= TO_RADIANS;
-
-    final double cLat = SloppyMath.cos(lat);
-    final double sLat = SloppyMath.sin(lat);
-    final double sinDoR = SloppyMath.sin(dist / GeoProjectionUtils.SEMIMAJOR_AXIS);
-    final double cosDoR = SloppyMath.cos(dist / GeoProjectionUtils.SEMIMAJOR_AXIS);
-
-    pt[1] = SloppyMath.asin(sLat*cosDoR + cLat * sinDoR * SloppyMath.cos(bearing));
-    pt[0] = TO_DEGREES * (lon + Math.atan2(SloppyMath.sin(bearing) * sinDoR * cLat, cosDoR - sLat * SloppyMath.sin(pt[1])));
-    pt[1] *= TO_DEGREES;
-
-    return pt;
-  }
-
-  /**
-   * Finds the bearing (in degrees) between 2 geo points (lon, lat) using great circle arc
-   * @param lon1 first point longitude in degrees
-   * @param lat1 first point latitude in degrees
-   * @param lon2 second point longitude in degrees
-   * @param lat2 second point latitude in degrees
-   * @return the bearing (in degrees) between the two provided points
-   */
-  public static double bearingGreatCircle(double lon1, double lat1, double lon2, double lat2) {
-    double dLon = (lon2 - lon1) * TO_RADIANS;
-    lat2 *= TO_RADIANS;
-    lat1 *= TO_RADIANS;
-    double y = SloppyMath.sin(dLon) * SloppyMath.cos(lat2);
-    double x = SloppyMath.cos(lat1) * SloppyMath.sin(lat2) - SloppyMath.sin(lat1) * SloppyMath.cos(lat2) * SloppyMath.cos(dLon);
-    return Math.atan2(y, x) * TO_DEGREES;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java b/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
deleted file mode 100644
index f8cf1da..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/util/GeoRect.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.lucene.util;
-
-/** Represents a lat/lon rectangle. */
-public class GeoRect {
-  public final double minLon;
-  public final double maxLon;
-  public final double minLat;
-  public final double maxLat;
-
-  public GeoRect(double minLon, double maxLon, double minLat, double maxLat) {
-    if (GeoUtils.isValidLon(minLon) == false) {
-      throw new IllegalArgumentException("invalid minLon " + minLon);
-    }
-    if (GeoUtils.isValidLon(maxLon) == false) {
-      throw new IllegalArgumentException("invalid maxLon " + maxLon);
-    }
-    if (GeoUtils.isValidLat(minLat) == false) {
-      throw new IllegalArgumentException("invalid minLat " + minLat);
-    }
-    if (GeoUtils.isValidLat(maxLat) == false) {
-      throw new IllegalArgumentException("invalid maxLat " + maxLat);
-    }
-    this.minLon = minLon;
-    this.maxLon = maxLon;
-    this.minLat = minLat;
-    this.maxLat = maxLat;
-    assert maxLat >= minLat;
-
-    // NOTE: cannot assert maxLon >= minLon since this rect could cross the dateline
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder b = new StringBuilder();
-    b.append("GeoRect(lon=");
-    b.append(minLon);
-    b.append(" TO ");
-    b.append(maxLon);
-    if (maxLon < minLon) {
-      b.append(" (crosses dateline!)");
-    }
-    b.append(" lat=");
-    b.append(minLat);
-    b.append(" TO ");
-    b.append(maxLat);
-    b.append(")");
-
-    return b.toString();
-  }
-}


[79/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/package-info.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/package-info.java
new file mode 100644
index 0000000..dba9d0f
--- /dev/null
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+/**
+ * Spatial strategy that uses two fields.
+ */
+package org.apache.lucene.spatial.vector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/java/overview.html
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/overview.html b/lucene/spatial-extras/src/java/overview.html
new file mode 100644
index 0000000..51f4e57
--- /dev/null
+++ b/lucene/spatial-extras/src/java/overview.html
@@ -0,0 +1,67 @@
+<!--
+ 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.
+-->
+<html>
+  <head>
+    <title>Apache Lucene Spatial-Extras Module</title>
+  </head>
+  <body>
+
+  <h1>The Spatial-Extras Module for Apache Lucene</h1>
+
+  <p>
+    The spatial-extras module, new to Lucene 5.5, is the new home for the original
+    lucene <a href="../spatial/overview-summary.html">spatial</a> module.
+    The principle interface to this module is a {@link org.apache.lucene.spatial.SpatialStrategy}
+    which encapsulates an approach to indexing and searching
+    based on shapes.  Different Strategies have different features and
+    performance profiles, which are documented at each Strategy implementation
+    class level.
+  </p>
+  <p>
+    For some sample code showing how to use the API, see
+      SpatialExample.java in the tests.
+  </p>
+  <p>
+    The spatial-extras module uses
+    <a href="https://github.com/spatial4j/spatial4j">Spatial4j</a>
+    heavily.  Spatial4j is an ASL licensed library with these capabilities:
+    <ul>
+    <li>Provides shape implementations, namely point, rectangle,
+      and circle.  Both geospatial contexts and plain 2D Euclidean/Cartesian contexts
+      are supported.
+      With an additional dependency, it adds polygon and other geometry shape
+      support via integration with
+      <a href="http://sourceforge.net/projects/jts-topo-suite/">JTS Topology Suite</a>.
+      This includes dateline wrap support.</li>
+    <li>Shape parsing and serialization, including
+      <a href="http://en.wikipedia.org/wiki/Well-known_text">Well-Known Text (WKT)</a>
+      (via JTS).</li>
+    <li>Distance and other spatial related math calculations.</li>
+    </ul>
+  </p>
+  <p>
+    Historical note: The new spatial-extras module was once known as
+    Lucene Spatial Playground (LSP) as an external project.  In ~March 2012, LSP
+    split into the spatial module as part of Lucene and Spatial4j externally. A
+    large chunk of the LSP implementation originated as SOLR-2155 which uses
+    trie/prefix-tree algorithms with a geohash encoding.  That approach is
+    implemented in {@link org.apache.lucene.spatial.prefix.RecursivePrefixTreeStrategy}
+    today.
+  </p>
+
+  </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/cities-Intersects-BBox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/cities-Intersects-BBox.txt b/lucene/spatial-extras/src/test-files/cities-Intersects-BBox.txt
new file mode 100644
index 0000000..e85748c
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/cities-Intersects-BBox.txt
@@ -0,0 +1,3 @@
+[San Francisco] G5391959 @ Intersects(ENVELOPE(-122.524918, -122.360123, 37.817108, 37.674973))
+[Wellington] G2179537 @ Intersects(ENVELOPE(174.711456, 174.854279, -41.213837, -41.360779))
+[Barcelona] G6544100 G3128760  @  Intersects(ENVELOPE(2.127228, 2.226105, 41.408844, 41.333313))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/LUCENE-4464.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/LUCENE-4464.txt b/lucene/spatial-extras/src/test-files/data/LUCENE-4464.txt
new file mode 100644
index 0000000..dfb5a40
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/LUCENE-4464.txt
@@ -0,0 +1,3 @@
+#id	name	shape
+poly1	poly1	POLYGON ((-93.17288720912401 45.280265431486754, -93.17232270645628 45.2802724629027, -93.17229737711205 45.279497574052314, -93.1722224854913 45.277577770983854, -93.17218124644266 45.276747010395624, -93.16722650828461 45.276819421108826, -93.16581262076448 45.27684404529939, -93.16363038333625 45.276882054199596, -93.16249244695301 45.276929493877525, -93.16247370542268 45.27641118002343, -93.16246893668628 45.276279382682894, -93.1624671302382 45.274701063846244, -93.16246679905096 45.273381422360785, -93.16247689122851 45.273189685068424, -93.16249146710186 45.27291249464421, -93.16249868565903 45.272467966062614, -93.16247955957382 45.27177209534391, -93.1624787718002 45.27127651548793, -93.16247840794293 45.27104491547271, -93.16247917486976 45.27087000356473, -93.1624817727418 45.270279315147775, -93.16252487154968 45.26996729342093, -93.16254025661699 45.26976826077157, -93.16247902564132 45.269527941604, -93.16242684845764 45.2692774997531, -93.16242126018722 4
 5.26894470083864, -93.16241263011544 45.26769394309626, -93.16246809168283 45.26571736107859, -93.16247263940593 45.26195548919013, -93.16253090997651 45.258615729449964, -93.16256878834184 45.25650987969364, -93.1626048203569 45.2546538608912, -93.16265873943591 45.251876274357876, -93.16275002007988 45.2510418534315, -93.16282237443883 45.25042383853711, -93.16286421513767 45.249181538840595, -93.16288289220509 45.24862697953288, -93.1629601120395 45.248250613185206, -93.16301002807151 45.24802483983211, -93.16301621932013 45.247670020958665, -93.16301519349018 45.247478630666144, -93.16303001333274 45.24727504082362, -93.16303463142393 45.24713931946277, -93.16302280990728 45.2470107542477, -93.16298327344437 45.24685970499298, -93.16294217154733 45.246633449219054, -93.16294315088282 45.246419514713516, -93.16295754265565 45.24621538933992, -93.16296755618336 45.24580786412655, -93.16296268372803 45.245362220836384, -93.16296319568123 45.245046689033444, -93.16297766811293 45.24
 481357093532, -93.16296370759883 45.2445699039253, -93.16294931051515 45.24231310924752, -93.16294559876471 45.24173111255096, -93.16295568091667 45.240776604513705, -93.1629609359182 45.24053954238007, -93.1629658719288 45.24019639978025, -93.1625355179785 45.24018482062359, -93.15847246037083 45.24007549519542, -93.15641780558727 45.24006372373029, -93.15470331938288 45.24002991133718, -93.1515176880772 45.240038275846665, -93.14892151971884 45.24004508944476, -93.14597353408716 45.240012024375574, -93.14198169289922 45.239944427606616, -93.14246140322608 45.21441838866706, -93.14239730934507 45.20842345035032, -93.14240307538512 45.203669567890245, -93.13209436867183 45.20385828388066, -93.13238731320574 45.19696183064252, -93.13244550539693 45.19559178376392, -93.13255875219626 45.19292582294682, -93.12747185962866 45.19303831675316, -93.12741613255534 45.196689407842044, -93.12341724811418 45.196748516850086, -93.12336451543653 45.19630050937325, -93.12233270487748 45.196311891
 79194, -93.12244695905335 45.18943470505876, -93.12752867296823 45.18931969757398, -93.1275981937757 45.18579899512077, -93.12249095182051 45.18589579364393, -93.12250905286206 45.18230218633591, -93.11745336177542 45.182234528897865, -93.11742994994425 45.17494109686777, -93.11234677240823 45.174914625057596, -93.11232755368056 45.178541858988, -93.09142510557425 45.17830768889981, -93.0878908215621 45.18208021181682, -93.04087986544745 45.182020129318005, -93.02011304608662 45.18206919600553, -92.99725469269949 45.18154883703301, -92.9866455346556 45.18162938363265, -92.98002761377205 45.181741313792635, -92.97460481311676 45.1817232745721, -92.95815138711436 45.18159971137449, -92.95832448011389 45.16710586357575, -92.95821211351648 45.15266682925307, -92.94804883291458 45.152678829402525, -92.94820512323935 45.14582287000843, -92.94821449767262 45.14541149629351, -92.93808126859899 45.145435393255234, -92.938064080176 45.1464755574292, -92.93790172782569 45.15630033200825, -92.9
 3776855788026 45.156299483202375, -92.93416458772786 45.15627656196406, -92.92776593175911 45.156235863288074, -92.92779198321185 45.15260820059608, -92.9228643837518 45.15257871636257, -92.91761510291013 45.15254730117589, -92.91755895303478 45.15978011255037, -92.90742527225278 45.15975884768774, -92.90734951861361 45.16700513027527, -92.90243435593408 45.16697925148226, -92.90226994175299 45.16697838648701, -92.90228225598396 45.16960751885433, -92.90228682505473 45.170583562524534, -92.89838293958822 45.17058359192683, -92.89776337384279 45.17058359923907, -92.89720228241329 45.170636798053465, -92.89720546113311 45.171648743169875, -92.89721045187194 45.17323675651512, -92.89721215942521 45.17377958217219, -92.8972133713998 45.17416655315385, -92.89752994284902 45.17416793500262, -92.90230392627396 45.174188700362095, -92.90230695467396 45.17483317173849, -92.90230939234701 45.175352265892315, -92.90231342163983 45.17620891826606, -92.9023378718661 45.18141217320357, -92.898291
 95794003 45.18137903577816, -92.89197067471983 45.181327269964534, -92.86573042754982 45.18111238484799, -92.86537258386163 45.18110945889712, -92.86579788828743 45.16683341076013, -92.85850341291456 45.166840495697045, -92.85576616527777 45.1668651317465, -92.8455814929548 45.16695680639518, -92.8403672382906 45.167003741522834, -92.84037534438275 45.166359277271084, -92.83914257524022 45.166407761467035, -92.83786182101709 45.16655768366541, -92.83762301824869 45.16658563659705, -92.83700510809494 45.16665797101126, -92.83700330475195 45.1670405349812, -92.83520392476423 45.16704646605868, -92.83519998302931 45.1672093811339, -92.83518241658018 45.17114095264113, -92.8351705215998 45.17380185475555, -92.83516823773242 45.17431412368648, -92.82501384033566 45.174380025018145, -92.82373302900695 45.174963166130034, -92.82127603798283 45.17799740439804, -92.81495695139105 45.17798284134312, -92.81498212776123 45.18394380043827, -92.81496335262872 45.20297631525698, -92.81496300732859
  45.2033351264244, -92.8149190887153 45.20460132029917, -92.81473397710002 45.21, -92.8198460035041 45.21, -92.81985864578533 45.21352006541341, -92.81476009958381 45.21350519453624, -92.81473397710002 45.211, -92.79434616877515 45.20979982288059, -92.79434485197183 45.210003888814526, -92.7942994128934 45.217028016258524, -92.79414754531777 45.217027433538036, -92.75950558164095 45.216895251116746, -92.75791266717471 45.216889175072694, -92.75634408090858 45.21737192056616, -92.75539334998972 45.21781096867505, -92.75544275719047 45.219840930849315, -92.75232263931744 45.219847708152834, -92.75345360864661 45.22241622713623, -92.75393100188802 45.22290500013628, -92.75454911801587 45.22425238152991, -92.75465656863904 45.22441872007679, -92.75478824580995 45.22461252606749, -92.75573200183275 45.22594899943625, -92.7559326169467 45.2263989667922, -92.756173357985 45.22677479396459, -92.75628338889855 45.227185737281864, -92.75651400327136 45.22770300256764, -92.75667800355963 45.22
 8069998932774, -92.75745600158125 45.23052599674398, -92.75737071502948 45.23131853178694, -92.75760683805547 45.23212889115611, -92.7575248338702 45.23249816977935, -92.75760900807862 45.233043995948975, -92.75740715667484 45.23498808590038, -92.75739258433605 45.23515457917446, -92.75736004212973 45.235441823970014, -92.75728900664646 45.2361259970008, -92.75750924881613 45.23833187652166, -92.75783421241928 45.239151014730965, -92.75799784052033 45.2401986059374, -92.75814399470411 45.24075700093086, -92.75910499448543 45.24444199845027, -92.75927217262658 45.246363482652335, -92.759708376526 45.24795052230262, -92.76024900009054 45.24960000150479, -92.76026400206055 45.25171699829065, -92.75984499770836 45.25286799832034, -92.75883599655404 45.25442699925451, -92.75592228367496 45.256779108256175, -92.75559993467031 45.25707105760005, -92.75540261715516 45.25725539605134, -92.75458100472993 45.258140999051975, -92.75362100152239 45.25941899619891, -92.75258800661327 45.261786002
 1943, -92.7523530053651 45.26244399793552, -92.7521330910868 45.26318539548715, -92.75199986320791 45.26381589028983, -92.7519440909167 45.26415703570502, -92.75192391851121 45.26559725594415, -92.75247612752318 45.26746623235666, -92.75254008932185 45.26768063816608, -92.75267394173396 45.268130176728555, -92.75287910082022 45.2688320393691, -92.7530104867237 45.26921012533672, -92.75329204456183 45.26980089141646, -92.75414711285153 45.2712720735891, -92.7552129966957 45.27237299947564, -92.75574299378961 45.27288399662051, -92.75678399520334 45.273891998902435, -92.75750199664172 45.27442999825494, -92.75801999923948 45.274822998224586, -92.75866321741752 45.27578539520815, -92.7589271849383 45.27616491445647, -92.75924599787822 45.27671899844492, -92.75941999802778 45.27718649803985, -92.75960999785612 45.27731999914, -92.75978699565532 45.27743849638546, -92.76004300142414 45.277978995119405, -92.76061199738588 45.27882799808139, -92.76117799722955 45.280582999200305, -92.76136
 19999475 45.28220800042353, -92.76167096088638 45.2836803717185, -92.76198517744629 45.2850267976271, -92.76206945308458 45.2853507773657, -92.76202745146396 45.286658659028, -92.76204199858486 45.28698499388888, -92.76201199644161 45.28793199672008, -92.76200399722086 45.28821299803955, -92.76121399640145 45.28913599914764, -92.7603870028136 45.28991599406784, -92.75871000510011 45.29096499709372, -92.75799200634881 45.291140996050984, -92.75687800551285 45.29148399845183, -92.75507700319366 45.2919269952758, -92.75480030147037 45.291986779669465, -92.74569331443023 45.29606484000191, -92.74555580404507 45.29614422445335, -92.74523588498667 45.29631411941847, -92.76071968429389 45.29617634034589, -92.79448651640953 45.29587194744184, -92.82553071142016 45.29634288822895, -92.82523623967 45.28697641600944, -92.8246113114385 45.27459391718561, -92.82414631698042 45.26733414102221, -92.83443181636859 45.267466042102846, -92.83450366471794 45.265666722695805, -92.8395297613521 45.26570
 782145342, -92.83954651660255 45.2675117790906, -92.85488466565545 45.267633226883305, -92.85446380439222 45.260381978642265, -92.8530801070886 45.256940031152055, -92.8746167542768 45.2569553750289, -92.87517983690772 45.26774272327855, -92.88032459143679 45.26775272915376, -92.88028907325248 45.27498539130476, -92.885429695981 45.27499516876503, -92.88541044770409 45.27862274921294, -92.8854460740016 45.28269595676258, -92.8858306795285 45.28583335680999, -92.89095994168375 45.285838365551086, -92.89147668909354 45.290056047991875, -92.89183494474656 45.292995365557246, -92.89287941280966 45.29621886928581, -92.93574219102997 45.296382695230655, -92.9366855829562 45.29639453639271, -92.93730010601949 45.29640233268984, -92.93773633826109 45.296407862218295, -92.95031707870098 45.29656663627082, -92.95732733387652 45.29663267857854, -92.95723233585932 45.305785498930874, -92.95755812361517 45.31807293816823, -92.9575313307762 45.325662873647204, -92.96200814151011 45.32569410734573
 , -92.96201051236334 45.33056403262943, -92.95763365021791 45.330562956294486, -92.95750484414667 45.34006528297348, -92.95740249422305 45.3523406680097, -92.96272753035339 45.352295608902175, -92.96260253143201 45.363259386181184, -92.95732537061275 45.363286992831206, -92.95715614538045 45.36869421119079, -92.97302216756823 45.36904156334545, -92.9731090974606 45.37554810693529, -92.98760985309234 45.37555619312347, -92.98429494637762 45.38215591061988, -92.9924184629002 45.38233326055907, -93.01850137881846 45.38277378724873, -93.01956464133914 45.41174708503911, -93.03973263863047 45.412106304897264, -93.06569776540464 45.412656360563524, -93.08346874844985 45.41297273973574, -93.09263091377308 45.41335460313747, -93.1012213163472 45.413720365424695, -93.10759754754753 45.41373499082408, -93.14214551761233 45.41373101611429, -93.1421802894172 45.40666589187203, -93.14209155741717 45.38498980813781, -93.14398965535287 45.369981475770224, -93.13861914028635 45.36992203894643, -93.
 13946982733188 45.35540022959687, -93.14362673736643 45.35542059147377, -93.14338145836778 45.34816201728363, -93.14259222919002 45.34815677471413, -93.14123737100095 45.34271091215897, -93.14120170425102 45.34166175650565, -93.14159640367895 45.340845226624126, -93.16430988689314 45.34107128935172, -93.1641229508536 45.33731028186903, -93.163783504365 45.32713863170596, -93.16354815472778 45.31568179036097, -93.1634974864936 45.3115083559682, -93.16335415000293 45.30838048844207, -93.16326942872365 45.30653168298998, -93.16286993093225 45.29781375116957, -93.16292479029 45.297483756012355, -93.16251838572086 45.29748043583636, -93.16242411934059 45.29340169752503, -93.16237192435095 45.291513658346155, -93.16125915756838 45.29101148729498, -93.16224903398384 45.290456018307964, -93.16243543883762 45.29031474509565, -93.16248365754952 45.29016960982244, -93.1625270557542 45.28932067928762, -93.16350507037129 45.28940282906675, -93.16413761242012 45.28944739938537, -93.16430369461645
  45.289411531953206, -93.164472138656 45.28937514511818, -93.16431016328954 45.288334379584406, -93.16422830296436 45.28780835028316, -93.16373011428878 45.287807744950875, -93.16348868413621 45.28778563548775, -93.16304669211718 45.28779811404454, -93.16252493722239 45.28781182501286, -93.1625182014603 45.28601279964026, -93.1625127377889 45.28416325442296, -93.1717122152211 45.28391079701647, -93.17291828928865 45.28387769615237, -93.17292468588315 45.28327561174209, -93.1729215958459 45.28269914269899, -93.17290904354249 45.28216703245599, -93.17290447076888 45.281410092382885, -93.17289432485279 45.28068732375472, -93.17288720912401 45.280265431486754))
+poly2	poly2	POLYGON((-93.26592485308495 45.18931973506328, -93.26373519655886 45.18933815615675, -93.2637828223868 45.18660121752107, -93.26280973893772 45.18656958194617, -93.2603275028686 45.186488876325654, -93.25976682936536 45.18646929139094, -93.25877703935303 45.18686109057519, -93.25788401039608 45.18633824889261, -93.25713811973642 45.186864792015704, -93.25660115549654 45.18628640445176, -93.24081325108644 45.18609354693712, -93.2356823133177 45.1860308697061, -93.23474944979115 45.186019474019865, -93.23478565684188 45.18266103967549, -93.23072066106351 45.18267669158043, -93.22480340476464 45.18267437402639, -93.21952101307244 45.18267371221728, -93.21950131879755 45.184689058075534, -93.21950381582634 45.18590104693386, -93.21950547892035 45.186708829298695, -93.21948324866376 45.18808573281868, -93.21947477056304 45.188619717930756, -93.2194751507154 45.1899146284615, -93.22390334137022 45.18991091026497, -93.2245904557543 45.18993775453468, -93.2245784309098 45.190287
 02856576, -93.2245932424241 45.19081834295508, -93.22460314163764 45.19137779927979, -93.22459067695124 45.19162607300785, -93.22458367100289 45.19176562022696, -93.22354968949122 45.191760188521705, -93.22131530006368 45.19175468785821, -93.22018302807493 45.19175762419069, -93.21965635944291 45.19175898704962, -93.21824735047468 45.191762639857636, -93.21840068968908 45.191840907619024, -93.21858279007587 45.191950538176606, -93.21874378970492 45.19205449060312, -93.21893581214327 45.192204972059955, -93.21911499957261 45.19238205879934, -93.21934767139433 45.192628269473076, -93.21954522989743 45.1928508489684, -93.21972003978802 45.19304459976245, -93.21997538064213 45.19332124206717, -93.22011354045264 45.193470928079385, -93.22046875034326 45.19384479955501, -93.2206469058326 45.19404172922978, -93.22079845082156 45.194244494502364, -93.2209416400795 45.19447508772328, -93.22107397875365 45.19474417974581, -93.2211368505518 45.19490985928749, -93.22118231976518 45.195047277731
 625, -93.22124659963487 45.19525315038074, -93.22128314962913 45.195396480693944, -93.22130715028514 45.195564823375, -93.22131862069979 45.195757013030224, -93.22130704484326 45.19599065847414, -93.22127083850016 45.19622942989826, -93.22124456959293 45.19636257994296, -93.22120917947201 45.19651471803614, -93.22115328972328 45.196774039833144, -93.22110053150747 45.19700410181286, -93.22105123806169 45.19721904984113, -93.21939747849284 45.19720754776318, -93.21658707902952 45.19719901749774, -93.21405492494755 45.19718389708806, -93.21060961905127 45.19716332241369, -93.20846870851273 45.19715738191871, -93.20635420918421 45.19714993030806, -93.20384995444252 45.19713947337882, -93.20382099935851 45.195915480832355, -93.20379040854755 45.195493880093856, -93.20373937951182 45.19525460196455, -93.20366799901262 45.194730001052676, -93.20359944927 45.194273469702246, -93.20351980946141 45.19386975065817, -93.20336890147132 45.1933312322322, -93.20348773988103 45.19317805926476, -93
 .20364964522179 45.19294381603321, -93.20373782170354 45.192758795441485, -93.20378634041538 45.1925589245846, -93.20378780054193 45.1924118820702, -93.20373224993294 45.192246366644895, -93.20366678053941 45.192063182244134, -93.20349712021084 45.19164111034226, -93.20336402335359 45.191262445660406, -93.20333661484061 45.19107258136713, -93.20334012614478 45.19082850506992, -93.20338500114326 45.190584969374704, -93.20346313590359 45.19035226093307, -93.20353125074365 45.19015096025676, -93.20337886118753 45.19012069933683, -93.20280004152556 45.18999823901699, -93.20236430223584 45.1898748712581, -93.20223796285948 45.18983446401002, -93.20171338128353 45.189666689690526, -93.20105175026708 45.18940210042135, -93.20059509118217 45.18937347081525, -93.20014399997638 45.18935951962055, -93.1999096512546 45.18934032171285, -93.19969162075753 45.18934030912719, -93.19953079227915 45.18938062079311, -93.19930724128803 45.189471810355066, -93.19836742091539 45.18954495845859, -93.19790
 904174889 45.189755310346555, -93.19770094626355 45.18978905045578, -93.19728573057267 45.1898563687543, -93.19706717806918 45.18978234280038, -93.1961191012612 45.18980511056629, -93.19583707702907 45.18977039110604, -93.19495714548943 45.18966207098092, -93.19409949054268 45.18955648989894, -93.19361391124465 45.18954758129998, -93.19142135137997 45.189507349701145, -93.18867729058191 45.18943758222878, -93.18766468614145 45.18941183701645, -93.1869063815807 45.18939255950494, -93.18676117212036 45.18939312363656, -93.18583601993124 45.18939673056086, -93.18362870083628 45.18940533739182, -93.18015920861117 45.189432919714875, -93.17748344774633 45.18940274982507, -93.17100678798263 45.18934067185518, -93.1680509570817 45.18931686702863, -93.16712265967519 45.189309389152754, -93.1632729184803 45.189289560128074, -93.1524420382428 45.189137301470666, -93.1488330300988 45.189087681208825, -93.14258337454692 45.18900953614207, -93.1425728385595 45.18964797148711, -93.14257129908563 
 45.19044710129245, -93.14256839076815 45.191380659844974, -93.14257549009486 45.192639988690985, -93.14256591028126 45.193624481846925, -93.1425562203409 45.19475816134898, -93.14254671019609 45.19564806883362, -93.14253591314012 45.19592629600891, -93.1425191002932 45.19635953895129, -93.14240307328147 45.20366956427245, -93.14239731024965 45.20842345007226, -93.14246141142196 45.2144183909345, -93.14198170032972 45.23994442974387, -93.14597353942523 45.240012030562795, -93.14892151981124 45.24004509174428, -93.15151768504401 45.24003827478177, -93.15470331907811 45.2400299112851, -93.15641781022819 45.240063720104146, -93.15847245794774 45.24007548756677, -93.16253551804624 45.24018481776239, -93.16296586932476 45.24019639699945, -93.16296093749654 45.240539543608094, -93.16295567833508 45.24077659970959, -93.16294559992268 45.24173110984731, -93.16294931429802 45.242313107885224, -93.16296371061823 45.24456989801016, -93.16297766989932 45.24481356907269, -93.16296319587042 45.245
 04668430867, -93.16296267909655 45.24536222031531, -93.16296756070733 45.24580785775435, -93.16295754084666 45.24621538734816, -93.16294315030365 45.24641950970948, -93.1629421699368 45.246633444731216, -93.16298326866249 45.24685970478054, -93.16302280494743 45.24701074802872, -93.1630346343297 45.247139320093076, -93.16303000914128 45.24727503858908, -93.16301519072017 45.24747862874394, -93.16301622062082 45.247670019373224, -93.16301002844395 45.24802483903903, -93.16296010836595 45.248250609285236, -93.16288288941641 45.248626979189, -93.16286421036493 45.24918153632857, -93.16282236866641 45.25042383853131, -93.16275001793326 45.25104184745623, -93.16265874011768 45.251876269431015, -93.1626048141941 45.25465385517585, -93.162568780952 45.25650987775294, -93.16253090903855 45.25861572819838, -93.16247264162719 45.261955487720506, -93.16246809047925 45.26571735738526, -93.16241263022145 45.267693939529536, -93.16242125944353 45.26894469986081, -93.16242684956876 45.269277499432
 015, -93.16247902269161 45.26952793567272, -93.16254025984375 45.269768259020054, -93.1625248689828 45.26996728874923, -93.16248176954191 45.27027930739088, -93.16247917649272 45.270869996810376, -93.16247840915516 45.27104490906511, -93.16247877426206 45.27127651283899, -93.162479560911 45.27177208702322, -93.16249869026827 45.272467959171365, -93.16249147172434 45.27291248854739, -93.16247688682598 45.27318968296259, -93.16246680083795 45.27338141702519, -93.1624671298516 45.27470105775956, -93.16246893968787 45.276279379505084, -93.1624737063593 45.2764111771935, -93.16249244905424 45.276929488819604, -93.16363037995181 45.27688204948932, -93.16581262202895 45.276844043452684, -93.16722651010657 45.27681941864911, -93.17218124072862 45.27674700948904, -93.1722224784459 45.27757776899891, -93.17229737034532 45.279497570305445, -93.17232269933695 45.28027246109518, -93.17288721010608 45.28026543129147, -93.1728943187817 45.2806873180744, -93.17290447218495 45.28141008817547, -93.17
 290904002667 45.28216703008146, -93.17292159084371 45.28269913830247, -93.17292468118433 45.283275608616165, -93.17291828224536 45.28387769767021, -93.1717122127579 45.283910797244246, -93.16251273143365 45.28416325629099, -93.16251820094257 45.28601279797615, -93.16252493935717 45.287811833132764, -93.16304669905364 45.28779811692505, -93.16348868871324 45.28778563925035, -93.16373011962693 45.28780774767522, -93.16422830587629 45.28780835110865, -93.1643101699488 45.28833437868018, -93.16447213914093 45.289375147768524, -93.16430369361024 45.28941153310711, -93.16413761723706 45.28944740219967, -93.16350507286433 45.289402832527344, -93.16252705964098 45.289320683284735, -93.16248365939401 45.29016961156254, -93.16243543831087 45.29031475002342, -93.16224903970826 45.2904560215217, -93.16125915934788 45.29101149209126, -93.16237192796683 45.291513661220456, -93.16242412151107 45.29340170072084, -93.16251838980172 45.29748044313293, -93.16292479370829 45.29748376064082, -93.1863909
 4534673 45.29767533425263, -93.18833342032521 45.29769119188229, -93.1925428426471 45.29770437859642, -93.19474753040078 45.29771128804242, -93.19765740975974 45.29769541872667, -93.20297591868295 45.29776263827187, -93.20683144906876 45.29774197003572, -93.20883497923562 45.297766559466794, -93.21546742887979 45.297768422222155, -93.22617724980643 45.29791971794424, -93.23408017640227 45.298023690859175, -93.2343080073169 45.288444186545625, -93.23432525195352 45.287995322205425, -93.23469515647318 45.269279712377234, -93.23475627635968 45.266203358381446, -93.23560542207227 45.26619551047824, -93.23899176558338 45.26613779367068, -93.24250527367546 45.26608234822973, -93.243445378056 45.26606503829342, -93.24512861083372 45.2660344570852, -93.24588057830995 45.26602026067889, -93.24713274287363 45.26599455787498, -93.25036838013868 45.26592734514467, -93.25172461510564 45.265900698298395, -93.25236738024864 45.265888260809106, -93.25481754173921 45.26583307838667, -93.255713579529
 06 45.265819559899164, -93.2594981489083 45.26575415212897, -93.26098138766197 45.265754375486374, -93.26155216698102 45.26565612540643, -93.26170097145753 45.26562288963898, -93.26208574477789 45.26553876835043, -93.26245875524685 45.265434673708015, -93.26277275191426 45.265316250819595, -93.26311663127117 45.26517251314189, -93.26346212923646 45.26500240317637, -93.26393572774133 45.26477558787491, -93.2651820516718 45.26406759657772, -93.26518110226205 45.26337226279194, -93.26515218908767 45.26311636791454, -93.26518703008779 45.262871689663605, -93.2652064900752 45.26265582104258, -93.2652110298225 45.26215614194132, -93.26522443086994 45.26112430402238, -93.26522989950563 45.260703199933474, -93.26524872191168 45.25930812973533, -93.26525187087448 45.258897852775995, -93.26525857049303 45.258025812056765, -93.26527734826267 45.256675072153314, -93.26528081766433 45.25612813038996, -93.265287399575 45.25512698071874, -93.26530031054412 45.253711671615115, -93.26531490547187 45
 .25273002640574, -93.26532214123614 45.252243491267, -93.26533817105908 45.25062180123498, -93.26535413994274 45.24906421173263, -93.26536141910549 45.24841165046578, -93.26536638602661 45.24796649509243, -93.26537318826473 45.24735637067748, -93.26539798003012 45.24589779189643, -93.265404909549 45.24454674190931, -93.2654060939449 45.24296904311022, -93.26540624905046 45.24276127146885, -93.26540843815205 45.2420263885843, -93.26541275006169 45.240577352345994, -93.2654375717671 45.238843301612725, -93.26544518264211 45.237906888690105, -93.26544940933664 45.23738688110566, -93.26546966016808 45.236093591927926, -93.2654781584622 45.235359229961944, -93.26548338867605 45.23490715107922, -93.26553582901259 45.23354268990693, -93.26554071996831 45.23330119833777, -93.26555987026248 45.2323552839169, -93.26557251955711 45.23173040973764, -93.26556626032777 45.22975235185782, -93.26556606661761 45.229367333607186, -93.26556579189545 45.228823722705066, -93.26562882232702 45.2268722061
 76665, -93.26571073971922 45.224335971082276, -93.26574560622672 45.22192222321787, -93.26574836877063 45.22173093256304, -93.26577033227747 45.22021043432355, -93.26578588443306 45.21913391123174, -93.26580662128347 45.21769799745153, -93.26580983179628 45.217475736026664, -93.26581322607608 45.217240685631346, -93.26590715360736 45.210737684073244, -93.26591966090616 45.209871711997586, -93.2659016992406 45.20722015227932, -93.26587484243684 45.203254836571126, -93.26585637174348 45.20052765082941, -93.26585684827346 45.19841676076085, -93.26587786763154 45.19732741144391, -93.2658624676632 45.1970879109074, -93.2659274100303 45.194004979577755, -93.26595017983325 45.191531890895845, -93.26595423366354 45.19092534610275, -93.26593099287571 45.190637988686554, -93.2659274057232 45.18986823069059, -93.26592485308495 45.18931973506328))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/spatial-extras/src/test-files/data/countries-bbox.txt
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/test-files/data/countries-bbox.txt b/lucene/spatial-extras/src/test-files/data/countries-bbox.txt
new file mode 100644
index 0000000..ac3a4fd
--- /dev/null
+++ b/lucene/spatial-extras/src/test-files/data/countries-bbox.txt
@@ -0,0 +1,249 @@
+#id	name	shape
+FLK	Falkland Is.	ENVELOPE(-61.148055, -57.733200, -51.249455, -52.343055)
+GUF	French Guiana	ENVELOPE(-54.603782, -51.648055, 5.755418, 2.113473)
+GUY	Guyana	ENVELOPE(-61.389727, -56.470636, 8.535273, 1.186873)
+PCN	Pitcairn Is.	ENVELOPE(-130.105055, -128.286118, -24.325836, -25.082227)
+SGS	South Georgia & the South Sandwich Is.	ENVELOPE(-38.023755, -26.241391, -53.989727, -58.498609)
+SHN	St. Helena	ENVELOPE(-5.792782, -5.645282, -15.903755, -16.021946)
+SUR	Suriname	ENVELOPE(-58.071400, -53.986118, 6.001809, 1.836245)
+TTO	Trinidad & Tobago	ENVELOPE(-61.921600, -60.520836, 11.345554, 10.040345)
+VEN	Venezuela	ENVELOPE(-73.378064, -59.803055, 12.197500, 0.649164)
+ASM	American Samoa	ENVELOPE(-170.823227, -170.561873, -14.254309, -14.375555)
+COK	Cook Is.	ENVELOPE(-165.848345, -157.703764, -10.881318, -21.940836)
+PYF	French Polynesia	ENVELOPE(-151.497773, -138.809755, -8.778191, -17.870836)
+UMI	Jarvis I.	ENVELOPE(-160.045164, -160.009464, -0.374309, -0.398055)
+NIU	Niue	ENVELOPE(-169.952236, -169.781555, -18.963336, -19.145555)
+WSM	Samoa	ENVELOPE(-172.780027, -171.429200, -13.460555, -14.057500)
+TKL	Tokelau	ENVELOPE(-171.862718, -171.843764, -9.170627, -9.218891)
+TON	Tonga	ENVELOPE(-175.360000, -173.906827, -18.568055, -21.268064)
+WLF	Wallis & Futuna	ENVELOPE(-178.190273, -176.121936, -13.214864, -14.323891)
+ARG	Argentina	ENVELOPE(-73.582300, -53.650009, -21.780518, -55.051673)
+BOL	Bolivia	ENVELOPE(-69.656191, -57.521118, -9.679191, -22.901109)
+BRA	Brazil	ENVELOPE(-74.004591, -34.792918, 5.272709, -33.741118)
+CHL	Chile	ENVELOPE(-109.446109, -66.420627, -17.505282, -55.902227)
+ECU	Ecuador	ENVELOPE(-91.663891, -75.216846, 1.437782, -5.000309)
+PRY	Paraguay	ENVELOPE(-62.643773, -54.243900, -19.296809, -27.584727)
+PER	Peru	ENVELOPE(-81.355146, -68.673909, -0.036873, -18.348546)
+URY	Uruguay	ENVELOPE(-58.438609, -53.098300, -30.096673, -34.943818)
+UMI	Baker I.	ENVELOPE(-176.467655, -176.455855, 0.222573, 0.215282)
+CAN	Canada	ENVELOPE(-141.002991, -52.617364, 83.113873, 41.675554)
+GTM	Guatemala	ENVELOPE(-92.246782, -88.214736, 17.821109, 13.745836)
+UMI	Howland I.	ENVELOPE(-176.643082, -176.631091, 0.808609, 0.790282)
+UMI	Johnston Atoll	ENVELOPE(-169.538936, -169.523927, 16.730273, 16.724164)
+MEX	Mexico	ENVELOPE(-118.404164, -86.738618, 32.718454, 14.550545)
+UMI	Midway Is.	ENVELOPE(-177.395845, -177.360545, 28.221518, 28.184154)
+BRB	Barbados	ENVELOPE(-59.659446, -59.427082, 13.337082, 13.050554)
+DMA	Dominica	ENVELOPE(-61.491391, -61.250700, 15.631945, 15.198054)
+GRD	Grenada	ENVELOPE(-61.785182, -61.596391, 12.237154, 11.996945)
+GLP	Guadeloupe	ENVELOPE(-61.796109, -61.187082, 16.512918, 15.870000)
+MTQ	Martinique	ENVELOPE(-61.231536, -60.816946, 14.880136, 14.402773)
+LCA	St. Lucia	ENVELOPE(-61.079582, -60.878064, 14.109309, 13.709445)
+SPM	St. Pierre & Miquelon	ENVELOPE(-56.397782, -56.145500, 47.135827, 46.747191)
+VCT	St. Vincent & the Grenadines	ENVELOPE(-61.280146, -61.120282, 13.383191, 13.130282)
+ABW	Aruba	ENVELOPE(-70.059664, -69.874864, 12.627773, 12.411109)
+BMU	Bermuda	ENVELOPE(-64.823064, -64.676809, 32.379509, 32.260554)
+DOM	Dominican Republic	ENVELOPE(-72.003064, -68.322927, 19.930827, 17.604164)
+HTI	Haiti	ENVELOPE(-74.467791, -71.629182, 20.091454, 18.022782)
+JAM	Jamaica	ENVELOPE(-78.373900, -76.221118, 18.522500, 17.697218)
+ANT	Netherlands Antilles	ENVELOPE(-69.163618, -68.192927, 12.383891, 12.020554)
+BHS	The Bahamas	ENVELOPE(-78.978900, -72.738891, 26.929164, 20.915273)
+TCA	Turks & Caicos Is.	ENVELOPE(-72.031464, -71.127573, 21.957773, 21.429918)
+BLZ	Belize	ENVELOPE(-89.216400, -87.779591, 18.489900, 15.889854)
+CYM	Cayman Is.	ENVELOPE(-81.400836, -81.093064, 19.354164, 19.265000)
+COL	Colombia	ENVELOPE(-81.720146, -66.870455, 12.590273, -4.236873)
+CRI	Costa Rica	ENVELOPE(-85.911391, -82.561400, 11.212845, 8.025673)
+CUB	Cuba	ENVELOPE(-84.952927, -74.131255, 23.194027, 19.821945)
+SLV	El Salvador	ENVELOPE(-90.108064, -87.694673, 14.431982, 13.156391)
+HND	Honduras	ENVELOPE(-89.350491, -83.131855, 16.435827, 12.985173)
+NIC	Nicaragua	ENVELOPE(-87.689827, -83.131855, 15.022218, 10.709691)
+PAN	Panama	ENVELOPE(-83.030291, -77.198336, 9.620136, 7.206109)
+AIA	Anguilla	ENVELOPE(-63.167782, -62.972709, 18.272982, 18.164445)
+ATG	Antigua & Barbuda	ENVELOPE(-61.891109, -61.666946, 17.724300, 16.989718)
+VGB	British Virgin Is.	ENVELOPE(-64.698482, -64.324527, 18.504854, 18.383891)
+MSR	Montserrat	ENVELOPE(-62.236946, -62.138891, 16.812354, 16.671391)
+PRI	Puerto Rico	ENVELOPE(-67.266400, -65.301118, 18.519445, 17.922218)
+KNA	St. Kitts & Nevis	ENVELOPE(-62.862782, -62.622509, 17.410136, 17.208882)
+VIR	Virgin Is.	ENVELOPE(-65.023509, -64.562573, 18.387673, 17.676664)
+FRO	Faroe Is.	ENVELOPE(-7.433473, -6.389718, 62.357500, 61.388327)
+GRL	Greenland	ENVELOPE(-73.053609, -12.157637, 83.623600, 59.790273)
+XGK	Guernsey	ENVELOPE(-2.668609, -2.500973, 49.508191, 49.422491)
+ISL	Iceland	ENVELOPE(-24.538400, -13.499446, 66.536100, 63.390000)
+IRL	Ireland	ENVELOPE(-10.474727, -6.013055, 55.379991, 51.445545)
+XIM	Isle of Man	ENVELOPE(-4.787155, -4.308682, 54.416382, 54.055545)
+SJM	Jan Mayen	ENVELOPE(-9.119909, -7.928509, 71.180818, 70.803863)
+XJE	Jersey	ENVELOPE(-2.247364, -2.015000, 49.261109, 49.167773)
+GBR	United Kingdom	ENVELOPE(-8.171664, 1.749445, 60.843327, 49.955273)
+CPV	Cape Verde	ENVELOPE(-25.360555, -22.666109, 17.192364, 14.811109)
+CIV	Cote d'Ivoire	ENVELOPE(-8.606382, -2.487782, 10.735254, 4.344718)
+GHA	Ghana	ENVELOPE(-3.248891, 1.202782, 11.155691, 4.727082)
+GIB	Gibraltar	ENVELOPE(-5.356173, -5.334509, 36.163309, 36.112073)
+LBR	Liberia	ENVELOPE(-11.492327, -7.368400, 8.512782, 4.343609)
+MAR	Morocco	ENVELOPE(-13.174964, -1.011809, 35.919164, 27.664236)
+PRT	Portugal	ENVELOPE(-31.289027, -6.190455, 42.150673, 32.637500)
+ESP	Spain	ENVELOPE(-18.169864, 4.316945, 43.764300, 27.637500)
+ESH	Western Sahara	ENVELOPE(-17.101527, -8.666391, 27.666954, 20.764100)
+BFA	Burkina Faso	ENVELOPE(-5.520837, 2.397927, 15.082773, 9.395691)
+GIN	Guinea	ENVELOPE(-15.080837, -7.653373, 12.677500, 7.193927)
+GNB	Guinea-Bissau	ENVELOPE(-16.717773, -13.643891, 12.684718, 10.925100)
+MLI	Mali	ENVELOPE(-12.244837, 4.251391, 25.000273, 10.142154)
+MRT	Mauritania	ENVELOPE(-17.075555, -4.806109, 27.290454, 14.725636)
+SEN	Senegal	ENVELOPE(-17.532782, -11.369927, 16.690618, 12.301745)
+SLE	Sierra Leone	ENVELOPE(-13.295609, -10.264309, 9.997500, 6.923609)
+GMB	The Gambia	ENVELOPE(-16.821664, -13.798609, 13.826391, 13.059973)
+DJI	Djibouti	ENVELOPE(41.759854, 43.420409, 12.708327, 10.942218)
+ERI	Eritrea	ENVELOPE(36.443282, 43.121382, 17.994882, 12.363891)
+ETH	Ethiopia	ENVELOPE(32.991800, 47.988245, 14.883609, 3.406664)
+MNG	Mongolia	ENVELOPE(87.761100, 119.931509, 52.142773, 41.586654)
+SDN	Sudan	ENVELOPE(21.829100, 38.607500, 22.232218, 3.493391)
+UGA	Uganda	ENVELOPE(29.574300, 35.009718, 4.222782, -1.476109)
+ISR	Gaza Strip	ENVELOPE(34.216663, 34.558891, 31.596100, 31.216545)
+IRQ	Iraq	ENVELOPE(38.794700, 48.560691, 37.383673, 29.061664)
+ISR	Israel	ENVELOPE(34.267582, 35.681109, 33.270273, 29.486709)
+JOR	Jordan	ENVELOPE(34.960418, 39.301109, 33.377591, 29.188891)
+KAZ	Kazakhstan	ENVELOPE(46.499163, 87.348209, 55.442627, 40.594436)
+NOR	Norway	ENVELOPE(4.789582, 31.073536, 71.154709, 57.987918)
+RUS	Russia	ENVELOPE(-180.000000, 180.000000, 81.851927, 41.196582)
+SWE	Sweden	ENVELOPE(11.113336, 24.167009, 69.060300, 55.339164)
+ISR	West Bank	ENVELOPE(34.888191, 35.570609, 32.546391, 31.350691)
+DZA	Algeria	ENVELOPE(-8.667218, 11.986473, 37.089854, 18.976391)
+AND	Andorra	ENVELOPE(1.421391, 1.781718, 42.655964, 42.436382)
+CMR	Cameroon	ENVELOPE(8.502363, 16.207000, 13.085000, 1.654164)
+CAF	Central African Republic	ENVELOPE(14.418891, 27.459718, 11.000836, 2.221264)
+LBY	Libya	ENVELOPE(9.311391, 25.151663, 33.171136, 19.499064)
+MCO	Monaco	ENVELOPE(7.390900, 7.439291, 43.768300, 43.727545)
+TUN	Tunisia	ENVELOPE(7.492218, 11.581663, 37.340409, 30.234391)
+BEN	Benin	ENVELOPE(0.776663, 3.855000, 12.396654, 6.218718)
+TCD	Chad	ENVELOPE(13.461945, 24.002745, 23.450554, 7.458536)
+GNQ	Equatorial Guinea	ENVELOPE(8.424163, 11.353891, 3.763336, 0.930154)
+KIR	Kiribati	ENVELOPE(-157.581700, 172.947509, 2.033054, 1.335991)
+NER	Niger	ENVELOPE(0.166663, 15.996663, 23.522309, 11.693273)
+NGA	Nigeria	ENVELOPE(2.692500, 14.649654, 13.891500, 4.272845)
+STP	Sao Tome & Principe	ENVELOPE(6.465136, 7.463473, 1.701245, 0.018336)
+TGO	Togo	ENVELOPE(-0.149764, 1.797800, 11.138536, 6.100545)
+ALB	Albania	ENVELOPE(19.288536, 21.053327, 42.660345, 39.645000)
+BIH	Bosnia & Herzegovina	ENVELOPE(15.740591, 19.619782, 45.265945, 42.565827)
+HRV	Croatia	ENVELOPE(13.504791, 19.425000, 46.535827, 42.399991)
+ITA	Italy	ENVELOPE(6.623963, 18.514445, 47.094582, 36.649164)
+MKD	Macedonia	ENVELOPE(20.458818, 23.030973, 42.358954, 40.855891)
+MLT	Malta	ENVELOPE(14.329100, 14.570000, 35.991936, 35.800000)
+SMR	San Marino	ENVELOPE(12.406945, 12.511109, 43.986873, 43.898682)
+SMN	Serbia & Montenegro	ENVELOPE(18.453327, 23.005000, 46.181109, 41.849000)
+VTC	Vatican City	ENVELOPE(12.444473, 12.457718, 41.908391, 41.900891)
+BGR	Bulgaria	ENVELOPE(22.365273, 28.605136, 44.224718, 41.243045)
+CYP	Cyprus	ENVELOPE(32.269863, 34.586036, 35.688609, 34.640273)
+EGY	Egypt	ENVELOPE(24.706800, 36.895827, 31.646945, 21.994164)
+GEO	Georgia	ENVELOPE(40.002963, 46.710818, 43.584718, 41.048045)
+GRC	Greece	ENVELOPE(19.640000, 28.238045, 41.747773, 34.930545)
+LBN	Lebanon	ENVELOPE(35.100827, 36.623745, 34.647500, 33.062082)
+SYR	Syria	ENVELOPE(35.614463, 42.378327, 37.290545, 32.313609)
+TUR	Turkey	ENVELOPE(25.665827, 44.820545, 42.109991, 35.818445)
+AUT	Austria	ENVELOPE(9.533573, 17.166382, 49.018745, 46.407491)
+CZE	Czech Republic	ENVELOPE(12.093700, 18.852218, 51.052491, 48.581382)
+DNK	Denmark	ENVELOPE(8.092918, 15.149163, 57.745973, 54.561936)
+HUN	Hungary	ENVELOPE(16.111800, 22.894800, 48.576173, 45.748327)
+POL	Poland	ENVELOPE(14.147636, 24.143473, 54.836036, 49.002918)
+SVK	Slovakia	ENVELOPE(16.844718, 22.558054, 49.600827, 47.737500)
+SVN	Slovenia	ENVELOPE(13.383473, 16.607873, 46.876245, 45.425818)
+SJM	Svalbard	ENVELOPE(10.487918, 33.637500, 80.764163, 74.343045)
+BEL	Belgium	ENVELOPE(2.541663, 6.398200, 51.501245, 49.508882)
+FRA	France	ENVELOPE(-4.790282, 9.562218, 51.091109, 41.364927)
+DEU	Germany	ENVELOPE(5.865000, 15.033818, 55.056527, 47.274718)
+LIE	Liechtenstein	ENVELOPE(9.474636, 9.633891, 47.274545, 47.057454)
+LUX	Luxembourg	ENVELOPE(5.734445, 6.524027, 50.181809, 49.448464)
+NLD	Netherlands	ENVELOPE(3.370863, 7.210973, 53.465827, 50.753882)
+CHE	Switzerland	ENVELOPE(5.967009, 10.488209, 47.806664, 45.829436)
+USA	United States	ENVELOPE(-178.216555, 179.775936, 71.351436, 18.925482)
+BLR	Belarus	ENVELOPE(23.165400, 32.740054, 56.167491, 51.251845)
+EST	Estonia	ENVELOPE(21.837354, 28.194091, 59.664718, 57.522636)
+FIN	Finland	ENVELOPE(19.511391, 31.581963, 70.088609, 59.806800)
+LVA	Latvia	ENVELOPE(20.968609, 28.235963, 58.083254, 55.674836)
+LTU	Lithuania	ENVELOPE(20.942836, 26.813054, 56.449854, 53.890336)
+MDA	Moldova	ENVELOPE(26.634991, 30.128709, 48.468318, 45.448645)
+ROM	Romania	ENVELOPE(20.261027, 29.672218, 48.263882, 43.623309)
+UKR	Ukraine	ENVELOPE(22.151445, 40.178745, 52.378600, 44.379154)
+IND	India	ENVELOPE(68.144227, 97.380536, 35.505618, 6.745827)
+MDV	Maldives	ENVELOPE(72.863391, 73.637272, 7.027773, -0.641664)
+OMN	Oman	ENVELOPE(51.999291, 59.847082, 26.368709, 16.642782)
+SOM	Somalia	ENVELOPE(40.988609, 51.411318, 11.979164, -1.674873)
+LKA	Sri Lanka	ENVELOPE(79.696091, 81.891663, 9.828191, 5.918054)
+TKM	Turkmenistan	ENVELOPE(51.250182, 66.670882, 42.796173, 35.145991)
+UZB	Uzbekistan	ENVELOPE(55.997491, 73.167545, 45.570591, 37.184991)
+YEM	Yemen	ENVELOPE(42.555973, 54.473473, 18.999345, 12.144718)
+ARM	Armenia	ENVELOPE(43.454163, 46.620536, 41.297054, 38.841145)
+AZE	Azerbaijan	ENVELOPE(44.778863, 51.677009, 42.710754, 38.262809)
+BHR	Bahrain	ENVELOPE(50.453327, 50.796391, 26.288891, 25.571945)
+IRN	Iran	ENVELOPE(44.034954, 63.330273, 39.779154, 25.075973)
+KWT	Kuwait	ENVELOPE(46.546945, 48.416591, 30.084164, 28.538882)
+QAT	Qatar	ENVELOPE(50.751936, 51.615827, 26.152500, 24.556045)
+SAU	Saudi Arabia	ENVELOPE(34.572145, 55.666109, 32.154945, 16.377500)
+ARE	United Arab Emirates	ENVELOPE(51.583327, 56.381663, 26.083882, 22.633327)
+AFG	Afghanistan	ENVELOPE(60.504163, 74.915736, 38.471982, 29.406109)
+KGZ	Kyrgyzstan	ENVELOPE(69.249500, 80.281582, 43.216900, 39.195473)
+NPL	Nepal	ENVELOPE(80.052200, 88.194554, 30.424718, 26.368364)
+PAK	Pakistan	ENVELOPE(60.866300, 77.823927, 37.060791, 23.688045)
+TJK	Tajikistan	ENVELOPE(67.364700, 75.187482, 41.049254, 36.671845)
+BGD	Bangladesh	ENVELOPE(88.043872, 92.669345, 26.626136, 20.744818)
+BTN	Bhutan	ENVELOPE(88.751936, 92.114218, 28.325000, 26.703609)
+BRN	Brunei	ENVELOPE(114.095082, 115.360263, 5.053054, 4.018191)
+CHN	China	ENVELOPE(73.620045, 134.768463, 53.553745, 18.168882)
+JPN	Japan	ENVELOPE(123.678863, 145.812409, 45.486382, 24.251391)
+PRK	North Korea	ENVELOPE(124.323954, 130.697418, 43.006100, 37.671382)
+PLW	Palau	ENVELOPE(134.452482, 134.658872, 7.729445, 7.305254)
+PHL	Philippines	ENVELOPE(116.950000, 126.598036, 19.391109, 5.049164)
+KOR	South Korea	ENVELOPE(126.099018, 129.586872, 38.625245, 33.192209)
+KHM	Cambodia	ENVELOPE(102.346509, 107.636382, 14.708618, 10.422736)
+LAO	Laos	ENVELOPE(100.091372, 107.695254, 22.499927, 13.926664)
+MYS	Malaysia	ENVELOPE(99.641936, 119.275818, 7.352918, 0.852782)
+MMR	Myanmar	ENVELOPE(92.204991, 101.169427, 28.546527, 9.839582)
+SGP	Singapore	ENVELOPE(103.640945, 103.997945, 1.445282, 1.259027)
+THA	Thailand	ENVELOPE(97.347272, 105.639291, 20.454582, 5.633473)
+VNM	Vietnam	ENVELOPE(102.140745, 109.464845, 23.324164, 8.559236)
+GUM	Guam	ENVELOPE(144.634154, 144.953309, 13.652291, 13.235000)
+MHL	Marshall Is.	ENVELOPE(162.324963, 171.378063, 14.594027, 5.600273)
+FSM	Micronesia	ENVELOPE(158.120100, 163.042891, 6.977636, 5.261664)
+MNP	Northern Mariana Is.	ENVELOPE(145.572682, 145.818082, 15.268191, 14.908054)
+UMI	Wake I.	ENVELOPE(166.608981, 166.662200, 19.324582, 19.279445)
+BWA	Botswana	ENVELOPE(19.996109, 29.373618, -17.782082, -26.875555)
+BDI	Burundi	ENVELOPE(28.985000, 30.853191, -2.301564, -4.448055)
+ATF	French Southern & Antarctic Lands	ENVELOPE(51.650836, 70.567491, -46.327645, -49.725009)
+HMD	Heard I. & McDonald Is.	ENVELOPE(73.234709, 73.773882, -52.965145, -53.199445)
+KEN	Kenya	ENVELOPE(33.907218, 41.905163, 4.622500, -4.669618)
+RWA	Rwanda	ENVELOPE(28.854445, 30.893263, -1.054446, -2.825491)
+TZA	Tanzania	ENVELOPE(29.340827, 40.436809, -0.997218, -11.740418)
+ZMB	Zambia	ENVELOPE(21.996391, 33.702282, -8.191664, -18.074918)
+ZWE	Zimbabwe	ENVELOPE(25.237918, 33.071591, -15.616527, -22.414764)
+ATA	Antarctica	ENVELOPE(-180.000000, 180.000000, -60.503336, -90.000000)
+NOR	Bouvet I.	ENVELOPE(3.342363, 3.484163, -54.383609, -54.462782)
+COM	Comoros	ENVELOPE(43.214027, 44.530418, -11.366946, -12.383055)
+REU	Juan De Nova I.	ENVELOPE(42.723818, 42.760900, -17.052018, -17.076118)
+LSO	Lesotho	ENVELOPE(27.013973, 29.455554, -28.570691, -30.650527)
+MWI	Malawi	ENVELOPE(32.681873, 35.920963, -9.376673, -17.135282)
+MOZ	Mozambique	ENVELOPE(30.213018, 40.846109, -10.471109, -26.860282)
+ZAF	South Africa	ENVELOPE(16.483327, 37.892218, -22.136391, -46.969727)
+SWZ	Swaziland	ENVELOPE(30.798336, 32.133400, -25.728336, -27.316391)
+AGO	Angola	ENVELOPE(11.731245, 24.084445, -4.388991, -18.016391)
+COG	Congo	ENVELOPE(11.140663, 18.643609, 3.711109, -5.015000)
+ZAR	Congo, DRC	ENVELOPE(12.214554, 31.302773, 5.380691, -13.458055)
+FJI	Fiji	ENVELOPE(-180.000000, 180.000000, -16.153473, -19.162782)
+GAB	Gabon	ENVELOPE(8.700836, 14.519582, 2.317900, -3.925282)
+NAM	Namibia	ENVELOPE(11.716391, 25.264427, -16.954173, -28.961873)
+NZL	New Zealand	ENVELOPE(-176.848755, 178.841063, -34.414718, -52.578055)
+IOT	British Indian Ocean Territory	ENVELOPE(72.357900, 72.494282, -7.233473, -7.436246)
+REU	Glorioso Is.	ENVELOPE(47.279091, 47.303054, -11.554100, -11.577782)
+MDG	Madagascar	ENVELOPE(43.236827, 50.501391, -11.945555, -25.588336)
+MUS	Mauritius	ENVELOPE(57.306309, 63.495754, -19.673336, -20.520555)
+MYT	Mayotte	ENVELOPE(45.039163, 45.293345, -12.662500, -12.992500)
+REU	Reunion	ENVELOPE(55.220554, 55.853054, -20.856527, -21.373891)
+SYC	Seychelles	ENVELOPE(46.205691, 55.540554, -4.551664, -9.463055)
+CXR	Christmas I.	ENVELOPE(105.629000, 105.751900, -10.384082, -10.510973)
+CCK	Cocos Is.	ENVELOPE(96.817491, 96.864845, -12.130418, -12.199446)
+IDN	Indonesia	ENVELOPE(95.210945, 141.007018, 5.913473, -10.929655)
+TLS	Timor Leste	ENVELOPE(124.046100, 127.308591, -8.140000, -9.463627)
+AUS	Australia	ENVELOPE(112.907209, 158.960372, -10.135691, -54.753891)
+NRU	Nauru	ENVELOPE(166.904418, 166.957045, -0.493336, -0.552218)
+NCL	New Caledonia	ENVELOPE(163.982745, 168.130509, -20.087918, -22.673891)
+NFK	Norfolk I.	ENVELOPE(167.910945, 167.998872, -29.000555, -29.081109)
+PNG	Papua New Guinea	ENVELOPE(140.858854, 155.966845, -1.355282, -11.642500)
+SLB	Solomon Is.	ENVELOPE(155.671300, 166.931836, -6.605518, -11.845836)
+TUV	Tuvalu	ENVELOPE(176.295254, 179.232281, -6.089446, -8.561291)
+VUT	Vanuatu	ENVELOPE(166.521636, 169.893863, -13.707218, -20.254173)


[87/87] [abbrv] lucene-solr git commit: LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module

Posted by nk...@apache.org.
LUCENE-6997: refactors lucene-spatial module to a new lucene-spatial-extras module, and refactors sandbox GeoPointField and queries to lucene-spatial module


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/50a2f754
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/50a2f754
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/50a2f754

Branch: refs/heads/lucene-6997
Commit: 50a2f7549eb72be3a29cb2e391a9b4db63ee2e33
Parents: 629767b
Author: nknize <nk...@apache.org>
Authored: Wed Feb 3 23:35:18 2016 -0600
Committer: nknize <nk...@apache.org>
Committed: Thu Feb 4 15:17:27 2016 -0600

----------------------------------------------------------------------
 dev-tools/idea/.idea/ant.xml                    |     1 +
 dev-tools/idea/.idea/modules.xml                |     1 +
 dev-tools/idea/.idea/workspace.xml              |    41 +-
 .../idea/lucene/benchmark/src/benchmark.iml     |     2 +-
 dev-tools/idea/lucene/sandbox/sandbox.iml       |     1 +
 .../lucene/spatial-extras/spatial-extras.iml    |    32 +
 dev-tools/idea/lucene/spatial/spatial.iml       |    18 +-
 dev-tools/idea/solr/core/src/java/solr-core.iml |     2 +-
 .../idea/solr/core/src/solr-core-tests.iml      |     2 +-
 dev-tools/maven/lucene/pom.xml.template         |     1 +
 .../lucene/spatial-extras/pom.xml.template      |    62 +
 dev-tools/maven/lucene/spatial/pom.xml.template |    10 +-
 dev-tools/scripts/smokeTestRelease.py           |     2 +-
 lucene/benchmark/build.xml                      |     8 +-
 lucene/build.xml                                |     3 +-
 .../java/org/apache/lucene/util/SloppyMath.java |     6 +-
 lucene/module-build.xml                         |    26 +
 lucene/sandbox/build.xml                        |    20 +
 .../apache/lucene/document/GeoPointField.java   |   131 -
 .../org/apache/lucene/document/LatLonPoint.java |     2 +-
 .../apache/lucene/search/GeoBoundingBox.java    |    46 -
 .../lucene/search/GeoPointDistanceQuery.java    |   170 -
 .../search/GeoPointDistanceQueryImpl.java       |   131 -
 .../search/GeoPointDistanceRangeQuery.java      |   102 -
 .../lucene/search/GeoPointInBBoxQuery.java      |   152 -
 .../lucene/search/GeoPointInBBoxQueryImpl.java  |   160 -
 .../lucene/search/GeoPointInPolygonQuery.java   |   194 -
 .../apache/lucene/search/GeoPointTermQuery.java |    70 -
 .../GeoPointTermQueryConstantScoreWrapper.java  |   129 -
 .../apache/lucene/search/GeoPointTermsEnum.java |   249 -
 .../lucene/search/PointInPolygonQuery.java      |     4 +-
 .../apache/lucene/search/PointInRectQuery.java  |     2 +-
 .../apache/lucene/util/GeoDistanceUtils.java    |   217 -
 .../org/apache/lucene/util/GeoHashUtils.java    |   273 -
 .../apache/lucene/util/GeoProjectionUtils.java  |   437 -
 .../java/org/apache/lucene/util/GeoRect.java    |    66 -
 .../apache/lucene/util/GeoRelationUtils.java    |   497 -
 .../java/org/apache/lucene/util/GeoUtils.java   |   237 -
 .../java/org/apache/lucene/util/package.html    |    28 -
 .../apache/lucene/search/TestGeoPointQuery.java |   386 -
 .../lucene/search/TestLatLonPointQueries.java   |    12 +-
 .../lucene/util/BaseGeoPointTestCase.java       |   764 -
 .../org/apache/lucene/util/TestGeoUtils.java    |   545 -
 lucene/spatial-extras/build.xml                 |    57 +
 lucene/spatial-extras/ivy.xml                   |    36 +
 .../apache/lucene/spatial/SpatialStrategy.java  |   149 +
 .../bbox/BBoxOverlapRatioValueSource.java       |   251 +
 .../spatial/bbox/BBoxSimilarityValueSource.java |   117 +
 .../lucene/spatial/bbox/BBoxStrategy.java       |   588 +
 .../lucene/spatial/bbox/BBoxValueSource.java    |   115 +
 .../lucene/spatial/bbox/package-info.java       |    22 +
 .../composite/CompositeSpatialStrategy.java     |   144 +
 .../spatial/composite/CompositeVerifyQuery.java |   121 +
 .../composite/IntersectsRPTVerifyQuery.java     |   235 +
 .../lucene/spatial/composite/package-info.java  |    18 +
 .../spatial/prefix/AbstractPrefixTreeQuery.java |   133 +
 .../prefix/AbstractVisitingPrefixTreeQuery.java |   380 +
 .../prefix/BytesRefIteratorTokenStream.java     |    72 +
 .../spatial/prefix/CellToBytesRefIterator.java  |    49 +
 .../spatial/prefix/ContainsPrefixTreeQuery.java |   362 +
 .../spatial/prefix/HeatmapFacetCounter.java     |   310 +
 .../prefix/IntersectsPrefixTreeQuery.java       |    95 +
 .../prefix/NumberRangePrefixTreeStrategy.java   |   199 +
 .../PointPrefixTreeFieldCacheProvider.java      |    48 +
 .../spatial/prefix/PrefixTreeFacetCounter.java  |   201 +
 .../spatial/prefix/PrefixTreeStrategy.java      |   208 +
 .../prefix/RecursivePrefixTreeStrategy.java     |   192 +
 .../prefix/TermQueryPrefixTreeStrategy.java     |   111 +
 .../spatial/prefix/WithinPrefixTreeQuery.java   |   233 +
 .../lucene/spatial/prefix/package-info.java     |    20 +
 .../apache/lucene/spatial/prefix/tree/Cell.java |   109 +
 .../spatial/prefix/tree/CellIterator.java       |    76 +
 .../prefix/tree/DateRangePrefixTree.java        |   444 +
 .../spatial/prefix/tree/FilterCellIterator.java |    61 +
 .../spatial/prefix/tree/GeohashPrefixTree.java  |   162 +
 .../lucene/spatial/prefix/tree/LegacyCell.java  |   242 +
 .../spatial/prefix/tree/LegacyPrefixTree.java   |    84 +
 .../prefix/tree/NumberRangePrefixTree.java      |   989 +
 .../prefix/tree/PackedQuadPrefixTree.java       |   459 +
 .../spatial/prefix/tree/QuadPrefixTree.java     |   308 +
 .../prefix/tree/SingletonCellIterator.java      |    36 +
 .../spatial/prefix/tree/SpatialPrefixTree.java  |   117 +
 .../prefix/tree/SpatialPrefixTreeFactory.java   |    99 +
 .../spatial/prefix/tree/TreeCellIterator.java   |    87 +
 .../spatial/prefix/tree/package-info.java       |    29 +
 .../lucene/spatial/query/SpatialArgs.java       |   148 +
 .../lucene/spatial/query/SpatialArgsParser.java |   146 +
 .../lucene/spatial/query/SpatialOperation.java  |   179 +
 .../query/UnsupportedSpatialOperation.java      |    28 +
 .../lucene/spatial/query/package-info.java      |    20 +
 .../serialized/SerializedDVStrategy.java        |   278 +
 .../lucene/spatial/serialized/package-info.java |    20 +
 .../lucene/spatial/spatial4j/package-info.java  |    18 +
 .../spatial/util/CachingDoubleValueSource.java  |    93 +
 .../util/DistanceToShapeValueSource.java        |   122 +
 .../spatial/util/ShapeAreaValueSource.java      |   116 +
 .../lucene/spatial/util/ShapeFieldCache.java    |    54 +
 .../ShapeFieldCacheDistanceValueSource.java     |   112 +
 .../spatial/util/ShapeFieldCacheProvider.java   |    87 +
 .../spatial/util/ShapePredicateValueSource.java |   113 +
 .../lucene/spatial/util/package-info.java       |    21 +
 .../spatial/vector/DistanceValueSource.java     |   120 +
 .../spatial/vector/PointVectorStrategy.java     |   178 +
 .../lucene/spatial/vector/package-info.java     |    20 +
 lucene/spatial-extras/src/java/overview.html    |    67 +
 .../src/test-files/cities-Intersects-BBox.txt   |     3 +
 .../src/test-files/data/LUCENE-4464.txt         |     3 +
 .../src/test-files/data/countries-bbox.txt      |   249 +
 .../src/test-files/data/countries-poly.txt      |   249 +
 .../src/test-files/data/geonames-IE.txt         | 22929 +++++++++++++++++
 .../src/test-files/data/simple-bbox.txt         |     4 +
 .../src/test-files/data/states-bbox.txt         |    52 +
 .../src/test-files/data/states-poly.txt         |    52 +
 .../src/test-files/data/world-cities-points.txt |  2680 ++
 .../src/test-files/simple-Queries-BBox.txt      |     9 +
 .../src/test-files/states-Intersects-BBox.txt   |     3 +
 .../src/test-files/states-IsWithin-BBox.txt     |     4 +
 .../lucene/spatial/DistanceStrategyTest.java    |   135 +
 .../apache/lucene/spatial/PortedSolr3Test.java  |   167 +
 .../lucene/spatial/QueryEqualsHashCodeTest.java |   119 +
 .../apache/lucene/spatial/SpatialArgsTest.java  |    50 +
 .../apache/lucene/spatial/SpatialExample.java   |   200 +
 .../lucene/spatial/SpatialMatchConcern.java     |    31 +
 .../apache/lucene/spatial/SpatialTestCase.java  |   280 +
 .../apache/lucene/spatial/SpatialTestData.java  |    71 +
 .../apache/lucene/spatial/SpatialTestQuery.java |    96 +
 .../apache/lucene/spatial/StrategyTestCase.java |   252 +
 .../lucene/spatial/TestTestFramework.java       |    68 +
 .../lucene/spatial/bbox/TestBBoxStrategy.java   |   301 +
 .../composite/CompositeStrategyTest.java        |   142 +
 .../prefix/CellToBytesRefIterator50.java        |    44 +
 .../spatial/prefix/DateNRStrategyTest.java      |   143 +
 .../spatial/prefix/HeatmapFacetCounterTest.java |   252 +
 .../lucene/spatial/prefix/JtsPolygonTest.java   |   117 +
 .../spatial/prefix/NumberRangeFacetsTest.java   |   275 +
 .../RandomSpatialOpFuzzyPrefixTree50Test.java   |    31 +
 .../RandomSpatialOpFuzzyPrefixTreeTest.java     |   533 +
 .../prefix/RandomSpatialOpStrategyTestCase.java |   141 +
 .../prefix/TestRecursivePrefixTreeStrategy.java |   122 +
 .../prefix/TestTermQueryPrefixGridStrategy.java |    63 +
 .../prefix/tree/DateRangePrefixTreeTest.java    |   175 +
 .../prefix/tree/SpatialPrefixTreeTest.java      |   114 +
 .../spatial/query/SpatialArgsParserTest.java    |    81 +
 .../serialized/SerializedStrategyTest.java      |    66 +
 .../lucene/spatial/spatial4j/Geo3dRptTest.java  |   227 +
 .../Geo3dShapeRectRelationTestCase.java         |   264 +
 .../Geo3dShapeSphereModelRectRelationTest.java  |    72 +
 .../Geo3dShapeWGS84ModelRectRelationTest.java   |    94 +
 .../spatial4j/RandomizedShapeTestCase.java      |   288 +
 .../spatial/spatial4j/geo3d/GeoPointTest.java   |    80 +
 .../spatial/vector/TestPointVectorStrategy.java |    63 +
 lucene/spatial/build.xml                        |    62 +-
 lucene/spatial/ivy.xml                          |    21 +-
 .../apache/lucene/spatial/SpatialStrategy.java  |   149 -
 .../bbox/BBoxOverlapRatioValueSource.java       |   251 -
 .../spatial/bbox/BBoxSimilarityValueSource.java |   117 -
 .../lucene/spatial/bbox/BBoxStrategy.java       |   591 -
 .../lucene/spatial/bbox/BBoxValueSource.java    |   115 -
 .../lucene/spatial/bbox/package-info.java       |    22 -
 .../composite/CompositeSpatialStrategy.java     |   144 -
 .../spatial/composite/CompositeVerifyQuery.java |   121 -
 .../composite/IntersectsRPTVerifyQuery.java     |   235 -
 .../lucene/spatial/composite/package-info.java  |    18 -
 .../lucene/spatial/document/GeoPointField.java  |   139 +
 .../lucene/spatial/document/package-info.java   |    21 +
 .../org/apache/lucene/spatial/package-info.java |     7 +-
 .../spatial/prefix/AbstractPrefixTreeQuery.java |   133 -
 .../prefix/AbstractVisitingPrefixTreeQuery.java |   380 -
 .../prefix/BytesRefIteratorTokenStream.java     |    72 -
 .../spatial/prefix/CellToBytesRefIterator.java  |    49 -
 .../spatial/prefix/ContainsPrefixTreeQuery.java |   362 -
 .../spatial/prefix/HeatmapFacetCounter.java     |   310 -
 .../prefix/IntersectsPrefixTreeQuery.java       |    95 -
 .../prefix/NumberRangePrefixTreeStrategy.java   |   199 -
 .../PointPrefixTreeFieldCacheProvider.java      |    48 -
 .../spatial/prefix/PrefixTreeFacetCounter.java  |   201 -
 .../spatial/prefix/PrefixTreeStrategy.java      |   208 -
 .../prefix/RecursivePrefixTreeStrategy.java     |   196 -
 .../prefix/TermQueryPrefixTreeStrategy.java     |   111 -
 .../spatial/prefix/WithinPrefixTreeQuery.java   |   233 -
 .../apache/lucene/spatial/prefix/tree/Cell.java |   109 -
 .../spatial/prefix/tree/CellIterator.java       |    76 -
 .../prefix/tree/DateRangePrefixTree.java        |   444 -
 .../spatial/prefix/tree/FilterCellIterator.java |    61 -
 .../spatial/prefix/tree/GeohashPrefixTree.java  |   162 -
 .../lucene/spatial/prefix/tree/LegacyCell.java  |   242 -
 .../spatial/prefix/tree/LegacyPrefixTree.java   |    84 -
 .../prefix/tree/NumberRangePrefixTree.java      |   989 -
 .../prefix/tree/PackedQuadPrefixTree.java       |   459 -
 .../spatial/prefix/tree/QuadPrefixTree.java     |   308 -
 .../prefix/tree/SingletonCellIterator.java      |    36 -
 .../spatial/prefix/tree/SpatialPrefixTree.java  |   117 -
 .../prefix/tree/SpatialPrefixTreeFactory.java   |    99 -
 .../spatial/prefix/tree/TreeCellIterator.java   |    87 -
 .../spatial/prefix/tree/package-info.java       |    29 -
 .../lucene/spatial/query/SpatialArgs.java       |   148 -
 .../lucene/spatial/query/SpatialArgsParser.java |   146 -
 .../lucene/spatial/query/SpatialOperation.java  |   179 -
 .../query/UnsupportedSpatialOperation.java      |    28 -
 .../lucene/spatial/query/package-info.java      |    20 -
 .../spatial/search/GeoPointDistanceQuery.java   |   182 +
 .../search/GeoPointDistanceQueryImpl.java       |   130 +
 .../search/GeoPointDistanceRangeQuery.java      |   111 +
 .../spatial/search/GeoPointInBBoxQuery.java     |   171 +
 .../spatial/search/GeoPointInBBoxQueryImpl.java |   160 +
 .../spatial/search/GeoPointInPolygonQuery.java  |   197 +
 .../spatial/search/GeoPointTermQuery.java       |   115 +
 .../GeoPointTermQueryConstantScoreWrapper.java  |   139 +
 .../spatial/search/GeoPointTermsEnum.java       |   249 +
 .../lucene/spatial/search/package-info.java     |    21 +
 .../serialized/SerializedDVStrategy.java        |   278 -
 .../lucene/spatial/serialized/package-info.java |    20 -
 .../lucene/spatial/spatial4j/package-info.java  |    18 -
 .../spatial/util/CachingDoubleValueSource.java  |    93 -
 .../util/DistanceToShapeValueSource.java        |   122 -
 .../lucene/spatial/util/GeoBoundingBox.java     |    73 +
 .../lucene/spatial/util/GeoDistanceUtils.java   |   221 +
 .../lucene/spatial/util/GeoHashUtils.java       |   283 +
 .../lucene/spatial/util/GeoProjectionUtils.java |   465 +
 .../lucene/spatial/util/GeoRelationUtils.java   |   524 +
 .../apache/lucene/spatial/util/GeoUtils.java    |   247 +
 .../spatial/util/ShapeAreaValueSource.java      |   116 -
 .../lucene/spatial/util/ShapeFieldCache.java    |    54 -
 .../ShapeFieldCacheDistanceValueSource.java     |   112 -
 .../spatial/util/ShapeFieldCacheProvider.java   |    87 -
 .../spatial/util/ShapePredicateValueSource.java |   113 -
 .../lucene/spatial/util/package-info.java       |     7 +-
 .../spatial/vector/DistanceValueSource.java     |   120 -
 .../spatial/vector/PointVectorStrategy.java     |   182 -
 .../lucene/spatial/vector/package-info.java     |    20 -
 lucene/spatial/src/java/overview.html           |    63 +-
 .../src/test-files/cities-Intersects-BBox.txt   |     3 -
 .../spatial/src/test-files/data/LUCENE-4464.txt |     3 -
 .../src/test-files/data/countries-bbox.txt      |   249 -
 .../src/test-files/data/countries-poly.txt      |   249 -
 .../spatial/src/test-files/data/geonames-IE.txt | 22929 -----------------
 .../spatial/src/test-files/data/simple-bbox.txt |     5 -
 .../spatial/src/test-files/data/states-bbox.txt |    52 -
 .../spatial/src/test-files/data/states-poly.txt |    52 -
 .../src/test-files/data/world-cities-points.txt |  2680 --
 .../src/test-files/simple-Queries-BBox.txt      |     9 -
 .../src/test-files/states-Intersects-BBox.txt   |     3 -
 .../src/test-files/states-IsWithin-BBox.txt     |     4 -
 .../lucene/spatial/DistanceStrategyTest.java    |   135 -
 .../apache/lucene/spatial/PortedSolr3Test.java  |   167 -
 .../lucene/spatial/QueryEqualsHashCodeTest.java |   119 -
 .../apache/lucene/spatial/SpatialArgsTest.java  |    50 -
 .../apache/lucene/spatial/SpatialExample.java   |   200 -
 .../lucene/spatial/SpatialMatchConcern.java     |    31 -
 .../apache/lucene/spatial/SpatialTestCase.java  |   281 -
 .../apache/lucene/spatial/SpatialTestData.java  |    71 -
 .../apache/lucene/spatial/SpatialTestQuery.java |    96 -
 .../apache/lucene/spatial/StrategyTestCase.java |   252 -
 .../lucene/spatial/TestTestFramework.java       |    68 -
 .../lucene/spatial/bbox/TestBBoxStrategy.java   |   301 -
 .../composite/CompositeStrategyTest.java        |   142 -
 .../prefix/CellToBytesRefIterator50.java        |    44 -
 .../spatial/prefix/DateNRStrategyTest.java      |   143 -
 .../spatial/prefix/HeatmapFacetCounterTest.java |   252 -
 .../lucene/spatial/prefix/JtsPolygonTest.java   |   117 -
 .../spatial/prefix/NumberRangeFacetsTest.java   |   275 -
 .../RandomSpatialOpFuzzyPrefixTree50Test.java   |    31 -
 .../RandomSpatialOpFuzzyPrefixTreeTest.java     |   533 -
 .../prefix/RandomSpatialOpStrategyTestCase.java |   141 -
 .../prefix/TestRecursivePrefixTreeStrategy.java |   122 -
 .../prefix/TestTermQueryPrefixGridStrategy.java |    63 -
 .../prefix/tree/DateRangePrefixTreeTest.java    |   175 -
 .../prefix/tree/SpatialPrefixTreeTest.java      |   114 -
 .../spatial/query/SpatialArgsParserTest.java    |    81 -
 .../spatial/search/TestGeoPointQuery.java       |   399 +
 .../serialized/SerializedStrategyTest.java      |    66 -
 .../lucene/spatial/spatial4j/Geo3dRptTest.java  |   227 -
 .../Geo3dShapeRectRelationTestCase.java         |   264 -
 .../Geo3dShapeSphereModelRectRelationTest.java  |    72 -
 .../Geo3dShapeWGS84ModelRectRelationTest.java   |    95 -
 .../spatial4j/RandomizedShapeTestCase.java      |   289 -
 .../spatial/spatial4j/geo3d/GeoPointTest.java   |    82 -
 .../spatial/util/BaseGeoPointTestCase.java      |   774 +
 .../lucene/spatial/util/TestGeoUtils.java       |   551 +
 .../spatial/vector/TestPointVectorStrategy.java |    63 -
 solr/common-build.xml                           |     8 +-
 281 files changed, 46517 insertions(+), 46085 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/.idea/ant.xml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/.idea/ant.xml b/dev-tools/idea/.idea/ant.xml
index 2cd14fd..8d454ad 100644
--- a/dev-tools/idea/.idea/ant.xml
+++ b/dev-tools/idea/.idea/ant.xml
@@ -31,6 +31,7 @@
     <buildFile url="file://$PROJECT_DIR$/lucene/replicator/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/lucene/sandbox/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/lucene/spatial/build.xml" />
+    <buildFile url="file://$PROJECT_DIR$/lucene/spatial-extras/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/lucene/suggest/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/lucene/test-framework/build.xml" />
     <buildFile url="file://$PROJECT_DIR$/lucene/tools/build.xml" />

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/.idea/modules.xml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/.idea/modules.xml b/dev-tools/idea/.idea/modules.xml
index 4497f18..75da2f5 100644
--- a/dev-tools/idea/.idea/modules.xml
+++ b/dev-tools/idea/.idea/modules.xml
@@ -36,6 +36,7 @@
       <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/replicator/replicator.iml" />
       <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/sandbox/sandbox.iml" />
       <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/spatial/spatial.iml" />
+      <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/spatial-extras/spatial-extras.iml" />
       <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/spatial3d/spatial3d.iml" />
       <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/suggest/suggest.iml" />
       <module group="Lucene/Other" filepath="$PROJECT_DIR$/lucene/tools/tools.iml" />

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/.idea/workspace.xml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/.idea/workspace.xml b/dev-tools/idea/.idea/workspace.xml
index 423350b..a7c68de 100644
--- a/dev-tools/idea/.idea/workspace.xml
+++ b/dev-tools/idea/.idea/workspace.xml
@@ -204,6 +204,14 @@
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
       <patterns><pattern testClass=".*\.Test[^.]*|.*\.[^.]*Test" /></patterns>
     </configuration>
+    <configuration default="false" name="Module spatial-extras" type="JUnit" factoryName="JUnit">
+      <module name="spatial-extras" />
+      <option name="TEST_OBJECT" value="pattern" />
+      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/idea-build/lucene/spatial-extras" />
+      <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
+      <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
+      <patterns><pattern testClass=".*\.Test[^.]*|.*\.[^.]*Test" /></patterns>
+    </configuration>
     <configuration default="false" name="Module spatial3d" type="JUnit" factoryName="JUnit">
       <module name="spatial3d" />
       <option name="TEST_OBJECT" value="pattern" />
@@ -333,7 +341,7 @@
       <patterns><pattern testClass=".*\.Test[^.]*|.*\.[^.]*Test" /></patterns>
     </configuration>
  
-    <list size="40">
+    <list size="41">
       <item index="0" class="java.lang.String" itemvalue="JUnit.Lucene core" />
       <item index="1" class="java.lang.String" itemvalue="JUnit.Module analyzers-common" />
       <item index="2" class="java.lang.String" itemvalue="JUnit.Module analyzers-icu" />
@@ -359,21 +367,22 @@
       <item index="22" class="java.lang.String" itemvalue="JUnit.Module replicator" />
       <item index="23" class="java.lang.String" itemvalue="JUnit.Module sandbox" />
       <item index="24" class="java.lang.String" itemvalue="JUnit.Module spatial" />
-      <item index="25" class="java.lang.String" itemvalue="JUnit.Module spatial3d" />
-      <item index="26" class="java.lang.String" itemvalue="JUnit.Module suggest" />
-      <item index="27" class="java.lang.String" itemvalue="JUnit.Solr core" />
-      <item index="28" class="java.lang.String" itemvalue="JUnit.Solr analysis-extras contrib" />
-      <item index="29" class="java.lang.String" itemvalue="JUnit.Solr clustering contrib" />
-      <item index="30" class="java.lang.String" itemvalue="JUnit.Solr dataimporthandler contrib" />
-      <item index="31" class="java.lang.String" itemvalue="JUnit.Solr dataimporthandler-extras contrib" />
-      <item index="32" class="java.lang.String" itemvalue="JUnit.Solr extraction contrib" />
-      <item index="33" class="java.lang.String" itemvalue="JUnit.Solr map-reduce contrib" />
-      <item index="34" class="java.lang.String" itemvalue="JUnit.Solr morphlines-cell contrib" />
-      <item index="35" class="java.lang.String" itemvalue="JUnit.Solr morphlines-core contrib" />
-      <item index="36" class="java.lang.String" itemvalue="JUnit.Solr langid contrib" />
-      <item index="37" class="java.lang.String" itemvalue="JUnit.Solr uima contrib" />
-      <item index="38" class="java.lang.String" itemvalue="JUnit.Solr velocity contrib" />
-      <item index="39" class="java.lang.String" itemvalue="JUnit.Solrj" />
+      <item index="25" class="java.lang.String" itemvalue="JUnit.Module spatial-extras" />
+      <item index="26" class="java.lang.String" itemvalue="JUnit.Module spatial3d" />
+      <item index="27" class="java.lang.String" itemvalue="JUnit.Module suggest" />
+      <item index="28" class="java.lang.String" itemvalue="JUnit.Solr core" />
+      <item index="29" class="java.lang.String" itemvalue="JUnit.Solr analysis-extras contrib" />
+      <item index="30" class="java.lang.String" itemvalue="JUnit.Solr clustering contrib" />
+      <item index="31" class="java.lang.String" itemvalue="JUnit.Solr dataimporthandler contrib" />
+      <item index="32" class="java.lang.String" itemvalue="JUnit.Solr dataimporthandler-extras contrib" />
+      <item index="33" class="java.lang.String" itemvalue="JUnit.Solr extraction contrib" />
+      <item index="34" class="java.lang.String" itemvalue="JUnit.Solr map-reduce contrib" />
+      <item index="35" class="java.lang.String" itemvalue="JUnit.Solr morphlines-cell contrib" />
+      <item index="36" class="java.lang.String" itemvalue="JUnit.Solr morphlines-core contrib" />
+      <item index="37" class="java.lang.String" itemvalue="JUnit.Solr langid contrib" />
+      <item index="38" class="java.lang.String" itemvalue="JUnit.Solr uima contrib" />
+      <item index="39" class="java.lang.String" itemvalue="JUnit.Solr velocity contrib" />
+      <item index="40" class="java.lang.String" itemvalue="JUnit.Solrj" />
     </list>
   </component>
 </project>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/lucene/benchmark/src/benchmark.iml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/lucene/benchmark/src/benchmark.iml b/dev-tools/idea/lucene/benchmark/src/benchmark.iml
index cecd54f..509d5ec 100644
--- a/dev-tools/idea/lucene/benchmark/src/benchmark.iml
+++ b/dev-tools/idea/lucene/benchmark/src/benchmark.iml
@@ -24,7 +24,7 @@
     <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
     <orderEntry type="module" scope="TEST" module-name="lucene-test-framework" />
     <orderEntry type="module" scope="TEST" module-name="benchmark-conf" />
-    <orderEntry type="module" module-name="spatial" />
+    <orderEntry type="module" module-name="spatial-extras" />
     <orderEntry type="module" module-name="facet" />
     <orderEntry type="module" module-name="highlighter" />
     <orderEntry type="module" module-name="icu" />

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/lucene/sandbox/sandbox.iml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/lucene/sandbox/sandbox.iml b/dev-tools/idea/lucene/sandbox/sandbox.iml
index 05caa9f..3a7e18b 100644
--- a/dev-tools/idea/lucene/sandbox/sandbox.iml
+++ b/dev-tools/idea/lucene/sandbox/sandbox.iml
@@ -24,6 +24,7 @@
     <orderEntry type="module" scope="TEST" module-name="lucene-test-framework" />
     <orderEntry type="module" scope="TEST" module-name="codecs" />
     <orderEntry type="module" module-name="lucene-core" />
+    <orderEntry type="module" module-name="spatial" />
   </component>
 </module>
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/lucene/spatial-extras/spatial-extras.iml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/lucene/spatial-extras/spatial-extras.iml b/dev-tools/idea/lucene/spatial-extras/spatial-extras.iml
new file mode 100644
index 0000000..17776fd
--- /dev/null
+++ b/dev-tools/idea/lucene/spatial-extras/spatial-extras.iml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/../../idea-build/lucene/spatial-extras/classes/java" />
+    <output-test url="file://$MODULE_DIR$/../../idea-build/lucene/spatial-extras/classes/test" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test-files" type="java-test-resource" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library" exported="">
+      <library>
+        <CLASSES>
+          <root url="file://$MODULE_DIR$/lib" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+        <jarDirectory url="file://$MODULE_DIR$/lib" recursive="false" />
+      </library>
+    </orderEntry>
+    <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
+    <orderEntry type="module" scope="TEST" module-name="lucene-test-framework" />
+    <orderEntry type="module" module-name="lucene-core" />
+    <orderEntry type="module" module-name="queries" />
+    <orderEntry type="module" module-name="misc" />
+    <orderEntry type="module" module-name="spatial3d" />
+    <orderEntry type="module" module-name="analysis-common" scope="TEST"/>
+  </component>
+</module>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/lucene/spatial/spatial.iml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/lucene/spatial/spatial.iml b/dev-tools/idea/lucene/spatial/spatial.iml
index f7cc723..239c278 100644
--- a/dev-tools/idea/lucene/spatial/spatial.iml
+++ b/dev-tools/idea/lucene/spatial/spatial.iml
@@ -7,27 +7,11 @@
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test-files" type="java-test-resource" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module-library" exported="">
-      <library>
-        <CLASSES>
-          <root url="file://$MODULE_DIR$/lib" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-        <jarDirectory url="file://$MODULE_DIR$/lib" recursive="false" />
-      </library>
-    </orderEntry>
     <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
-    <orderEntry type="module" scope="TEST" module-name="lucene-test-framework" />
     <orderEntry type="module" module-name="lucene-core" />
-    <orderEntry type="module" module-name="queries" />
-    <orderEntry type="module" module-name="misc" />
-    <orderEntry type="module" module-name="spatial3d" />
-    <orderEntry type="module" module-name="analysis-common" scope="TEST"/>
+    <orderEntry type="module" module-name="lucene-test-framework" />
   </component>
 </module>
-

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/solr/core/src/java/solr-core.iml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/solr/core/src/java/solr-core.iml b/dev-tools/idea/solr/core/src/java/solr-core.iml
index 9ec3eb6..eded4a8 100644
--- a/dev-tools/idea/solr/core/src/java/solr-core.iml
+++ b/dev-tools/idea/solr/core/src/java/solr-core.iml
@@ -13,7 +13,7 @@
     <orderEntry type="library" name="Solr example library" level="project" />
     <orderEntry type="module" module-name="solrj" />
     <orderEntry type="module" module-name="kuromoji" />
-    <orderEntry type="module" module-name="spatial" />
+    <orderEntry type="module" module-name="spatial-extras" />
     <orderEntry type="module" module-name="grouping" />
     <orderEntry type="module" module-name="highlighter" />
     <orderEntry type="module" module-name="icu" />

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/idea/solr/core/src/solr-core-tests.iml
----------------------------------------------------------------------
diff --git a/dev-tools/idea/solr/core/src/solr-core-tests.iml b/dev-tools/idea/solr/core/src/solr-core-tests.iml
index eb27c57..c9f722a 100644
--- a/dev-tools/idea/solr/core/src/solr-core-tests.iml
+++ b/dev-tools/idea/solr/core/src/solr-core-tests.iml
@@ -25,7 +25,7 @@
     <orderEntry type="module" scope="TEST" module-name="queryparser" />
     <orderEntry type="module" scope="TEST" module-name="queries" />
     <orderEntry type="module" scope="TEST" module-name="suggest" />
-    <orderEntry type="module" scope="TEST" module-name="spatial" />
+    <orderEntry type="module" scope="TEST" module-name="spatial-extras" />
     <orderEntry type="module" scope="TEST" module-name="misc" />
     <orderEntry type="module" scope="TEST" module-name="join" />
     <orderEntry type="module" scope="TEST" module-name="expressions" />

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/maven/lucene/pom.xml.template
----------------------------------------------------------------------
diff --git a/dev-tools/maven/lucene/pom.xml.template b/dev-tools/maven/lucene/pom.xml.template
index f49a60e..536290b 100644
--- a/dev-tools/maven/lucene/pom.xml.template
+++ b/dev-tools/maven/lucene/pom.xml.template
@@ -60,6 +60,7 @@
     <module>replicator</module>
     <module>sandbox</module>
     <module>spatial</module>
+    <module>spatial-extras</module>
     <module>spatial3d</module>
     <module>suggest</module>
   </modules>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/maven/lucene/spatial-extras/pom.xml.template
----------------------------------------------------------------------
diff --git a/dev-tools/maven/lucene/spatial-extras/pom.xml.template b/dev-tools/maven/lucene/spatial-extras/pom.xml.template
new file mode 100644
index 0000000..dc2cb09
--- /dev/null
+++ b/dev-tools/maven/lucene/spatial-extras/pom.xml.template
@@ -0,0 +1,62 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <!--
+    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.
+  -->
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.lucene</groupId>
+    <artifactId>lucene-parent</artifactId>
+    <version>@version@</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+  <groupId>org.apache.lucene</groupId>
+  <artifactId>lucene-spatial-extras</artifactId>
+  <packaging>jar</packaging>
+  <name>Lucene Spatial Extras</name>
+  <description>
+    Advanced Spatial Shape Strategies for Apache Lucene
+  </description>
+  <properties>
+    <module-directory>lucene/spatial-extras</module-directory>
+    <relative-top-level>../../..</relative-top-level>
+    <module-path>${relative-top-level}/${module-directory}</module-path>
+  </properties>
+  <dependencies>
+    <dependency>
+      <!-- lucene-test-framework dependency must be declared before lucene-core -->
+      <groupId>org.apache.lucene</groupId>
+      <artifactId>lucene-test-framework</artifactId>
+      <scope>test</scope>
+    </dependency>
+@lucene-spatial-extras.internal.dependencies@
+@lucene-spatial-extras.external.dependencies@
+@lucene-spatial-extras.internal.test.dependencies@
+@lucene-spatial-extras.external.test.dependencies@
+  </dependencies>
+  <build>
+    <sourceDirectory>${module-path}/src/java</sourceDirectory>
+    <testSourceDirectory>${module-path}/src/test</testSourceDirectory>
+    <testResources>
+      <testResource>
+        <directory>${module-path}/src/test-files</directory>
+      </testResource>
+    </testResources>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/maven/lucene/spatial/pom.xml.template
----------------------------------------------------------------------
diff --git a/dev-tools/maven/lucene/spatial/pom.xml.template b/dev-tools/maven/lucene/spatial/pom.xml.template
index 0b1e96a..11a7865 100644
--- a/dev-tools/maven/lucene/spatial/pom.xml.template
+++ b/dev-tools/maven/lucene/spatial/pom.xml.template
@@ -9,9 +9,9 @@
     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
@@ -30,8 +30,8 @@
   <artifactId>lucene-spatial</artifactId>
   <packaging>jar</packaging>
   <name>Lucene Spatial</name>
-  <description>    
-  	Spatial Strategies for Apache Lucene
+  <description>
+    Geospatial Indexing and Query for Apache Lucene
   </description>
   <properties>
     <module-directory>lucene/spatial</module-directory>
@@ -39,7 +39,7 @@
     <module-path>${relative-top-level}/${module-directory}</module-path>
   </properties>
   <dependencies>
-    <dependency> 
+    <dependency>
       <!-- lucene-test-framework dependency must be declared before lucene-core -->
       <groupId>org.apache.lucene</groupId>
       <artifactId>lucene-test-framework</artifactId>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/dev-tools/scripts/smokeTestRelease.py
----------------------------------------------------------------------
diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py
index cd7b334..a4029ae 100644
--- a/dev-tools/scripts/smokeTestRelease.py
+++ b/dev-tools/scripts/smokeTestRelease.py
@@ -640,7 +640,7 @@ def verifyUnpacked(java, project, artifact, unpackPath, svnRevision, version, te
 
   if project == 'lucene':
     # TODO: clean this up to not be a list of modules that we must maintain
-    extras = ('analysis', 'backward-codecs', 'benchmark', 'classification', 'codecs', 'core', 'demo', 'docs', 'expressions', 'facet', 'grouping', 'highlighter', 'join', 'memory', 'misc', 'queries', 'queryparser', 'replicator', 'sandbox', 'spatial', 'spatial3d', 'suggest', 'test-framework', 'licenses')
+    extras = ('analysis', 'backward-codecs', 'benchmark', 'classification', 'codecs', 'core', 'demo', 'docs', 'expressions', 'facet', 'grouping', 'highlighter', 'join', 'memory', 'misc', 'queries', 'queryparser', 'replicator', 'sandbox', 'spatial', 'spatial-extras', 'spatial3d', 'suggest', 'test-framework', 'licenses')
     if isSrc:
       extras += ('build.xml', 'common-build.xml', 'module-build.xml', 'ivy-settings.xml', 'ivy-versions.properties', 'ivy-ignore-conflicts.properties', 'version.properties', 'tools', 'site')
   else:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/benchmark/build.xml
----------------------------------------------------------------------
diff --git a/lucene/benchmark/build.xml b/lucene/benchmark/build.xml
index cd47287..c73bfe4 100644
--- a/lucene/benchmark/build.xml
+++ b/lucene/benchmark/build.xml
@@ -171,7 +171,7 @@
       <pathelement path="${analyzers-common.jar}"/>
       <pathelement path="${queryparser.jar}"/>
       <pathelement path="${facet.jar}"/>
-      <pathelement path="${spatial.jar}"/>
+      <pathelement path="${spatial-extras.jar}"/>
       <pathelement path="${queries.jar}"/>
       <pathelement path="${codecs.jar}"/>
       <pathelement path="${join.jar}"/>
@@ -185,7 +185,7 @@
     </path>
 
     <target name="javadocs" depends="javadocs-memory,javadocs-highlighter,javadocs-analyzers-common,
-      javadocs-queryparser,javadocs-facet,javadocs-spatial,compile-core,check-javadocs-uptodate" 
+      javadocs-queryparser,javadocs-facet,javadocs-spatial-extras,compile-core,check-javadocs-uptodate"
             unless="javadocs-uptodate-${name}">
     <invoke-module-javadoc>
       <links>
@@ -194,7 +194,7 @@
         <link href="../analyzers-common"/>
         <link href="../queryparser"/>
         <link href="../facet"/>
-        <link href="../spatial"/>
+        <link href="../spatial-extras"/>
       </links>
     </invoke-module-javadoc>
     </target>
@@ -277,7 +277,7 @@
       <echo>Benchmark output in JIRA table format is in file: ${shingle.jira.output.file}</echo>
     </target>
 
-    <target name="init" depends="module-build.init,jar-memory,jar-highlighter,jar-analyzers-common,jar-queryparser,jar-facet,jar-spatial,jar-codecs,jar-join"/>
+    <target name="init" depends="module-build.init,jar-memory,jar-highlighter,jar-analyzers-common,jar-queryparser,jar-facet,jar-spatial,jar-spatial-extras,jar-codecs,jar-join"/>
   
     <target name="compile-test" depends="copy-alg-files-for-testing,module-build.compile-test"/>
     <target name="copy-alg-files-for-testing" description="copy .alg files as resources for testing">

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/build.xml
----------------------------------------------------------------------
diff --git a/lucene/build.xml b/lucene/build.xml
index 9bd4492..117059e 100644
--- a/lucene/build.xml
+++ b/lucene/build.xml
@@ -179,7 +179,8 @@
     <!-- queries: problems -->
     <!-- queryparser: problems -->
     <!-- sandbox: problems -->
-    <!-- spatial: problems -->
+    <check-missing-javadocs dir="build/docs/spatial" level="method"/>
+    <!-- spatial-extras: problems -->
     <check-missing-javadocs dir="build/docs/suggest" level="method"/>
     <!-- test-framework: problems -->
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java b/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
index 9a05704..8da8276 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
@@ -180,15 +180,15 @@ public class SloppyMath {
   }
 
   // haversin
-  static final double TO_RADIANS = Math.PI / 180D;
-  static final double TO_DEGREES = 180D / Math.PI;
+  public static final double TO_RADIANS = Math.PI / 180D;
+  public static final double TO_DEGREES = 180D / Math.PI;
   
   // cos/asin
   private static final double ONE_DIV_F2 = 1/2.0;
   private static final double ONE_DIV_F3 = 1/6.0;
   private static final double ONE_DIV_F4 = 1/24.0;
 
-  static final double PIO2 = Math.PI / 2D;
+  public static final double PIO2 = Math.PI / 2D;
   private static final double PIO2_HI = Double.longBitsToDouble(0x3FF921FB54400000L); // 1.57079632673412561417e+00 first 33 bits of pi/2
   private static final double PIO2_LO = Double.longBitsToDouble(0x3DD0B4611A626331L); // 6.07710050650619224932e-11 pi/2 - PIO2_HI
   private static final double TWOPI_HI = 4*PIO2_HI;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/module-build.xml
----------------------------------------------------------------------
diff --git a/lucene/module-build.xml b/lucene/module-build.xml
index 0263101..4a57aa7 100644
--- a/lucene/module-build.xml
+++ b/lucene/module-build.xml
@@ -640,6 +640,32 @@
     <property name="spatial-javadocs.uptodate" value="true"/>
   </target>
 
+  <target name="spatial-compile-test" depends="init" if="module.has.tests">
+    <ant dir="${common.dir}/spatial" target="compile-test" inheritAll="false"/>
+  </target>
+
+  <property name="spatial-extras.jar" value="${common.dir}/build/spatial-extras/lucene-spatial-extras-${version}.jar"/>
+  <target name="check-spatial-extras-uptodate" unless="spatial-extras.uptodate">
+    <module-uptodate name="spatial-extras" jarfile="${spatial-extras.jar}" property="spatial-extras.uptodate"/>
+  </target>
+  <target name="jar-spatial-extras" unless="spatial-extras.uptodate" depends="check-spatial-extras-uptodate">
+    <ant dir="${common.dir}/spatial-extras" target="jar-core" inheritAll="false">
+      <propertyset refid="uptodate.and.compiled.properties"/>
+    </ant>
+    <property name="spatial-extras.uptodate" value="true"/>
+  </target>
+
+  <property name="spatial-extras-javadoc.jar" value="${common.dir}/build/spatial-extras/lucene-spatial-extras-${version}-javadoc.jar"/>
+  <target name="check-spatial-extras-javadocs-uptodate" unless="spatial-extras-javadocs.uptodate">
+    <module-uptodate name="spatial-extras" jarfile="${spatial-extras-javadoc.jar}" property="spatial-extras-javadocs.uptodate"/>
+  </target>
+  <target name="javadocs-spatial-extras" unless="spatial-extras-javadocs.uptodate" depends="check-spatial-extras-javadocs-uptodate">
+    <ant dir="${common.dir}/spatial-extras" target="javadocs" inheritAll="false">
+      <propertyset refid="uptodate.and.compiled.properties"/>
+    </ant>
+    <property name="spatial-extras-javadocs.uptodate" value="true"/>
+  </target>
+
   <property name="suggest.jar" value="${common.dir}/build/suggest/lucene-suggest-${version}.jar"/>
   <target name="check-suggest-uptodate" unless="suggest.uptodate">
     <module-uptodate name="suggest" jarfile="${suggest.jar}" property="suggest.uptodate"/>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/build.xml
----------------------------------------------------------------------
diff --git a/lucene/sandbox/build.xml b/lucene/sandbox/build.xml
index 93bc275..c9d2275 100644
--- a/lucene/sandbox/build.xml
+++ b/lucene/sandbox/build.xml
@@ -23,4 +23,24 @@
 
   <import file="../module-build.xml"/>
 
+  <path id="classpath">
+    <path refid="base.classpath"/>
+    <pathelement path="${spatial.jar}"/>
+  </path>
+  <target name="compile-core" depends="jar-spatial,common.compile-core" />
+
+  <path id="test.classpath">
+    <pathelement location="${build.dir}/classes/java"/>
+    <pathelement location="${build.dir}/classes/test"/>
+    <pathelement location="${common.dir}/build/spatial/classes/test"/>
+    <path refid="test.base.classpath"/>
+    <pathelement path="${spatial.jar}"/>
+    <path refid="junit-path"/>
+  </path>
+
+  <path id="junit.classpath">
+    <path refid="test.classpath"/>
+    <pathelement path="${java.class.path}"/>
+  </path>
+  <target name="compile-test" depends="jar-spatial,spatial-compile-test,common.compile-test" />
 </project>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java b/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
deleted file mode 100644
index ad1483d..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/document/GeoPointField.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * 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.lucene.document;
-
-import org.apache.lucene.index.DocValuesType;
-import org.apache.lucene.index.IndexOptions;
-import org.apache.lucene.util.GeoUtils;
-
-/**
- * <p>
- * Field that indexes <code>latitude</code> <code>longitude</code> decimal-degree values
- * for efficient encoding, sorting, and querying. This Geo capability is intended
- * to provide a basic and efficient out of the box field type for indexing and
- * querying 2 dimensional points in WGS-84 decimal degrees. An example usage is as follows:
- *
- * <pre class="prettyprint">
- *  document.add(new GeoPointField(name, -96.33, 32.66, Field.Store.NO));
- * </pre>
- *
- * <p>To perform simple geospatial queries against a <code>GeoPointField</code>,
- * see {@link org.apache.lucene.search.GeoPointInBBoxQuery}, {@link org.apache.lucene.search.GeoPointInPolygonQuery},
- * or {@link org.apache.lucene.search.GeoPointDistanceQuery}
- *
- * NOTE: This indexes only high precision encoded terms which may result in visiting a high number
- * of terms for large queries. See LUCENE-6481 for a future improvement.
- *
- * @lucene.experimental
- */
-public final class GeoPointField extends Field {
-  public static final int PRECISION_STEP = 9;
-
-  /**
-   * Type for an GeoPointField that is not stored:
-   * normalization factors, frequencies, and positions are omitted.
-   */
-  public static final FieldType TYPE_NOT_STORED = new FieldType();
-  static {
-    TYPE_NOT_STORED.setTokenized(false);
-    TYPE_NOT_STORED.setOmitNorms(true);
-    TYPE_NOT_STORED.setIndexOptions(IndexOptions.DOCS);
-    TYPE_NOT_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
-    TYPE_NOT_STORED.setNumericType(FieldType.LegacyNumericType.LONG);
-    TYPE_NOT_STORED.setNumericPrecisionStep(PRECISION_STEP);
-    TYPE_NOT_STORED.freeze();
-  }
-
-  /**
-   * Type for a stored GeoPointField:
-   * normalization factors, frequencies, and positions are omitted.
-   */
-  public static final FieldType TYPE_STORED = new FieldType();
-  static {
-    TYPE_STORED.setTokenized(false);
-    TYPE_STORED.setOmitNorms(true);
-    TYPE_STORED.setIndexOptions(IndexOptions.DOCS);
-    TYPE_STORED.setDocValuesType(DocValuesType.SORTED_NUMERIC);
-    TYPE_STORED.setNumericType(FieldType.LegacyNumericType.LONG);
-    TYPE_STORED.setNumericPrecisionStep(PRECISION_STEP);
-    TYPE_STORED.setStored(true);
-    TYPE_STORED.freeze();
-  }
-
-  /** Creates a stored or un-stored GeoPointField with the provided value
-   *  and default <code>precisionStep</code> set to 64 to avoid wasteful
-   *  indexing of lower precision terms.
-   *  @param name field name
-   *  @param lon longitude double value [-180.0 : 180.0]
-   *  @param lat latitude double value [-90.0 : 90.0]
-   *  @param stored Store.YES if the content should also be stored
-   *  @throws IllegalArgumentException if the field name is null.
-   */
-  public GeoPointField(String name, double lon, double lat, Store stored) {
-    super(name, stored == Store.YES ? TYPE_STORED : TYPE_NOT_STORED);
-    fieldsData = GeoUtils.mortonHash(lon, lat);
-  }
-
-  /** Expert: allows you to customize the {@link
-   *  FieldType}.
-   *  @param name field name
-   *  @param lon longitude double value [-180.0 : 180.0]
-   *  @param lat latitude double value [-90.0 : 90.0]
-   *  @param type customized field type: must have {@link FieldType#numericType()}
-   *         of {@link org.apache.lucene.document.FieldType.LegacyNumericType#LONG}.
-   *  @throws IllegalArgumentException if the field name or type is null, or
-   *          if the field type does not have a LONG numericType()
-   */
-  public GeoPointField(String name, double lon, double lat, FieldType type) {
-    super(name, type);
-    if (type.numericType() != FieldType.LegacyNumericType.LONG) {
-      throw new IllegalArgumentException("type.numericType() must be LONG but got " + type.numericType());
-    }
-    if (type.docValuesType() != DocValuesType.SORTED_NUMERIC) {
-      throw new IllegalArgumentException("type.docValuesType() must be SORTED_NUMERIC but got " + type.docValuesType());
-    }
-    fieldsData = GeoUtils.mortonHash(lon, lat);
-  }
-
-  public double getLon() {
-    return GeoUtils.mortonUnhashLon((long) fieldsData);
-  }
-
-  public double getLat() {
-    return GeoUtils.mortonUnhashLat((long) fieldsData);
-  }
-
-  @Override
-  public String toString() {
-    if (fieldsData == null) {
-      return null;
-    }
-    StringBuilder sb = new StringBuilder();
-    sb.append(GeoUtils.mortonUnhashLon((long) fieldsData));
-    sb.append(',');
-    sb.append(GeoUtils.mortonUnhashLat((long) fieldsData));
-    return sb.toString();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
index 71d9527..3be3d48 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPoint.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.document;
 
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.GeoUtils;
+import org.apache.lucene.spatial.util.GeoUtils;
 import org.apache.lucene.util.NumericUtils;
 
 /** Add this to a document to index lat/lon point dimensionally */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
deleted file mode 100644
index c2c92ea..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoBoundingBox.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.lucene.search;
-
-import org.apache.lucene.util.GeoUtils;
-
-/** NOTE: package private; just used so {@link GeoPointInPolygonQuery} can communicate its bounding box to {@link GeoPointInBBoxQuery}. */
-class GeoBoundingBox {
-  public final double minLon;
-  public final double maxLon;
-  public final double minLat;
-  public final double maxLat;
-
-  public GeoBoundingBox(double minLon, double maxLon, double minLat, double maxLat) {
-    if (GeoUtils.isValidLon(minLon) == false) {
-      throw new IllegalArgumentException("invalid minLon " + minLon);
-    }
-    if (GeoUtils.isValidLon(maxLon) == false) {
-      throw new IllegalArgumentException("invalid maxLon " + minLon);
-    }
-    if (GeoUtils.isValidLat(minLat) == false) {
-      throw new IllegalArgumentException("invalid minLat " + minLat);
-    }
-    if (GeoUtils.isValidLat(maxLat) == false) {
-      throw new IllegalArgumentException("invalid maxLat " + minLat);
-    }
-    this.minLon = minLon;
-    this.maxLon = maxLon;
-    this.minLat = minLat;
-    this.maxLat = maxLat;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
deleted file mode 100644
index a77798b..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * 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.lucene.search;
-
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.util.GeoDistanceUtils;
-import org.apache.lucene.util.GeoRect;
-import org.apache.lucene.util.GeoUtils;
-
-/** Implements a simple point distance query on a GeoPoint field. This is based on
- * {@link org.apache.lucene.search.GeoPointInBBoxQuery} and is implemented using a two phase approach. First,
- * like {@code GeoPointInBBoxQueryImpl} candidate terms are queried using the numeric ranges based on
- * the morton codes of the min and max lat/lon pairs that intersect the boundary of the point-radius
- * circle. Terms
- * passing this initial filter are then passed to a secondary {@code postFilter} method that verifies whether the
- * decoded lat/lon point fall within the specified query distance (see {@link org.apache.lucene.util.SloppyMath#haversin}.
- * All morton value comparisons are subject to the same precision tolerance defined in
- * {@value org.apache.lucene.util.GeoUtils#TOLERANCE} and distance comparisons are subject to the accuracy of the
- * haversine formula (from R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159)
- *
- * <p>Note: This query currently uses haversine which is a sloppy distance calculation (see above reference). For large
- * queries one can expect upwards of 400m error. Vincenty shrinks this to ~40m error but pays a penalty for computing
- * using the spheroid
- *
- * @lucene.experimental */
-public class GeoPointDistanceQuery extends GeoPointInBBoxQuery {
-  protected final double centerLon;
-  protected final double centerLat;
-  protected final double radiusMeters;
-
-  /** NOTE: radius is in meters. */
-  public GeoPointDistanceQuery(final String field, final double centerLon, final double centerLat, final double radiusMeters) {
-    this(field, GeoUtils.circleToBBox(centerLon, centerLat, radiusMeters), centerLon, centerLat, radiusMeters);
-  }
-
-  private GeoPointDistanceQuery(final String field, GeoRect bbox, final double centerLon,
-                                final double centerLat, final double radiusMeters) {
-    super(field, bbox.minLon, bbox.minLat, bbox.maxLon, bbox.maxLat);
-    {
-      // check longitudinal overlap (limits radius)
-      final double maxRadius = GeoDistanceUtils.maxRadialDistanceMeters(centerLon, centerLat);
-      if (radiusMeters > maxRadius) {
-        throw new IllegalArgumentException("radiusMeters " + radiusMeters + " exceeds maxRadius [" + maxRadius
-            + "] at location [" + centerLon + " " + centerLat + "]");
-      }
-    }
-
-    if (GeoUtils.isValidLon(centerLon) == false) {
-      throw new IllegalArgumentException("invalid centerLon " + centerLon);
-    }
-
-    if (GeoUtils.isValidLat(centerLat) == false) {
-      throw new IllegalArgumentException("invalid centerLat " + centerLat);
-    }
-
-    if (radiusMeters <= 0.0) {
-      throw new IllegalArgumentException("invalid radiusMeters " + radiusMeters);
-    }
-
-    this.centerLon = centerLon;
-    this.centerLat = centerLat;
-    this.radiusMeters = radiusMeters;
-  }
-
-  @Override
-  public Query rewrite(IndexReader reader) {
-    // query crosses dateline; split into left and right queries
-    if (maxLon < minLon) {
-      BooleanQuery.Builder bqb = new BooleanQuery.Builder();
-
-      // unwrap the longitude iff outside the specified min/max lon range
-      double unwrappedLon = centerLon;
-      if (unwrappedLon > maxLon) {
-        // unwrap left
-        unwrappedLon += -360.0D;
-      }
-      GeoPointDistanceQueryImpl left = new GeoPointDistanceQueryImpl(field, this, unwrappedLon,
-          new GeoRect(GeoUtils.MIN_LON_INCL, maxLon, minLat, maxLat));
-      bqb.add(new BooleanClause(left, BooleanClause.Occur.SHOULD));
-
-      if (unwrappedLon < maxLon) {
-        // unwrap right
-        unwrappedLon += 360.0D;
-      }
-      GeoPointDistanceQueryImpl right = new GeoPointDistanceQueryImpl(field, this, unwrappedLon,
-          new GeoRect(minLon, GeoUtils.MAX_LON_INCL, minLat, maxLat));
-      bqb.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
-
-      return bqb.build();
-    }
-    return new GeoPointDistanceQueryImpl(field, this, centerLon,
-        new GeoRect(this.minLon, this.maxLon, this.minLat, this.maxLat));
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (!(o instanceof GeoPointDistanceQuery)) return false;
-    if (!super.equals(o)) return false;
-
-    GeoPointDistanceQuery that = (GeoPointDistanceQuery) o;
-
-    if (Double.compare(that.centerLat, centerLat) != 0) return false;
-    if (Double.compare(that.centerLon, centerLon) != 0) return false;
-    if (Double.compare(that.radiusMeters, radiusMeters) != 0) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    long temp;
-    temp = Double.doubleToLongBits(centerLon);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(centerLat);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(radiusMeters);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    return result;
-  }
-
-  @Override
-  public String toString(String field) {
-    final StringBuilder sb = new StringBuilder();
-    sb.append(getClass().getSimpleName());
-    sb.append(':');
-    if (!this.field.equals(field)) {
-      sb.append(" field=");
-      sb.append(this.field);
-      sb.append(':');
-    }
-    return sb.append( " Center: [")
-        .append(centerLon)
-        .append(',')
-        .append(centerLat)
-        .append(']')
-        .append(" Distance: ")
-        .append(radiusMeters)
-        .append(" meters")
-        .append("]")
-        .toString();
-  }
-
-  public double getCenterLon() {
-    return this.centerLon;
-  }
-
-  public double getCenterLat() {
-    return this.centerLat;
-  }
-
-  public double getRadiusMeters() {
-    return this.radiusMeters;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
deleted file mode 100644
index ef2155b..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQueryImpl.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * 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.lucene.search;
-
-import java.io.IOException;
-
-import org.apache.lucene.document.GeoPointField;
-import org.apache.lucene.index.Terms;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.util.AttributeSource;
-import org.apache.lucene.util.GeoRect;
-import org.apache.lucene.util.GeoRelationUtils;
-import org.apache.lucene.util.GeoUtils;
-import org.apache.lucene.util.SloppyMath;
-
-/** Package private implementation for the public facing GeoPointDistanceQuery delegate class.
- *
- *    @lucene.experimental
- */
-final class GeoPointDistanceQueryImpl extends GeoPointInBBoxQueryImpl {
-  private final GeoPointDistanceQuery query;
-  private final double centerLon;
-
-  GeoPointDistanceQueryImpl(final String field, final GeoPointDistanceQuery q, final double centerLonUnwrapped,
-                            final GeoRect bbox) {
-    super(field, bbox.minLon, bbox.minLat, bbox.maxLon, bbox.maxLat);
-    query = q;
-    centerLon = centerLonUnwrapped;
-  }
-
-  @Override @SuppressWarnings("unchecked")
-  protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
-    return new GeoPointRadiusTermsEnum(terms.iterator(), this.minLon, this.minLat, this.maxLon, this.maxLat);
-  }
-
-  @Override
-  public void setRewriteMethod(RewriteMethod method) {
-    throw new UnsupportedOperationException("cannot change rewrite method");
-  }
-
-  private final class GeoPointRadiusTermsEnum extends GeoPointTermsEnum {
-    GeoPointRadiusTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
-                            final double maxLon, final double maxLat) {
-      super(tenum, minLon, minLat, maxLon, maxLat);
-    }
-
-    /**
-     * Computes the maximum shift for the given pointDistanceQuery. This prevents unnecessary depth traversal
-     * given the size of the distance query.
-     */
-    @Override
-    protected short computeMaxShift() {
-      final short shiftFactor;
-
-      if (query.radiusMeters > 1000000) {
-        shiftFactor = 5;
-      } else {
-        shiftFactor = 4;
-      }
-
-      return (short)(GeoPointField.PRECISION_STEP * shiftFactor);
-    }
-
-    @Override
-    protected boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return GeoRelationUtils.rectCrossesCircle(minLon, minLat, maxLon, maxLat,
-          centerLon, query.centerLat, query.radiusMeters, true);
-    }
-
-    @Override
-    protected boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return GeoRelationUtils.rectWithinCircle(minLon, minLat, maxLon, maxLat,
-          centerLon, query.centerLat, query.radiusMeters, true);
-    }
-
-    @Override
-    protected boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return (cellContains(minLon, minLat, maxLon, maxLat)
-          || cellWithin(minLon, minLat, maxLon, maxLat) || cellCrosses(minLon, minLat, maxLon, maxLat));
-    }
-
-    /**
-     * The two-phase query approach. The parent {@link org.apache.lucene.search.GeoPointTermsEnum} class matches
-     * encoded terms that fall within the minimum bounding box of the point-radius circle. Those documents that pass
-     * the initial bounding box filter are then post filter compared to the provided distance using the
-     * {@link org.apache.lucene.util.SloppyMath#haversin} method.
-     */
-    @Override
-    protected boolean postFilter(final double lon, final double lat) {
-      return (SloppyMath.haversin(query.centerLat, centerLon, lat, lon) * 1000.0 <= query.radiusMeters);
-    }
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (!(o instanceof GeoPointDistanceQueryImpl)) return false;
-    if (!super.equals(o)) return false;
-
-    GeoPointDistanceQueryImpl that = (GeoPointDistanceQueryImpl) o;
-
-    if (!query.equals(that.query)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + query.hashCode();
-    return result;
-  }
-
-  public double getRadiusMeters() {
-    return query.getRadiusMeters();
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
deleted file mode 100644
index 5324a6d..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceRangeQuery.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * 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.lucene.search;
-
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.util.GeoProjectionUtils;
-
-/** Implements a point distance range query on a GeoPoint field. This is based on
- * {@code org.apache.lucene.search.GeoPointDistanceQuery} and is implemented using a
- * {@code org.apache.lucene.search.BooleanClause.MUST_NOT} clause to exclude any points that fall within
- * minRadiusMeters from the provided point.
- *
- *    @lucene.experimental
- */
-public final class GeoPointDistanceRangeQuery extends GeoPointDistanceQuery {
-  protected final double minRadiusMeters;
-
-  public GeoPointDistanceRangeQuery(final String field, final double centerLon, final double centerLat,
-                                    final double minRadiusMeters, final double maxRadius) {
-    super(field, centerLon, centerLat, maxRadius);
-    this.minRadiusMeters = minRadiusMeters;
-  }
-
-  @Override
-  public Query rewrite(IndexReader reader) {
-    Query q = super.rewrite(reader);
-    if (minRadiusMeters == 0.0) {
-      return q;
-    }
-
-    // add an exclusion query
-    BooleanQuery.Builder bqb = new BooleanQuery.Builder();
-
-    // create a new exclusion query
-    GeoPointDistanceQuery exclude = new GeoPointDistanceQuery(field, centerLon, centerLat, minRadiusMeters);
-    // full map search
-//    if (radiusMeters >= GeoProjectionUtils.SEMIMINOR_AXIS) {
-//      bqb.add(new BooleanClause(new GeoPointInBBoxQuery(this.field, -180.0, -90.0, 180.0, 90.0), BooleanClause.Occur.MUST));
-//    } else {
-      bqb.add(new BooleanClause(q, BooleanClause.Occur.MUST));
-//    }
-    bqb.add(new BooleanClause(exclude, BooleanClause.Occur.MUST_NOT));
-
-    return bqb.build();
-  }
-
-  @Override
-  public String toString(String field) {
-    final StringBuilder sb = new StringBuilder();
-    sb.append(getClass().getSimpleName());
-    sb.append(':');
-    if (!this.field.equals(field)) {
-      sb.append(" field=");
-      sb.append(this.field);
-      sb.append(':');
-    }
-    return sb.append( " Center: [")
-        .append(centerLon)
-        .append(',')
-        .append(centerLat)
-        .append(']')
-        .append(" From Distance: ")
-        .append(minRadiusMeters)
-        .append(" m")
-        .append(" To Distance: ")
-        .append(radiusMeters)
-        .append(" m")
-        .append(" Lower Left: [")
-        .append(minLon)
-        .append(',')
-        .append(minLat)
-        .append(']')
-        .append(" Upper Right: [")
-        .append(maxLon)
-        .append(',')
-        .append(maxLat)
-        .append("]")
-        .toString();
-  }
-
-  public double getMinRadiusMeters() {
-    return this.minRadiusMeters;
-  }
-
-  public double getMaxRadiusMeters() {
-    return this.radiusMeters;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
deleted file mode 100644
index 0926a4f..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * 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.lucene.search;
-
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.util.GeoUtils;
-
-/** Implements a simple bounding box query on a GeoPoint field. This is inspired by
- * {@link LegacyNumericRangeQuery} and is implemented using a
- * two phase approach. First, candidate terms are queried using a numeric
- * range based on the morton codes of the min and max lat/lon pairs. Terms
- * passing this initial filter are passed to a final check that verifies whether
- * the decoded lat/lon falls within (or on the boundary) of the query bounding box.
- * The value comparisons are subject to a precision tolerance defined in
- * {@value org.apache.lucene.util.GeoUtils#TOLERANCE}
- *
- * NOTES:
- *    1.  All latitude/longitude values must be in decimal degrees.
- *    2.  Complex computational geometry (e.g., dateline wrapping) is not supported
- *    3.  For more advanced GeoSpatial indexing and query operations see spatial module
- *    4.  This is well suited for small rectangles, large bounding boxes may result
- *        in many terms, depending whether the bounding box falls on the boundary of
- *        many cells (degenerate case)
- *
- * @lucene.experimental
- */
-public class GeoPointInBBoxQuery extends Query {
-  protected final String field;
-  protected final double minLon;
-  protected final double minLat;
-  protected final double maxLon;
-  protected final double maxLat;
-
-  public GeoPointInBBoxQuery(final String field, final double minLon, final double minLat, final double maxLon, final double maxLat) {
-    this.field = field;
-    this.minLon = minLon;
-    this.minLat = minLat;
-    this.maxLon = maxLon;
-    this.maxLat = maxLat;
-  }
-
-  @Override
-  public Query rewrite(IndexReader reader) {
-    // short-circuit to match all if specifying the whole map
-    if (minLon == GeoUtils.MIN_LON_INCL && maxLon == GeoUtils.MAX_LON_INCL
-        && minLat == GeoUtils.MIN_LAT_INCL && maxLat == GeoUtils.MAX_LAT_INCL) {
-      // FieldValueQuery is valid since DocValues are *required* for GeoPointField
-      return new FieldValueQuery(field);
-    }
-
-    if (maxLon < minLon) {
-      BooleanQuery.Builder bqb = new BooleanQuery.Builder();
-
-      GeoPointInBBoxQueryImpl left = new GeoPointInBBoxQueryImpl(field, -180.0D, minLat, maxLon, maxLat);
-      bqb.add(new BooleanClause(left, BooleanClause.Occur.SHOULD));
-      GeoPointInBBoxQueryImpl right = new GeoPointInBBoxQueryImpl(field, minLon, minLat, 180.0D, maxLat);
-      bqb.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
-      return bqb.build();
-    }
-    return new GeoPointInBBoxQueryImpl(field, minLon, minLat, maxLon, maxLat);
-  }
-
-  @Override
-  public String toString(String field) {
-    final StringBuilder sb = new StringBuilder();
-    sb.append(getClass().getSimpleName());
-    sb.append(':');
-    if (!this.field.equals(field)) {
-      sb.append(" field=");
-      sb.append(this.field);
-      sb.append(':');
-    }
-    return sb.append(" Lower Left: [")
-        .append(minLon)
-        .append(',')
-        .append(minLat)
-        .append(']')
-        .append(" Upper Right: [")
-        .append(maxLon)
-        .append(',')
-        .append(maxLat)
-        .append("]")
-        .toString();
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (!(o instanceof GeoPointInBBoxQuery)) return false;
-    if (!super.equals(o)) return false;
-
-    GeoPointInBBoxQuery that = (GeoPointInBBoxQuery) o;
-
-    if (Double.compare(that.maxLat, maxLat) != 0) return false;
-    if (Double.compare(that.maxLon, maxLon) != 0) return false;
-    if (Double.compare(that.minLat, minLat) != 0) return false;
-    if (Double.compare(that.minLon, minLon) != 0) return false;
-    if (!field.equals(that.field)) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    long temp;
-    result = 31 * result + field.hashCode();
-    temp = Double.doubleToLongBits(minLon);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(minLat);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(maxLon);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(maxLat);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    return result;
-  }
-
-  public final String getField() {
-    return this.field;
-  }
-
-  public final double getMinLon() {
-    return this.minLon;
-  }
-
-  public final double getMinLat() {
-    return this.minLat;
-  }
-
-  public final double getMaxLon() {
-    return this.maxLon;
-  }
-
-  public final double getMaxLat() {
-    return this.maxLat;
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/50a2f754/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java b/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
deleted file mode 100644
index b385a54..0000000
--- a/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * 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.lucene.search;
-
-import java.io.IOException;
-
-import org.apache.lucene.document.GeoPointField;
-import org.apache.lucene.index.Terms;
-import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.util.AttributeSource;
-import org.apache.lucene.util.GeoRelationUtils;
-import org.apache.lucene.util.SloppyMath;
-
-/** Package private implementation for the public facing GeoPointInBBoxQuery delegate class.
- *
- *    @lucene.experimental
- */
-class GeoPointInBBoxQueryImpl extends GeoPointTermQuery {
-  /**
-   * Constructs a new GeoBBoxQuery that will match encoded GeoPoint terms that fall within or on the boundary
-   * of the bounding box defined by the input parameters
-   * @param field the field name
-   * @param minLon lower longitude (x) value of the bounding box
-   * @param minLat lower latitude (y) value of the bounding box
-   * @param maxLon upper longitude (x) value of the bounding box
-   * @param maxLat upper latitude (y) value of the bounding box
-   */
-  GeoPointInBBoxQueryImpl(final String field, final double minLon, final double minLat, final double maxLon, final double maxLat) {
-    super(field, minLon, minLat, maxLon, maxLat);
-  }
-
-  @Override @SuppressWarnings("unchecked")
-  protected TermsEnum getTermsEnum(final Terms terms, AttributeSource atts) throws IOException {
-    return new GeoPointInBBoxTermsEnum(terms.iterator(), minLon, minLat, maxLon, maxLat);
-  }
-
-  @Override
-  public void setRewriteMethod(RewriteMethod method) {
-    throw new UnsupportedOperationException("cannot change rewrite method");
-  }
-
-  protected class GeoPointInBBoxTermsEnum extends GeoPointTermsEnum {
-    protected GeoPointInBBoxTermsEnum(final TermsEnum tenum, final double minLon, final double minLat,
-                            final double maxLon, final double maxLat) {
-      super(tenum, minLon, minLat, maxLon, maxLat);
-    }
-
-    @Override
-    protected short computeMaxShift() {
-      final short shiftFactor;
-
-      // compute diagonal radius
-      double midLon = (minLon + maxLon) * 0.5;
-      double midLat = (minLat + maxLat) * 0.5;
-
-      if (SloppyMath.haversin(minLat, minLon, midLat, midLon)*1000 > 1000000) {
-        shiftFactor = 5;
-      } else {
-        shiftFactor = 4;
-      }
-
-      return (short)(GeoPointField.PRECISION_STEP * shiftFactor);
-    }
-
-    /**
-     * Determine whether the quad-cell crosses the shape
-     */
-    @Override
-    protected boolean cellCrosses(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return GeoRelationUtils.rectCrosses(minLon, minLat, maxLon, maxLat, this.minLon, this.minLat, this.maxLon, this.maxLat);
-    }
-
-    /**
-     * Determine whether quad-cell is within the shape
-     */
-    @Override
-    protected boolean cellWithin(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return GeoRelationUtils.rectWithin(minLon, minLat, maxLon, maxLat, this.minLon, this.minLat, this.maxLon, this.maxLat);
-    }
-
-    @Override
-    protected boolean cellIntersectsShape(final double minLon, final double minLat, final double maxLon, final double maxLat) {
-      return cellIntersectsMBR(minLon, minLat, maxLon, maxLat);
-    }
-
-    @Override
-    protected boolean postFilter(final double lon, final double lat) {
-      return GeoRelationUtils.pointInRectPrecise(lon, lat, minLon, minLat, maxLon, maxLat);
-    }
-  }
-
-  @Override
-  @SuppressWarnings({"unchecked","rawtypes"})
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-    if (!super.equals(o)) return false;
-
-    GeoPointInBBoxQueryImpl that = (GeoPointInBBoxQueryImpl) o;
-
-    if (Double.compare(that.maxLat, maxLat) != 0) return false;
-    if (Double.compare(that.maxLon, maxLon) != 0) return false;
-    if (Double.compare(that.minLat, minLat) != 0) return false;
-    if (Double.compare(that.minLon, minLon) != 0) return false;
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    long temp;
-    temp = Double.doubleToLongBits(minLon);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(minLat);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(maxLon);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    temp = Double.doubleToLongBits(maxLat);
-    result = 31 * result + (int) (temp ^ (temp >>> 32));
-    return result;
-  }
-
-  @Override
-  public String toString(String field) {
-    final StringBuilder sb = new StringBuilder();
-    sb.append(getClass().getSimpleName());
-    sb.append(':');
-    if (!getField().equals(field)) {
-      sb.append(" field=");
-      sb.append(getField());
-      sb.append(':');
-    }
-    return sb.append(" Lower Left: [")
-        .append(minLon)
-        .append(',')
-        .append(minLat)
-        .append(']')
-        .append(" Upper Right: [")
-        .append(maxLon)
-        .append(',')
-        .append(maxLat)
-        .append("]")
-        .toString();
-  }
-}


[18/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsQuery.java
index 03e38fe..5bd8c4c 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreCollector.java
index b02d6e5..57a8442 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreQuery.java
index 7e8d16a..a85dfa3 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/JoinUtil.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/JoinUtil.java b/lucene/join/src/java/org/apache/lucene/search/join/JoinUtil.java
index c36591b..11a44a5 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/JoinUtil.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/JoinUtil.java
@@ -1,12 +1,3 @@
-package org.apache.lucene.search.join;
-
-import java.io.IOException;
-import java.util.Locale;
-
-import org.apache.lucene.document.FieldType.LegacyNumericType;
-import org.apache.lucene.index.BinaryDocValues;
-import org.apache.lucene.index.DocValuesType;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,6 +14,14 @@ import org.apache.lucene.index.DocValuesType;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
+
+import java.io.IOException;
+import java.util.Locale;
+
+import org.apache.lucene.document.FieldType.LegacyNumericType;
+import org.apache.lucene.index.BinaryDocValues;
+import org.apache.lucene.index.DocValuesType;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/QueryBitSetProducer.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/QueryBitSetProducer.java b/lucene/join/src/java/org/apache/lucene/search/join/QueryBitSetProducer.java
index 70c3e96..98d85cd 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/QueryBitSetProducer.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/QueryBitSetProducer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/ScoreMode.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ScoreMode.java b/lucene/join/src/java/org/apache/lucene/search/join/ScoreMode.java
index dd4f89a..35dff8d 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ScoreMode.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ScoreMode.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 /**
  * How to aggregate multiple child hit scores into a single parent score.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/TermsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/TermsCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/TermsCollector.java
index ea8208a..f2b3d42 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/TermsCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/TermsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java
index 3490d06..7c03103 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/TermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/TermsQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/TermsQuery.java
index f46b0ba..eabc72a 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/TermsQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/TermsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.FilteredTermsEnum;
 import org.apache.lucene.index.Terms;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/TermsWithScoreCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/TermsWithScoreCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/TermsWithScoreCollector.java
index 61ba8b1..a11dcec 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/TermsWithScoreCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/TermsWithScoreCollector.java
@@ -1,8 +1,3 @@
-package org.apache.lucene.search.join;
-
-import java.io.IOException;
-import java.util.Arrays;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +14,10 @@ import java.util.Arrays;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
+
+import java.io.IOException;
+import java.util.Arrays;
 
 import org.apache.lucene.index.BinaryDocValues;
 import org.apache.lucene.index.SortedSetDocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java
index 7d42d3f..d381cae 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinCollector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinCollector.java b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinCollector.java
index 1b5c48d..94b3e71 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinCollector.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinIndexSearcher.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinIndexSearcher.java b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinIndexSearcher.java
index 18ff748..84a02a3 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinIndexSearcher.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinIndexSearcher.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
index b6f41b2..f004fde 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinSortField.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinSortField.java b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinSortField.java
index 5623c6e..183b7dd 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinSortField.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinSortField.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.LeafReaderContext;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/java/org/apache/lucene/search/join/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/java/org/apache/lucene/search/join/package-info.java b/lucene/join/src/java/org/apache/lucene/search/join/package-info.java
index 6133f99..6b22185 100644
--- a/lucene/join/src/java/org/apache/lucene/search/join/package-info.java
+++ b/lucene/join/src/java/org/apache/lucene/search/join/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Support for index-time and query-time joins.
  * <h2>Index-time joins</h2>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
index c4f6626..35b75a6 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSelector.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSelector.java b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSelector.java
index ff240cc..c4cdc3b 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSelector.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSelector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.join;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSorting.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSorting.java b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSorting.java
index 27ff1b3..8b2a0bd 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSorting.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinSorting.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinValidation.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinValidation.java b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinValidation.java
index 5b50e6f..423188d 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinValidation.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoinValidation.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/test/org/apache/lucene/search/join/TestCheckJoinIndex.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestCheckJoinIndex.java b/lucene/join/src/test/org/apache/lucene/search/join/TestCheckJoinIndex.java
index 214c103..5fa4c17 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestCheckJoinIndex.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestCheckJoinIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.join;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.join;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.join;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
----------------------------------------------------------------------
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java b/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
index 816a8fc..44fd401 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.search.join;
 
 import java.io.IOException;
@@ -77,23 +93,6 @@ import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.packed.PackedInts;
 import org.junit.Test;
 
-/*
- * 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.
- */
-
 import com.carrotsearch.randomizedtesting.generators.RandomInts;
 import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java b/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
index e5e461b..5003ec5 100644
--- a/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
+++ b/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index.memory;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/memory/src/java/org/apache/lucene/index/memory/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/java/org/apache/lucene/index/memory/package-info.java b/lucene/memory/src/java/org/apache/lucene/index/memory/package-info.java
index c0a17d6..f606a54 100644
--- a/lucene/memory/src/java/org/apache/lucene/index/memory/package-info.java
+++ b/lucene/memory/src/java/org/apache/lucene/index/memory/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * High-performance single-document main memory Apache Lucene fulltext search index.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
index 6f88904..c8b352a 100644
--- a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
+++ b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index.memory;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
----------------------------------------------------------------------
diff --git a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
index bbdfb09..e29e8c8 100644
--- a/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
+++ b/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index.memory;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index.memory;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index.memory;
 
 import java.io.BufferedReader;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/document/LazyDocument.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/document/LazyDocument.java b/lucene/misc/src/java/org/apache/lucene/document/LazyDocument.java
index be8e07d..c1683a7 100644
--- a/lucene/misc/src/java/org/apache/lucene/document/LazyDocument.java
+++ b/lucene/misc/src/java/org/apache/lucene/document/LazyDocument.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.document;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,8 @@ package org.apache.lucene.document;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.document;
+
 import java.io.IOException;
 import java.io.Reader;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/index/MergeReaderWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/MergeReaderWrapper.java b/lucene/misc/src/java/org/apache/lucene/index/MergeReaderWrapper.java
index 3059650..dba5c91 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/MergeReaderWrapper.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/MergeReaderWrapper.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java b/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
index 13632fe..94c7003 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java b/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java
index e2b8138..49ec6a2 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/Sorter.java b/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
index e99e8ee..7e4e475 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/index/SortingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/SortingLeafReader.java b/lucene/misc/src/java/org/apache/lucene/index/SortingLeafReader.java
index 876fa81..12cee20 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/SortingLeafReader.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/SortingLeafReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java b/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java
index 13797ef..94dd15d 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/misc/GetTermInfo.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/GetTermInfo.java b/lucene/misc/src/java/org/apache/lucene/misc/GetTermInfo.java
index 6bd9a4b..829f3ed 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/GetTermInfo.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/GetTermInfo.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.misc;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.misc;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.misc;
 
 import java.nio.file.Paths;
 import java.util.Locale;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java b/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
index 7332a37..01a2d9d 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.misc;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.misc;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.misc;
 
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java b/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
index c0d17de..a63c16b 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.misc;
-
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.misc;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.misc;
 
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/misc/SweetSpotSimilarity.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/SweetSpotSimilarity.java b/lucene/misc/src/java/org/apache/lucene/misc/SweetSpotSimilarity.java
index 5c9e8b6..ce26080 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/SweetSpotSimilarity.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/SweetSpotSimilarity.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.misc;
 
 import org.apache.lucene.search.similarities.ClassicSimilarity;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/misc/TermStats.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/TermStats.java b/lucene/misc/src/java/org/apache/lucene/misc/TermStats.java
index 1c38f1d..5c4f569 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/TermStats.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/TermStats.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.misc;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.misc;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.misc;
 
 import org.apache.lucene.util.BytesRef;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/misc/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/package-info.java b/lucene/misc/src/java/org/apache/lucene/misc/package-info.java
index 6067a6e..94a2133 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/package-info.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Miscellaneous index tools. 
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/search/BlockJoinComparatorSource.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/search/BlockJoinComparatorSource.java b/lucene/misc/src/java/org/apache/lucene/search/BlockJoinComparatorSource.java
index ac0bf97..03a2cb8 100644
--- a/lucene/misc/src/java/org/apache/lucene/search/BlockJoinComparatorSource.java
+++ b/lucene/misc/src/java/org/apache/lucene/search/BlockJoinComparatorSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/search/DiversifiedTopDocsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/search/DiversifiedTopDocsCollector.java b/lucene/misc/src/java/org/apache/lucene/search/DiversifiedTopDocsCollector.java
index 0406577..f2016cc 100644
--- a/lucene/misc/src/java/org/apache/lucene/search/DiversifiedTopDocsCollector.java
+++ b/lucene/misc/src/java/org/apache/lucene/search/DiversifiedTopDocsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
+
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java b/lucene/misc/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
index 8a963c0..5d82be4 100644
--- a/lucene/misc/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
+++ b/lucene/misc/src/java/org/apache/lucene/search/EarlyTerminatingSortingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/store/NativePosixUtil.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/store/NativePosixUtil.java b/lucene/misc/src/java/org/apache/lucene/store/NativePosixUtil.java
index 0618318..6397ec7 100644
--- a/lucene/misc/src/java/org/apache/lucene/store/NativePosixUtil.java
+++ b/lucene/misc/src/java/org/apache/lucene/store/NativePosixUtil.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 import java.io.FileDescriptor;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/store/NativeUnixDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/store/NativeUnixDirectory.java b/lucene/misc/src/java/org/apache/lucene/store/NativeUnixDirectory.java
index 51d7e92..a0e39c0 100644
--- a/lucene/misc/src/java/org/apache/lucene/store/NativeUnixDirectory.java
+++ b/lucene/misc/src/java/org/apache/lucene/store/NativeUnixDirectory.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.store;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.store;
 
 import java.io.EOFException;
 import java.io.FileDescriptor;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/store/RAFDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/store/RAFDirectory.java b/lucene/misc/src/java/org/apache/lucene/store/RAFDirectory.java
index 94be104..b121815 100644
--- a/lucene/misc/src/java/org/apache/lucene/store/RAFDirectory.java
+++ b/lucene/misc/src/java/org/apache/lucene/store/RAFDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.EOFException;
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/store/WindowsDirectory.java b/lucene/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
index dd8cb6c..d385399 100644
--- a/lucene/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
+++ b/lucene/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.store;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.store;
 
 import java.io.IOException;
 import java.io.EOFException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java b/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
index 07c5a95..6ef09ce 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.uninverting;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCache.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCache.java b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCache.java
index 8647da2..314d6aa 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCache.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCache.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
index 85c1bba..94e53bd 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheSanityChecker.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheSanityChecker.java b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheSanityChecker.java
index 75d3ce9..e41857e 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheSanityChecker.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheSanityChecker.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.uninverting;
 /*
- * Copyright 2009 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.util.ArrayList;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java b/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
index b269a02..9f96b4f 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/uninverting/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/package-info.java b/lucene/misc/src/java/org/apache/lucene/uninverting/package-info.java
index a4e8521..73dddcf 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/package-info.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Support for creating docvalues on-the-fly from the inverted index at runtime. 
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/util/fst/ListOfOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/util/fst/ListOfOutputs.java b/lucene/misc/src/java/org/apache/lucene/util/fst/ListOfOutputs.java
index a8a7249..aa08344 100644
--- a/lucene/misc/src/java/org/apache/lucene/util/fst/ListOfOutputs.java
+++ b/lucene/misc/src/java/org/apache/lucene/util/fst/ListOfOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/java/org/apache/lucene/util/fst/UpToTwoPositiveIntOutputs.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/util/fst/UpToTwoPositiveIntOutputs.java b/lucene/misc/src/java/org/apache/lucene/util/fst/UpToTwoPositiveIntOutputs.java
index e2fb598..3d54036 100644
--- a/lucene/misc/src/java/org/apache/lucene/util/fst/UpToTwoPositiveIntOutputs.java
+++ b/lucene/misc/src/java/org/apache/lucene/util/fst/UpToTwoPositiveIntOutputs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/IndexSortingTest.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/IndexSortingTest.java b/lucene/misc/src/test/org/apache/lucene/index/IndexSortingTest.java
index ac95fc6..8b384f4 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/IndexSortingTest.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/IndexSortingTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/SorterTestBase.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/SorterTestBase.java b/lucene/misc/src/test/org/apache/lucene/index/SorterTestBase.java
index 3c9ff5e..93caa701 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/SorterTestBase.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/SorterTestBase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/SortingLeafReaderTest.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/SortingLeafReaderTest.java b/lucene/misc/src/test/org/apache/lucene/index/SortingLeafReaderTest.java
index 6173376..6052ab5 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/SortingLeafReaderTest.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/SortingLeafReaderTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java b/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java
index 7c281b0..4a0d2b5 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java b/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
index 5b87bf8..a83fe83 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/TestMultiPassIndexSplitter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java b/lucene/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java
index b615764..931c204 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java
@@ -1,21 +1,20 @@
-package org.apache.lucene.index;
-
 /*
  * 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
- * 
+ * 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.
+ * 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.lucene.index;
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java b/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
index 9a76fad..c763c69 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.index;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.index;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.lang.reflect.Method;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java b/lucene/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java
index d42e63f..b618654 100644
--- a/lucene/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java
+++ b/lucene/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java
@@ -1,4 +1,3 @@
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.misc;
 
 import org.apache.lucene.search.similarities.ClassicSimilarity;
@@ -25,7 +23,6 @@ import org.apache.lucene.search.similarities.TFIDFSimilarity;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.index.FieldInvertState;
 
-
 /**
  * Test of the SweetSpotSimilarity
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/misc/TestHighFreqTerms.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/misc/TestHighFreqTerms.java b/lucene/misc/src/test/org/apache/lucene/misc/TestHighFreqTerms.java
index fcc9fe7..fba5270 100644
--- a/lucene/misc/src/test/org/apache/lucene/misc/TestHighFreqTerms.java
+++ b/lucene/misc/src/test/org/apache/lucene/misc/TestHighFreqTerms.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.misc;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.misc;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.misc;
 
 import java.util.Random;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java b/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
index 8919c50..3fbe14a 100644
--- a/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
+++ b/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java b/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
index 95844ff..14bd437 100644
--- a/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
+++ b/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/store/TestRAFDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/store/TestRAFDirectory.java b/lucene/misc/src/test/org/apache/lucene/store/TestRAFDirectory.java
index db84b43..5a2981f 100644
--- a/lucene/misc/src/test/org/apache/lucene/store/TestRAFDirectory.java
+++ b/lucene/misc/src/test/org/apache/lucene/store/TestRAFDirectory.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.store;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.store;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.store;
 
 import java.io.IOException;
 import java.nio.file.Path;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestDocTermOrds.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestDocTermOrds.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestDocTermOrds.java
index dcf768e..8c1fae7 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestDocTermOrds.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestDocTermOrds.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCache.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCache.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCache.java
index 64f2f9d..215e9a3 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCache.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCache.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.uninverting;
-
 /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheReopen.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheReopen.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheReopen.java
index c10ec13..a85731f 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheReopen.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheReopen.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSanityChecker.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSanityChecker.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSanityChecker.java
index b6e83df..f7dc048 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSanityChecker.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSanityChecker.java
@@ -1,11 +1,10 @@
-package org.apache.lucene.uninverting;
-
 /*
- * Copyright 2009 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -15,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSort.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSort.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSort.java
index e2f669d..55d6714 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSort.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSort.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSortRandom.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSortRandom.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSortRandom.java
index a6961c8..0b6292d 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSortRandom.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheSortRandom.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheVsDocValues.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheVsDocValues.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheVsDocValues.java
index 6223ff7..1b14522 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheVsDocValues.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheVsDocValues.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import static org.apache.lucene.index.SortedSetDocValues.NO_MORE_ORDS;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheWithThreads.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheWithThreads.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheWithThreads.java
index aa51b24..9b05ee1 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheWithThreads.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestFieldCacheWithThreads.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms32.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms32.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms32.java
index 0400f5f..bc85db4 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms32.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms32.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms64.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms64.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms64.java
index abc8933..d9fcc92 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms64.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestNumericTerms64.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.util.HashMap;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java b/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
index afcd339..99df329 100644
--- a/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
+++ b/lucene/misc/src/test/org/apache/lucene/uninverting/TestUninvertingReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.uninverting;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.uninverting;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.uninverting;
 
 import java.io.IOException;
 import java.util.EnumSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java b/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
index 9ffa011..40ec31e 100644
--- a/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
+++ b/lucene/misc/src/test/org/apache/lucene/util/fst/TestFSTsMisc.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util.fst;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util.fst;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util.fst;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
index 914f573..022d838 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.Objects;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
index 6dcae00..dd90237 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.queries;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,8 @@ package org.apache.lucene.queries;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.queries;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;


[20/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java b/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java
index f41840e..27e1bd6 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.range;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.range;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.range;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java b/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java
index b9c2973..736a8a7 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/sortedset/TestSortedSetDocValuesFacets.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.sortedset;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.sortedset;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.sortedset;
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestCachedOrdinalsReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestCachedOrdinalsReader.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestCachedOrdinalsReader.java
index 30b07c6..693aea3 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestCachedOrdinalsReader.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestCachedOrdinalsReader.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
index 3126e06..41171b3 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestFacetLabel.java
@@ -1,14 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
-import java.util.Arrays;
-
-import org.apache.lucene.facet.FacetField;
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetField;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.TestUtil;
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
+
+import java.util.Arrays;
+
+import org.apache.lucene.facet.FacetField;
+import org.apache.lucene.facet.FacetTestCase;
+import org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetField;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.TestUtil;
+import org.junit.Test;
 
 public class TestFacetLabel extends FacetTestCase {
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java
index f86a7a7..dec2d43 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestLRUHashMap.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import org.apache.lucene.facet.FacetTestCase;
 import org.apache.lucene.facet.taxonomy.LRUHashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingLeafReader.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingLeafReader.java
index 0ee930f..0978b50 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingLeafReader.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingLeafReader.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet.taxonomy;
 
 import java.io.IOException;
@@ -28,23 +44,6 @@ import org.apache.lucene.util.IOUtils;
 import org.junit.Before;
 import org.junit.Test;
 
-/*
- * 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.
- */
-
 public class TestOrdinalMappingLeafReader extends FacetTestCase {
   
   private static final int NUM_DOCS = 100;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java
index eb5e123..c6a8b5f 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestSearcherTaxonomyManager.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java
index b896e7f..559683f 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java
@@ -1,20 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.SlowRAMDirectory;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -31,6 +14,22 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.apache.lucene.facet.FacetTestCase;
+import org.apache.lucene.facet.SlowRAMDirectory;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
+import org.junit.Test;
 
 @SuppressCodecs("SimpleText")
 public class TestTaxonomyCombined extends FacetTestCase {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java
index 334ecdd..a300e47 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetAssociations.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,7 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.facet.taxonomy;
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.facet.DrillDownQuery;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
index 2413543..78787e4 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java
index d73f4b6..9a84b8d 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts2.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java
index fa12b7e..09aa5df 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.facet.taxonomy;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.facet.taxonomy;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
index 215067b..e3fed13 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
@@ -1,19 +1,3 @@
-package org.apache.lucene.facet.taxonomy.directory;
-
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Random;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.DiskOrdinalMap;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.MemoryOrdinalMap;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -30,6 +14,21 @@ import org.apache.lucene.util.TestUtil;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.directory;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Random;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.lucene.facet.FacetTestCase;
+import org.apache.lucene.facet.taxonomy.FacetLabel;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.DiskOrdinalMap;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.MemoryOrdinalMap;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.TestUtil;
 
 public class TestAddTaxonomy extends FacetTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java
index 679f6a8..d80b410 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestConcurrentFacetedIndexing.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet.taxonomy.directory;
 
 import java.io.IOException;
@@ -18,23 +34,6 @@ import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.IOUtils;
 
-/*
- * 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.
- */
-
 /** Tests concurrent indexing with facets. */
 public class TestConcurrentFacetedIndexing extends FacetTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
index edf10f4..9b117c0 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet.taxonomy.directory;
 
 import java.io.IOException;
@@ -23,23 +39,6 @@ import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.util.IOUtils;
 import org.junit.Test;
 
-/*
- * 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.
- */
-
 public class TestDirectoryTaxonomyReader extends FacetTestCase {
 
   @Test

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java
index dae94ad..2e98598 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyWriter.java
@@ -1,3 +1,19 @@
+/*
+ * 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.lucene.facet.taxonomy.directory;
 
 import java.io.IOException;
@@ -32,22 +48,6 @@ import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.TestUtil;
 import org.junit.Test;
 
-/*
- * 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.
- */
 
 public class TestDirectoryTaxonomyWriter extends FacetTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCharBlockArray.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCharBlockArray.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCharBlockArray.java
index e0b1289..4914156 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCharBlockArray.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCharBlockArray.java
@@ -1,19 +1,3 @@
-package org.apache.lucene.facet.taxonomy.writercache;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.nio.ByteBuffer;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CodingErrorAction;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.util.TestUtil;
-
-import org.junit.Test;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -30,6 +14,20 @@ import org.junit.Test;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.facet.taxonomy.writercache;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.nio.ByteBuffer;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CodingErrorAction;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+import org.apache.lucene.facet.FacetTestCase;
+
+import org.junit.Test;
 
 public class TestCharBlockArray extends FacetTestCase {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
index 9826645..3ab277a 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
@@ -1,3 +1,19 @@
+/*
++ * 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.lucene.facet.taxonomy.writercache;
 
 import java.nio.ByteBuffer;
@@ -15,23 +31,6 @@ import org.apache.lucene.facet.taxonomy.FacetLabel;
 
 import org.junit.Test;
 
-/*
- * 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.
- */
-
 public class TestCompactLabelToOrdinal extends FacetTestCase {
 
   @Test

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java
index 2916c17..7108762 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupHeadsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java
index bc0014f..954f9e0 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractAllGroupsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java
index 345a6e9..b2181e4 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractDistinctValuesCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.util.HashSet;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java
index f1289c4..4c386b6 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractFirstPassGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.search.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
index 310e3f8..404e3ee 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractGroupFacetCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.search.Collector;
 import org.apache.lucene.search.Scorer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java
index cb928b0..13b6189 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/AbstractSecondPassGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.search.*;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
index a428002..6601336 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/CollectedSearchGroup.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/CollectedSearchGroup.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/CollectedSearchGroup.java
index 63c8871..af6fd04 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/CollectedSearchGroup.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/CollectedSearchGroup.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.search.FieldComparator; // javadocs

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/FakeScorer.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/FakeScorer.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/FakeScorer.java
index 8827586..b74296b 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/FakeScorer.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/FakeScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupDocs.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupDocs.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupDocs.java
index 2ee23ef..a310703 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupDocs.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupDocs.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.search.ScoreDoc;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupingSearch.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupingSearch.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupingSearch.java
index affa5c0..d0bab09 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupingSearch.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/GroupingSearch.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.CachingCollector;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java
index bd31afd..c9d7fa0 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/SearchGroup.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.Sort;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/TopGroups.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/TopGroups.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/TopGroups.java
index 981aef0..a60c8f5 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/TopGroups.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/TopGroups.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.Sort;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
index f1e53a6..4c6071c 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupHeadsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.function;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
index b68b5a7..58418ed 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionAllGroupsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.function;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java
index 2c11ff0..32e9324 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionDistinctValuesCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.function;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
index 73866fb..36579a6 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionFirstPassGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.function;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
index a5e0db3..d363267 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/FunctionSecondPassGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.function;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.function;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.function;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/package-info.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/package-info.java
index 73588ce..ce25582 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/package-info.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/function/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Support for grouping by {@link org.apache.lucene.queries.function.ValueSource}.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/package-info.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/package-info.java
index 824a98e..3af4adf 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/package-info.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /** 
  * Grouping.
  * <p>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
index 687dbcb..ae01e33 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupHeadsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.term;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.term;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.term;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.DocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
index 45e643e..f79964d 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermAllGroupsCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.term;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.term;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.term;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.DocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java
index 87e1c27..ab492d0 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermDistinctValuesCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.term;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.term;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.term;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.DocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
index 61e66a9..4c50254 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermFirstPassGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.term;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.term;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.term;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java
index 7a78c1e..5c36fe1 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermGroupFacetCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.term;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.term;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.term;
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.DocValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java
index 39b71cb..9292856 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/TermSecondPassGroupingCollector.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping.term;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping.term;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping.term;
 
 import java.io.IOException;
 import java.util.Collection;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/package-info.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/package-info.java b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/package-info.java
index 2732011..7965eca 100644
--- a/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/package-info.java
+++ b/lucene/grouping/src/java/org/apache/lucene/search/grouping/term/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 /**
  * Support for grouping by indexed terms via {@link org.apache.lucene.index.DocValues}.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
index b8e3a7f..3c3b9f9 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.TestUtil;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
index 2308acf..9bdb8f5 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
index 7b72864..30a147e 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
@@ -1,11 +1,9 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * 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 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
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/DistinctValuesCollectorTest.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/DistinctValuesCollectorTest.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/DistinctValuesCollectorTest.java
index ccb057e..6a7d9ca 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/DistinctValuesCollectorTest.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/DistinctValuesCollectorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupFacetCollectorTest.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupFacetCollectorTest.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupFacetCollectorTest.java
index 4ffc728..82bbd39 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupFacetCollectorTest.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupFacetCollectorTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import java.io.IOException;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupingSearchTest.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupingSearchTest.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupingSearchTest.java
index 30c9d14..d13bfd7 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupingSearchTest.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/GroupingSearchTest.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.grouping;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.grouping;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.grouping;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
index 2842528..a3bda0b 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.lucene.search.grouping;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/DefaultEncoder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/DefaultEncoder.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/DefaultEncoder.java
index c876711..baae18a 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/DefaultEncoder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/DefaultEncoder.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.search.highlight;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,20 +14,18 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 /**
  * Simple {@link Encoder} implementation that does not modify the output
  *
  */
-public class DefaultEncoder implements Encoder
-{
-  public DefaultEncoder()
-  {
+public class DefaultEncoder implements Encoder {
+  public DefaultEncoder() {
   }
 
   @Override
-  public String encodeText(String originalText)
-  {
+  public String encodeText(String originalText) {
     return originalText;
   }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Encoder.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Encoder.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Encoder.java
index ee09fa9..eb2a957 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Encoder.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Encoder.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.search.highlight;
 /*
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed 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
+ * 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
  *
@@ -14,14 +14,13 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 
 /**
  * Encodes original text. The Encoder works with the {@link Formatter} to generate output.
  *
  */
-public interface Encoder
-{
+public interface Encoder {
   /**
    * @param originalText The section of text being output
    */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Formatter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Formatter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Formatter.java
index d75663bb..8b010ef 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Formatter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Formatter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,8 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
+package org.apache.lucene.search.highlight;
 /**
  * Processes terms found in the original text, typically by applying some form 
  * of mark-up to highlight terms in HTML search results pages.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Fragmenter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Fragmenter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Fragmenter.java
index 27f0760..8c0187c 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Fragmenter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Fragmenter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 import org.apache.lucene.analysis.TokenStream;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/GradientFormatter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/GradientFormatter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/GradientFormatter.java
index c837bbf..7212f41 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/GradientFormatter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/GradientFormatter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 /**
  * Formats text with different color intensity depending on the score of the
  * term.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java
index 5e16347..85e73df 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/InvalidTokenOffsetsException.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/InvalidTokenOffsetsException.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/InvalidTokenOffsetsException.java
index 633b4f4..fe353a2 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/InvalidTokenOffsetsException.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/InvalidTokenOffsetsException.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 /**
  * Exception thrown if TokenStream Tokens are incompatible with provided text
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/NullFragmenter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/NullFragmenter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/NullFragmenter.java
index 5759d19..e605221 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/NullFragmenter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/NullFragmenter.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 import org.apache.lucene.analysis.TokenStream;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/OffsetLimitTokenFilter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/OffsetLimitTokenFilter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/OffsetLimitTokenFilter.java
index f660d19..23557b5 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/OffsetLimitTokenFilter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/OffsetLimitTokenFilter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/PositionSpan.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/PositionSpan.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/PositionSpan.java
index 355ec6c..ac7a9d0 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/PositionSpan.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/PositionSpan.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 /**
  * Utility class to record Positions Spans
  * @lucene.internal

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
index 56b4b2d..25d9b3c 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
index 6b471be..3adf6d0 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
@@ -1,4 +1,3 @@
-package org.apache.lucene.search.highlight;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+package org.apache.lucene.search.highlight;
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java
index 69f93ec..229b42c 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermScorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.util.HashMap;
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Scorer.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Scorer.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Scorer.java
index 19fa180..fd8f484 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Scorer.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/Scorer.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import java.io.IOException;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleFragmenter.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleFragmenter.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleFragmenter.java
index 881beb9..4f25c3a 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleFragmenter.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/SimpleFragmenter.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.search.highlight;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.search.highlight;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.search.highlight;
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;


[05/87] [abbrv] [partial] lucene-solr git commit: LUCENE-7013: Move license header to top of file

Posted by nk...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestGroupFiltering.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestGroupFiltering.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestGroupFiltering.java
index a5ab446..1e519b7 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestGroupFiltering.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestGroupFiltering.java
@@ -1,14 +1,3 @@
-package org.apache.lucene.util;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import org.apache.lucene.util.LuceneTestCase;
-
-import com.carrotsearch.randomizedtesting.annotations.TestGroup;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,6 +14,16 @@ import com.carrotsearch.randomizedtesting.annotations.TestGroup;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import org.apache.lucene.util.LuceneTestCase;
+
+import com.carrotsearch.randomizedtesting.annotations.TestGroup;
 
 public class TestGroupFiltering extends LuceneTestCase {
   @Documented

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestJUnitRuleOrder.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestJUnitRuleOrder.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestJUnitRuleOrder.java
index e4888fd..9249479 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestJUnitRuleOrder.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestJUnitRuleOrder.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.Arrays;
 import java.util.Stack;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestMaxFailuresRule.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestMaxFailuresRule.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestMaxFailuresRule.java
index f1fd2de..216c35c 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestMaxFailuresRule.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestMaxFailuresRule.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.concurrent.CountDownLatch;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestRamUsageTesterOnWildAnimals.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestRamUsageTesterOnWildAnimals.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestRamUsageTesterOnWildAnimals.java
index cf45cb9..a2a5cee 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestRamUsageTesterOnWildAnimals.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestRamUsageTesterOnWildAnimals.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.junit.Assert;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessage.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessage.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessage.java
index 50fee7c..952d8bb 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessage.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessage.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.util.Arrays;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessageWithRepeated.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessageWithRepeated.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessageWithRepeated.java
index 5b845c6..9e03d07 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessageWithRepeated.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestReproduceMessageWithRepeated.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.junit.Assert;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestRunWithRestrictedPermissions.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestRunWithRestrictedPermissions.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestRunWithRestrictedPermissions.java
index 208b5c8..2aa678b 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestRunWithRestrictedPermissions.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestRunWithRestrictedPermissions.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.IOException;
 import java.nio.file.Files;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestSeedFromUncaught.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestSeedFromUncaught.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestSeedFromUncaught.java
index fecffd9..5dd92c1 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestSeedFromUncaught.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestSeedFromUncaught.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.junit.Assert;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestSetupTeardownChaining.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestSetupTeardownChaining.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestSetupTeardownChaining.java
index 72d6695..6078015 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestSetupTeardownChaining.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestSetupTeardownChaining.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.junit.Assert;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/TestWorstCaseTestBehavior.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/TestWorstCaseTestBehavior.java b/lucene/test-framework/src/test/org/apache/lucene/util/TestWorstCaseTestBehavior.java
index deb44cf..427b501 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/TestWorstCaseTestBehavior.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/TestWorstCaseTestBehavior.java
@@ -1,11 +1,3 @@
-package org.apache.lucene.util;
-
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Ignore;
-
-import com.carrotsearch.randomizedtesting.RandomizedTest;
-import com.carrotsearch.randomizedtesting.annotations.Timeout;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -22,6 +14,13 @@ import com.carrotsearch.randomizedtesting.annotations.Timeout;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
+
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Ignore;
+
+import com.carrotsearch.randomizedtesting.RandomizedTest;
+import com.carrotsearch.randomizedtesting.annotations.Timeout;
 
 public class TestWorstCaseTestBehavior extends LuceneTestCase {
   @Ignore

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java b/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
index 5528521..523b18d 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.util;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.util;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.util;
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java b/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
index b833bb0..4e642ee 100644
--- a/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
+++ b/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.dependencies;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.dependencies;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.dependencies;
 
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/dependencies/InterpolatedProperties.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/dependencies/InterpolatedProperties.java b/lucene/tools/src/java/org/apache/lucene/dependencies/InterpolatedProperties.java
index 6b9400d..159a803 100644
--- a/lucene/tools/src/java/org/apache/lucene/dependencies/InterpolatedProperties.java
+++ b/lucene/tools/src/java/org/apache/lucene/dependencies/InterpolatedProperties.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.dependencies;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.dependencies;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.dependencies;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java b/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java
index 0fa68cc8..63aeb32 100644
--- a/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java
+++ b/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.validation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.validation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.validation;
 
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.LogOptions;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/validation/LicenseCheckTask.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/validation/LicenseCheckTask.java b/lucene/tools/src/java/org/apache/lucene/validation/LicenseCheckTask.java
index b1bdab7..e26df80 100644
--- a/lucene/tools/src/java/org/apache/lucene/validation/LicenseCheckTask.java
+++ b/lucene/tools/src/java/org/apache/lucene/validation/LicenseCheckTask.java
@@ -1,5 +1,3 @@
-package org.apache.lucene.validation;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.lucene.validation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.validation;
 
 import java.io.File;
 import java.io.FileInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/validation/LicenseType.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/validation/LicenseType.java b/lucene/tools/src/java/org/apache/lucene/validation/LicenseType.java
index d0ae46dc..2359382 100644
--- a/lucene/tools/src/java/org/apache/lucene/validation/LicenseType.java
+++ b/lucene/tools/src/java/org/apache/lucene/validation/LicenseType.java
@@ -1,6 +1,3 @@
-package org.apache.lucene.validation;
-
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -17,6 +14,8 @@ package org.apache.lucene.validation;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.lucene.validation;
+
 
 /**
  * A list of accepted licenses.  See also http://www.apache.org/legal/3party.html

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElement.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElement.java b/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElement.java
index 63ddc20..287527e 100644
--- a/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElement.java
+++ b/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElement.java
@@ -1,22 +1,20 @@
-package org.apache.lucene.validation.ivyde;
-
 /*
- *  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
+ * 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.
+ *     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.lucene.validation.ivyde;
 
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElementAdapter.java
----------------------------------------------------------------------
diff --git a/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElementAdapter.java b/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElementAdapter.java
index f583d13..c754dd4 100644
--- a/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElementAdapter.java
+++ b/lucene/tools/src/java/org/apache/lucene/validation/ivyde/IvyNodeElementAdapter.java
@@ -1,22 +1,20 @@
-package org.apache.lucene.validation.ivyde;
-
 /*
- *  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
+ * 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.
+ *     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.lucene.validation.ivyde;
 
 import org.apache.ivy.core.module.id.ModuleId;
 import org.apache.ivy.core.module.id.ModuleRevisionId;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java b/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
index 7fa5cdb..4cfb287 100644
--- a/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
+++ b/solr/contrib/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java
@@ -1,5 +1,3 @@
-package org.apache.solr.schema;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.schema;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.schema;
 
 import java.io.IOException;
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestFoldingMultitermExtrasQuery.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestFoldingMultitermExtrasQuery.java b/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestFoldingMultitermExtrasQuery.java
index bb0845e..b7e742b 100644
--- a/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestFoldingMultitermExtrasQuery.java
+++ b/solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestFoldingMultitermExtrasQuery.java
@@ -1,5 +1,3 @@
-package org.apache.solr.analysis;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.analysis;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.analysis;
 
 import java.io.File;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
index 1d51fc0..e25e440 100644
--- a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
+++ b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationField.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.schema;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldDocValues.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldDocValues.java b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldDocValues.java
index 00baad1..bdddc98 100644
--- a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldDocValues.java
+++ b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldDocValues.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.schema;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldOptions.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldOptions.java b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldOptions.java
index f1fcf53..7a5dca7 100644
--- a/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldOptions.java
+++ b/solr/contrib/analysis-extras/src/test/org/apache/solr/schema/TestICUCollationFieldOptions.java
@@ -1,5 +1,3 @@
-package org.apache.solr.schema;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -16,6 +14,7 @@ package org.apache.solr.schema;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.solr.schema;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.solr.SolrTestCaseJ4;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/BasicAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/BasicAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/BasicAccumulator.java
index c78de1c..53037c1 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/BasicAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/BasicAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/FacetingAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/FacetingAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/FacetingAccumulator.java
index 78b9f5c..7cb0c14 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/FacetingAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/FacetingAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/ValueAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/ValueAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/ValueAccumulator.java
index 8ed37aa..489d3de 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/ValueAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/ValueAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FacetValueAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FacetValueAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FacetValueAccumulator.java
index a8b49fd..1b6fbb7 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FacetValueAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FacetValueAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator.facet;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FieldFacetAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FieldFacetAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FieldFacetAccumulator.java
index e17450a..2bcaa33 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FieldFacetAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/FieldFacetAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator.facet;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/QueryFacetAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/QueryFacetAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/QueryFacetAccumulator.java
index 7e4f906..8b92ba0 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/QueryFacetAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/QueryFacetAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator.facet;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/RangeFacetAccumulator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/RangeFacetAccumulator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/RangeFacetAccumulator.java
index c3b6f21..59cf428 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/RangeFacetAccumulator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/RangeFacetAccumulator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.accumulator.facet;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/package-info.java
index 3daf103..3f19c07 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/facet/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Accumulators for accumulating over differnt types of facets
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/package-info.java
index 0abe00a..8af5064 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/accumulator/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Accumulators accumulate values over different types of strucuture (eg result, facet, etc..)
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/BaseExpression.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/BaseExpression.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/BaseExpression.java
index 1455cbc..2f0326b 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/BaseExpression.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/BaseExpression.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/DualDelegateExpression.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/DualDelegateExpression.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/DualDelegateExpression.java
index f8579bf..f906b47 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/DualDelegateExpression.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/DualDelegateExpression.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/Expression.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/Expression.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/Expression.java
index add0976..4c9bd58 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/Expression.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/Expression.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 import java.util.Comparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/ExpressionFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/ExpressionFactory.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/ExpressionFactory.java
index 29f94b0..8ad4070 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/ExpressionFactory.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/ExpressionFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/MultiDelegateExpression.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/MultiDelegateExpression.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/MultiDelegateExpression.java
index bb979df..4ea66fa 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/MultiDelegateExpression.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/MultiDelegateExpression.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/SingleDelegateExpression.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/SingleDelegateExpression.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/SingleDelegateExpression.java
index c6ab60e..8d94ece 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/SingleDelegateExpression.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/SingleDelegateExpression.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 import java.util.Date;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/package-info.java
index 8c6f70e..b279d3a 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/expression/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Expressions map either zero, one, two or many inputs to a single value. They can be defined recursively to compute complex math.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/AnalyticsStatisticsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/AnalyticsStatisticsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/AnalyticsStatisticsCollector.java
index a57c546..cf5bd43 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/AnalyticsStatisticsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/AnalyticsStatisticsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.plugin;
 
 import java.util.concurrent.atomic.AtomicLong;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/package-info.java
index 3496b12..ac77d70 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/plugin/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * MBean plugins for stats collection 
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AbstractFieldFacetRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AbstractFieldFacetRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AbstractFieldFacetRequest.java
index 6f85cf0..8121f56 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AbstractFieldFacetRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AbstractFieldFacetRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import org.apache.solr.schema.SchemaField;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsContentHandler.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsContentHandler.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsContentHandler.java
index db21094..31b0576 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsContentHandler.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsContentHandler.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequest.java
index 2f24999..d147e6e 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequestFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequestFactory.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequestFactory.java
index 3e2e994..3773ff6 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequestFactory.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsRequestFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsStats.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsStats.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsStats.java
index d481847..a9cdef9 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsStats.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/AnalyticsStats.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/ExpressionRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/ExpressionRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/ExpressionRequest.java
index 1549cdf..a833c80 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/ExpressionRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/ExpressionRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import org.apache.solr.analytics.expression.Expression;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FacetRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FacetRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FacetRequest.java
index 6cca99d..936af72 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FacetRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FacetRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 public interface FacetRequest {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FieldFacetRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FieldFacetRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FieldFacetRequest.java
index 7884476..67d93da 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FieldFacetRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/FieldFacetRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import org.apache.solr.analytics.util.AnalyticsParams;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/QueryFacetRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/QueryFacetRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/QueryFacetRequest.java
index b02740c..fbe34db 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/QueryFacetRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/QueryFacetRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/RangeFacetRequest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/RangeFacetRequest.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/RangeFacetRequest.java
index 8c70b98..ec9cf6b 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/RangeFacetRequest.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/RangeFacetRequest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.request;
 
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/package-info.java
index de2feb3..c28836b 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/request/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Request objects for creating Analytics requests
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/AbstractDelegatingStatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/AbstractDelegatingStatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/AbstractDelegatingStatsCollector.java
index 07b6d26..45dfa00 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/AbstractDelegatingStatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/AbstractDelegatingStatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MedianStatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MedianStatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MedianStatsCollector.java
index 8095536..c91840b 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MedianStatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MedianStatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MinMaxStatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MinMaxStatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MinMaxStatsCollector.java
index f1c3e4a..7e3bde1 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MinMaxStatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/MinMaxStatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/NumericStatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/NumericStatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/NumericStatsCollector.java
index ef3de5d..6a64eeb 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/NumericStatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/NumericStatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/PercentileStatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/PercentileStatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/PercentileStatsCollector.java
index 2ddfb99..5f63ef9 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/PercentileStatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/PercentileStatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollector.java
index cfeaa86..d9a4640 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollectorSupplierFactory.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollectorSupplierFactory.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollectorSupplierFactory.java
index 49d243a..bee7431 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollectorSupplierFactory.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/StatsCollectorSupplierFactory.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.lang.invoke.MethodHandles;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/UniqueStatsCollector.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/UniqueStatsCollector.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/UniqueStatsCollector.java
index a06a093..d4d537c 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/UniqueStatsCollector.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/UniqueStatsCollector.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.statistics;
 
 import java.util.HashSet;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/package-info.java
index 90fa12d..31b0e04 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/statistics/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Statistics collectors reduce a list of Objects to a single value. Most implementations reduce a list to a statistic on that list.
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParams.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParams.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParams.java
index d7f220a..b9da1cf 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParams.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParams.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util;
 
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParsers.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParsers.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParsers.java
index f0b73f2..53105bd 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParsers.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/AnalyticsParsers.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/MedianCalculator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/MedianCalculator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/MedianCalculator.java
index 4857597..52935e9 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/MedianCalculator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/MedianCalculator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util;
 
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/PercentileCalculator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/PercentileCalculator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/PercentileCalculator.java
index 714575e..4ae5cc0 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/PercentileCalculator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/PercentileCalculator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/RangeEndpointCalculator.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/RangeEndpointCalculator.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/RangeEndpointCalculator.java
index b7d0244..6d899e0 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/RangeEndpointCalculator.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/RangeEndpointCalculator.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/package-info.java
index a5676f1..89b6059 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * Utilities used by analytics component
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AbsoluteValueDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AbsoluteValueDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AbsoluteValueDoubleFunction.java
index f429248..62c99a7 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AbsoluteValueDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AbsoluteValueDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AddDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AddDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AddDoubleFunction.java
index edf98e4..1a8a254 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AddDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/AddDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConcatStringFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConcatStringFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConcatStringFunction.java
index 97537a7..3620c47 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConcatStringFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConcatStringFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDateSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDateSource.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDateSource.java
index 19acfee..dc2e02c 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDateSource.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDateSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDoubleSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDoubleSource.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDoubleSource.java
index 4feb452..80e8ed1 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDoubleSource.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstDoubleSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstStringSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstStringSource.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstStringSource.java
index c2c9af7..52bdf52 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstStringSource.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ConstStringSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.valuesource.LiteralValueSource;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateFieldSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateFieldSource.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateFieldSource.java
index f072417..631aca0 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateFieldSource.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateFieldSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateMathFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateMathFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateMathFunction.java
index f2d4c4a..2bf40f3 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateMathFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DateMathFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.text.ParseException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DivDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DivDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DivDoubleFunction.java
index f029d79..5e43901 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DivDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DivDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DualDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DualDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DualDoubleFunction.java
index 4bf6e61..96058aa 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DualDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/DualDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/FilterFieldSource.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/FilterFieldSource.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/FilterFieldSource.java
index 272dfc4..8eb35d1 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/FilterFieldSource.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/FilterFieldSource.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/LogDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/LogDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/LogDoubleFunction.java
index c4729a3..63906de 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/LogDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/LogDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDateFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDateFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDateFunction.java
index 6a954c1..3daa0ea 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDateFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDateFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDoubleFunction.java
index a7e9932..ded716c 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiStringFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiStringFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiStringFunction.java
index a9f1867..1d9c67d 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiStringFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiStringFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiplyDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiplyDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiplyDoubleFunction.java
index 62c50b5..1624ae9 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiplyDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/MultiplyDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/NegateDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/NegateDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/NegateDoubleFunction.java
index 4bff8d0..4297261 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/NegateDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/NegateDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/PowDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/PowDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/PowDoubleFunction.java
index 1b4348b..757e31b 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/PowDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/PowDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.lucene.queries.function.FunctionValues;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ReverseStringFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ReverseStringFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ReverseStringFunction.java
index 568f94e..68a18d4 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ReverseStringFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/ReverseStringFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import org.apache.commons.lang.StringUtils;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleDoubleFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleDoubleFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleDoubleFunction.java
index e150265..967f014 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleDoubleFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleDoubleFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleStringFunction.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleStringFunction.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleStringFunction.java
index 5607291..b6a79f0 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleStringFunction.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/SingleStringFunction.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.util.valuesource;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/package-info.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/package-info.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/package-info.java
index 72a23d2..c2d5b95 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/package-info.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/util/valuesource/package-info.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 /** 
  * ValueSource function/sources used by analytics component
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/java/org/apache/solr/handler/component/AnalyticsComponent.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/handler/component/AnalyticsComponent.java b/solr/contrib/analytics/src/java/org/apache/solr/handler/component/AnalyticsComponent.java
index 38e73e2..f33b6c7 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/handler/component/AnalyticsComponent.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/handler/component/AnalyticsComponent.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.handler.component;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/AbstractAnalyticsStatsTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/AbstractAnalyticsStatsTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/AbstractAnalyticsStatsTest.java
index 0066e45..881822c 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/AbstractAnalyticsStatsTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/AbstractAnalyticsStatsTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics;
 
 import java.io.ByteArrayInputStream;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
index f217150..ae935fb 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics;
 
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/813ca772/solr/contrib/analytics/src/test/org/apache/solr/analytics/expression/ExpressionTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/expression/ExpressionTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/expression/ExpressionTest.java
index 737f137..2519358 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/expression/ExpressionTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/expression/ExpressionTest.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.solr.analytics.expression;
 
 import com.google.common.collect.ObjectArrays;