public void removeSUPPRESS(String[] inp, ResultList result, Container container)
throws StreamTransformationException {
result.clear();
for (int i = 0; i < inp.length; i++) {
if (!(inp[i].equals(ResultList.SUPPRESS)) && !(inp[i].equals("")) && !(inp[i].equals(null))) {
result.addValue(inp[i]);
}
}
return;
}
Rimuove gli elementi ResultList.SUPPRESS e <null> dal contesto.
Dato il seguente payload in inbound
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_A xmlns:ns0="urn:develop:n4n.eu:SUPPRESS">
<row>
<KEY>FFX</KEY>
<DATA>A</DATA>
</row>
<row>
<KEY>AAA</KEY>
<DATA>B</DATA>
</row>
<row>
<KEY>AAA</KEY>
<DATA>C</DATA>
</row>
<row>
<KEY>FFX</KEY>
<DATA>D</DATA>
</row>
</ns0:MT_A>
occorre produrre in outbound un analogo payload con solo i row il cui KEY = ‘FFX’.
Dato il mapping sotto, si visualizzano le code sulla removeContext.
Si può constatare che la removeContext rimuove i contesti SUPPRESS (grigi), Change Context, e conserva i valori SUPPRESS (azzurri) corrispondenti agli elementi senza FFX.
dove
Aggiungendo removeSUPPRESS dopo la removeContext si produrrà il seguente risultato
dove gli elementi SUPPRESS (azzurri) sono stati rimossi lasciando solo quelli relativi ai row con FFX.
Lascia un commento