summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-05-31 09:47:58 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-05-31 09:47:58 +0200
commit8b593130baa769a56ff540c81a57da82cc0a0c9b (patch)
treeeec7660a8232de069f090dfb46818fe9561830fd /searchlib
parent6ebc3d55b64179b6286df0393ce5e0d3c8693081 (diff)
Update abi and deprecate unused method.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/abi-spec.json4
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java10
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java6
-rwxr-xr-xsearchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java17
4 files changed, 22 insertions, 15 deletions
diff --git a/searchlib/abi-spec.json b/searchlib/abi-spec.json
index 9e958dd4d4c..fbb48f8edf6 100644
--- a/searchlib/abi-spec.json
+++ b/searchlib/abi-spec.json
@@ -333,6 +333,7 @@
"public int hashCode()",
"public boolean equals(java.lang.Object)",
"public java.lang.String toString()",
+ "public java.util.Map getRankProperties(com.yahoo.searchlib.rankingexpression.rule.SerializationContext)",
"public java.util.Map getRankProperties(java.util.List)",
"public static java.lang.String propertyName(java.lang.String)",
"public com.yahoo.tensor.TensorType type(com.yahoo.tensor.evaluation.TypeContext)",
@@ -1330,6 +1331,7 @@
"public int hashCode()",
"public final boolean equals(java.lang.Object)",
"public final java.lang.String toString()",
+ "public final java.lang.StringBuilder toString(com.yahoo.searchlib.rankingexpression.rule.SerializationContext)",
"public abstract java.lang.StringBuilder toString(java.lang.StringBuilder, com.yahoo.searchlib.rankingexpression.rule.SerializationContext, java.util.Deque, com.yahoo.searchlib.rankingexpression.rule.CompositeNode)",
"public abstract com.yahoo.tensor.TensorType type(com.yahoo.tensor.evaluation.TypeContext)",
"public abstract com.yahoo.searchlib.rankingexpression.evaluation.Value evaluate(com.yahoo.searchlib.rankingexpression.evaluation.Context)"
@@ -1581,6 +1583,8 @@
"public com.yahoo.searchlib.rankingexpression.rule.SerializationContext withBindings(java.util.Map)",
"public com.yahoo.searchlib.rankingexpression.rule.SerializationContext withoutBindings()",
"public java.util.Map serializedFunctions()",
+ "public java.lang.String uniqueName(java.lang.String)",
+ "public boolean needSerialization(java.lang.String)",
"public bridge synthetic com.yahoo.searchlib.rankingexpression.rule.FunctionReferenceContext withoutBindings()",
"public bridge synthetic com.yahoo.searchlib.rankingexpression.rule.FunctionReferenceContext withBindings(java.util.Map)"
],
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
index f666a55d5f5..3eb4f16a9dd 100755
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java
@@ -250,12 +250,9 @@ public class RankingExpression implements Serializable {
/**
* Creates the necessary rank properties required to implement this expression.
*
- * @param functions the expression functions to expand
+ * @param context context for serialization
* @return a list of named rank properties required to implement this expression
*/
- public Map<String, String> getRankProperties(List<ExpressionFunction> functions) {
- return getRankProperties(new SerializationContext(functions));
- }
public Map<String, String> getRankProperties(SerializationContext context) {
Deque<String> path = new LinkedList<>();
String serializedRoot = root.toString(new StringBuilder(), context, path, null).toString();
@@ -264,6 +261,11 @@ public class RankingExpression implements Serializable {
return serializedExpressions;
}
+ @Deprecated
+ public Map<String, String> getRankProperties(List<ExpressionFunction> functions) {
+ return getRankProperties(new SerializationContext(functions));
+ }
+
/**
* Returns the rank-property name for a given expression name.
*
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java
index 07de5812c91..151b70d763d 100755
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java
@@ -30,10 +30,10 @@ public abstract class ExpressionNode implements Serializable {
@Override
public final String toString() {
- return toString(new StringBuilder(), new SerializationContext(), null, null).toString();
+ return toString(new SerializationContext()).toString();
}
- public final String toString(SerializationContext context) {
- return toString(new StringBuilder(), context, null, null).toString();
+ public final StringBuilder toString(SerializationContext context) {
+ return toString(new StringBuilder(), context, null, null);
}
/**
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java
index ea09de32137..092faa1934e 100755
--- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java
@@ -9,6 +9,7 @@ import com.yahoo.searchlib.rankingexpression.rule.IfNode;
import com.yahoo.searchlib.rankingexpression.rule.ExpressionNode;
import com.yahoo.searchlib.rankingexpression.rule.FunctionNode;
import com.yahoo.searchlib.rankingexpression.rule.ReferenceNode;
+import com.yahoo.searchlib.rankingexpression.rule.SerializationContext;
import com.yahoo.searchlib.rankingexpression.rule.TensorFunctionNode;
import com.yahoo.tensor.functions.Reduce;
import org.junit.Test;
@@ -92,7 +93,7 @@ public class RankingExpressionTestCase {
RankingExpression exp = new RankingExpression("foo");
try {
- exp.getRankProperties(functions);
+ exp.getRankProperties(new SerializationContext(functions));
} catch (RuntimeException e) {
assertEquals("Cycle in ranking expression function: [foo[]]", e.getMessage());
}
@@ -100,13 +101,13 @@ public class RankingExpressionTestCase {
@Test
public void testFunctionCycleSerialization() throws ParseException {
- List<ExpressionFunction> funnctions = new ArrayList<>();
- funnctions.add(new ExpressionFunction("foo", null, new RankingExpression("bar")));
- funnctions.add(new ExpressionFunction("bar", null, new RankingExpression("foo")));
+ List<ExpressionFunction> functions = new ArrayList<>();
+ functions.add(new ExpressionFunction("foo", null, new RankingExpression("bar")));
+ functions.add(new ExpressionFunction("bar", null, new RankingExpression("foo")));
RankingExpression exp = new RankingExpression("foo");
try {
- exp.getRankProperties(funnctions);
+ exp.getRankProperties(new SerializationContext(functions));
} catch (RuntimeException e) {
assertEquals("Cycle in ranking expression function: [foo[], bar[]]", e.getMessage());
}
@@ -350,7 +351,7 @@ public class RankingExpressionTestCase {
try {
RankingExpression expression = new RankingExpression(expressionString);
// No functions -> expect one rank property
- serializedExpression = expression.getRankProperties(Collections.emptyList()).values().iterator().next();
+ serializedExpression = expression.getRankProperties(new SerializationContext()).values().iterator().next();
assertEquals(expectedSerialization, serializedExpression);
}
catch (ParseException e) {
@@ -363,7 +364,7 @@ public class RankingExpressionTestCase {
RankingExpression reparsedExpression = new RankingExpression(serializedExpression);
// Serializing the primitivized expression should yield the same expression again
String reserializedExpression =
- reparsedExpression.getRankProperties(Collections.emptyList()).values().iterator().next();
+ reparsedExpression.getRankProperties(new SerializationContext()).values().iterator().next();
assertEquals(expectedSerialization, reserializedExpression);
}
catch (ParseException e) {
@@ -383,7 +384,7 @@ public class RankingExpressionTestCase {
System.out.println("Parsing expression '" + expressionString + "':");
RankingExpression expression = new RankingExpression(expressionString);
- Map<String, String> rankProperties = expression.getRankProperties(functions);
+ Map<String, String> rankProperties = expression.getRankProperties(new SerializationContext(functions));
if (print) {
for (String key : rankProperties.keySet())
System.out.println(key + ": " + rankProperties.get(key));