Post date: Jul 6, 2015 6:22:45 AM
TransformationInput fin;
String inputString ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns0:MT_XML xmlns:ns0=\"http://x.com\"><raw>%TEXT%</raw></ns0:MT_XML>";
public void transform(TransformationInput in, TransformationOutput out) throws StreamTransformationException {
try {
fin = in; String sourcexml = convertInputStreamToString( in.getInputPayload().getInputStream());
inputString = inputString.replace("%TEXT%", sourcexml);
super.transform(tin,out);
} catch (Exception e) { throw new StreamTransformationException(e.getMessage()); }
}
TransformationInput tin = new TransformationInput() {
public InputPayload getInputPayload() { return new InputPayload() {
public InputStream getInputStream() { return new ByteArrayInputStream(inputString.getBytes()); }};}
public InputHeader getInputHeader() { return fin.getInputHeader() ; }
public InputParameters getInputParameters() {return fin.getInputParameters(); }
public InputAttachments getInputAttachments() { return fin.getInputAttachments(); }
public DynamicConfiguration getDynamicConfiguration() { return fin.getDynamicConfiguration(); }
};
public String convertInputStreamToString(InputStream ins) {
java.util.Scanner scanner = new java.util.Scanner(ins,"UTF-8").useDelimiter("\\A");
return scanner.hasNext() ? scanner.next() : "";
}