Hallo Java-Freunde,
ich habe folgendes Problem:
Ich möchte gerne 2 Listen synchronisieren, oder mit anderen Worten, die Unterschiede feststellen.
Die Liste (java.util.List<Component>) ist mit einer Reihe von Objekten bestückt, die folgendermaßen aussieht...
class Component {
String name;
long timestmp;
String action;
}
Eine Liste, welche die Basisliste (BL) darstellt, befindet sich immer auf dem aktuellsten Stand. Die andere Liste, welche eine Clientliste (CL) darstellt, soll auf den Stand der BL gebracht werden.
Als Ergebnis, benötige ich eine Liste, die mir die Unterschiede zum Server mitteilt und mir sagt, was auf der CL passieren muss.
Verglichen werden soll die Existenz von Objekten und der Unterschied des timestmp-Attributes.
Mögliche, beispielhafte Szenarios:
- Es kommt ein neues Objekt in die BL, dann benötige ich folgende Information in der Synchronisationsliste: name=neuesObjekt, timestmp=Zeitstempel, action=update)
- Es wird ein Objekt aus der BL gelöscht, dann benötige ich die Information: name=Objektname, timestmp=Zeitstempel, action=delete
Des Weiteren soll auch der Timestamp verglichen werden:
- Ist der Timestamp der BL neuer als der der CL, dann: name=Objektname, timestmp=Zeitstempel, action=update
Ich hoffe es ist einigermaßen klar geworden, was gemeint ist. Ich hoffe, ihr habt ein paar Ideen zu dieser Problemstellung. Evtl. gibt es ja schon so etwas ähnliches, so dass ich das Rad nicht neu erfinden muss.
Optimal wäre eine Klasse, die 2 Listen aufnimmt und mit diese Infos als Liste ausspuckt.
Vielen Dank im Voraus!
Grüße
ich habe folgendes Problem:
Ich möchte gerne 2 Listen synchronisieren, oder mit anderen Worten, die Unterschiede feststellen.
Die Liste (java.util.List<Component>) ist mit einer Reihe von Objekten bestückt, die folgendermaßen aussieht...
class Component {
String name;
long timestmp;
String action;
}
Eine Liste, welche die Basisliste (BL) darstellt, befindet sich immer auf dem aktuellsten Stand. Die andere Liste, welche eine Clientliste (CL) darstellt, soll auf den Stand der BL gebracht werden.
Als Ergebnis, benötige ich eine Liste, die mir die Unterschiede zum Server mitteilt und mir sagt, was auf der CL passieren muss.
Verglichen werden soll die Existenz von Objekten und der Unterschied des timestmp-Attributes.
Mögliche, beispielhafte Szenarios:
- Es kommt ein neues Objekt in die BL, dann benötige ich folgende Information in der Synchronisationsliste: name=neuesObjekt, timestmp=Zeitstempel, action=update)
- Es wird ein Objekt aus der BL gelöscht, dann benötige ich die Information: name=Objektname, timestmp=Zeitstempel, action=delete
Des Weiteren soll auch der Timestamp verglichen werden:
- Ist der Timestamp der BL neuer als der der CL, dann: name=Objektname, timestmp=Zeitstempel, action=update
Ich hoffe es ist einigermaßen klar geworden, was gemeint ist. Ich hoffe, ihr habt ein paar Ideen zu dieser Problemstellung. Evtl. gibt es ja schon so etwas ähnliches, so dass ich das Rad nicht neu erfinden muss.
Optimal wäre eine Klasse, die 2 Listen aufnimmt und mit diese Infos als Liste ausspuckt.
Vielen Dank im Voraus!
Grüße