use of org.apache.ignite.configuration.annotation.Value in project ignite-3 by apache.
the class ConfigurationPresentationTest method beforeAll.
/**
* Before all.
*/
@BeforeAll
static void beforeAll() {
Validator<Value, Object> validator = new Validator<>() {
/**
* {@inheritDoc}
*/
@Override
public void validate(Value annotation, ValidationContext<Object> ctx) {
if (Objects.equals("error", ctx.getNewValue())) {
ctx.addIssue(new ValidationIssue("Error word"));
}
}
};
cfgRegistry = new ConfigurationRegistry(List.of(TestRootConfiguration.KEY), Map.of(Value.class, Set.of(validator)), new TestConfigurationStorage(LOCAL), List.of(), List.of());
cfgRegistry.start();
cfgPresentation = new HoconPresentation(cfgRegistry);
cfg = cfgRegistry.getConfiguration(TestRootConfiguration.KEY);
}
use of org.apache.ignite.configuration.annotation.Value in project ignite-3 by apache.
the class ConfigurationUtilTest method findUnsuccessfully.
/**
* Tests that {@link ConfigurationUtil#find(List, TraversableTreeNode, boolean)} throws {@link KeyNotFoundException} when provided with
* a wrong path.
*/
@Test
public void findUnsuccessfully() {
InnerNode parentNode = newNodeInstance(ParentConfigurationSchema.class);
ParentChange parentChange = (ParentChange) parentNode;
assertThrows(KeyNotFoundException.class, () -> ConfigurationUtil.find(List.of("elements", "name", "child"), parentNode, true));
parentChange.changeElements(elements -> elements.createOrUpdate("name", element -> {
}));
assertThrows(KeyNotFoundException.class, () -> ConfigurationUtil.find(List.of("elements", "name", "child", "str0"), parentNode, true));
((NamedElementChange) parentChange.elements().get("name")).changeChild(child -> child.changeStr("value"));
assertThrows(KeyNotFoundException.class, () -> ConfigurationUtil.find(List.of("elements", "name", "child", "str", "foo"), parentNode, true));
}
use of org.apache.ignite.configuration.annotation.Value in project ignite-3 by apache.
the class DirectPropertiesTest method testNamedListNoSuchElement.
@Test
public void testNamedListNoSuchElement() throws Exception {
DirectConfiguration cfg = registry.getConfiguration(DirectConfiguration.KEY);
cfg.children().change(list -> list.create("foo", e -> e.changeChildren2(list2 -> list2.create("boo", e2 -> {
})))).get(1, TimeUnit.SECONDS);
UUID fakeId = UUID.randomUUID();
assertThrows(NoSuchElementException.class, () -> directProxy(cfg).children().get("a").value());
assertThrows(NoSuchElementException.class, () -> getByInternalId(directProxy(cfg).children(), fakeId).value());
DirectNestedConfiguration foo = cfg.children().get("foo");
assertThrows(NoSuchElementException.class, () -> directProxy(foo).children2().get("b").value());
assertThrows(NoSuchElementException.class, () -> getByInternalId(directProxy(foo).children2(), fakeId).value());
}
use of org.apache.ignite.configuration.annotation.Value in project ignite-3 by apache.
the class DirectPropertiesTest method testNamedListDirectNestedInternalId.
/**
* Same as {@link #testDirectProperties} but checks Named List properties.
*/
@Test
public void testNamedListDirectNestedInternalId() throws Exception {
DirectConfiguration cfg = registry.getConfiguration(DirectConfiguration.KEY);
cfg.children().change(list -> list.create("foo", e -> e.changeChildren2(list2 -> list2.create("boo", e2 -> {
})))).get(1, TimeUnit.SECONDS);
UUID fooId = cfg.children().get("foo").id().value();
UUID booId = cfg.children().get("foo").children2().get("boo").id().value();
assertThat(booId, is(notNullValue()));
// Check all possible ways to access "str", just to be sure. Some of these checks are clearly excessive, but they look organic.
// Using names in both lists.
assertThat(directProxy(cfg).value().children().get("foo").children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg).children().value().get("foo").children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg).children().get("foo").value().children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg).children().get("foo").children2().value().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg).children().get("foo").children2().get("boo").value().id(), is(equalTo(booId)));
assertThat(directProxy(cfg).children().get("foo").children2().get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(cfg.children()).value().get("foo").children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children()).get("foo").value().children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children()).get("foo").children2().value().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children()).get("foo").children2().get("boo").value().id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children()).get("foo").children2().get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo")).value().children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo")).children2().value().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo")).children2().get("boo").value().id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo")).children2().get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo").children2()).value().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo").children2()).get("boo").value().id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo").children2()).get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo").children2().get("boo")).value().id(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo").children2().get("boo")).id().value(), is(equalTo(booId)));
assertThat(directProxy(cfg.children().get("foo").children2().get("boo").id()).value(), is(equalTo(booId)));
// Using internalId and name.
assertThat(getByInternalId(directProxy(cfg).value().children(), fooId).children2().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children().value(), fooId).children2().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children(), fooId).value().children2().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children(), fooId).children2().value().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children(), fooId).children2().get("boo").value().id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children(), fooId).children2().get("boo").id().value(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()).value(), fooId).children2().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()), fooId).value().children2().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()), fooId).children2().value().get("boo").id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()), fooId).children2().get("boo").value().id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()), fooId).children2().get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId)).value().children2().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId)).children2().value().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId)).children2().get("boo").value().id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId)).children2().get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).children2()).value().get("boo").id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).children2()).get("boo").value().id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).children2()).get("boo").id().value(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).children2().get("boo")).value().id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).children2().get("boo")).id().value(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).children2().get("boo").id()).value(), is(equalTo(booId)));
// Using name and internalId.
assertThat(getByInternalId(directProxy(cfg).value().children().get("foo").children2(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children().value().get("foo").children2(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children().get("foo").value().children2(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children().get("foo").children2().value(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children().get("foo").children2(), booId).value().id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg).children().get("foo").children2(), booId).id().value(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()).value().get("foo").children2(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()).get("foo").value().children2(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()).get("foo").children2().value(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()).get("foo").children2(), booId).value().id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children()).get("foo").children2(), booId).id().value(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo")).value().children2(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo")).children2().value(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo")).children2(), booId).value().id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo")).children2(), booId).id().value(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo").children2()).value(), booId).id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo").children2()), booId).value().id(), is(equalTo(booId)));
assertThat(getByInternalId(directProxy(cfg.children().get("foo").children2()), booId).id().value(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children().get("foo").children2(), booId)).value().id(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children().get("foo").children2(), booId)).id().value(), is(equalTo(booId)));
assertThat(directProxy(getByInternalId(cfg.children().get("foo").children2(), booId).id()).value(), is(equalTo(booId)));
// Using internalId and internalId.
assertThat(getByInternalId(getByInternalId(directProxy(cfg).value().children(), fooId).children2(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg).children().value(), fooId).children2(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg).children(), fooId).value().children2(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg).children(), fooId).children2().value(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg).children(), fooId).children2(), booId).value().id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg).children(), fooId).children2(), booId).id().value(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg.children()).value(), fooId).children2(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg.children()), fooId).value().children2(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg.children()), fooId).children2().value(), booId).id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg.children()), fooId).children2(), booId).value().id(), is(booId));
assertThat(getByInternalId(getByInternalId(directProxy(cfg.children()), fooId).children2(), booId).id().value(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId)).value().children2(), booId).id(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId)).children2().value(), booId).id(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId)).children2(), booId).value().id(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId)).children2(), booId).id().value(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId).children2()).value(), booId).id(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId).children2()), booId).value().id(), is(booId));
assertThat(getByInternalId(directProxy(getByInternalId(cfg.children(), fooId).children2()), booId).id().value(), is(booId));
assertThat(directProxy(getByInternalId(getByInternalId(cfg.children(), fooId).children2(), booId)).value().id(), is(booId));
assertThat(directProxy(getByInternalId(getByInternalId(cfg.children(), fooId).children2(), booId)).id().value(), is(booId));
assertThat(directProxy(getByInternalId(getByInternalId(cfg.children(), fooId).children2(), booId).id()).value(), is(booId));
}
use of org.apache.ignite.configuration.annotation.Value in project ignite-3 by apache.
the class DirectPropertiesTest method testNamedListDirectInternalId.
/**
* Checks simple scenarios of getting internalId of named list element.
*/
@Test
public void testNamedListDirectInternalId() throws Exception {
DirectConfiguration cfg = registry.getConfiguration(DirectConfiguration.KEY);
cfg.children().change(change -> change.create("foo", value -> {
})).get(1, TimeUnit.SECONDS);
UUID fooId = cfg.children().get("foo").id().value();
assertThat(fooId, is(notNullValue()));
// Check all possible ways to access "str" of element named "foo".
assertThat(directProxy(cfg).value().children().get("foo").id(), is(equalTo(fooId)));
assertThat(directProxy(cfg).children().value().get("foo").id(), is(equalTo(fooId)));
assertThat(directProxy(cfg).children().get("foo").value().id(), is(equalTo(fooId)));
assertThat(directProxy(cfg).children().get("foo").id().value(), is(equalTo(fooId)));
assertThat(directProxy(cfg.children()).value().get("foo").id(), is(equalTo(fooId)));
assertThat(directProxy(cfg.children()).get("foo").value().id(), is(equalTo(fooId)));
assertThat(directProxy(cfg.children()).get("foo").id().value(), is(equalTo(fooId)));
assertThat(directProxy(cfg.children().get("foo")).value().id(), is(equalTo(fooId)));
assertThat(directProxy(cfg.children().get("foo")).id().value(), is(equalTo(fooId)));
assertThat(directProxy(cfg.children().get("foo").id()).value(), is(equalTo(fooId)));
// Check all possible ways to access "str" of element with given internal id.
assertThat(getByInternalId(directProxy(cfg).value().children(), fooId).id(), is(equalTo(fooId)));
assertThat(getByInternalId(directProxy(cfg).children().value(), fooId).id(), is(equalTo(fooId)));
assertThat(getByInternalId(directProxy(cfg).children(), fooId).value().id(), is(equalTo(fooId)));
assertThat(getByInternalId(directProxy(cfg).children(), fooId).id().value(), is(equalTo(fooId)));
assertThat(getByInternalId(directProxy(cfg.children()).value(), fooId).id(), is(equalTo(fooId)));
assertThat(getByInternalId(directProxy(cfg.children()), fooId).value().id(), is(equalTo(fooId)));
assertThat(getByInternalId(directProxy(cfg.children()), fooId).id().value(), is(equalTo(fooId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId)).value().id(), is(equalTo(fooId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId)).id().value(), is(equalTo(fooId)));
assertThat(directProxy(getByInternalId(cfg.children(), fooId).id()).value(), is(equalTo(fooId)));
}
Aggregations