![JAR search and dependency download from the Maven repository](/logo.png)
org.unipop.rest.util.PredicatesTranslator Maven / Gradle / Ivy
package org.unipop.rest.util;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.HasContainer;
import org.json.JSONObject;
import org.unipop.query.predicates.PredicatesHolder;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* Created by sbarzilay on 28/11/16.
*/
public class PredicatesTranslator {
public static Map translate(PredicatesHolder predicatesHolder, JSONObject opTranslator, MatcherHolder complexTranslator, boolean valuesToString, int limit) {
Map translate = translate(predicatesHolder, opTranslator, complexTranslator, valuesToString);
translate.put("limit", limit);
return translate;
}
public static Map translate(PredicatesHolder predicatesHolder, JSONObject opTranslator, MatcherHolder complexTranslator, boolean valuesToString) {
List predicates = predicatesHolder.getPredicates();
Map complexOps = predicates.stream().map(hasContainer -> {
String match = complexTranslator.match(hasContainer);
if (match != null)
return Pair.of(hasContainer, match);
return null;
}).filter(t -> t != null).collect(Collectors.toMap(Pair::getKey, Pair::getValue));
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy