package io.lumify.core.model.audit; import com.altamiracorp.bigtable.model.ColumnFamily; import com.altamiracorp.bigtable.model.Value; import org.securegraph.Visibility; import org.json.JSONException; import org.json.JSONObject; public class AuditRelationship extends ColumnFamily { public static final String RELATIONSHIP_AUDIT = "relationshipAudit"; public static final String NAME = "relationship"; public static final String SOURCE_TYPE = "sourceType"; public static final String SOURCE_TITLE = "sourceTitle"; public static final String SOURCE_SUBTYPE = "sourceSubtype"; public static final String SOURCE_ID = "sourceId"; public static final String DEST_TYPE = "destType"; public static final String DEST_TITLE = "destTitle"; public static final String DEST_ID = "destId"; public static final String DEST_SUBTYPE = "destSubtype"; public static final String LABEL = "label"; public AuditRelationship() { super(NAME); } public String getSourceType() { return Value.toString(get(SOURCE_TYPE)); } public AuditRelationship setSourceType(Object sourceType, Visibility visibility) { set(SOURCE_TYPE, sourceType, visibility.getVisibilityString()); return this; } public String getSourceTitle() { return Value.toString(get(SOURCE_TITLE)); } public AuditRelationship setSourceTitle(Object sourceTitle, Visibility visibility) { set(SOURCE_TITLE, sourceTitle, visibility.getVisibilityString()); return this; } public String getSourceId() { return Value.toString(get(SOURCE_ID)); } public AuditRelationship setSourceId(Object sourceId, Visibility visibility) { set(SOURCE_ID, sourceId, visibility.getVisibilityString()); return this; } public String getDestType() { return Value.toString(get(DEST_TYPE)); } public AuditRelationship setDestType(Object destType, Visibility visibility) { set(DEST_TYPE, destType, visibility.getVisibilityString()); return this; } public String getDestTitle() { return Value.toString(get(DEST_TITLE)); } public AuditRelationship setDestTitle(Object destTitle, Visibility visibility) { set(DEST_TITLE, destTitle, visibility.getVisibilityString()); return this; } public String getDestId() { return Value.toString(get(DEST_ID)); } public AuditRelationship setDestId(Object destId, Visibility visibility) { set(DEST_ID, destId, visibility.getVisibilityString()); return this; } public String getLabel() { return Value.toString(get(LABEL)); } public AuditRelationship setLabel(String label, Visibility visibility) { set(LABEL, label, visibility.getVisibilityString()); return this; } public String getDestSubtype() { return Value.toString(get(DEST_SUBTYPE)); } public AuditRelationship setDestSubtype(Object destSubtype, Visibility visibility) { set(DEST_SUBTYPE, destSubtype, visibility.getVisibilityString()); return this; } public String getSourceSubtype() { return Value.toString(get(SOURCE_SUBTYPE)); } public AuditRelationship setSourceSubtype(Object source, Visibility visibility) { set(SOURCE_SUBTYPE, source, visibility.getVisibilityString()); return this; } @Override public JSONObject toJson() { try { JSONObject json = new JSONObject(); json.put(SOURCE_ID, this.getSourceId()); json.put(SOURCE_TITLE, this.getSourceTitle()); json.put(SOURCE_TYPE, this.getSourceType()); json.put(SOURCE_SUBTYPE, this.getSourceSubtype()); json.put(DEST_ID, this.getDestId()); json.put(DEST_TITLE, this.getDestTitle()); json.put(DEST_TYPE, this.getDestType()); json.put(DEST_SUBTYPE, this.getDestSubtype()); json.put(LABEL, this.getLabel()); return json; } catch (JSONException e) { throw new RuntimeException(e); } } }