public static RObjectDeltaOperation toRepo(RAuditEventRecord record, ObjectDeltaOperation operation,
PrismContext prismContext) throws DtoTranslationException {
RObjectDeltaOperation auditDelta = new RObjectDeltaOperation();
auditDelta.setRecord(record);
try {
if (operation.getObjectDelta() != null) {
ObjectDelta delta = operation.getObjectDelta();
String xmlDelta = DeltaConvertor.toObjectDeltaTypeXml(delta, DeltaConversionOptions.createSerializeReferenceNames());
byte[] data = RUtil.getByteArrayFromXml(xmlDelta, true);
auditDelta.setDelta(data);
auditDelta.setDeltaOid(delta.getOid());
auditDelta.setDeltaType(RUtil.getRepoEnumValue(delta.getChangeType(), RChangeType.class));
}
if (operation.getExecutionResult() != null) {
RUtil.copyResultFromJAXB(SchemaConstantsGenerated.C_OPERATION_RESULT,
operation.getExecutionResult().createOperationResultType(),
auditDelta, prismContext);
}
auditDelta.setObjectName(RPolyString.toRepo(operation.getObjectName()));
auditDelta.setResourceOid(operation.getResourceOid());
auditDelta.setResourceName(RPolyString.toRepo(operation.getResourceName()));
} catch (Exception ex) {
throw new DtoTranslationException(ex.getMessage(), ex);
}
return auditDelta;
}