Search the FirstSpirit Knowledge Base
Hello Team,
Server version: 2019-06
Delete Workflow does not delete a page, when it has incoming references, even when the deletion is confirmed by editor ('Really delete' option).
How to delete it? Complete log is attached below....
CODE:
private boolean deleteObject(final StoreElement deleteObject) {
Logging.logInfo(_logPrefix + "delete store element with uid " + ((IDProvider) deleteObject).getUid(), LOGGER);
boolean deleteResultFlag = false;
try {
OperationAgent operationAgent = context.requireSpecialist(OperationAgent.TYPE);
DeleteOperation del = operationAgent.getOperation(DeleteOperation.TYPE);
Result deleteResult = del.perform((IDProvider) deleteObject);
deleteResultFlag = deleteResult.isSuccessful(); ------- This is false // see the attached log file
if (deleteResultFlag) {
Logging.logInfo(_logPrefix + "delete store element with uid " + ((IDProvider) deleteObject).getUid()
+ " Successful", LOGGER);
deleteObject.refresh();
} else {
Logging.logInfo(_logPrefix + "delete store element with uid " + ((IDProvider) deleteObject).getUid()
+ " Not Successful", LOGGER);
}
} catch (Exception e) {
Logging.logError(_logPrefix + "unhandled exception in deleteObject", e, LOGGER);
}
return deleteResultFlag;
}
LOG and Images Attached for Refrence:-
Attached Screenshot for your reference.
Thanks and Regards,
Siva
Hi Siva,
I've no idea how your workflow has been implemented, but have you seen that there's a method ignoreIncomingReferences(boolean ignoreIncomingReferences) to tell the DeleteOperation to ignore incoming reference? Maybe adding line del.ignoreIncomingReferences(true)before line Result deleteResult = del.perform((IDProvider) deleteObject); does the trick
Best, Hendrik
Hi Siva,
I've no idea how your workflow has been implemented, but have you seen that there's a method ignoreIncomingReferences(boolean ignoreIncomingReferences) to tell the DeleteOperation to ignore incoming reference? Maybe adding line del.ignoreIncomingReferences(true)before line Result deleteResult = del.perform((IDProvider) deleteObject); does the trick
Best, Hendrik
Hello Holst,
Thank you for your reply and time. Its perfectly working fine.
Thanks.
Regards,
Siva