This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 83ddc7b6 EMPIREDB-420 Exception names cleanup
83ddc7b6 is described below

commit 83ddc7b63cadc0ba7419a2a5116a8b87e533f3d3
Author: Rainer Döbele <[email protected]>
AuthorDate: Mon Apr 22 21:08:01 2024 +0200

    EMPIREDB-420
    Exception names cleanup
---
 .../apache/empire/jsf2/app/FacesConfiguration.java  |  6 +++---
 .../jsf2/pageelements/BeanListPageElement.java      |  4 ++--
 .../java/org/apache/empire/jsf2/pages/Page.java     |  4 ++--
 .../apache/empire/jsf2/pages/PageDefinitions.java   |  4 ++--
 .../apache/empire/jsf2/pages/PageELResolver.java    |  6 +++---
 .../empire/jsf2/pages/PageNavigationHandler.java    |  2 +-
 .../java/org/apache/empire/db/DBCmdParamList.java   |  4 ++--
 .../java/org/apache/empire/db/DBDDLGenerator.java   |  4 ++--
 .../main/java/org/apache/empire/db/DBDatabase.java  |  6 +++---
 .../main/java/org/apache/empire/db/DBReader.java    |  4 ++--
 .../main/java/org/apache/empire/db/DBRecord.java    |  4 ++--
 .../main/java/org/apache/empire/db/DBRowSet.java    |  4 ++--
 .../src/main/java/org/apache/empire/db/DBTable.java |  6 +++---
 .../src/main/java/org/apache/empire/db/DBUtils.java |  1 -
 ...xception.java => InvalidOperationException.java} | 15 +++++++++++++--
 ...Exception.java => OperationFailedException.java} | 21 ++++++++++++++++-----
 16 files changed, 58 insertions(+), 37 deletions(-)

diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/FacesConfiguration.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/FacesConfiguration.java
index e3704b16..204f1043 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/FacesConfiguration.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/FacesConfiguration.java
@@ -46,7 +46,7 @@ import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.ItemExistsException;
 import org.apache.empire.exceptions.ItemNotFoundException;
 import org.apache.empire.exceptions.ObjectNotValidException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.apache.empire.jsf2.impl.FacesImplementation;
 import org.apache.empire.jsf2.impl.FacesImplementation.BeanStorageProvider;
 import org.apache.empire.jsf2.pages.PageNavigationHandler;
