* FR [ 1675490 ] ModelValidator on modelChange after events

This commit is contained in:
Carlos Ruiz 2007-04-07 23:52:19 +00:00
parent 4f1d27f4b4
commit cbe2450316
2 changed files with 3286 additions and 3262 deletions

View File

@ -28,14 +28,20 @@ package org.compiere.model;
public interface ModelValidator
{
/** Model Change Type New */
public static final int TYPE_BEFORE_NEW = 1; // teo_sarca [ 1675490 ]
public static final int TYPE_NEW = 1;
public static final int CHANGETYPE_NEW = 1;
public static final int CHANGETYPE_NEW = 1; // Compatibility with Compiere 260c
public static final int TYPE_AFTER_NEW = 4; // teo_sarca [ 1675490 ]
/** Model Change Type Change */
public static final int TYPE_BEFORE_CHANGE = 2; // teo_sarca [ 1675490 ]
public static final int TYPE_CHANGE = 2;
public static final int CHANGETYPE_CHANGE = 2;
public static final int CHANGETYPE_CHANGE = 2; // Compatibility with Compiere 260c
public static final int TYPE_AFTER_CHANGE = 5; // teo_sarca [ 1675490 ]
/** Model Change Type Delete */
public static final int TYPE_BEFORE_DELETE = 3; // teo_sarca [ 1675490 ]
public static final int TYPE_DELETE = 3;
public static final int CHANGETYPE_DELETE = 3;
public static final int CHANGETYPE_DELETE = 3; // Compatibility with Compiere 260c
public static final int TYPE_AFTER_DELETE = 6; // teo_sarca [ 1675490 ]
/** Called before document is prepared */
public static final int TIMING_BEFORE_PREPARE = 1;

View File

@ -1790,6 +1790,7 @@ public abstract class PO
// throw new DBException(e);
return false;
}
// Call ModelValidators TYPE_NEW/TYPE_CHANGE
String errorMsg = ModelValidationEngine.get().fireModelChange
(this, newRecord ? ModelValidator.TYPE_NEW : ModelValidator.TYPE_CHANGE);
if (errorMsg != null)
@ -1834,6 +1835,15 @@ public abstract class PO
success = false;
// throw new DBException(e);
}
// Call ModelValidators TYPE_AFTER_NEW/TYPE_AFTER_CHANGE - teo_sarca [ 1675490 ]
if (success) {
String errorMsg = ModelValidationEngine.get().fireModelChange
(this, newRecord ? ModelValidator.TYPE_AFTER_NEW : ModelValidator.TYPE_AFTER_CHANGE);
if (errorMsg != null) {
log.saveError("Error", errorMsg);
success = false;
}
}
// OK
if (success)
{
@ -2443,7 +2453,7 @@ public abstract class PO
log.saveError("CannotDelete", errorMsg);
return false;
}
//
// Call ModelValidators TYPE_DELETE
errorMsg = ModelValidationEngine.get().fireModelChange
(this, ModelValidator.TYPE_DELETE);
if (errorMsg != null)
@ -2543,6 +2553,14 @@ public abstract class PO
// throw new DBException(e);
}
// Call ModelValidators TYPE_AFTER_DELETE - teo_sarca [ 1675490 ]
if (success) {
errorMsg = ModelValidationEngine.get().fireModelChange(this, ModelValidator.TYPE_AFTER_DELETE);
if (errorMsg != null) {
log.saveError("Error", errorMsg);
success = false;
}
}
// Reset
if (success)
{