Search in sources :

Example 1 with Value

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);
}
Also used : TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Matchers.nullValue(org.hamcrest.Matchers.nullValue) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) Value(org.apache.ignite.configuration.annotation.Value) HoconPresentation(org.apache.ignite.internal.configuration.rest.presentation.hocon.HoconPresentation) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) ValidationIssue(org.apache.ignite.configuration.validation.ValidationIssue) Validator(org.apache.ignite.configuration.validation.Validator) ValidationContext(org.apache.ignite.configuration.validation.ValidationContext) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 2 with Value

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));
}
Also used : PolymorphicId(org.apache.ignite.configuration.annotation.PolymorphicId) Matchers.hasToString(org.hamcrest.Matchers.hasToString) Arrays(java.util.Arrays) RootInnerNode(org.apache.ignite.internal.configuration.RootInnerNode) DISTRIBUTED(org.apache.ignite.configuration.annotation.ConfigurationType.DISTRIBUTED) NamedConfigValue(org.apache.ignite.configuration.annotation.NamedConfigValue) AfterAll(org.junit.jupiter.api.AfterAll) BeforeAll(org.junit.jupiter.api.BeforeAll) Matchers.nullValue(org.hamcrest.Matchers.nullValue) Map(java.util.Map) ConfigurationUtil.addDefaults(org.apache.ignite.internal.configuration.util.ConfigurationUtil.addDefaults) Matchers.allOf(org.hamcrest.Matchers.allOf) Set(java.util.Set) UUID(java.util.UUID) RootKey(org.apache.ignite.configuration.RootKey) Serializable(java.io.Serializable) ConfigurationUtil.removeLastKey(org.apache.ignite.internal.configuration.util.ConfigurationUtil.removeLastKey) Test(org.junit.jupiter.api.Test) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) Matchers.matchesPattern(org.hamcrest.Matchers.matchesPattern) List(java.util.List) NAME(org.apache.ignite.internal.configuration.tree.NamedListNode.NAME) LOCAL(org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL) ConfigurationUtil.checkConfigurationType(org.apache.ignite.internal.configuration.util.ConfigurationUtil.checkConfigurationType) ConfigurationUtil.collectSchemas(org.apache.ignite.internal.configuration.util.ConfigurationUtil.collectSchemas) ConfigurationFlattener.createFlattenedUpdatesMap(org.apache.ignite.internal.configuration.util.ConfigurationFlattener.createFlattenedUpdatesMap) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Config(org.apache.ignite.configuration.annotation.Config) Matchers.is(org.hamcrest.Matchers.is) NotNull(org.jetbrains.annotations.NotNull) ConfigurationAsmGenerator(org.apache.ignite.internal.configuration.asm.ConfigurationAsmGenerator) EMPTY_CFG_SRC(org.apache.ignite.internal.configuration.util.ConfigurationUtil.EMPTY_CFG_SRC) Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) Matchers.aMapWithSize(org.hamcrest.Matchers.aMapWithSize) NamedListNode(org.apache.ignite.internal.configuration.tree.NamedListNode) ORDER_IDX(org.apache.ignite.internal.configuration.tree.NamedListNode.ORDER_IDX) Assertions.assertNull(org.junit.jupiter.api.Assertions.assertNull) HashMap(java.util.HashMap) InnerNode(org.apache.ignite.internal.configuration.tree.InnerNode) ConfigurationUtil.internalSchemaExtensions(org.apache.ignite.internal.configuration.util.ConfigurationUtil.internalSchemaExtensions) TraversableTreeNode(org.apache.ignite.internal.configuration.tree.TraversableTreeNode) PolymorphicConfig(org.apache.ignite.configuration.annotation.PolymorphicConfig) Collections.singletonMap(java.util.Collections.singletonMap) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) NoSuchElementException(java.util.NoSuchElementException) ConfigurationUtil.extensionsFields(org.apache.ignite.internal.configuration.util.ConfigurationUtil.extensionsFields) Matchers.hasEntry(org.hamcrest.Matchers.hasEntry) ConfigurationRoot(org.apache.ignite.configuration.annotation.ConfigurationRoot) ConfigurationUtil.compressDeletedEntries(org.apache.ignite.internal.configuration.util.ConfigurationUtil.compressDeletedEntries) Assertions.assertSame(org.junit.jupiter.api.Assertions.assertSame) Consumer(java.util.function.Consumer) ConverterToMapVisitor(org.apache.ignite.internal.configuration.tree.ConverterToMapVisitor) Collectors.toList(java.util.stream.Collectors.toList) ConfigurationUtil.find(org.apache.ignite.internal.configuration.util.ConfigurationUtil.find) PolymorphicConfigInstance(org.apache.ignite.configuration.annotation.PolymorphicConfigInstance) SuperRoot(org.apache.ignite.internal.configuration.SuperRoot) ConfigurationUtil.polymorphicSchemaExtensions(org.apache.ignite.internal.configuration.util.ConfigurationUtil.polymorphicSchemaExtensions) TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Matchers.anEmptyMap(org.hamcrest.Matchers.anEmptyMap) Value(org.apache.ignite.configuration.annotation.Value) InternalConfiguration(org.apache.ignite.configuration.annotation.InternalConfiguration) RootInnerNode(org.apache.ignite.internal.configuration.RootInnerNode) InnerNode(org.apache.ignite.internal.configuration.tree.InnerNode) Test(org.junit.jupiter.api.Test)

