Вы находитесь на странице: 1из 4

import

import
import
import
import
import
import
import
import

java.io.BufferedReader;
java.io.File;
java.io.FileInputStream;
java.io.FileNotFoundException;
java.io.FileOutputStream;
java.io.InputStream;
java.io.InputStreamReader;
java.io.OutputStream;
java.io.Reader;

import
import
import
import
import
import
import
import
import
import
import
import

com.sap.aii.mapping.api.AbstractTransformation;
com.sap.aii.mapping.api.InputAttachments;
com.sap.aii.mapping.api.InputHeader;
com.sap.aii.mapping.api.InputParameters;
com.sap.aii.mapping.api.InputPayload;
com.sap.aii.mapping.api.OutputAttachments;
com.sap.aii.mapping.api.OutputHeader;
com.sap.aii.mapping.api.OutputParameters;
com.sap.aii.mapping.api.OutputPayload;
com.sap.aii.mapping.api.StreamTransformationException;
com.sap.aii.mapping.api.TransformationInput;
com.sap.aii.mapping.api.TransformationOutput;

public class RemoveBodyTag extends AbstractTransformation {


/*
* Each JAVA Mapping using the 7.1 API will implement the method
* transform(TransformationInput arg0, TransformationOutput arg1)
* as opposed to execute(inputStream in, outputStream out) Method
* in earlier version.
*/
public void transform(TransformationInput arg0, TransformationOutput arg1)
throws StreamTransformationException {
/*
* An info message is added to trace. An instance of trace of object is
* obtained by calling the getTrace method of class AbstractTransformati
on
*/
getTrace().addInfo("JAVA Mapping RemoveBodyTag is Initiated");
/*
* Input payload is obtained by using
* arg0.getInputPayload().getInputStream()
*/
String inputPayload = convertInputStreamToString(arg0.getInputPayload()
.getInputStream());
String outputPayload = "";
String inParam = arg0.getInputParameters().getString("TAG_NAME");
getTrace().addInfo("Input Parameter: " + inParam);
String startTag = "<" + inParam + ">";
String endTag = "</" + inParam + ">";
inputPayload = inputPayload.replaceAll(startTag, "");
inputPayload = inputPayload.replaceAll(endTag, "");

outputPayload = inputPayload;
try {
/*
* Output payload is returned using the TransformationOutput class
* arg1.getOutputPayload().getOutputStream()
*/
arg1.getOutputPayload().getOutputStream().write(
outputPayload.getBytes("UTF-8"));
} catch (Exception exception1) {
}
}
public String convertInputStreamToString(InputStream in) {
StringBuffer sb = new StringBuffer();
try {
InputStreamReader isr = new InputStreamReader(in);
Reader reader = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
sb.append((char) ch);
}
reader.close();
} catch (Exception exception) {
}
return sb.toString();
}
/*
* *************************************************************************
***
* The below Classes and Main method are implemented to help in the stand al
one
* testing of the mapping program. You can delete the below when exporting a
nd
* creating the imported archive in SAP PI.
* *************************************************************************
***
*/
//Implementation of the main method is for the stand alone testing of the ma
pping program
public static void main(String args[]) throws StreamTransformationException
{
RemoveBodyTag object = new RemoveBodyTag();
try {
InputStream in = new FileInputStream(
new File(
"<directory path>\\input.xml"));
OutputStream out = new FileOutputStream(
new File(
"<directory path>\\output.xml"));
InputPayloadImpl payloadInObj = new InputPayloadImpl(in);
TransformationInputImpl transformInObj = new TransformationInputImpl
(
payloadInObj);

OutPayloadImpl payloadOutObj = new OutPayloadImpl(out);


TransformationOutputImpl transformOutObj = new TransformationOutputI
mpl(
payloadOutObj);
object.transform(transformInObj, transformOutObj);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/* The below classes (InputPayloadImpl, TransformationInputImpl, OutPayloadImpl,
* TransformationOutputImpl)are used to assist in the stand alone test
*/
class InputPayloadImpl extends InputPayload {
InputStream in;
public InputPayloadImpl(InputStream in) {
this.in = in;
}
@Override
public InputStream getInputStream() {
return in;
}
}
class TransformationInputImpl extends TransformationInput {
InputPayload payload;
public TransformationInputImpl(InputPayload payload) {
this.payload = payload;
}
@Override
public InputAttachments getInputAttachments() {
// TODO Auto-generated method stub
return null;
}
@Override
public InputHeader getInputHeader() {
// TODO Auto-generated method stub
return null;
}
@Override
public InputParameters getInputParameters() {
// TODO Auto-generated method stub
return null;
}
@Override
public InputPayload getInputPayload() {
return payload;

}
}
class OutPayloadImpl extends OutputPayload {
OutputStream ou;
public OutPayloadImpl(OutputStream ou) {
this.ou = ou;
}
@Override
public OutputStream getOutputStream() {
// TODO Auto-generated method stub
return ou;
}
}
class TransformationOutputImpl extends TransformationOutput {
OutputPayload payload;
public TransformationOutputImpl(OutputPayload payload) {
this.payload = payload;
}
@Override
public void copyInputAttachments() {
// TODO Auto-generated method stub
}
@Override
public OutputAttachments getOutputAttachments() {
// TODO Auto-generated method stub
return null;
}
@Override
public OutputHeader getOutputHeader() {
// TODO Auto-generated method stub
return null;
}
@Override
public OutputParameters getOutputParameters() {
// TODO Auto-generated method stub
return null;
}
@Override
public OutputPayload getOutputPayload() {
// TODO Auto-generated method stub
return payload;
}
}

Вам также может понравиться