X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/d17ecaf77fbdd1f9090c7852bcde9a0ae709571e..9a84bed87398862850cf0554b50b20cea28a0951:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DeleteResultMessagingUtils.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DeleteResultMessagingUtils.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DeleteResultMessagingUtils.java index ef473c3a4..2192e262e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DeleteResultMessagingUtils.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DeleteResultMessagingUtils.java @@ -10,12 +10,15 @@ package eu.etaxonomy.taxeditor.model; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import eu.etaxonomy.cdm.api.service.DeleteResult; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.IdentifiableEntity; /** * @author k.luther @@ -37,14 +40,40 @@ public class DeleteResultMessagingUtils extends MessagingUtils { List details = new ArrayList(); String title= ""; - if (result.isOk() && result.getExceptions().size() > 0){ + if (result.getExceptions().size() > 0){ for (Exception e:result.getExceptions()){ details.add(e.getMessage()); } - title = "The delete was successfull."; + if (result.isOk()){ + title = "Delete was successfull."; + } else { + title = "Delete was aborted."; + } + } + StringBuffer relatedObjectsString = new StringBuffer(); + List relatedObjects = new ArrayList(); + if (result.getUpdatedObjects().size() > 0){ + Iterator objects = result.getRelatedObjects().iterator(); + while (objects.hasNext()){ + CdmBase object = objects.next(); + if (object instanceof IdentifiableEntity){ + relatedObjects.add("[" + object.getClass().getSimpleName() + "] " +((IdentifiableEntity)object).getTitleCache() ); + } else{ + relatedObjects.add(object.getUserFriendlyTypeName()); + } + + } + + for (String relatedObject: relatedObjects){ + + relatedObjectsString.append(relatedObject); + relatedObjectsString.append(System.lineSeparator()); + } } + message = message + "\n" ; String stackTraceWithContext = getContextInfo(details); - CdmErrorDialog ced = new CdmErrorDialog(AbstractUtility.getShell(), title, message, new Status(IStatus.ERROR, pluginId, null), stackTraceWithContext); + CdmDeleteErrorDialog ced = new CdmDeleteErrorDialog(AbstractUtility.getShell(), title, message,new Status(IStatus.INFO, pluginId, relatedObjectsString.toString(), result.getExceptions().iterator().next()), stackTraceWithContext, result.getUpdatedObjects().toArray()); + ced.open();