/** * Configures the common parameters of every transformer. * * @param transformerInstance the transformar instance * @param parameters the set of parameters configured in the component model according to the * {@link org.mule.runtime.dsl.api.component.ComponentBuildingDefinition} */ @Override public void configure(AbstractTransformer transformerInstance, Map<String, Object> parameters) { String returnClass = (String) parameters.get("returnClass"); String mimeType = (String) parameters.get("mimeType"); String name = (String) parameters.get("name"); String encoding = (String) parameters.get("encoding"); Boolean ignoreBadInput = parameters.get("ignoreBadInput") == null ? null : Boolean.valueOf((String) parameters.get("ignoreBadInput")); if (returnClass != null || mimeType != null) { DataTypeParamsBuilder builder = DataType.builder().type(getReturnType(returnClass)); if (isNotEmpty(mimeType)) { builder.mediaType(mimeType); } transformerInstance.setReturnDataType(builder.charset(encoding).build()); } if (ignoreBadInput != null) { transformerInstance.setIgnoreBadInput(ignoreBadInput); } transformerInstance.setName(name); }
@Test public void transformsValidSourceTypeWithNoCheckForEnforcement() throws TransformerException { AbstractTransformer transformer = createDummyTransformer(true); transformer.sourceTypes.add(DataType.STRING); transformer.setReturnDataType(DataType.STRING); when(muleContext.getConfiguration()).thenReturn(muleConfiguration); Object result = transformer.transform("TEST"); assertEquals("TRANSFORMED", result); }
@Override public final Transformer doGetObject() throws Exception { AbstractTransformer transformerInstance = createInstance(); if (returnClass != null || mimeType != null) { DataTypeParamsBuilder builder = DataType.builder().type(getReturnType()); if (isNotEmpty(mimeType)) { builder.mediaType(mimeType); } transformerInstance.setReturnDataType(builder.charset(encoding).build()); } transformerInstance.setIgnoreBadInput(ignoreBadInput); transformerInstance.setName(name); postProcessInstance(transformerInstance); return transformerInstance; }
private Transformer getIncreaseByOneTransformer() throws Exception { AbstractTransformer transformer = new AbstractTransformer() { @Override protected Object doTransform(Object src, Charset encoding) throws TransformerException { return new Integer(((Integer) src).intValue() + 1); } }; DataType integerDataType = DataType.fromType(Integer.class); transformer.registerSourceType(integerDataType); transformer.setReturnDataType(DataType.builder(integerDataType).charset(getDefaultEncoding(muleContext)).build()); return transformer; }
@Override public void setReturnDataType(DataType type) { if (!Number.class.isAssignableFrom(type.getType())) { throw new IllegalArgumentException("This transformer only supports Number return types."); } else { super.setReturnDataType(type); } }
@Override public void setReturnDataType(DataType type) { if (!Boolean.class.isAssignableFrom(type.getType())) { throw new IllegalArgumentException("This transformer only supports Boolean return types."); } else { super.setReturnDataType(type); } }
/** * Configures the common parameters of every transformer. * * @param transformerInstance the transformar instance * @param parameters the set of parameters configured in the component model according to the * {@link org.mule.runtime.dsl.api.component.ComponentBuildingDefinition} */ @Override public void configure(AbstractTransformer transformerInstance, Map<String, Object> parameters) { String returnClass = (String) parameters.get("returnClass"); String mimeType = (String) parameters.get("mimeType"); String name = (String) parameters.get("name"); String encoding = (String) parameters.get("encoding"); Boolean ignoreBadInput = parameters.get("ignoreBadInput") == null ? null : Boolean.valueOf((String) parameters.get("ignoreBadInput")); if (returnClass != null || mimeType != null) { DataTypeParamsBuilder builder = DataType.builder().type(getReturnType(returnClass)); if (isNotEmpty(mimeType)) { builder.mediaType(mimeType); } transformerInstance.setReturnDataType(builder.charset(encoding).build()); } if (ignoreBadInput != null) { transformerInstance.setIgnoreBadInput(ignoreBadInput); } transformerInstance.setName(name); }
@Test public void transformsValidSourceTypeWithNoCheckForEnforcement() throws TransformerException { AbstractTransformer transformer = createDummyTransformer(true); transformer.sourceTypes.add(DataType.STRING); transformer.setReturnDataType(DataType.STRING); when(muleContext.getConfiguration()).thenReturn(muleConfiguration); Object result = transformer.transform("TEST"); assertEquals("TRANSFORMED", result); }
@Override public final Transformer doGetObject() throws Exception { AbstractTransformer transformerInstance = createInstance(); if (returnClass != null || mimeType != null) { DataTypeParamsBuilder builder = DataType.builder().type(getReturnType()); if (isNotEmpty(mimeType)) { builder.mediaType(mimeType); } transformerInstance.setReturnDataType(builder.charset(encoding).build()); } transformerInstance.setIgnoreBadInput(ignoreBadInput); transformerInstance.setName(name); postProcessInstance(transformerInstance); return transformerInstance; }
private Transformer getIncreaseByOneTransformer() throws Exception { AbstractTransformer transformer = new AbstractTransformer() { @Override protected Object doTransform(Object src, Charset encoding) throws TransformerException { return new Integer(((Integer) src).intValue() + 1); } }; DataType integerDataType = DataType.fromType(Integer.class); transformer.registerSourceType(integerDataType); transformer.setReturnDataType(DataType.builder(integerDataType).charset(getDefaultEncoding(muleContext)).build()); return transformer; }