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))
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
To je ono , díky moc ! :) Můžete mi prosím ve zkratce říct, jak funguje ten intersect ? Nebo já si…
jiriadd 25.01.2021 22:04
jiriadd
Učil ses o tom na prvním stupni základní školy: https://cs.wikipedia.org/wiki/Pr%C5%AFnik
Wikan 25.01.2021 22:08
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