From 7eb36e35533a8e4331a1d106bd26b299f604ff10 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Mon, 27 May 2013 07:38:08 +0000
Subject: [PATCH] BIS-202 SP-674 add toString method to entity operation
 details

SVN: 29215
---
 .../dto/AtomicEntityOperationResult.java      | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)

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 2eb5c9738bf..1f2208a2334 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");
+        }
+    }
+
 }
-- 
GitLab