Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Groovy - jakým příkazem vyberu rozdílné ID?

Zdravím.. Potřeboval bych poradit ohledně porovnání hodnot v Groovy.

Mám dvě hodnoty ID1 a ID2, které my vrátí každá 10 x ID.. Obě hodnoty mají stejné všechny ID až na dvě ID, které jsou jiné... Jakým příkazem vyberu ty ID, které nejsou stejné ? Díky.

Změna předmětu, původně: Grooovy (host)

Řešení:

def one = message1.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.collect { it.personId.text() }
def two = message2.queryCompoundEmployeeResponse.CompoundEmployee.collect { it.person.person_id.text() }
def intersect = one.intersect(two)
print((one - intersect) + (two - intersect))
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Cože? Co znamená, že ti hodnoty něco vracejí? Něco vracet může tak leda metoda, ale určitě ne hodnot…
Wikan 25.01.2021 21:16
Wikan
Ano, špatně řečeno.. kód: import com.sap.gateway.ip.core.customdev.util.Message; import java.util.H…
jiriadd 25.01.2021 21:18
jiriadd
def one = message1.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.collect {…
Wikan 25.01.2021 21:44
Wikan
To mi vrátilo všechny hodnoty z message1
jiriadd 25.01.2021 21:55
jiriadd
def one = message1.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.collect {…
Wikan 25.01.2021 21:59
Wikan
A pokud bych chtěl výstup, který je nyní takový - [1111, 2222, 3333] Dát do XML v podobě <Person> <…
jiriadd 26.01.2021 17:03
jiriadd
import groovy.xml.MarkupBuilder def ids = [1111, 2222, 3333] def writer = new StringWriter() def xml…
Wikan 26.01.2021 18:54
Wikan
A pokud ty ids nevím ? (Pokud budu chtít, aby to kontrolovalo ID řekněme každý měsíc, tak tam pokažd…
jiriadd 26.01.2021 19:08
jiriadd
No tak tu kolekci vyplníš dynamicky. V čem je problém? poslední
Wikan 26.01.2021 19:09
Wikan

Ano, špatně řečeno.. kód:

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;

def Message processData(Message message) {

// get body
def body = message.getBody(java.io.Reader);

// parse xml body
def result = new XmlSlurper().parse(body);

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

message1.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.each{ item ->

def personId1 = item.personId.text();

println(personId1)
}
println("?????????????")
message2.queryCompoundEmployeeResponse.CompoundEmployee.each{ item ->

def personId2 = item.person.person_id.text();

println(personId2)
}

println "You can print and see the result in the console!"

return message;
}

message1 i message2 v sobě mají oba 10 ID, které jsou stejné až na ty dvě.. Potřebuji to porovnat a ty které nejsou stejné ,aby mi to vypsalo

def one = message1.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.collect { it.personId.text() }
def two = message2.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.collect { it.personId.text() }
def intersect = one.intersect(two)
print((one - intersect) + (two - intersect))
def one = message1.EmployeeDataReplicationConfirmation.EmployeeDataReplicationConfirmation.collect { it.personId.text() }
def two = message2.queryCompoundEmployeeResponse.CompoundEmployee.collect { it.person.person_id.text() }
def intersect = one.intersect(two)
print((one - intersect) + (two - intersect))

Zpět do poradny Odpovědět na původní otázku Nahoru