use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class NameTransformerFilterTestCase method filtersEqualName.
@Test
public void filtersEqualName() throws ResolverException {
Converter xmlToString = new MockConverterBuilder().named("xmlToString").build();
List<Converter> availableConverters = new ArrayList<>();
availableConverters.add(xmlToString);
availableConverters.add(xmlToString);
List<Converter> transformers = filter.filter(availableConverters, UNUSED_DATA_TYPE, UNUSED_DATA_TYPE);
assertEquals(2, transformers.size());
assertEquals(xmlToString, transformers.get(0));
assertEquals(xmlToString, transformers.get(1));
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class NameTransformerFilterTestCase method filtersDifferentNameWithBetterTransformerLast.
@Test
public void filtersDifferentNameWithBetterTransformerLast() throws ResolverException {
Converter xmlToString = new MockConverterBuilder().named("xmlToString").build();
Converter stringToJson = new MockConverterBuilder().named("stringToJson").build();
List<Converter> availableConverters = new ArrayList<>();
availableConverters.add(xmlToString);
availableConverters.add(stringToJson);
List<Converter> transformers = filter.filter(availableConverters, UNUSED_DATA_TYPE, UNUSED_DATA_TYPE);
assertEquals(1, transformers.size());
assertTrue(transformers.contains(stringToJson));
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class NameTransformerFilterTestCase method filtersDifferentNameWithBetterTransformerFist.
@Test
public void filtersDifferentNameWithBetterTransformerFist() throws ResolverException {
Converter xmlToString = new MockConverterBuilder().named("xmlToString").build();
Converter stringToJson = new MockConverterBuilder().named("stringToJson").build();
List<Converter> availableConverters = new ArrayList<>();
availableConverters.add(stringToJson);
availableConverters.add(xmlToString);
List<Converter> transformers = filter.filter(availableConverters, UNUSED_DATA_TYPE, UNUSED_DATA_TYPE);
assertEquals(1, transformers.size());
assertTrue(transformers.contains(stringToJson));
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class ShortestTransformationLengthTransformerFilterTestCase method filtersDifferentLengthWithBetterTrasnformerFist.
@Test
public void filtersDifferentLengthWithBetterTrasnformerFist() throws ResolverException {
Converter xmlToString = new MockConverterBuilder().named("xmlToString").from(XML_DATA_TYPE).to(STRING_DATA_TYPE).build();
Converter stringToJson = new MockConverterBuilder().named("stringToJson").from(STRING_DATA_TYPE).to(JSON_DATA_TYPE).build();
List<Converter> availableConverters = new ArrayList<Converter>();
availableConverters.add(xmlToString);
CompositeConverter compositeConverter = new CompositeConverter(xmlToString, stringToJson);
availableConverters.add(compositeConverter);
List<Converter> transformers = filter.filter(availableConverters, UNUSED_DATA_TYPE, UNUSED_DATA_TYPE);
assertEquals(1, transformers.size());
assertEquals(xmlToString, transformers.get(0));
}
use of org.mule.runtime.core.api.transformer.Converter in project mule by mulesoft.
the class SynchronizedTransformationGraphTestCase method modifyGraphWhileResolvingTransformer.
@Test
public void modifyGraphWhileResolvingTransformer() throws ResolverException, InterruptedException {
final Converter xmlToJson = new MockConverterBuilder().from(XML_DATA_TYPE).to(JSON_DATA_TYPE).build();
final Converter inputStreamToXml = new MockConverterBuilder().from(INPUT_STREAM_DATA_TYPE).to(XML_DATA_TYPE).build();
final SynchronizedTransformationGraph graph = new SynchronizedTransformationGraph();
final TransformationGraphLookupStrategy lookupStrategyTransformation = new TransformationGraphLookupStrategy(graph);
Runnable addTransformer = new Runnable() {
@Override
public void run() {
graph.addConverter(xmlToJson);
graph.addConverter(inputStreamToXml);
}
};
Runnable resolveTransformer = new Runnable() {
@Override
public void run() {
lookupStrategyTransformation.lookupConverters(INPUT_STREAM_DATA_TYPE, JSON_DATA_TYPE);
}
};
List<Runnable> runnables = new ArrayList<>();
for (int i = 0; i < CONCURRENCY_TEST_SIZE; i++) {
runnables.add(addTransformer);
runnables.add(resolveTransformer);
}
assertConcurrent("Modify transformers while resolving it", runnables, MAX_TIMEOUT_SECONDS);
}
Aggregations