* @date 04.01.2012\r
*\r
*/\r
-public class DeleteResult implements Serializable {\r
+public class DeleteResult extends UpdateResult{\r
\r
@SuppressWarnings("unused")\r
private static final Logger logger = Logger.getLogger(DeleteResult.class);\r
\r
- private DeleteStatus status = DeleteStatus.OK;\r
+ \r
\r
private final List<Exception> exceptions = new ArrayList<Exception>();\r
\r
// protected ICdmEntityDao<CdmBase> dao;\r
// }\r
\r
- public enum DeleteStatus {\r
- OK(0),\r
- ABORT(1),\r
- ERROR(3),\r
- ;\r
-\r
- protected Integer severity;\r
- private DeleteStatus(int severity){\r
- this.severity = severity;\r
- }\r
-\r
- public int compareSeverity(DeleteStatus other){\r
- return this.severity.compareTo(other.severity);\r
- }\r
- }\r
+ \r
\r
//***************************** GETTER /SETTER /ADDER *************************/\r
- /**\r
- * The resuting status of a delete action.\r
- *\r
- * @see DeleteStatus\r
- * @return\r
- */\r
- public DeleteStatus getStatus() {\r
- return status;\r
- }\r
- public void setStatus(DeleteStatus status) {\r
- this.status = status;\r
- }\r
+ \r
\r
- /**\r
- * The highest exception that occurred during delete (if any).\r
- * @return\r
- */\r
- public List<Exception> getExceptions() {\r
- return exceptions;\r
- }\r
- public void addException(Exception exception) {\r
- this.exceptions.add(exception);\r
- }\r
- public void addExceptions(List<Exception> exceptions) {\r
- this.exceptions.addAll(exceptions);\r
- }\r
\r
/**\r
* Related objects that prevent the delete action to take place.\r
}\r
\r
\r
-// /**\r
-// * @return\r
-// */\r
-// public Set<PersistPair> getObjectsToDelete() {\r
-// return objectsToDelete;\r
-// }\r
-// public void setObjectsToDelete(Set<PersistPair> objectsToDelete) {\r
-// this.objectsToDelete = objectsToDelete;\r
-// }\r
-//\r
-// /**\r
-// * @return\r
-// */\r
-// public Set<PersistPair> getObjectsToSave() {\r
-// return objectsToSave;\r
-// }\r
-// public void setObjectsToSave(Set<PersistPair> objectsToSave) {\r
-// this.objectsToSave = objectsToSave;\r
-// }\r
-\r
-\r
-//****************** CONVENIENCE *********************************************/\r
-\r
- /**\r
- * Sets the status to {@link DeleteStatus#ERROR} if not yet set to a more serious\r
- * status.\r
- */\r
- public void setError(){\r
- setMaxStatus(DeleteStatus.ERROR);\r
- }\r
-\r
- /**\r
- * Sets the status to {@link DeleteStatus#ABORT} if not yet set to a more serious\r
- * status.\r
- */\r
- public void setAbort(){\r
- setMaxStatus(DeleteStatus.ABORT);\r
- }\r
-\r
- /**\r
- * Sets status to most severe status. If maxStatus is more severe then existing status\r
- * existing status is set to maxStatus. Otherwise nothing changes.\r
- * If minStatus is more severe then given status minStatus will be the new status.\r
- * @param maxStatus\r
- */\r
- public void setMaxStatus(DeleteStatus maxStatus) {\r
- if (this.status.compareSeverity(maxStatus) < 0){\r
- this.status = maxStatus;\r
- }\r
- }\r
\r
- public void includeResult(DeleteResult includedResult){\r
- this.setMaxStatus(includedResult.getStatus());\r
- this.addExceptions(includedResult.getExceptions());\r
- this.addRelatedObjects(includedResult.getRelatedObjects());\r
- }\r
\r
- public boolean isOk(){\r
- return this.status == DeleteStatus.OK;\r
- }\r
\r
- public boolean isAbort(){\r
- return this.status == DeleteStatus.ABORT;\r
- }\r
+ \r
\r
- public boolean isError(){\r
- return this.status == DeleteStatus.ERROR;\r
- }\r
+ \r
\r
\r
\r
- @Override\r
- public String toString(){\r
- String separator = ", ";\r
- String exceptionString = "";\r
- for (Exception exception : exceptions) {\r
- exceptionString += exception.getLocalizedMessage()+separator;\r
- }\r
- if(exceptionString.endsWith(separator)){\r
- exceptionString = exceptionString.substring(0, exceptionString.length()-separator.length());\r
- }\r
- String relatedObjectString = "";\r
- for (CdmBase relatedObject: relatedObjects) {\r
- if(relatedObject instanceof IIdentifiableEntity){\r
- relatedObjectString += ((IIdentifiableEntity) relatedObject).getTitleCache()+separator;\r
- }\r
- else{\r
- relatedObjectString += relatedObject.toString()+separator;\r
- }\r
- }\r
- if(relatedObjectString.endsWith(separator)){\r
- relatedObjectString = relatedObjectString.substring(0, relatedObjectString.length()-separator.length());\r
- }\r
- return "[DeleteResult]\n" +\r
- "Status: " + status.toString()+"\n" +\r
- "Exceptions: " + exceptionString+"\n" +\r
- "Related Objects: "+relatedObjectString;\r
- }\r
+ \r
\r
\r
}\r