Example 3 with Value

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());
}
Also used : Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) BeforeEach(org.junit.jupiter.api.BeforeEach) ConfigurationUtil.directProxy(org.apache.ignite.internal.configuration.util.ConfigurationUtil.directProxy) ConfigurationUtil.getByInternalId(org.apache.ignite.internal.configuration.util.ConfigurationUtil.getByInternalId) CompletableFuture(java.util.concurrent.CompletableFuture) NamedConfigValue(org.apache.ignite.configuration.annotation.NamedConfigValue) Matchers.nullValue(org.hamcrest.Matchers.nullValue) Map(java.util.Map) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) NamedConfigurationTree(org.apache.ignite.configuration.NamedConfigurationTree) NoSuchElementException(java.util.NoSuchElementException) ConfigurationListenOnlyException(org.apache.ignite.configuration.ConfigurationListenOnlyException) ConfigurationRoot(org.apache.ignite.configuration.annotation.ConfigurationRoot) Name(org.apache.ignite.configuration.annotation.Name) Matchers.notNullValue(org.hamcrest.Matchers.notNullValue) CompletableFutureMatcher.willBe(org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe) UUID(java.util.UUID) InternalId(org.apache.ignite.configuration.annotation.InternalId) TimeUnit(java.util.concurrent.TimeUnit) Test(org.junit.jupiter.api.Test) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) List(java.util.List) AfterEach(org.junit.jupiter.api.AfterEach) InjectedName(org.apache.ignite.configuration.annotation.InjectedName) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) LOCAL(org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Config(org.apache.ignite.configuration.annotation.Config) TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Matchers.is(org.hamcrest.Matchers.is) Value(org.apache.ignite.configuration.annotation.Value) UUID(java.util.UUID) Test(org.junit.jupiter.api.Test)

Example 4 with 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));
}
Also used : Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) BeforeEach(org.junit.jupiter.api.BeforeEach) ConfigurationUtil.directProxy(org.apache.ignite.internal.configuration.util.ConfigurationUtil.directProxy) ConfigurationUtil.getByInternalId(org.apache.ignite.internal.configuration.util.ConfigurationUtil.getByInternalId) CompletableFuture(java.util.concurrent.CompletableFuture) NamedConfigValue(org.apache.ignite.configuration.annotation.NamedConfigValue) Matchers.nullValue(org.hamcrest.Matchers.nullValue) Map(java.util.Map) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) NamedConfigurationTree(org.apache.ignite.configuration.NamedConfigurationTree) NoSuchElementException(java.util.NoSuchElementException) ConfigurationListenOnlyException(org.apache.ignite.configuration.ConfigurationListenOnlyException) ConfigurationRoot(org.apache.ignite.configuration.annotation.ConfigurationRoot) Name(org.apache.ignite.configuration.annotation.Name) Matchers.notNullValue(org.hamcrest.Matchers.notNullValue) CompletableFutureMatcher.willBe(org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe) UUID(java.util.UUID) InternalId(org.apache.ignite.configuration.annotation.InternalId) TimeUnit(java.util.concurrent.TimeUnit) Test(org.junit.jupiter.api.Test) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) List(java.util.List) AfterEach(org.junit.jupiter.api.AfterEach) InjectedName(org.apache.ignite.configuration.annotation.InjectedName) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) LOCAL(org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Config(org.apache.ignite.configuration.annotation.Config) TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Matchers.is(org.hamcrest.Matchers.is) Value(org.apache.ignite.configuration.annotation.Value) UUID(java.util.UUID) Test(org.junit.jupiter.api.Test)

Example 5 with Value

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)));
}
Also used : Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) BeforeEach(org.junit.jupiter.api.BeforeEach) ConfigurationUtil.directProxy(org.apache.ignite.internal.configuration.util.ConfigurationUtil.directProxy) ConfigurationUtil.getByInternalId(org.apache.ignite.internal.configuration.util.ConfigurationUtil.getByInternalId) CompletableFuture(java.util.concurrent.CompletableFuture) NamedConfigValue(org.apache.ignite.configuration.annotation.NamedConfigValue) Matchers.nullValue(org.hamcrest.Matchers.nullValue) Map(java.util.Map) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) NamedConfigurationTree(org.apache.ignite.configuration.NamedConfigurationTree) NoSuchElementException(java.util.NoSuchElementException) ConfigurationListenOnlyException(org.apache.ignite.configuration.ConfigurationListenOnlyException) ConfigurationRoot(org.apache.ignite.configuration.annotation.ConfigurationRoot) Name(org.apache.ignite.configuration.annotation.Name) Matchers.notNullValue(org.hamcrest.Matchers.notNullValue) CompletableFutureMatcher.willBe(org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe) UUID(java.util.UUID) InternalId(org.apache.ignite.configuration.annotation.InternalId) TimeUnit(java.util.concurrent.TimeUnit) Test(org.junit.jupiter.api.Test) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) List(java.util.List) AfterEach(org.junit.jupiter.api.AfterEach) InjectedName(org.apache.ignite.configuration.annotation.InjectedName) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) LOCAL(org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Config(org.apache.ignite.configuration.annotation.Config) TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Matchers.is(org.hamcrest.Matchers.is) Value(org.apache.ignite.configuration.annotation.Value) UUID(java.util.UUID) Test(org.junit.jupiter.api.Test)

Aggregations

ConfigValue (org.apache.ignite.configuration.annotation.ConfigValue)11 Value (org.apache.ignite.configuration.annotation.Value)11 NamedConfigValue (org.apache.ignite.configuration.annotation.NamedConfigValue)10 UUID (java.util.UUID)8 ConfigurationRoot (org.apache.ignite.configuration.annotation.ConfigurationRoot)8 TestConfigurationStorage (org.apache.ignite.internal.configuration.storage.TestConfigurationStorage)8 Matchers.nullValue (org.hamcrest.Matchers.nullValue)8 List (java.util.List)7 Map (java.util.Map)7 NoSuchElementException (java.util.NoSuchElementException)7 Config (org.apache.ignite.configuration.annotation.Config)7 LOCAL (org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL)7 InjectedName (org.apache.ignite.configuration.annotation.InjectedName)7 InternalId (org.apache.ignite.configuration.annotation.InternalId)7 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)7 Matchers.is (org.hamcrest.Matchers.is)7 Assertions.assertThrows (org.junit.jupiter.api.Assertions.assertThrows)7 Test (org.junit.jupiter.api.Test)7 ConfigurationRegistry (org.apache.ignite.internal.configuration.ConfigurationRegistry)6 CompletableFuture (java.util.concurrent.CompletableFuture)5