public Audit auditVertex( AuditAction auditAction, Object vertexId, String process, String comment, User user, FlushFlag flushFlag, Visibility visibility) { checkNotNull(vertexId, "vertexId cannot be null"); checkNotNull(comment, "comment cannot be null"); checkNotNull(user, "user cannot be null"); checkNotNull(process, "process cannot be null"); Audit audit = new Audit(AuditRowKey.build(vertexId)); visibility = orVisibility(visibility); audit .getAuditCommon() .setUser(user, visibility) .setAction(auditAction, visibility) .setType(OntologyRepository.ENTITY_CONCEPT_IRI, visibility) .setComment(comment, visibility) .setUnixBuildTime( versionService.getUnixBuildTime() != null ? versionService.getUnixBuildTime() : -1L, visibility) .setScmBuildNumber( versionService.getScmBuildNumber() != null ? versionService.getScmBuildNumber() : "", visibility) .setVersion( versionService.getVersion() != null ? versionService.getVersion() : "", visibility); if (process.length() > 0) { audit.getAuditCommon().setProcess(process, visibility); } save(audit, flushFlag); return audit; }
public List<Audit> auditRelationship( AuditAction action, Vertex sourceVertex, Vertex destVertex, Edge edge, String process, String comment, User user, Visibility visibility) { checkNotNull(action, "action cannot be null"); checkNotNull(sourceVertex, "sourceVertex cannot be null"); checkNotNull(destVertex, "destVertex cannot be null"); checkNotNull(edge, "edge cannot be null"); checkNotNull(process, "process cannot be null"); checkNotNull(comment, "comment cannot be null"); checkNotNull(user, "user cannot be null"); Audit auditSourceDest = new Audit(AuditRowKey.build(sourceVertex.getId(), destVertex.getId())); Audit auditDestSource = new Audit(AuditRowKey.build(destVertex.getId(), sourceVertex.getId())); Audit auditEdge = new Audit(AuditRowKey.build(edge.getId())); visibility = orVisibility(visibility); List<Audit> audits = new ArrayList<Audit>(); String displayLabel = ontologyRepository.getDisplayNameForLabel(edge.getLabel()); audits.add( auditRelationshipHelper( auditSourceDest, action, sourceVertex, destVertex, displayLabel, process, comment, user, visibility)); audits.add( auditRelationshipHelper( auditDestSource, action, sourceVertex, destVertex, displayLabel, process, comment, user, visibility)); auditEdge .getAuditCommon() .setUser(user, visibility) .setAction(action, visibility) .setType(OntologyRepository.TYPE_RELATIONSHIP, visibility) .setComment(comment, visibility) .setProcess(process, visibility) .setUnixBuildTime( versionService.getUnixBuildTime() != null ? versionService.getUnixBuildTime() : -1L, visibility) .setScmBuildNumber( versionService.getScmBuildNumber() != null ? versionService.getScmBuildNumber() : "", visibility) .setVersion( versionService.getVersion() != null ? versionService.getVersion() : "", visibility); auditEdge .getAuditRelationship() .setSourceId(sourceVertex.getId(), visibility) .setSourceType(CONCEPT_TYPE.getPropertyValue(sourceVertex), visibility) .setSourceTitle(TITLE.getPropertyValue(sourceVertex), visibility) .setDestId(destVertex.getId(), visibility) .setDestTitle(TITLE.getPropertyValue(destVertex), visibility) .setDestType(CONCEPT_TYPE.getPropertyValue(destVertex), visibility) .setLabel(displayLabel, visibility); audits.add(auditEdge); saveMany(audits); return audits; }
public List<Audit> auditRelationshipProperty( AuditAction action, String sourceId, String destId, String propertyName, Object oldValue, Object newValue, Edge edge, String process, String comment, User user, Visibility visibility) { checkNotNull(action, "action cannot be null"); checkNotNull(sourceId, "sourceId cannot be null"); checkNotNull(sourceId.length() > 0, "sourceId cannot be empty"); checkNotNull(destId, "destId cannot be null"); checkNotNull(destId.length() > 0, "destId cannot be empty"); checkNotNull(propertyName, "propertyName cannot be null"); checkNotNull(propertyName.length() > 0, "propertyName cannot be empty"); checkNotNull(edge, "edge cannot be null"); checkNotNull(process, "process cannot be null"); checkNotNull(comment, "comment cannot be null"); checkNotNull(user, "user cannot be null"); Audit auditSourceDest = new Audit(AuditRowKey.build(sourceId, destId)); Audit auditDestSource = new Audit(AuditRowKey.build(destId, sourceId)); Audit auditEdge = new Audit(AuditRowKey.build(edge.getId())); visibility = orVisibility(visibility); auditSourceDest .getAuditCommon() .setUser(user, visibility) .setAction(action, visibility) .setType(OntologyRepository.TYPE_PROPERTY, visibility) .setComment(comment, visibility) .setProcess(process, visibility) .setUnixBuildTime( versionService.getUnixBuildTime() != null ? versionService.getUnixBuildTime() : -1L, visibility) .setScmBuildNumber( versionService.getScmBuildNumber() != null ? versionService.getScmBuildNumber() : "", visibility) .setVersion( versionService.getVersion() != null ? versionService.getVersion() : "", visibility); auditDestSource .getAuditCommon() .setUser(user, visibility) .setAction(action, visibility) .setType(OntologyRepository.TYPE_PROPERTY, visibility) .setComment(comment, visibility) .setProcess(process, visibility) .setUnixBuildTime( versionService.getUnixBuildTime() != null ? versionService.getUnixBuildTime() : -1L, visibility) .setScmBuildNumber( versionService.getScmBuildNumber() != null ? versionService.getScmBuildNumber() : "", visibility) .setVersion( versionService.getVersion() != null ? versionService.getVersion() : "", visibility); auditEdge .getAuditCommon() .setUser(user, visibility) .setAction(action, visibility) .setType(OntologyRepository.TYPE_PROPERTY, visibility) .setComment(comment, visibility) .setProcess(process, visibility) .setUnixBuildTime( versionService.getUnixBuildTime() != null ? versionService.getUnixBuildTime() : -1L, visibility) .setScmBuildNumber( versionService.getScmBuildNumber() != null ? versionService.getScmBuildNumber() : "", visibility) .setVersion( versionService.getVersion() != null ? versionService.getVersion() : "", visibility); if (oldValue != null && !oldValue.equals("")) { auditDestSource.getAuditProperty().setPreviousValue(oldValue, visibility); auditSourceDest.getAuditProperty().setPreviousValue(oldValue, visibility); auditEdge.getAuditProperty().setPreviousValue(oldValue, visibility); } if (action == AuditAction.DELETE) { auditDestSource.getAuditProperty().setNewValue("", visibility); auditSourceDest.getAuditProperty().setNewValue("", visibility); auditEdge.getAuditProperty().setNewValue("", visibility); } else { // TODO handle multi-valued properties auditDestSource.getAuditProperty().setNewValue(newValue, visibility); auditSourceDest.getAuditProperty().setNewValue(newValue, visibility); auditEdge.getAuditProperty().setNewValue(newValue, visibility); } auditDestSource.getAuditProperty().setPropertyName(propertyName, visibility); auditSourceDest.getAuditProperty().setPropertyName(propertyName, visibility); auditEdge.getAuditProperty().setPropertyName(propertyName, visibility); List<Audit> audits = Lists.newArrayList(auditSourceDest, auditDestSource); saveMany(audits); return audits; }
public Audit auditEntityProperty( AuditAction action, Object id, String propertyName, Object oldValue, Object newValue, String process, String comment, Map<String, Object> metadata, User user, Visibility visibility) { checkNotNull(action, "action cannot be null"); checkNotNull(id, "id cannot be null"); checkNotNull(propertyName, "propertyName cannot be null"); checkArgument(propertyName.length() > 0, "property name cannot be empty"); checkNotNull(process, "process cannot be null"); checkNotNull(comment, "comment cannot be null"); checkNotNull(user, "user cannot be null"); Audit audit = new Audit(AuditRowKey.build(id)); visibility = orVisibility(visibility); audit .getAuditCommon() .setUser(user, visibility) .setAction(action, visibility) .setType(OntologyRepository.TYPE_PROPERTY, visibility) .setComment(comment, visibility) .setProcess(process, visibility) .setUnixBuildTime( versionService.getUnixBuildTime() != null ? versionService.getUnixBuildTime() : -1L, visibility) .setScmBuildNumber( versionService.getScmBuildNumber() != null ? versionService.getScmBuildNumber() : "", visibility) .setVersion( versionService.getVersion() != null ? versionService.getVersion() : "", visibility); if (oldValue != null) { if (oldValue instanceof GeoPoint) { String val = String.format( "POINT(%f,%f)", ((GeoPoint) oldValue).getLatitude(), ((GeoPoint) oldValue).getLongitude()); audit.getAuditProperty().setPreviousValue(val, visibility); } else { audit.getAuditProperty().setPreviousValue(oldValue.toString(), visibility); } } if (action == AuditAction.DELETE) { audit.getAuditProperty().setNewValue("", visibility); } else { if (newValue instanceof GeoPoint) { String val = String.format( "POINT(%f,%f)", ((GeoPoint) newValue).getLatitude(), ((GeoPoint) newValue).getLongitude()); audit.getAuditProperty().setNewValue(val, visibility); } else { audit.getAuditProperty().setNewValue(newValue.toString(), visibility); } } audit.getAuditProperty().setPropertyName(propertyName, visibility); if (metadata != null || !metadata.isEmpty()) { audit.getAuditProperty().setPropertyMetadata(jsonMetadata(metadata).toString(), visibility); } save(audit); return audit; }