You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2015/05/14 16:10:34 UTC
svn commit: r1679376 - in
/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io:
comp/ComparatorLambda.java comp/FieldComparator.java
stream/expr/StreamFactory.java
Author: jbernste
Date: Thu May 14 14:10:34 2015
New Revision: 1679376
URL: http://svn.apache.org/r1679376
Log:
SOLR-7377,SOLR-7524:Make Streaming Expressions Java 7 Compatible
Modified:
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/ComparatorLambda.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/FieldComparator.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/ComparatorLambda.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/ComparatorLambda.java?rev=1679376&r1=1679375&r2=1679376&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/ComparatorLambda.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/ComparatorLambda.java Thu May 14 14:10:34 2015
@@ -1,5 +1,7 @@
package org.apache.solr.client.solrj.io.comp;
+import java.io.Serializable;
+
import org.apache.solr.client.solrj.io.Tuple;
/*
@@ -22,6 +24,6 @@ import org.apache.solr.client.solrj.io.T
/**
* Interface for use with a comparator lambda
*/
-public interface ComparatorLambda {
+public interface ComparatorLambda extends Serializable {
public int compare(Tuple leftTuple, Tuple rightTuple);
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/FieldComparator.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/FieldComparator.java?rev=1679376&r1=1679375&r2=1679376&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/FieldComparator.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/FieldComparator.java Thu May 14 14:10:34 2015
@@ -70,22 +70,21 @@ public class FieldComparator extends Str
*/
private void assignComparator(){
if(ComparatorOrder.DESCENDING == order){
- // What black magic is this type intersection??
- // Because this class is serializable we need to make sure the lambda is also serializable.
- // This can be done by providing this type intersection on the definition of the lambda.
- // Why not do it in the lambda interface? Functional Interfaces don't allow extends clauses
- comparator = (ComparatorLambda & Serializable)(leftTuple, rightTuple) -> {
- Comparable leftComp = (Comparable)leftTuple.get(leftField);
- Comparable rightComp = (Comparable)rightTuple.get(rightField);
- return rightComp.compareTo(leftComp);
+ comparator = new ComparatorLambda() {
+ public int compare(Tuple leftTuple, Tuple rightTuple) {
+ Comparable leftComp = (Comparable)leftTuple.get(leftField);
+ Comparable rightComp = (Comparable)rightTuple.get(rightField);
+ return rightComp.compareTo(leftComp);
+ }
};
}
else{
- // See above for black magic reasoning.
- comparator = (ComparatorLambda & Serializable)(leftTuple, rightTuple) -> {
- Comparable leftComp = (Comparable)leftTuple.get(leftField);
- Comparable rightComp = (Comparable)rightTuple.get(rightField);
- return leftComp.compareTo(rightComp);
+ comparator = new ComparatorLambda() {
+ public int compare(Tuple leftTuple, Tuple rightTuple) {
+ Comparable leftComp = (Comparable)leftTuple.get(leftField);
+ Comparable rightComp = (Comparable)rightTuple.get(rightField);
+ return leftComp.compareTo(rightComp);
+ }
};
}
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java?rev=1679376&r1=1679375&r2=1679376&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java Thu May 14 14:10:34 2015
@@ -54,7 +54,10 @@ public class StreamFactory implements Se
return this;
}
public String getCollectionZkHost(String collectionName){
- return this.collectionZkHosts.getOrDefault(collectionName, null);
+ if(this.collectionZkHosts.containsKey(collectionName)){
+ return this.collectionZkHosts.get(collectionName);
+ }
+ return null;
}
public Map<String,Class> getStreamFunctions(){