Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Groovy - jak vypsat výstupní ID po sebou?

Ahoj,

mám vstup X a Y. Do každého vstupu chodí user ID's. Já si je pomocí intersectu porovnám a výstup jsou všechny Y které nejsou v X. Výstup kódu níže je tedy - [5845, 41845901, 41901]
Ještě pak přeskakuji určitá ID definované v properties jako skipIds.. Každopádně, potřeboval bych výstupní ID vypsat pod sebou. Může mi někdo pomoct ? Díky.

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import groovy.xml.XmlUtil;
import groovy.xml.StreamingMarkupBuilder;
import groovy.xml.*;

def Message processData(Message message) {

// get body
def body = message.getBody(java.io.Reader);
def skipIds = message.getProperty('skipIds');
// parse xml body
def result = new XmlSlurper().parse(body);

def message1 = result.Message1;
def message2 = result.Message2;

def one = message1.X.collect { it.userId.text() }
def two = message2.Y.collect { it.userId.text() }

def intersect = one.intersect(two)
def ids = two - intersect
def newIds = [];
ids.each{ userId ->
if(!skipIds.contains(',' + userId + ',')) {
newIds.push(userId);
}
}

message.setBody(newIds.toString())

return message;

}

Změna tupého předmětu, původně: Groovy (host)

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny