[ 1755175 ] ad_changelog should capture insert too
[ 1755177 ] ad_changelog should have an 'action' field
This commit is contained in:
parent
b2865c6d2f
commit
0a15b4a374
|
@ -121,6 +121,21 @@ public class MChangeLog extends X_AD_ChangeLog
|
||||||
super (ctx, 0, trxName);
|
super (ctx, 0, trxName);
|
||||||
} // MChangeLog
|
} // MChangeLog
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Preserved for backward compatibility
|
||||||
|
*@deprecated
|
||||||
|
*/
|
||||||
|
public MChangeLog (Properties ctx,
|
||||||
|
int AD_ChangeLog_ID, String TrxName, int AD_Session_ID,
|
||||||
|
int AD_Table_ID, int AD_Column_ID, int Record_ID,
|
||||||
|
int AD_Client_ID, int AD_Org_ID,
|
||||||
|
Object OldValue, Object NewValue)
|
||||||
|
{
|
||||||
|
this(ctx, AD_ChangeLog_ID, TrxName, AD_Session_ID, AD_Table_ID,
|
||||||
|
AD_Column_ID, Record_ID, AD_Client_ID, AD_Org_ID, OldValue,
|
||||||
|
NewValue, (String) null /*event*/ );
|
||||||
|
} // MChangeLog
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Full Constructor
|
* Full Constructor
|
||||||
* @param ctx context
|
* @param ctx context
|
||||||
|
@ -139,7 +154,7 @@ public class MChangeLog extends X_AD_ChangeLog
|
||||||
int AD_ChangeLog_ID, String TrxName, int AD_Session_ID,
|
int AD_ChangeLog_ID, String TrxName, int AD_Session_ID,
|
||||||
int AD_Table_ID, int AD_Column_ID, int Record_ID,
|
int AD_Table_ID, int AD_Column_ID, int Record_ID,
|
||||||
int AD_Client_ID, int AD_Org_ID,
|
int AD_Client_ID, int AD_Org_ID,
|
||||||
Object OldValue, Object NewValue)
|
Object OldValue, Object NewValue, String event)
|
||||||
{
|
{
|
||||||
this (ctx, 0, TrxName);
|
this (ctx, 0, TrxName);
|
||||||
if (AD_ChangeLog_ID == 0)
|
if (AD_ChangeLog_ID == 0)
|
||||||
|
@ -160,7 +175,11 @@ public class MChangeLog extends X_AD_ChangeLog
|
||||||
//
|
//
|
||||||
setOldValue (OldValue);
|
setOldValue (OldValue);
|
||||||
setNewValue (NewValue);
|
setNewValue (NewValue);
|
||||||
// R2.5.2f_2005-09-25 2.5.2f_20050925-2201
|
// EVENT / Release 3.3.1t_2007-12-05 ADempiere
|
||||||
|
if (event != null)
|
||||||
|
setDescription(event + " / " + Adempiere.MAIN_VERSION + "_"
|
||||||
|
+ Adempiere.DATE_VERSION + " " + Adempiere.getImplementationVersion());
|
||||||
|
else
|
||||||
setDescription(Adempiere.MAIN_VERSION + "_"
|
setDescription(Adempiere.MAIN_VERSION + "_"
|
||||||
+ Adempiere.DATE_VERSION + " " + Adempiere.getImplementationVersion());
|
+ Adempiere.DATE_VERSION + " " + Adempiere.getImplementationVersion());
|
||||||
} // MChangeLog
|
} // MChangeLog
|
||||||
|
|
|
@ -215,6 +215,20 @@ public class MSession extends X_AD_Session
|
||||||
log.info(TimeUtil.formatElapsed(getCreated(), getUpdated()));
|
log.info(TimeUtil.formatElapsed(getCreated(), getUpdated()));
|
||||||
} // logout
|
} // logout
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Preserved for backward compatibility
|
||||||
|
*@deprecated
|
||||||
|
*/
|
||||||
|
public MChangeLog changeLog (
|
||||||
|
String TrxName, int AD_ChangeLog_ID,
|
||||||
|
int AD_Table_ID, int AD_Column_ID, int Record_ID,
|
||||||
|
int AD_Client_ID, int AD_Org_ID,
|
||||||
|
Object OldValue, Object NewValue)
|
||||||
|
{
|
||||||
|
return changeLog(TrxName, AD_ChangeLog_ID, AD_Table_ID, AD_Column_ID,
|
||||||
|
Record_ID, AD_Client_ID, AD_Org_ID, OldValue, NewValue,
|
||||||
|
(String) null);
|
||||||
|
} // changeLog
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create Change Log only if table is logged
|
* Create Change Log only if table is logged
|
||||||
|
@ -233,7 +247,7 @@ public class MSession extends X_AD_Session
|
||||||
String TrxName, int AD_ChangeLog_ID,
|
String TrxName, int AD_ChangeLog_ID,
|
||||||
int AD_Table_ID, int AD_Column_ID, int Record_ID,
|
int AD_Table_ID, int AD_Column_ID, int Record_ID,
|
||||||
int AD_Client_ID, int AD_Org_ID,
|
int AD_Client_ID, int AD_Org_ID,
|
||||||
Object OldValue, Object NewValue)
|
Object OldValue, Object NewValue, String event)
|
||||||
{
|
{
|
||||||
// Null handling
|
// Null handling
|
||||||
if (OldValue == null && NewValue == null)
|
if (OldValue == null && NewValue == null)
|
||||||
|
@ -268,7 +282,7 @@ public class MSession extends X_AD_Session
|
||||||
MChangeLog cl = new MChangeLog(getCtx(),
|
MChangeLog cl = new MChangeLog(getCtx(),
|
||||||
AD_ChangeLog_ID, TrxName, getAD_Session_ID(),
|
AD_ChangeLog_ID, TrxName, getAD_Session_ID(),
|
||||||
AD_Table_ID, AD_Column_ID, Record_ID, AD_Client_ID, AD_Org_ID,
|
AD_Table_ID, AD_Column_ID, Record_ID, AD_Client_ID, AD_Org_ID,
|
||||||
OldValue, NewValue);
|
OldValue, NewValue, event);
|
||||||
if (cl.save())
|
if (cl.save())
|
||||||
return cl;
|
return cl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2165,11 +2165,11 @@ public abstract class PO
|
||||||
oldV = null;
|
oldV = null;
|
||||||
if (newV != null && newV == Null.NULL)
|
if (newV != null && newV == Null.NULL)
|
||||||
newV = null;
|
newV = null;
|
||||||
//
|
// change log on update
|
||||||
MChangeLog cLog = session.changeLog (
|
MChangeLog cLog = session.changeLog (
|
||||||
m_trxName, AD_ChangeLog_ID,
|
m_trxName, AD_ChangeLog_ID,
|
||||||
p_info.getAD_Table_ID(), p_info.getColumn(i).AD_Column_ID,
|
p_info.getAD_Table_ID(), p_info.getColumn(i).AD_Column_ID,
|
||||||
get_ID(), getAD_Client_ID(), getAD_Org_ID(), oldV, newV);
|
get_ID(), getAD_Client_ID(), getAD_Org_ID(), oldV, newV, "UPDATE");
|
||||||
if (cLog != null)
|
if (cLog != null)
|
||||||
AD_ChangeLog_ID = cLog.getAD_ChangeLog_ID();
|
AD_ChangeLog_ID = cLog.getAD_ChangeLog_ID();
|
||||||
}
|
}
|
||||||
|
@ -2297,6 +2297,12 @@ public abstract class PO
|
||||||
|
|
||||||
lobReset();
|
lobReset();
|
||||||
|
|
||||||
|
// Change Log
|
||||||
|
MSession session = MSession.get (p_ctx, false);
|
||||||
|
if (session == null)
|
||||||
|
log.fine("No Session found");
|
||||||
|
int AD_ChangeLog_ID = 0;
|
||||||
|
|
||||||
// SQL
|
// SQL
|
||||||
StringBuffer sqlInsert = new StringBuffer("INSERT INTO ");
|
StringBuffer sqlInsert = new StringBuffer("INSERT INTO ");
|
||||||
sqlInsert.append(p_info.getTableName()).append(" (");
|
sqlInsert.append(p_info.getTableName()).append(" (");
|
||||||
|
@ -2368,6 +2374,25 @@ public abstract class PO
|
||||||
log.log(Level.SEVERE, msg, e);
|
log.log(Level.SEVERE, msg, e);
|
||||||
throw new DBException(e); // fini
|
throw new DBException(e); // fini
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Change Log - Only
|
||||||
|
if (session != null
|
||||||
|
&& m_IDs.length == 1
|
||||||
|
&& !p_info.isEncrypted(i) // not encrypted
|
||||||
|
&& !p_info.isVirtualColumn(i) // no virtual column
|
||||||
|
&& !"Password".equals(columnName)
|
||||||
|
&& p_info.getColumn(i).IsKey // log just the key - to log all columns comment this line
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// change log on new
|
||||||
|
MChangeLog cLog = session.changeLog (
|
||||||
|
m_trxName, AD_ChangeLog_ID,
|
||||||
|
p_info.getAD_Table_ID(), p_info.getColumn(i).AD_Column_ID,
|
||||||
|
get_ID(), getAD_Client_ID(), getAD_Org_ID(), null, value, "INSERT");
|
||||||
|
if (cLog != null)
|
||||||
|
AD_ChangeLog_ID = cLog.getAD_ChangeLog_ID();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// Custom Columns
|
// Custom Columns
|
||||||
if (m_custom != null)
|
if (m_custom != null)
|
||||||
|
@ -2625,10 +2650,11 @@ public abstract class PO
|
||||||
&& !"Password".equals(p_info.getColumnName(i))
|
&& !"Password".equals(p_info.getColumnName(i))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
// change log on delete
|
||||||
MChangeLog cLog = session.changeLog (
|
MChangeLog cLog = session.changeLog (
|
||||||
m_trxName != null ? m_trxName : localTrxName, AD_ChangeLog_ID,
|
m_trxName != null ? m_trxName : localTrxName, AD_ChangeLog_ID,
|
||||||
AD_Table_ID, p_info.getColumn(i).AD_Column_ID,
|
AD_Table_ID, p_info.getColumn(i).AD_Column_ID,
|
||||||
Record_ID, getAD_Client_ID(), getAD_Org_ID(), value, null);
|
Record_ID, getAD_Client_ID(), getAD_Org_ID(), value, null, "DELETE");
|
||||||
if (cLog != null)
|
if (cLog != null)
|
||||||
AD_ChangeLog_ID = cLog.getAD_ChangeLog_ID();
|
AD_ChangeLog_ID = cLog.getAD_ChangeLog_ID();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue