use of org.apache.xbean.propertyeditor.PropertyEditorRegistry in project component-runtime by Talend.
the class ReflectionServiceTest method truncatedObjectArray.
@Test
void truncatedObjectArray() throws NoSuchMethodException {
final Method factory = TableOwner.class.getMethod("factory", TableOwner.class);
final PropertyEditorRegistry propertyEditorRegistry = new PropertyEditorRegistry();
final Object[] tests = new ReflectionService(new ParameterModelService(propertyEditorRegistry), propertyEditorRegistry).parameterFactory(factory, emptyMap(), null).apply(new HashMap<String, String>() {
{
put("root.table[0].value1", "test1");
put("root.table[0].value2", "12");
put("root.table[1].value1", "test2");
put("root.table[1].value2", "22");
put("root.table[0].nestedList[0].value1", "nested");
put("root.table[0].nestedList[0].value2", "1");
put("root.table[0].nestedList[length]", "0");
put("root.table[length]", "1");
}
});
assertEquals(1, tests.length);
assertTrue(TableOwner.class.isInstance(tests[0]));
final TableOwner tableOwner = TableOwner.class.cast(tests[0]);
assertNotNull(tableOwner.table);
assertEquals(1, tableOwner.table.size());
assertEquals(singletonList("test1"), tableOwner.table.stream().map(Column::getValue1).collect(toList()));
assertArrayEquals(new int[] { 12 }, tableOwner.table.stream().mapToInt(Column::getValue2).toArray());
assertNotNull(tableOwner.table.get(0).nestedList);
assertTrue(tableOwner.table.get(0).nestedList.isEmpty());
}
use of org.apache.xbean.propertyeditor.PropertyEditorRegistry in project component-runtime by Talend.
the class ReflectionServiceTest method tables.
@Test
void tables() throws NoSuchMethodException {
final Method factory = TableOwner.class.getMethod("factory", TableOwner.class);
final PropertyEditorRegistry propertyEditorRegistry = new PropertyEditorRegistry();
final Object[] tests = new ReflectionService(new ParameterModelService(propertyEditorRegistry), propertyEditorRegistry).parameterFactory(factory, emptyMap(), null).apply(new HashMap<String, String>() {
{
put("root.table[0].value1", "test1");
put("root.table[0].value2", "12");
put("root.table[1].value1", "test2");
put("root.table[1].value2", "22");
put("root.table[1].nestedList[0].value1", "nested");
put("root.table[1].nestedList[0].value2", "1");
put("root.map.key[0]", "test1k");
put("root.map.value[0].value1", "test1v");
put("root.map.key[1]", "test2k");
put("root.map.value[1].value1", "test2v");
}
});
assertEquals(1, tests.length);
assertTrue(TableOwner.class.isInstance(tests[0]));
final TableOwner tableOwner = TableOwner.class.cast(tests[0]);
{
assertNotNull(tableOwner.table);
assertEquals(2, tableOwner.table.size());
assertEquals(Stream.of("test1", "test2").collect(toList()), tableOwner.table.stream().map(Column::getValue1).collect(toList()));
assertArrayEquals(IntStream.of(12, 22).toArray(), tableOwner.table.stream().mapToInt(Column::getValue2).toArray());
assertNotNull(tableOwner.table.get(1).nestedList);
assertEquals(1, tableOwner.table.get(1).nestedList.size());
assertEquals("nested", tableOwner.table.get(1).nestedList.get(0).value1);
assertEquals(1, tableOwner.table.get(1).nestedList.get(0).value2);
}
{
assertNotNull(tableOwner.map);
assertEquals(2, tableOwner.map.size());
assertEquals("test1v", tableOwner.map.get("test1k").value1);
assertEquals("test2v", tableOwner.map.get("test2k").value1);
}
}
use of org.apache.xbean.propertyeditor.PropertyEditorRegistry in project component-runtime by Talend.
the class HttpClientFactoryImplTest method decoderWithServices.
@Test
void decoderWithServices() throws IOException {
final HttpServer server = createTestServer(HttpURLConnection.HTTP_OK);
try {
server.start();
final PropertyEditorRegistry propertyEditorRegistry = new PropertyEditorRegistry();
final DecoderWithService client = new HttpClientFactoryImpl("test", new ReflectionService(new ParameterModelService(propertyEditorRegistry), propertyEditorRegistry), JsonbBuilder.create(), new HashMap<Class<?>, Object>() {
{
put(MyService.class, new MyService());
put(MyI18nService.class, (MyI18nService) () -> "error from i18n service");
}
}).create(DecoderWithService.class, null);
client.base("http://localhost:" + server.getAddress().getPort() + "/api");
assertThrows(IllegalStateException.class, () -> client.error("search yes"));
assertEquals(MyService.class.getCanonicalName(), client.ok().value);
} finally {
server.stop(0);
}
}
use of org.apache.xbean.propertyeditor.PropertyEditorRegistry in project component-runtime by Talend.
the class InjectorImplTest method init.
@BeforeEach
void init() {
final Map<Class<?>, Object> services = new HashMap<>(2);
services.put(LocalCache.class, new LocalCacheService("LocalCacheServiceTest", System::currentTimeMillis, executor));
services.put(LocalConfiguration.class, new LocalConfigurationService(Collections.singletonList(new LocalConfiguration() {
@Override
public String get(final String key) {
return "test.foo.name".equals(key) ? "ok" : "ko";
}
@Override
public Set<String> keys() {
return singleton("foo.name");
}
}), "test"));
final PropertyEditorRegistry propertyEditorRegistry = new PropertyEditorRegistry();
injector = new InjectorImpl("LocalCacheServiceTest", new ReflectionService(new ParameterModelService(propertyEditorRegistry), propertyEditorRegistry), new ProxyGenerator(), services);
DynamicContainerFinder.LOADERS.put("LocalCacheServiceTest", Thread.currentThread().getContextClassLoader());
DynamicContainerFinder.SERVICES.put(Injector.class, injector);
}
use of org.apache.xbean.propertyeditor.PropertyEditorRegistry in project component-runtime by Talend.
the class PropertiesServiceTest method booleanDefault.
@Test
void booleanDefault() throws NoSuchMethodException {
final List<SimplePropertyDefinition> props = propertiesService.buildProperties(new ParameterModelService(new PropertyEditorRegistry()).buildParameterMetas(getClass().getDeclaredMethod("boolWrapper", BoolBool.class), null, new BaseParameterEnricher.Context(new LocalConfigurationService(emptyList(), "tools"))), Thread.currentThread().getContextClassLoader(), Locale.ROOT, null).collect(toList());
assertEquals("true", props.stream().filter(p -> p.getName().equals("val")).findFirst().get().getDefaultValue());
}
Aggregations