package Express.services;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import DisplayProject.binding.beans.ExtendedPropertyChangeSupport;
import DisplayProject.binding.beans.Observable;
import Framework.Constants;
import Framework.DataValue;
import Framework.ErrorMgr;
import Framework.FrameworkUtils;
import Framework.GenericException;
import Framework.ImplementationException;
import Framework.LogMgr;
import Framework.MsgCatalog;
import Framework.RuntimeProperties;
import Framework.TextData;
import Framework.UsageException;
/**
* This class appears in the project, but is for internal use only and is not documented.
* <p>
* @author ITerative Consulting
* @since 26-Feb-2008
*/
@RuntimeProperties(isDistributed=false, isAnchored=false, isShared=false, isTransactional=false)
@SuppressWarnings({ "serial", "deprecation" })
public class Error
implements Serializable, Observable
{
// ---------
// Constants
// ---------
public static final int B_CANT_DELETE = 4;
public static final int B_CANT_UPDATE = 6;
public static final int B_ILLEGAL_ATTR = 5;
public static final int B_INCONSISTENT_STATE = 7;
public static final int BC_CANNOT_REVERT = 16;
public static final int BC_CANNOT_SAVE = 26;
public static final int BC_HAS_MGR = 10;
public static final int BC_NIL_SOURCE = 11;
public static final int BC_NOT_REVERTABLE = 12;
public static final int BC_TOO_LATE_TO_SAVEFORREVERT = 28;
public static final int BM_CANT_CHANGE_DB = 14;
public static final int BM_CANT_UPDATE = 18;
public static final int BM_ILLEGAL_ATTR_IN_KEY = 308;
public static final int BM_NEED_FOREIGN_KEY = 13;
public static final int BM_NO_UPDATE = 315;
public static final int BM_TOO_MANY_ROWS = 317;
public static final int BQ_ATTR_NOT_FOREIGN = 19;
public static final int BQ_ATTR_NOT_SIMPLE = 15;
public static final int BQ_CANT_RESET = 22;
public static final int BQ_CANT_RESET_OP = 20;
public static final int BQ_CONS_CANT_USE_DATE_WITH_IN = 21;
public static final int BQ_CONS_DUP_ORDERBY_ATTR = 23;
public static final int BQ_CONS_ILLEGAL = 29;
public static final int BQ_CONS_ILLEGAL_OP = 51;
public static final int BQ_CONS_ONLYNOT = 25;
public static final int BQ_CONS_OP_NEEDS_VALUE = 27;
public static final int BQ_CONS_OP_PROHIBITS_VALUE = 53;
public static final int BQ_ILLEGAL_ACTION_FOR_OP = 24;
public static final int BQ_ILLEGAL_ATTR = 57;
public static final int BQ_ILLEGAL_FOREIGN_OP = 31;
public static final int BQ_ILLEGAL_OPERATION = 35;
public static final int BQ_ILLEGAL_TABLE_INDEX = 33;
public static final int BQ_INCONSISTENT_OP = 34;
public static final int BQ_NEED_QUERY = 17;
public static final int BQ_PARENT_ATTR_NOT_SET = 36;
public static final int BQ_SETOP_NEED_KEY_FOR_UPDATE = 37;
public static final int BQ_SETOP_NO_KEY_ON_INSERT = 39;
public static final int BQ_SETOP_NO_KEY_ON_SELECT = 41;
public static final int BQ_WRONG_ENTITY = 45;
public static final int BS_ILLEGAL_BM = 59;
public static final int BS_UNKNOWN_BM = 314;
public static final int CC_CACHE_ILLEGAL = 43;
public static final int CC_HAS_MGR = 42;
public static final int CC_ILLEGAL_CLIENTID = 40;
public static final int CC_ILLEGAL_TRANS_MODE = 49;
public static final int CC_NEEDS_MGR = 44;
public static final int CM_AGGREGATE_CHANGED = 38;
public static final int CM_AGGREGATES_INSERTED = 50;
public static final int CM_CANNOT_CHANGE_MODE = 303;
public static final int CM_CLASS_CHANGED = 46;
public static final int CM_DROPPING_LOCKED_KEY = 307;
public static final int CM_ILLEGAL_CACHE_MODE = 301;
public static final int CM_ILLEGAL_CLIENT_ID = 304;
public static final int CM_ILLEGAL_CONCURRENCY_MODE = 302;
public static final int CM_KEY_NOT_UNIQUE = 54;
public static final int CM_NEGATIVE_REF_COUNT = 306;
public static final int CM_NO_ORIGINAL = 52;
public static final int CM_NO_TRANSACTION = 30;
public static final int CM_TRANSACTION_IN_PROGRESS = 32;
public static final int GEN_NIL_PARAMETER = 61;
public static final int GEN_UNIMPLEMENTED = 1;
public static final int LAST_ERROR = 81;
public static final int NIL_PARAMETER = 48;
public static final int QC_CONSTRAINT_STACK_EMPTY = 310;
public static final int QC_CUSTOM_AND_DB_ATTR = 305;
public static final int QC_ILLEGAL_CONSTRAINT_NODE = 309;
public static final int QC_ILLEGAL_TABLE_INDEX = 318;
public static final int QC_NEED_ATTR_NODE = 311;
public static final int QC_NEED_OPERATION_NODE = 316;
public static final int QC_NEED_SQLDATA_NODE = 313;
public static final int QC_NEED_VALUE_NODE = 312;
public static final int SQL_ILLEGAL_CONSTRAINT_OPERATOR = 65;
public static final int SQL_ILLEGAL_FOR_OPERATION = 56;
public static final int SQL_NEED_VALUE = 55;
public static final int SQL_OPERATION_UNINITIALIZED = 66;
public static final int SS_CACHE_IN_USE = 74;
public static final int SVC_MSGSET_ID = 3;
// ----------
// Attributes
// ----------
public PropertyChangeSupport qq_Listeners = new ExtendedPropertyChangeSupport(this, true);
private int error;
private String methodName;
private Object originator;
private Object param1;
private Object param2;
private int msgSetID;
private MsgCatalog _Catalog;
// ------------
// Constructors
// ------------
public Error() {
// Explicitly call the superclass constructor to prevent the implicit call
super();
this.error = 0;
this.methodName = null;
this.originator = null;
this.param1 = null;
this.param2 = null;
this.msgSetID = 0;
this._Catalog = null;
}
public static class qq_Resolver {
public static final int cERROR_METHODNAME_ORIGINATOR = 1;
public static final int cERROR_METHODNAME_ORIGINATOR_PARAM1 = 2;
public static final int cERROR_METHODNAME_ORIGINATOR_PARAM2 = 3;
public static final int cERROR_METHODNAME_ORIGINATOR_PARAM1_PARAM2 = 4;
public static final int cEND = 5;
};
public Error(int pError, String pMethodName, Object pOriginator) {
this();
this.setError( pError );
this.setMethodName( pMethodName );
this.setOriginator( pOriginator );
}
public Error(int pError, String pMethodName, Object pOriginator, int pResolver) {
this();
if (pResolver == Error.qq_Resolver.cERROR_METHODNAME_ORIGINATOR) {
this.setError( pError );
this.setMethodName( pMethodName );
this.setOriginator( pOriginator );
}
}
public Error(int pParam1, String pParam2, Object pParam3, Object pParam4, int pResolver) {
this();
if (pResolver == Error.qq_Resolver.cERROR_METHODNAME_ORIGINATOR_PARAM1) {
this.setError( pParam1 );
this.setMethodName( pParam2 );
this.setOriginator( pParam3 );
this.setParam1( pParam4 );
}
else if (pResolver == Error.qq_Resolver.cERROR_METHODNAME_ORIGINATOR_PARAM2) {
this.setError( pParam1 );
this.setMethodName( pParam2 );
this.setOriginator( pParam3 );
this.setParam2( pParam4 );
}
}
public Error(int pError, String pMethodName, Object pOriginator, Object pParam1, Object pParam2) {
this();
this.setError( pError );
this.setMethodName( pMethodName );
this.setOriginator( pOriginator );
this.setParam1( pParam1 );
this.setParam2( pParam2 );
}
public Error(int pError, String pMethodName, Object pOriginator,
Object pParam1, Object pParam2,
int pResolver) {
this();
if (pResolver == Error.qq_Resolver.cERROR_METHODNAME_ORIGINATOR_PARAM1_PARAM2) {
this.setError( pError );
this.setMethodName( pMethodName );
this.setOriginator( pOriginator );
this.setParam1( pParam1 );
this.setParam2( pParam2 );
}
}
// ----------------------
// Accessors and Mutators
// ----------------------
public void setError(int error) {
int oldValue = this.error;
this.error = error;
this.qq_Listeners.firePropertyChange("error", oldValue, this.error);
}
public int getError() {
return this.error;
}
public void setMethodName(String methodName) {
String oldValue = this.methodName;
this.methodName = methodName;
this.qq_Listeners.firePropertyChange("methodName", oldValue, this.methodName);
}
public String getMethodName() {
return this.methodName;
}
public void setOriginator(Object originator) {
Object oldValue = this.originator;
this.originator = originator;
this.qq_Listeners.firePropertyChange("originator", oldValue, this.originator);
}
public Object getOriginator() {
return this.originator;
}
public void setParam1(Object param1) {
Object oldValue = this.param1;
this.param1 = param1;
this.qq_Listeners.firePropertyChange("param1", oldValue, this.param1);
}
public Object getParam1() {
return this.param1;
}
public void setParam2(Object param2) {
Object oldValue = this.param2;
this.param2 = param2;
this.qq_Listeners.firePropertyChange("param2", oldValue, this.param2);
}
public Object getParam2() {
return this.param2;
}
public void setMsgSetID(int msgSetID) {
int oldValue = this.msgSetID;
this.msgSetID = msgSetID;
this.qq_Listeners.firePropertyChange("msgSetID", oldValue, this.msgSetID);
}
public int getMsgSetID() {
return this.msgSetID;
}
// ------------------
// Virtual attributes
// ------------------
// -------------------------------------------------
// (Virtual) Attribute Catalog
// -------------------------------------------------
public MsgCatalog getCatalog() {
return this.qq_getCatalog();
}
// -------
// Methods
// -------
public void addPropertyChangeListener(String property, PropertyChangeListener listener) {
qq_Listeners.addPropertyChangeListener(property, listener);
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
qq_Listeners.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(String property, PropertyChangeListener listener) {
qq_Listeners.removePropertyChangeListener(property, listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
qq_Listeners.removePropertyChangeListener(listener);
}
/**
* qq_getCatalog<p>
* Method renamed by jcTOOL from GetCatalog to qq_getCatalog
* because it conflicted with an attribute<p>
* <p>
* @return MsgCatalog
*/
public MsgCatalog qq_getCatalog() {
if (this._Catalog == null) {
this._Catalog = MsgCatalog.getInstance("exmsg");
}
return this._Catalog;
}
/**
* getCatalogMessage<p>
* <p>
* @param error Type: int
* @return String
*/
public String getCatalogMessage(int error) {
String message = this.getCatalog().getString(this.getMsgSetID(), error, "qqUNKNOWN_MSG");
if ("qqUNKNOWN_MSG".equals(message)) {
message = this.getMessage(error);
}
return message;
}
/**
* getException<p>
* GetException<br>
* The GetException method returns an exception based upon the attributes<br>
* of the Error class.<br>
* <p>
* Attribute Use<br>
* --------- ---<br>
* Error A unique index which specifies details about the error to<br>
* be raised like the text of the error message, exception<br>
* class, etc. Error > 300 are given the reasonCode<br>
* SP_ER_UNKNOWN. Odd errors < 300 are given the reasonCode<br>
* SP_ER_PARAMETERERROR. Even errors < 300 are given the<br>
* reasonCode SP_ER_INVALIDSTATE<br>
* MethodName The name of the method raising the error.<br>
* Originator The object raising the error.<br>
* Param1 A parameter to be substituted into the text of the error<br>
* message.<br>
* Param2 Another parameter to be substituted into the text of the<br>
* error message.<br>
* <p>
* Returns<br>
* The exception instantiated.<br>
* <p>
* Unused codes:<br>
* 58, 60, 61, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73<br>
* <p>
* @return GenericException
*/
public GenericException getException() {
GenericException e = null;
int severity = Constants.SP_ER_ERROR;
int reasonCode = 0;
String message = null;
TextData key = null, status = null;
DataValue p1 = null, p2 = null;
if (this.getMsgSetID() == 0) {
this.setMsgSetID(Error.SVC_MSGSET_ID);
}
if (this.getParam1() != null && this.getParam1() instanceof DataValue) {
p1 = (DataValue)this.getParam1();
}
if (this.getParam2() != null && this.getParam2() instanceof DataValue) {
p2 = (DataValue)this.getParam2();
}
if (this.getOriginator() != null && this.getOriginator() instanceof BusinessClass) {
status = ((BusinessClass)this.getOriginator()).statusAsTextData();
if (((BusinessClass)this.getOriginator()).getInstanceKey() != null) {
key = ((BusinessClass)this.getOriginator()).getInstanceKey().asTextData();
}
}
else if (this.getParam1() != null && this.getParam1() instanceof BusinessClass) {
status = ((BusinessClass)this.getParam1()).statusAsTextData();
if (((BusinessClass)this.getParam1()).getInstanceKey() != null) {
key = ((BusinessClass)this.getParam1()).getInstanceKey().asTextData();
}
}
reasonCode = Constants.SP_ER_INVALIDSTATE;
if (this.getError() > 300) {
reasonCode = 0;
}
else if ((this.getError()&1) > 0) {
reasonCode = Constants.SP_ER_PARAMETERERROR;
}
message = this.getCatalogMessage(this.getError());
if (message == null) {
e = new UsageException();
if (this.getParam2() != null) {
message = this.getCatalog().getString(this.getMsgSetID(), 75, this.getMessage(75));
}
else if (this.getParam1() != null) {
message = this.getCatalog().getString(this.getMsgSetID(), 76, this.getMessage(76));
}
else {
message = this.getCatalog().getString(this.getMsgSetID(), 77, this.getMessage(77));
}
}
if (this.getMsgSetID() == Error.SVC_MSGSET_ID) {
switch (this.getError()) {
case Error.GEN_UNIMPLEMENTED: {
e = new ImplementationException();
if (this.getParam1() != null) {
this.setParam2(this.getParam1());
message = this.getCatalog().getString(this.getMsgSetID(), 2, this.getMessage(2));
}
if (this.getMethodName() == null) {
p1 = new TextData(this.getCatalog().getString(this.getMsgSetID(), 3, this.getMessage(3)));
}
else {
p1 = new TextData(this.getMethodName());
}
break;
}
case Error.B_CANT_DELETE: {
p1 = key;
p2 = status;
break;
}
case Error.B_CANT_UPDATE: {
p1 = key;
p2 = status;
break;
}
case Error.B_ILLEGAL_ATTR: {
p1 = key;
break;
}
case Error.B_INCONSISTENT_STATE: {
e = new ImplementationException();
p1 = key;
p2 = status;
if (this.getOriginator() != null && this.getOriginator() instanceof BusinessClass) {
if (((BusinessClass)this.getOriginator()).getUpdateQuery() == null) {
message = this.getCatalog().getString(this.getMsgSetID(), 8, this.getMessage(8));
}
else {
message = this.getCatalog().getString(this.getMsgSetID(), 9, this.getMessage(9));
}
}
break;
}
case Error.BC_NOT_REVERTABLE: {
this.setParam1(this.getOriginator());
break;
}
case Error.BC_CANNOT_REVERT: {
this.setParam1(this.getOriginator());
break;
}
case Error.BC_CANNOT_SAVE: {
p1 = key;
p2 = status;
break;
}
case Error.BC_TOO_LATE_TO_SAVEFORREVERT: {
p1 = key;
p2 = status;
break;
}
case Error.BM_NO_UPDATE: {
if (this.getParam1() != null && this.getParam1() instanceof BusinessKey) {
p1 = ((BusinessKey)this.getParam1()).asTextData();
}
if (this.getParam2() == null) {
p2 = new TextData();
}
break;
}
case Error.BS_UNKNOWN_BM: {
p2 = new TextData(this.getOriginator().getClass().getSimpleName());
break;
}
case Error.CM_CLASS_CHANGED: {
e = new ExpressConcurrencyException(reasonCode);
if (this.getParam1() != null && this.getParam1() instanceof BusinessKey) {
p1 = ((BusinessKey)this.getParam1()).asTextData();
}
if (this.getParam2() == null) {
p2 = new TextData();
}
break;
}
case Error.CM_AGGREGATE_CHANGED: {
if (key != null) {
p1 = key;
}
else {
p1 = this.getCatalog().getTextData(this.getMsgSetID(), Error.NIL_PARAMETER, new TextData(this.getMessage(Error.NIL_PARAMETER)));
}
break;
}
case Error.CM_NO_ORIGINAL: {
if (this.getParam1() != null && this.getParam1() instanceof BusinessQuery && ((BusinessQuery)this.getParam1()).getKey() != null) {
p1 = ((BusinessQuery)this.getParam1()).getKey().asTextData();
}
else {
p1 = this.getCatalog().getTextData(this.getMsgSetID(), Error.NIL_PARAMETER, new TextData(this.getMessage(Error.NIL_PARAMETER)));
}
break;
}
case Error.CM_KEY_NOT_UNIQUE: {
if (this.getParam1() != null && this.getParam1() instanceof BusinessKey) {
p1 = ((BusinessKey)this.getParam1()).asTextData();
}
else {
p1 = this.getCatalog().getTextData(this.getMsgSetID(), Error.NIL_PARAMETER, new TextData(this.getMessage(Error.NIL_PARAMETER)));
}
break;
}
case Error.CM_NEGATIVE_REF_COUNT: {
if (this.getParam2() != null && this.getParam2() instanceof BusinessKey) {
p2 = ((BusinessKey)this.getParam2()).asTextData();
}
else {
p2 = this.getCatalog().getTextData(this.getMsgSetID(), Error.NIL_PARAMETER, new TextData(this.getMessage(Error.NIL_PARAMETER)));
}
break;
}
case Error.CM_DROPPING_LOCKED_KEY: {
if (this.getParam2() != null && this.getParam2() instanceof BusinessKey) {
p2 = ((BusinessKey)this.getParam2()).asTextData();
}
else {
p2 = this.getCatalog().getTextData(this.getMsgSetID(), Error.NIL_PARAMETER, new TextData(this.getMessage(Error.NIL_PARAMETER)));
}
break;
}
}
}
if (e == null) {
e = new UsageException(reasonCode, UsageException.qq_Resolver.cREASONCODE);
}
if (p1 == null && this.getParam1() != null) {
if (this.getParam1() instanceof DataValue) {
p1 = (DataValue)this.getParam1();
}
else {
p1 = new TextData(this.getParam1().getClass().getSimpleName());
}
}
if (p2 == null && this.getParam2() != null) {
if (this.getParam2() instanceof DataValue) {
p2 = (DataValue)this.getParam2();
}
else {
p2 = new TextData(this.getParam2().getClass().getSimpleName());
}
}
e.setWithParams(severity, new TextData(message), p1, p2);
TextData detectingMethod = new TextData();
if (this.getOriginator() != null) {
detectingMethod.concat(this.getOriginator().getClass().getSimpleName());
detectingMethod.concat(this.getCatalog().getString(this.getMsgSetID(), 78, this.getMessage(78)));
}
else {
detectingMethod.concat(this.getCatalog().getString(this.getMsgSetID(), 79, this.getMessage(79)));
}
if (this.getMethodName() != null) {
detectingMethod.concat(this.getMethodName());
}
else {
detectingMethod.concat(this.getCatalog().getString(this.getMsgSetID(), 80, this.getMessage(80)));
}
e.setDetectingMethod(detectingMethod.toString());
if (LogMgr.getInstance().test(Constants.SP_MT_CONFIGURATION, Constants.SP_ST_EX, Trace.CFG_ADDSTACKTRACE, 1) && !(LogMgr.getInstance().test(Constants.SP_MT_CONFIGURATION, 2, 1, 1))) {
e.getMessageText().concat(FrameworkUtils.traceBack());
}
ErrorMgr.addError(e);
return e;
}
/**
* getMessage<p>
* <p>
* @param error Type: int
* @return String
*/
public String getMessage(int error) {
switch (error) {
case Error.GEN_UNIMPLEMENTED: {
return "The method %1 is unimplemented. It should be implemented in a generated class.";
}
case 2: {
return "The method %1 with parameters (%2) is unimplemented. It should be implemented in a generated class.";
}
case 3: {
return "<unknown>";
}
case Error.B_CANT_DELETE: {
return "A BusinessClass with Key = %1 has Status = %2 and cannot be deleted.";
}
case Error.B_ILLEGAL_ATTR: {
return "The attribute %2 is illegal for BusinessClass with Key = %1";
}
case Error.B_CANT_UPDATE: {
return "A BusinessClass with Key = %1 has Status = %2 and cannot be updated.";
}
case Error.B_INCONSISTENT_STATE: {
return "A BusinessClass with Key = %1 is in an inconsistent state. Status = %2.";
}
case 8: {
return "A BusinessClass with Key = %1 is in an inconsistent state. Status = %2 but it should be ST_EMPTY, ST_READONLY, or ST_READWRITE.";
}
case 9: {
return "A BusinessClass with Key = %1 is in an inconsistent state. Status = %2 but it should be ST_INSERT, ST_UPDATE, or ST_DELETE.";
}
case Error.BC_HAS_MGR: {
return "SetMgr can only be invoked once. This should be done automatically by the BusinessClient. Check to make sure that you are using a BusinessClient.";
}
case Error.BC_NIL_SOURCE: {
return "The source parameter is NIL. It should contain a BusinessClass.";
}
case Error.BC_NOT_REVERTABLE: {
return "%1 is not revertable. The Revert method cannot be used unless the Revertable attribute is set and it must be set before you attempt to modify a BusinessClass using the LogAttr or Delete methods.";
}
case Error.BM_NEED_FOREIGN_KEY: {
return "Your query referenced the foreign attribute %1, but did not request all the attributes which comprise the foreign key for that foreign attribute. Attribute %2 must be added to your query (e.g. query.AddAttr(attr=%2)).";
}
case Error.BM_CANT_CHANGE_DB: {
return "Once a BusinessMgr has been assigned a DB Session it can't be changed.";
}
case Error.BQ_ATTR_NOT_SIMPLE: {
return "The attribute index %1 is not for a simple attribute. A foreign attribute may not be used in this context.";
}
case Error.BC_CANNOT_REVERT: {
return "%1 cannot revert an element of the source array. %1 probably did not have the Revertable attribute set when the element was modified. Revertable must be set before you attempt to modify a BusinessClass using the LogAttr or Delete methods.";
}
case Error.BQ_NEED_QUERY: {
return "You must speicfy a query parameter for the foreign attribute %1.";
}
case Error.BM_CANT_UPDATE: {
return "Foreign classes cannot be updated.";
}
case Error.BQ_ATTR_NOT_FOREIGN: {
return "The attribute index %1 is not for a foreign attribute. A foreign attribute must be used in this context.";
}
case Error.BQ_CANT_RESET_OP: {
return "SetOperation can only be invoked once. The operation is already set to %1 and cannot be set to %2.";
}
case Error.BQ_CONS_CANT_USE_DATE_WITH_IN: {
return "Cannot use dates with the \"in\" operator.";
}
case Error.BQ_CANT_RESET: {
return "Only querries for Select can be reset.";
}
case Error.BQ_CONS_DUP_ORDERBY_ATTR: {
return "The attribute index %1 being added as an \"order by\" constraint has already been added.";
}
case Error.BQ_ILLEGAL_ACTION_FOR_OP: {
return "The method being invoked is not allowed on BusinessQuery's of type %1.";
}
case Error.BQ_CONS_ONLYNOT: {
return "The constraint \"%1\" ends in \"not\". \"not\" must be followed by a value.";
}
case Error.BC_CANNOT_SAVE: {
return "Cannot use SaveForRevert on the BusinessClass with key %1 because it is in the %2 state.";
}
case Error.BQ_CONS_OP_NEEDS_VALUE: {
return "The operator specified (%1) for attribute %2 requires a value. Only ConstraintOperation values: OP_ORDERBY, OP_ORDERBY_DESC, OP_NULL, and OP_NOTNULL can be specified without a value.";
}
case Error.BC_TOO_LATE_TO_SAVEFORREVERT: {
return "It is too late to use SaveForRevert on the BusinessClass with key %1 because it is in the %2 state. You must use SaveForRevert before the class has been modified.";
}
case Error.BQ_CONS_ILLEGAL: {
return "Illegal or unparsable constraint text \"%1\".";
}
case Error.CM_NO_TRANSACTION: {
return "Client with clientID %1 attempted an operation while no transaction was active.";
}
case Error.BQ_ILLEGAL_FOREIGN_OP: {
return "The value of the operation attribute of the query given is %1 which is illegal for a foreign query. It must be OP_SELECT.";
}
case Error.CM_TRANSACTION_IN_PROGRESS: {
return "Client with clientID %1 is attemping to start a transaction when one is already in progress.";
}
case Error.BQ_ILLEGAL_TABLE_INDEX: {
return "The table index specified is %1 which is illegal. It must be between 1 and %2.";
}
case Error.BQ_INCONSISTENT_OP: {
return "The operation specified for the query being added is %1 which is inconsistent with the operation %2.";
}
case Error.BQ_ILLEGAL_OPERATION: {
return "Illegal value for the operation parameter. It must be one of OP_SELECT, OP_INSERT, OP_UPDATE, or OP_DELETE.";
}
case Error.BQ_PARENT_ATTR_NOT_SET: {
return "ParentAttr not set in foreign entity query.";
}
case Error.BQ_SETOP_NEED_KEY_FOR_UPDATE: {
return "You must speicfy a key parameter for the OP_DELETE or OP_UPDATE operations.";
}
case Error.CM_AGGREGATE_CHANGED: {
return "The aggregate BusinessClass %2 with Key = %1 in the select list has been updated since it was selected. You will have to restart your transaction before you can update it.";
}
case Error.BQ_SETOP_NO_KEY_ON_INSERT: {
return "The key parameter cannot be used for the OP_INSERT operation -- specify the values to be inserted as constraints.";
}
case Error.CC_ILLEGAL_CLIENTID: {
return "The clientID specified, %1, is illegal for the concurrency mode in use.";
}
case Error.BQ_SETOP_NO_KEY_ON_SELECT: {
return "The key parameter cannot be used for the OP_SELECT operation. If you want to constrain the query by the key constraints for all its attributes.";
}
case Error.CC_HAS_MGR: {
return "SetConcurrency can only be invoked once.";
}
case Error.CC_CACHE_ILLEGAL: {
return "Caching requires the CO_EXPRESS concurrency mode.";
}
case Error.CC_NEEDS_MGR: {
return "The concurrency mode specified, %1, requires a ConcurrencyMgr object but none was provided.";
}
case Error.BQ_WRONG_ENTITY: {
return "The entity passed is not for this BusinessQuery object.";
}
case Error.CM_CLASS_CHANGED: {
return "The BusinessClass %2 with Key = %1 in the select list has been updated since it was selected. You will have to restart your transaction before you can update it.";
}
case Error.NIL_PARAMETER: {
return "<NIL>";
}
case Error.CC_ILLEGAL_TRANS_MODE: {
return "The transactionMode specified %1 is illegal";
}
case Error.CM_AGGREGATES_INSERTED: {
return "%1 class which are aggregates of class %2 have been inserted or deleted since this transaction started. You will have to restart your transaction before you can update it.";
}
case Error.BQ_CONS_ILLEGAL_OP: {
return "The operator \"%2\" in the constraint \"%1\" is illegal.";
}
case Error.CM_NO_ORIGINAL: {
return "The BusinessClass %2 with Key = %1 in an update request has no before-update copy associated with it which the concurrency mode you have chosen requires.";
}
case Error.BQ_CONS_OP_PROHIBITS_VALUE: {
return "The operator specified (%1) for attribute %2 does not take a value. Only ConstraintOperation values: OP_ORDERBY, OP_ORDERBY_DESC, OP_NULL, and OP_NOTNULL can be specified without a value.";
}
case Error.CM_KEY_NOT_UNIQUE: {
return "More than one record with Key = %1 for BusinessClass %2 exists in the database. Express applications will not work if the primary key is not unique. Correct your database schema.";
}
case Error.SQL_NEED_VALUE: {
return "The value parameter is NIL.";
}
case Error.SQL_ILLEGAL_FOR_OPERATION: {
return "This form of this method cannot be used when the Operation = %1.";
}
case Error.BQ_ILLEGAL_ATTR: {
return "The attribute index %1 is illegal.";
}
case Error.BS_ILLEGAL_BM: {
return "The BusinessMgr for the BusinessQuery %1 is not available. It is probably a manager for an aggregate BusinessClass. BusinessQueries for aggregate BusinessClasses cannot be given directly to the BusinessClient. A modification to an aggregate class must be done as part of a modification to the parent class.";
}
case Error.GEN_NIL_PARAMETER: {
return "The %1 parameter is NIL.";
}
case Error.SQL_ILLEGAL_CONSTRAINT_OPERATOR: {
return "The constraint operator %1 used for this query is not supported.";
}
case Error.SQL_OPERATION_UNINITIALIZED: {
return "An object of the class SqlQuery was used before its Operation attribute was set.";
}
case Error.SS_CACHE_IN_USE: {
return "The SqlStatmentCache is in use and cannot be re-setup.";
}
case 75: {
return "Unknown error has parameters: %1, %2";
}
case 76: {
return "Unknown error has parameters: %1.";
}
case 77: {
return "Unknown error";
}
case 78: {
return ".";
}
case 79: {
return "<unknown class>.";
}
case 80: {
return "<unknown method>";
}
case 81: {
return "\n\tStacktrace:";
}
case Error.CM_ILLEGAL_CACHE_MODE: {
return "The Cache mode %1 is illegal. It must be CA_NONE or CA_WRITETHRU.";
}
case Error.CM_ILLEGAL_CONCURRENCY_MODE: {
return "The Concurrency mode %1 is illegal. It must be CO_NONE, CO_DB_NATIVE, CO_DB_EXPLICIT, CO_OPT_VERIFY or CO_OPT_EXPRESS.";
}
case Error.CM_CANNOT_CHANGE_MODE: {
return "The Concurrency mode has already been set to %1 and cannot be changed to %2.";
}
case Error.CM_ILLEGAL_CLIENT_ID: {
return "The clientID %1 is illegal.";
}
case Error.QC_CUSTOM_AND_DB_ATTR: {
return "The expression \"%1\" referenced both a custom and a database attribute which is illegal.";
}
case Error.CM_NEGATIVE_REF_COUNT: {
return "Client with clientID %1 caused negative reference count for BusinessClass with key %2.";
}
case Error.CM_DROPPING_LOCKED_KEY: {
return "Client with clientID %1 removing locked BusinessClass with key %2.";
}
case Error.BM_ILLEGAL_ATTR_IN_KEY: {
return "A NewKey operation was attempted but the class contains an attribute of type %1 which is not a sub-class of the types: IntegerData, TextData, NumericData, or BooleanData.";
}
case Error.QC_ILLEGAL_CONSTRAINT_NODE: {
return "Illegal constraint node in QueryConstraint stack.";
}
case Error.QC_CONSTRAINT_STACK_EMPTY: {
return "The constraint stack is empty not enough values for the number of operators.";
}
case Error.QC_NEED_ATTR_NODE: {
return "Error in the constraint stack. An attribute description is expected.";
}
case Error.QC_NEED_VALUE_NODE: {
return "Error in the constraint stack. A value is expected.";
}
case Error.QC_NEED_SQLDATA_NODE: {
return "Error in the constraint stack. A SqlData node is expected.";
}
case Error.BS_UNKNOWN_BM: {
return "The BusinessMgr for the BusinessQuery %1 is not known by the BusinessService %2. You may be using the wrong BusinessClient.";
}
case Error.BM_NO_UPDATE: {
return "The BusinessClass %2 with Key = %1 was not updated.";
}
case Error.QC_NEED_OPERATION_NODE: {
return "Error in the constraint stack. An operation is expected.";
}
case Error.BM_TOO_MANY_ROWS: {
return "The one-to-one or optional association whose attributeID is %2 from the business class %1 produced more than one row.";
}
case Error.QC_ILLEGAL_TABLE_INDEX: {
return "The table index specified is %1 which is illegal. It must be between 1 and %2.";
}
default: {
return null;
}
}
}
} // end class Error
// c Pass 2 Conversion Time: 1985 milliseconds