public void doTestBadReturnType(Transformer tran, Object src) throws Exception { tran.setReturnDataType(DataType.fromType(InvalidSatsuma.class)); try { tran.transform(src); fail("Should throw exception for bad return type"); } catch (TransformerException e) { // expected } }
@Override public void setReturnDataType(DataType type) { transformer.setReturnDataType(type); }
@Override public Transformer getRoundTripTransformer() { Transformer t = new Base64Decoder(); // our input is a String so we expect a String as output t.setReturnDataType(STRING); return t; }
public void doTestBadReturnType(Transformer tran, Object src) throws Exception { tran.setReturnDataType(DataType.fromType(InvalidSatsuma.class)); try { tran.transform(src); fail("Should throw exception for bad return type"); } catch (TransformerException e) { // expected } }
@Override protected void doRegisterTransformer(TransformerBootstrapProperty bootstrapProperty, Class<?> returnClass, Class<? extends Transformer> transformerClass) throws Exception { Transformer trans = ClassUtils.instantiateClass(transformerClass); if (!(trans instanceof DiscoverableTransformer)) { throw new RegistrationException(CoreMessages.transformerNotImplementDiscoverable(trans)); } if (returnClass != null) { DataTypeParamsBuilder builder = DataType.builder().type(returnClass); if (isNotEmpty(bootstrapProperty.getMimeType())) { builder = builder.mediaType(bootstrapProperty.getMimeType()); } trans.setReturnDataType(builder.build()); } if (bootstrapProperty.getName() != null) { trans.setName(bootstrapProperty.getName()); } else { // Prefixes the generated default name to ensure there is less chance of conflict if the user registers // the transformer with the same name trans.setName("_" + trans.getName()); } ((MuleContextWithRegistries) muleContext).getRegistry().registerTransformer(trans); }