public static ObjectDeltaOperation fromRepo(RObjectDeltaOperation operation, PrismContext prismContext, boolean useUtf16)
throws DtoTranslationException {
ObjectDeltaOperation odo = new ObjectDeltaOperation();
try {
if (operation.getDelta() != null) {
byte[] data = operation.getDelta();
String xmlDelta = RUtil.getXmlFromByteArray(data, true, useUtf16);
ObjectDeltaType delta = prismContext.parserFor(xmlDelta).parseRealValue(ObjectDeltaType.class);
odo.setObjectDelta(DeltaConvertor.createObjectDelta(delta, prismContext));
}
if (operation.getFullResult() != null) {
byte[] data = operation.getFullResult();
String xmlResult = RUtil.getXmlFromByteArray(data, true, useUtf16);
OperationResultType resultType = prismContext.parserFor(xmlResult).parseRealValue(OperationResultType.class);
odo.setExecutionResult(OperationResult.createOperationResult(resultType));
}
odo.setObjectName(RPolyString.fromRepo(operation.getObjectName()));
odo.setResourceOid(operation.getResourceOid());
odo.setResourceName(RPolyString.fromRepo(operation.getResourceName()));
} catch (Exception ex) {
throw new DtoTranslationException(ex.getMessage(), ex);
}
return odo;
}
}