diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java index 2eb5c9738bf27503868148f6f81aaa4784395163..1f2208a233469685e70d6ed05d43f80c9ad2c9d4 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AtomicEntityOperationResult.java @@ -151,4 +151,50 @@ public class AtomicEntityOperationResult implements Serializable return vocabulariesUpdatedCount; } + private long getAllOperationsCount() + { + return spacesCreatedCount + projectsCreatedCount + projectsUpdatedCount + materialsCreatedCount + materialsUpdatedCount + + experimentsCreatedCount + experimentsUpdatedCount + samplesCreatedCount + samplesUpdatedCount + dataSetsCreatedCount + + dataSetsUpdatedCount + metaprojectsCreatedCount + metaprojectsUpdatedCount + vocabulariesUpdatedCount; + } + + @Override + public String toString() + { + if (getAllOperationsCount() == 0) + { + return "No entities have been created or updated"; + } + + StringBuilder message = new StringBuilder(); + + message.append("Total of " + getAllOperationsCount() + " entities have been created or updated.\n"); + + updateMessage(message, spacesCreatedCount, "Spaces created"); + updateMessage(message, projectsCreatedCount, "Projects created"); + updateMessage(message, projectsUpdatedCount, "Projects updated"); + updateMessage(message, materialsCreatedCount, "Materials created"); + updateMessage(message, materialsUpdatedCount, "Materials updated"); + updateMessage(message, experimentsCreatedCount, "Experiments created"); + updateMessage(message, experimentsUpdatedCount, "Experiments updated"); + updateMessage(message, samplesCreatedCount, "Samples created"); + updateMessage(message, samplesUpdatedCount, "Samples updated"); + updateMessage(message, dataSetsCreatedCount, "Data sets created"); + updateMessage(message, dataSetsUpdatedCount, "Data sets updated"); + updateMessage(message, metaprojectsCreatedCount, "Metaprojects created"); + updateMessage(message, metaprojectsUpdatedCount, "Metaprojects updated"); + updateMessage(message, vocabulariesUpdatedCount, "Vocabularies updated"); + + return message.toString(); + + } + + private void updateMessage(StringBuilder builder, long count, String msg) + { + if (count > 0) + { + builder.append(msg + ": " + count + "\n"); + } + } + }