Search in sources :

Example 1 with ConfigurationSettingsUnit

use of org.jnosql.artemis.ConfigurationSettingsUnit in project jnosql-artemis by eclipse.

the class ColumnFamilyManagerFactoryProducer method gettColumnFamilyManagerFactory.

private <T extends ColumnFamilyManager> ColumnFamilyManagerFactory<T> gettColumnFamilyManagerFactory(InjectionPoint injectionPoint) {
    Annotated annotated = injectionPoint.getAnnotated();
    ConfigurationUnit annotation = getConfigurationUnit(injectionPoint, annotated).orElseThrow(() -> new IllegalStateException("The @ConfigurationUnit does not found"));
    ConfigurationSettingsUnit unit = configurationReader.get().read(annotation, ColumnConfiguration.class);
    Class<ColumnConfiguration> configurationClass = unit.<ColumnConfiguration>getProvider().orElseThrow(() -> new IllegalStateException("The ColumnConfiguration provider is required in the configuration"));
    ColumnConfiguration columnConfiguration = reflections.newInstance(configurationClass);
    return columnConfiguration.get(unit.getSettings());
}
Also used : Annotated(javax.enterprise.inject.spi.Annotated) ConfigurationSettingsUnit(org.jnosql.artemis.ConfigurationSettingsUnit) ColumnConfiguration(org.jnosql.diana.api.column.ColumnConfiguration) ConfigurationUnit(org.jnosql.artemis.ConfigurationUnit)

Example 2 with ConfigurationSettingsUnit

use of org.jnosql.artemis.ConfigurationSettingsUnit in project jnosql-artemis by eclipse.

the class DefaultJSONConfigurationreaderTest method shouldReadConfiguration.

@Test
public void shouldReadConfiguration() {
    ConfigurationUnit annotation = mock(ConfigurationUnit.class);
    when(annotation.fileName()).thenReturn("jnosql.json");
    when(annotation.name()).thenReturn("name");
    ConfigurationSettingsUnit unit = configurationReader.read(annotation, MockConfiguration.class);
    Map<String, Object> settings = new HashMap<>();
    settings.put("key", "value");
    settings.put("key2", "value2");
    assertEquals("name", unit.getName().get());
    assertEquals("that is the description", unit.getDescription().get());
    assertEquals(Settings.of(settings), unit.getSettings());
    assertEquals(DefaultMockConfiguration.class, unit.getProvider().get());
}
Also used : ConfigurationSettingsUnit(org.jnosql.artemis.ConfigurationSettingsUnit) HashMap(java.util.HashMap) ConfigurationUnit(org.jnosql.artemis.ConfigurationUnit) Test(org.junit.jupiter.api.Test)

Example 3 with ConfigurationSettingsUnit

use of org.jnosql.artemis.ConfigurationSettingsUnit in project jnosql-artemis by eclipse.

the class DefaultJSONConfigurationreaderTest method shouldReadAnnotationDefaultFile.

@Test
public void shouldReadAnnotationDefaultFile() {
    ConfigurationUnit annotation = mock(ConfigurationUnit.class);
    when(annotation.name()).thenReturn("name-2");
    when(annotation.fileName()).thenReturn("jnosql.json");
    ConfigurationSettingsUnit unit = configurationReader.read(annotation);
    Map<String, Object> settings = new HashMap<>();
    settings.put("key", "value");
    settings.put("key2", "value2");
    settings.put("key3", "value3");
    assertEquals("name-2", unit.getName().get());
    assertEquals("that is the description", unit.getDescription().get());
    assertEquals(Settings.of(settings), unit.getSettings());
    assertFalse(unit.getProvider().isPresent());
}
Also used : ConfigurationSettingsUnit(org.jnosql.artemis.ConfigurationSettingsUnit) HashMap(java.util.HashMap) ConfigurationUnit(org.jnosql.artemis.ConfigurationUnit) Test(org.junit.jupiter.api.Test)

Example 4 with ConfigurationSettingsUnit

use of org.jnosql.artemis.ConfigurationSettingsUnit in project jnosql-artemis by eclipse.

the class DefaultXMLConfigurationReaderTest method shouldReadDefaultNameXML.

@Test
public void shouldReadDefaultNameXML() {
    ConfigurationUnit annotation = mock(ConfigurationUnit.class);
    when(annotation.fileName()).thenReturn("jnosql.xml");
    when(annotation.name()).thenReturn("name");
    ConfigurationSettingsUnit unit = configurationReader.read(annotation, MockConfiguration.class);
    Map<String, Object> settings = new HashMap<>();
    settings.put("key", "value");
    settings.put("key2", "value2");
    assertEquals("name", unit.getName().get());
    assertEquals("that is the description", unit.getDescription().get());
    assertEquals(Settings.of(settings), unit.getSettings());
    assertEquals(DefaultMockConfiguration.class, unit.getProvider().get());
}
Also used : ConfigurationSettingsUnit(org.jnosql.artemis.ConfigurationSettingsUnit) HashMap(java.util.HashMap) ConfigurationUnit(org.jnosql.artemis.ConfigurationUnit) Test(org.junit.jupiter.api.Test)

Example 5 with ConfigurationSettingsUnit

use of org.jnosql.artemis.ConfigurationSettingsUnit in project jnosql-artemis by eclipse.

the class DefaultYAMLConfigurationReaderTest method shouldReadDefaultAnnotationNameYAML.

@Test
public void shouldReadDefaultAnnotationNameYAML() {
    ConfigurationUnit annotation = mock(ConfigurationUnit.class);
    when(annotation.fileName()).thenReturn("jnosql.yaml");
    when(annotation.name()).thenReturn("name");
    ConfigurationSettingsUnit unit = configurationReader.read(annotation);
    Map<String, Object> settings = new HashMap<>();
    settings.put("key", "value");
    settings.put("key2", "value2");
    assertEquals("name", unit.getName().get());
    assertEquals("that is the description", unit.getDescription().get());
    assertEquals(Settings.of(settings), unit.getSettings());
    assertFalse(unit.getProvider().isPresent());
}
Also used : ConfigurationSettingsUnit(org.jnosql.artemis.ConfigurationSettingsUnit) HashMap(java.util.HashMap) ConfigurationUnit(org.jnosql.artemis.ConfigurationUnit) Test(org.junit.jupiter.api.Test)

Aggregations

ConfigurationSettingsUnit (org.jnosql.artemis.ConfigurationSettingsUnit)12 ConfigurationUnit (org.jnosql.artemis.ConfigurationUnit)12 HashMap (java.util.HashMap)7 Test (org.junit.jupiter.api.Test)7 Annotated (javax.enterprise.inject.spi.Annotated)5 ColumnConfiguration (org.jnosql.diana.api.column.ColumnConfiguration)1 ColumnConfigurationAsync (org.jnosql.diana.api.column.ColumnConfigurationAsync)1 DocumentConfiguration (org.jnosql.diana.api.document.DocumentConfiguration)1 DocumentConfigurationAsync (org.jnosql.diana.api.document.DocumentConfigurationAsync)1 KeyValueConfiguration (org.jnosql.diana.api.key.KeyValueConfiguration)1