X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=champ-lib%2Fchamp-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fchampcore%2Fevent%2FChampEvent.java;fp=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fchamp%2Fevent%2FChampEvent.java;h=46f1b61d4214abf87a6910e92f0812054bd21e25;hb=c74f7b13b573386e70c10721fc391624ee792ed6;hp=639a03e4794f30391b69be873d92ff320dd50897;hpb=9fc28cff11a4b570618c0f533ce9de6209a5dd0c;p=aai%2Fchamp.git diff --git a/src/main/java/org/onap/aai/champ/event/ChampEvent.java b/champ-lib/champ-core/src/main/java/org/onap/aai/champcore/event/ChampEvent.java similarity index 81% rename from src/main/java/org/onap/aai/champ/event/ChampEvent.java rename to champ-lib/champ-core/src/main/java/org/onap/aai/champcore/event/ChampEvent.java index 639a03e..46f1b61 100644 --- a/src/main/java/org/onap/aai/champ/event/ChampEvent.java +++ b/champ-lib/champ-core/src/main/java/org/onap/aai/champcore/event/ChampEvent.java @@ -19,18 +19,19 @@ * ============LICENSE_END============================================ * ECOMP is a trademark and service mark of AT&T Intellectual Property. */ -package org.onap.aai.champ.event; +package org.onap.aai.champcore.event; import java.io.IOException; -import org.onap.aai.champ.model.ChampObject; -import org.onap.aai.champ.model.ChampObjectIndex; -import org.onap.aai.champ.model.ChampPartition; -import org.onap.aai.champ.model.ChampRelationship; -import org.onap.aai.champ.model.ChampRelationshipIndex; +import org.onap.aai.champcore.model.ChampObject; +import org.onap.aai.champcore.model.ChampObjectIndex; +import org.onap.aai.champcore.model.ChampPartition; +import org.onap.aai.champcore.model.ChampRelationship; +import org.onap.aai.champcore.model.ChampRelationshipIndex; import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; @@ -49,11 +50,13 @@ public class ChampEvent { private ChampOperation operation; private long timestamp; + private String transactionId = null; private ChampObject vertex = null; private ChampRelationship relationship = null; private ChampPartition partition = null; private ChampObjectIndex objectIndex = null; private ChampRelationshipIndex relationshipIndex = null; + private String dbTransactionId = null; public static Builder builder() { @@ -76,6 +79,15 @@ public class ChampEvent { this.timestamp = timestamp; } + @JsonProperty("transaction-id") + public String getTransactionId() { + return transactionId; + } + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + public ChampObject getVertex() { return vertex; } @@ -115,7 +127,15 @@ public class ChampEvent { public void setRelationshipIndex(ChampRelationshipIndex relationshipIndex) { this.relationshipIndex = relationshipIndex; } - + + @JsonProperty("database-transaction-id") + public String getDbTransactionId () { return dbTransactionId; } + + + public void setDbTransactionId ( String id ) { this.dbTransactionId = id; } + + + public String toJson() { ObjectMapper mapper = new ObjectMapper(); @@ -135,6 +155,7 @@ public class ChampEvent { } @Override public String toString() { + return toJson(); } @@ -176,10 +197,16 @@ public class ChampEvent { event.relationshipIndex = relationshipIndex; return this; } + public ChampEvent build() { event.setTimestamp(System.currentTimeMillis()); + + // Set a unique transaction id on this event that can be used by downstream entities + // for log correlation. + event.setTransactionId(java.util.UUID.randomUUID().toString()); + return event; } }