pull/1084/head
Mike Barry 2024-11-02 07:53:02 -04:00
rodzic a956ce811a
commit 4b422c1f3f
3 zmienionych plików z 18 dodań i 5 usunięć

Wyświetl plik

@ -100,7 +100,7 @@ public class ConfigExpressionScript<I extends ScriptContext, O> implements Confi
*/ */
public static <I extends ScriptContext, O> ConfigExpressionScript<I, O> parse(String string, public static <I extends ScriptContext, O> ConfigExpressionScript<I, O> parse(String string,
ScriptEnvironment<I> description, Class<O> expected) { ScriptEnvironment<I> description, Class<O> expected) {
var scriptHost = ScriptHost.newBuilder().registry(PlanetilerTypeRegistry.INSTANCE) var scriptHost = ScriptHost.newBuilder().registry(new PlanetilerTypeRegistry())
.build(); .build();
try { try {
var scriptBuilder = scriptHost.buildScript(string).withLibraries( var scriptBuilder = scriptHost.buildScript(string).withLibraries(

Wyświetl plik

@ -117,4 +117,14 @@ public class GeometryVal extends BaseVal implements Indexer, FieldTester {
return Err.newErr(err, "Error getting %s", fieldName); return Err.newErr(err, "Error getting %s", fieldName);
} }
} }
@Override
public final boolean equals(Object o) {
return this == o || (o instanceof GeometryVal val && val.geometry.equals(geometry));
}
@Override
public int hashCode() {
return geometry.hashCode();
}
} }

Wyświetl plik

@ -13,8 +13,7 @@ import org.projectnessie.cel.common.types.ref.TypeRegistry;
import org.projectnessie.cel.common.types.ref.Val; import org.projectnessie.cel.common.types.ref.Val;
/** Registers any types that are available to CEL expressions in planetiler configs. */ /** Registers any types that are available to CEL expressions in planetiler configs. */
public class PlanetilerTypeRegistry implements TypeRegistry { public final class PlanetilerTypeRegistry implements TypeRegistry {
public static final PlanetilerTypeRegistry INSTANCE = new PlanetilerTypeRegistry();
@Override @Override
public TypeRegistry copy() { public TypeRegistry copy() {
@ -22,10 +21,14 @@ public class PlanetilerTypeRegistry implements TypeRegistry {
} }
@Override @Override
public void register(Object t) {} public void register(Object t) {
// types are defined statically
}
@Override @Override
public void registerType(Type... types) {} public void registerType(Type... types) {
// types are defined statically
}
@Override @Override
public Val nativeToValue(Object value) { public Val nativeToValue(Object value) {