1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
InputStream inputStream = exchange.getIn().getBody(InputStream.class);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
String columnToForceToZero = String.valueOf(exchange.getProperty("targetColumn"));
String lineToChange = String.valueOf(exchange.getProperty("targetLine"));
//String Separator = String.valueOf(exchange.getProperty("separator"));
List<String> listColumn = new ArrayList<String>(Arrays.asList(columnToForceToZero.split(",")));
int lengthLineToChange = lineToChange.length();
//String newBody = exchange.getIn().getBody(String.class);
String nouveauBody="";
while( line != null) {
if (lineToChange.equals(line.substring(0,lengthLineToChange))){
List<String> list = new ArrayList<String>(Arrays.asList(line.split("\\|")));
for (int i = 0; i < listColumn.size() ; i++) {
list.set(Integer.parseInt(listColumn.get(i)), context.work_YODA_IN_value_to_force);
}
line = String.join("|", list);
}
nouveauBody = nouveauBody + line +"\n";
line = reader.readLine();
}
exchange.getOut().setBody(nouveauBody);
exchange.getOut().setHeaders(exchange.getIn().getHeaders());
//copy attachements from IN to OUT to propagate them
exchange.getOut().setAttachments(exchange.getIn().getAttachments()); |
Partager