diff --git a/org.adempiere.base/src/org/compiere/model/MRecordAccess.java b/org.adempiere.base/src/org/compiere/model/MRecordAccess.java index 94188f42ba..cd6cdab63c 100644 --- a/org.adempiere.base/src/org/compiere/model/MRecordAccess.java +++ b/org.adempiere.base/src/org/compiere/model/MRecordAccess.java @@ -21,6 +21,8 @@ import java.sql.ResultSet; import java.util.Properties; import java.util.logging.Level; +import org.compiere.Adempiere; +import org.compiere.util.CacheMgt; import org.compiere.util.DB; import org.compiere.util.Msg; @@ -33,20 +35,20 @@ import org.compiere.util.Msg; public class MRecordAccess extends X_AD_Record_Access { /** - * generated serial id + * */ - private static final long serialVersionUID = -5115765616266528435L; + private static final long serialVersionUID = -3608241027957009608L; + + /** + * UUID based Constructor + * @param ctx Context + * @param AD_Record_Access_UU UUID key + * @param trxName Transaction + */ + public MRecordAccess(Properties ctx, String AD_Record_Access_UU, String trxName) { + super(ctx, AD_Record_Access_UU, trxName); + } - /** - * UUID based Constructor - * @param ctx Context - * @param AD_Record_Access_UU UUID key - * @param trxName Transaction - */ - public MRecordAccess(Properties ctx, String AD_Record_Access_UU, String trxName) { - super(ctx, AD_Record_Access_UU, trxName); - } - /** * @param ctx context * @param ignored ignored @@ -287,5 +289,21 @@ public class MRecordAccess extends X_AD_Record_Access } return m_tableName; } // getTableName + + /** + * After Save + * @param newRecord new + * @param success success + * @return success + */ + @Override + protected boolean afterSave(boolean newRecord, boolean success) { + if (!success) + return success; + + Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MRole.Table_Name, getAD_Role_ID())); + + return success; + } // afterSave } // MRecordAccess