use of io.aklivity.zilla.runtime.engine.config.RouteConfig in project zilla by aklivity.
the class BindingConfigsAdapter method adaptFromJson.
@Override
public BindingConfig[] adaptFromJson(JsonObject object) {
List<BindingConfig> bindings = new LinkedList<>();
for (String entry : object.keySet()) {
JsonObject item = object.getJsonObject(entry);
String type = item.getString(TYPE_NAME);
route.adaptType(type);
options.adaptType(type);
NamespacedRef vault = item.containsKey(VAULT_NAME) ? NamespacedRef.of(item.getString(VAULT_NAME)) : null;
KindConfig kind = this.kind.adaptFromJson(item.getJsonString(KIND_NAME));
OptionsConfig opts = item.containsKey(OPTIONS_NAME) ? options.adaptFromJson(item.getJsonObject(OPTIONS_NAME)) : null;
MutableInteger order = new MutableInteger();
List<RouteConfig> routes = item.containsKey(ROUTES_NAME) ? item.getJsonArray(ROUTES_NAME).stream().map(JsonValue::asJsonObject).peek(o -> route.adaptFromJsonIndex(order.value++)).map(route::adaptFromJson).collect(toList()) : ROUTES_DEFAULT;
RouteConfig exit = item.containsKey(EXIT_NAME) ? new RouteConfig(routes.size(), item.getString(EXIT_NAME)) : null;
bindings.add(new BindingConfig(vault, entry, type, kind, opts, routes, exit));
}
return bindings.toArray(BindingConfig[]::new);
}
use of io.aklivity.zilla.runtime.engine.config.RouteConfig in project zilla by aklivity.
the class BindingConfigsAdapterTest method shouldWriteBindingWithExit.
@Test
public void shouldWriteBindingWithExit() {
BindingConfig[] bindings = { new BindingConfig(null, "test", "test", SERVER, null, emptyList(), new RouteConfig("test")) };
String text = jsonb.toJson(bindings);
assertThat(text, not(nullValue()));
assertThat(text, equalTo("{\"test\":{\"type\":\"test\",\"kind\":\"server\",\"exit\":\"test\"}}"));
}
use of io.aklivity.zilla.runtime.engine.config.RouteConfig in project zilla by aklivity.
the class RouteConfigAdapterTest method shouldWriteRouteWhenMatch.
@Test
public void shouldWriteRouteWhenMatch() {
RouteConfig route = new RouteConfig("test", singletonList(new TestConditionConfig("test")));
String text = jsonb.toJson(route);
assertThat(text, not(nullValue()));
assertThat(text, equalTo("{\"exit\":\"test\",\"when\":[{\"match\":\"test\"}]}"));
}
use of io.aklivity.zilla.runtime.engine.config.RouteConfig in project zilla by aklivity.
the class RouteConfigAdapterTest method shouldReadRouteWhenMatch.
@Test
public void shouldReadRouteWhenMatch() {
String text = "{" + "\"exit\": \"test\"," + "\"when\":" + "[" + "{ \"match\": \"test\" }" + "]" + "}";
RouteConfig route = jsonb.fromJson(text, RouteConfig.class);
assertThat(route, not(nullValue()));
assertThat(route.exit, equalTo("test"));
assertThat(route.when, hasSize(1));
assertThat(route.when, contains(instanceOf(TestConditionConfig.class)));
}
use of io.aklivity.zilla.runtime.engine.config.RouteConfig in project zilla by aklivity.
the class RouteConfigAdapterTest method shouldWriteRoute.
@Test
public void shouldWriteRoute() {
RouteConfig route = new RouteConfig("test");
String text = jsonb.toJson(route);
assertThat(text, not(nullValue()));
assertThat(text, equalTo("{\"exit\":\"test\"}"));
}
Aggregations