@@ -112,7 +112,7 @@ public class FacesConfiguration
     public static <T extends FacesConfiguration> void initialize(Class<T> 
configClass, FacesContext startupContext, FacesImplementation facesImpl)
     {
         if (initialized)
-            throw new UnspecifiedErrorException("FacesConfiguration already 
initialized!"); 
+            throw new InvalidOperationException("FacesConfiguration already 
initialized!"); 
         try
         { // Create Instance an initialize
             FacesConfiguration fConfig = configClass.newInstance();
@@ -315,7 +315,7 @@ public class FacesConfiguration
     {
         // special case
         if (ProjectStage.PROJECT_STAGE_PARAM_NAME.equals(paramName))
-            throw new 
UnspecifiedErrorException(ProjectStage.PROJECT_STAGE_PARAM_NAME+" cannot be 
changed!");
+            throw new 
InvalidOperationException(ProjectStage.PROJECT_STAGE_PARAM_NAME+" cannot be 
changed!");
         // get map
         String paramVal = StringUtils.toString(paramValue);
         String orgValue = this.externalContext.getInitParameter(paramName);
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/BeanListPageElement.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/BeanListPageElement.java
index fa0a2152..7581a88b 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/BeanListPageElement.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/BeanListPageElement.java
@@ -40,7 +40,7 @@ import org.apache.empire.dbms.DBMSHandler;
 import org.apache.empire.dbms.DBMSFeature;
 import org.apache.empire.exceptions.InternalException;
 import org.apache.empire.exceptions.InvalidArgumentException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.apache.empire.exceptions.NotSupportedException;
 import org.apache.empire.exceptions.ObjectNotValidException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
@@ -608,7 +608,7 @@ public class BeanListPageElement<T> extends 
ListPageElement<T> implements ListIt
             { // Bean Property Name
                 String propName = cols[i].getBeanPropertyName();
                 if (propName == null || propName.length() == 0)
-                    throw new UnspecifiedErrorException("Invalid Bean Property 
Name");
+                    throw new InvalidOperationException("Invalid Bean Property 
Name");
                 // Get Property value
                 try
                 {
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java
index 251e887f..cb530ba2 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java
@@ -36,7 +36,7 @@ import org.apache.empire.db.DBRowSet;
 import org.apache.empire.exceptions.EmpireException;
 import org.apache.empire.exceptions.InternalException;
 import org.apache.empire.exceptions.ItemNotFoundException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.apache.empire.jsf2.app.FacesUtils;
 import org.apache.empire.jsf2.app.TextResolver;
 import org.apache.empire.jsf2.app.WebApplication;
@@ -419,7 +419,7 @@ public abstract class Page // *Deprecated* implements 
Serializable
     {
         PageDefinition parentPage = getParentPage();
         if (parentPage == null)
-            throw new UnspecifiedErrorException("No Parent Page defined for " 
+ getPageName());
+            throw new InvalidOperationException("No Parent Page defined for " 
+ getPageName());
         if (redirect)
             return parentPage.getRedirect(action);
         else
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageDefinitions.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageDefinitions.java
index 23b866ba..54216eb9 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageDefinitions.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageDefinitions.java
@@ -22,7 +22,7 @@ import java.util.LinkedHashMap;
 
 import org.apache.empire.commons.StringUtils;
 import org.apache.empire.exceptions.ItemExistsException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.apache.empire.jsf2.impl.FacesImplementation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,7 +49,7 @@ public abstract class PageDefinitions // *Deprecated* 
implements Serializable
     {
         if (instance!=null) 
         {
-            throw new UnspecifiedErrorException("PageDefintions alreday 
defined. Only one Instance allowed!");
+            throw new InvalidOperationException("PageDefintions alreday 
defined. Only one Instance allowed!");
         }
         // init
         instance = this;
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageELResolver.java 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageELResolver.java
index 3bf0086a..9a050e1d 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageELResolver.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageELResolver.java
@@ -27,7 +27,7 @@ import javax.el.ELResolver;
 import javax.faces.component.UIViewRoot;
 import javax.faces.context.FacesContext;
 
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.apache.empire.jsf2.app.FacesUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -70,7 +70,7 @@ public class PageELResolver extends ELResolver
             UIViewRoot vr = FacesContext.getCurrentInstance().getViewRoot();
             if (vr==null)
             {   // Error: No view root     
-                RuntimeException e = new UnspecifiedErrorException("ViewRoot 
not available. Unable to get Page Bean.");
+                RuntimeException e = new InvalidOperationException("ViewRoot 
not available. Unable to get Page Bean.");
                 log.error(e.getMessage());
                 throw e; 
             }
@@ -78,7 +78,7 @@ public class PageELResolver extends ELResolver
             Page page = (vmap!=null ? (Page)vmap.get("page") : null);
             if (page==null)
             {   // Error: No page bean      
-                RuntimeException e = new UnspecifiedErrorException("Page bean 
not available for current view.");
+                RuntimeException e = new InvalidOperationException("Page bean 
not available for current view.");
                 log.error(e.getMessage());
                 throw e; 
             }
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageNavigationHandler.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageNavigationHandler.java
index e2dcbc43..5bd398ce 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageNavigationHandler.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PageNavigationHandler.java
@@ -49,7 +49,7 @@ public class PageNavigationHandler extends 
ConfigurableNavigationHandler
         this.parent = parent;
         initialized = true;
         // Log
-        log.info("PageNavigatonHandler successfully established.");
+        log.debug("PageNavigatonHandler created.");
     }
 
     @Override
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCmdParamList.java 
b/empire-db/src/main/java/org/apache/empire/db/DBCmdParamList.java
index 4508525f..b69aa561 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCmdParamList.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCmdParamList.java
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import org.apache.empire.data.DataType;
 import org.apache.empire.exceptions.NotSupportedException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -188,7 +188,7 @@ public class DBCmdParamList implements DBCmdParams
         int index = cmdParams.indexOf(param);
         if (index<0) 
         {   // Error: parameter probably used twice in statement!
-            throw new UnspecifiedErrorException("The CmdParam has not been 
found on this Command.");
+            throw new InvalidOperationException("The CmdParam has not been 
found on this Command.");
         }
         if (index < paramUsageCount)
         {   // Warn: parameter used twice in statement!
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java 
b/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java
index db607d41..452614d0 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java
@@ -25,7 +25,7 @@ import org.apache.empire.dbms.DBMSHandler;
 import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.NotImplementedException;
 import org.apache.empire.exceptions.NotSupportedException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -209,7 +209,7 @@ public abstract class DBDDLGenerator<T extends DBMSHandler>
                 break;
             default:
                 // Error: Unable to append column of type UNKNOWN
-                throw new UnspecifiedErrorException("Error: Unable to append 
column of type UNKNOWN");
+                throw new InvalidOperationException("Error: Unable to append 
column of type UNKNOWN");
         }
         // done. Add more attributes (like e.g. NULLABLE or NOT NULL)
         return true;
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java 
b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
index a7143ff0..0b33051f 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
@@ -58,7 +58,7 @@ import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.ItemExistsException;
 import org.apache.empire.exceptions.NotSupportedException;
 import org.apache.empire.exceptions.PropertyReadOnlyException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -206,7 +206,7 @@ public abstract class DBDatabase extends DBObject
     public synchronized void discard()
     {
         if (isOpen())
-            throw new UnspecifiedErrorException("Database is open. Discard not 
possible.");
+            throw new InvalidOperationException("Database is open. Discard not 
possible.");
         // unregister
         databaseMap.remove(this.instanceId);
         this.instanceId = null;
@@ -411,7 +411,7 @@ public abstract class DBDatabase extends DBObject
             // Set dbms
             if (this.dbms!=null && this.dbms!=ddlHandler && ddlHandler!=null)
             {   // The database belongs to a different dbms
-                throw new UnspecifiedErrorException("The database is attached 
to a different dbms.");
+                throw new InvalidOperationException("The database is attached 
to a different dbms.");
             }
             // Temporarily change dbms
             if (this.dbms== null)
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBReader.java 
b/empire-db/src/main/java/org/apache/empire/db/DBReader.java
index a9b7e5a2..ce73d7fa 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBReader.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBReader.java
@@ -43,7 +43,7 @@ import org.apache.empire.dbms.DBMSHandler;
 import org.apache.empire.exceptions.BeanInstantiationException;
 import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.ObjectNotValidException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.apache.empire.xml.XMLUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -1110,7 +1110,7 @@ public class DBReader extends DBRecordData implements 
Closeable
     {
         // check if enabled
         if (trackOpenResultSets==false)
-            throw new UnspecifiedErrorException("Open-ResultSet-Tracking has 
not been enabled. Use DBReader.enableOpenResultSetTracking() to enable or 
disable.");
+            throw new InvalidOperationException("Open-ResultSet-Tracking has 
not been enabled. Use DBReader.enableOpenResultSetTracking() to enable or 
disable.");
         // Check map
         Map<DBReader, Exception> openResultSets = 
threadLocalOpenResultSets.get();
         if (openResultSets != null && openResultSets.isEmpty() == false)
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRecord.java 
b/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
index 73f83b87..0459d622 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
@@ -36,7 +36,7 @@ import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.ItemNotFoundException;
 import org.apache.empire.exceptions.NotSupportedException;
 import org.apache.empire.exceptions.ObjectNotValidException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -220,7 +220,7 @@ public class DBRecord extends DBRecordBase
     {
         // check
         if (enabled && !getContext().isRollbackHandlingEnabled())
-            throw new UnspecifiedErrorException("Rollback handling cannot be 
enabled for this record since it is not supported for this context!");
+            throw new InvalidOperationException("Rollback handling cannot be 
enabled for this record since it is not supported for this context!");
         // enable or disable
         this.enableRollbackHandling = enabled;
     }
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java 
b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
index 808aae8f..bb0f72bd 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
@@ -62,7 +62,7 @@ import org.apache.empire.exceptions.ItemNotFoundException;
 import org.apache.empire.exceptions.NotSupportedException;
 import org.apache.empire.exceptions.ObjectNotValidException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -525,7 +525,7 @@ public abstract class DBRowSet extends DBExpr implements 
EntityType
         if (timestampColumn!=null && timestampColumn.getRowSet()!=this)
             throw new InvalidArgumentException("timestampColumn", 
timestampColumn);
         if (timestampColumn!=null && this.timestampColumn!=null && 
this.timestampColumn!=timestampColumn)
-            throw new UnspecifiedErrorException("A Timestamp column has 
already been set for rowset "+getName());
+            throw new InvalidOperationException("A Timestamp column has 
already been set for rowset "+getName());
         if (timestampColumn instanceof DBTableColumn)
             ((DBTableColumn) timestampColumn).setReadOnly(true);
         // set now
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTable.java 
b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
index 1034b437..8dcd29cb 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
@@ -41,7 +41,7 @@ import org.apache.empire.exceptions.ItemExistsException;
 import org.apache.empire.exceptions.NotSupportedException;
 import org.apache.empire.exceptions.ObjectNotValidException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
-import org.apache.empire.exceptions.UnspecifiedErrorException;
+import org.apache.empire.exceptions.InvalidOperationException;
 
 
 /**
@@ -289,7 +289,7 @@ public class DBTable extends DBRowSet implements Cloneable
             if (this.primaryKey==null)
                 this.setPrimaryKey(column);
             else
-                throw new UnspecifiedErrorException("Table "+getName()+" 
already has a Primary-Key! No column of type AUTOINC can be added.");
+                throw new InvalidOperationException("Table "+getName()+" 
already has a Primary-Key! No column of type AUTOINC can be added.");
         }
         // add now
         addColumn(column);
@@ -505,7 +505,7 @@ public class DBTable extends DBRowSet implements Cloneable
         // check
         if (this.timestampColumn!=null) {
             String msg = MessageFormat.format("A Timestamp column ({0}) 
already exists for table {1}", this.timestampColumn.getName(), this.getName());
-            throw new UnspecifiedErrorException(msg); 
+            throw new InvalidOperationException(msg); 
         }
         // Add now
         DBTableColumn tsColumn = addColumn(name, DataType.TIMESTAMP, 0, true);
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java 
b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
index 71edeb93..8e293723 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
@@ -51,7 +51,6 @@ import org.apache.empire.db.list.DataBean;
 import org.apache.empire.dbms.DBMSFeature;
 import org.apache.empire.dbms.DBMSHandler;
 import org.apache.empire.exceptions.InternalException;
-import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/empire-db/src/main/java/org/apache/empire/exceptions/UnspecifiedErrorException.java
 
b/empire-db/src/main/java/org/apache/empire/exceptions/InvalidOperationException.java
similarity index 69%
rename from 
empire-db/src/main/java/org/apache/empire/exceptions/UnspecifiedErrorException.java
rename to 
empire-db/src/main/java/org/apache/empire/exceptions/InvalidOperationException.java
index 3dea27d4..907c89f5 100644
--- 
a/empire-db/src/main/java/org/apache/empire/exceptions/UnspecifiedErrorException.java
+++ 
b/empire-db/src/main/java/org/apache/empire/exceptions/InvalidOperationException.java
@@ -18,17 +18,28 @@
  */
 package org.apache.empire.exceptions;
 
+import java.text.MessageFormat;
+
 import org.apache.empire.commons.ErrorType;
 
-public class UnspecifiedErrorException extends EmpireException
+/**
+ * InvalidOperationException
+ * Indicates that an operation cannot be performed due to requirements not met.
+ */
+public class InvalidOperationException extends EmpireException
 {
     private static final long serialVersionUID = 1L;
     
     public static final ErrorType errorType = new ErrorType("error.internal", 
"Internal Error: {0}");
     
-    public UnspecifiedErrorException(String errorMessage)
+    public InvalidOperationException(String errorMessage)
     {
         super(errorType, new String[] { errorMessage });
     }
+    
+    public InvalidOperationException(String msgTemplate, Object... msgArgs)
+    {
+        super(errorType, new String[] { MessageFormat.format(msgTemplate, 
msgArgs) });
+    }
 
 }
diff --git 
a/empire-db/src/main/java/org/apache/empire/exceptions/MiscErrorException.java 
b/empire-db/src/main/java/org/apache/empire/exceptions/OperationFailedException.java
similarity index 60%
rename from 
empire-db/src/main/java/org/apache/empire/exceptions/MiscErrorException.java
rename to 
empire-db/src/main/java/org/apache/empire/exceptions/OperationFailedException.java
index 7402a20b..d1eb85a1 100644
--- 
a/empire-db/src/main/java/org/apache/empire/exceptions/MiscErrorException.java
+++ 
b/empire-db/src/main/java/org/apache/empire/exceptions/OperationFailedException.java
@@ -18,15 +18,26 @@
  */
 package org.apache.empire.exceptions;
 
+import org.apache.empire.commons.ErrorType;
+
 /**
- * MiscellaneousErrorException
+ * OperationFailedException
+ * Indicates that an operation has failed
  */
-public final class MiscErrorException extends UnspecifiedErrorException
+public class OperationFailedException extends EmpireException
 {
     private static final long serialVersionUID = 1L;
-
-    public MiscErrorException(String errorMessage)
+    
+    public static final ErrorType errorType = new 
ErrorType("error.operationFailed", "The operation {0} has failed. Reason given 
is: {1}") ;
+    
+    public OperationFailedException(String operation, String reason)
     {
-        super(errorMessage);
+        super(errorType, new String[] { operation, reason });
     }
+    
+    public OperationFailedException(String operation, Exception e)
+    {
+        super(errorType, new String[] { operation, e.getMessage() }, e);
+    }
+
 }

Reply via email to