1.- Enable Cache in Replication Processor
2.- Add logic when a replication msg is receipt the check if the Object was change, if it change then is save 2.- Apply ABP change Collection for List interface kind regards Victor Perez www.e-evolution.com Link to SF Tracker: http://sourceforge.net/support/tracker.php?aid=3012113
This commit is contained in:
parent
dba57464a6
commit
2078c0abf6
|
@ -163,6 +163,11 @@ public class ImportHelper {
|
|||
log.info("expFormat = " + expFormat.toString());
|
||||
|
||||
PO po = importElement(ctx, result, rootElement, expFormat, ReplicationType, trxName);
|
||||
if(po.is_Changed())
|
||||
{
|
||||
log.info("Object not changed = " + po.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if(po != null)
|
||||
{
|
||||
|
@ -191,10 +196,8 @@ public class ImportHelper {
|
|||
else if(X_AD_ReplicationTable.REPLICATIONTYPE_Merge.equals(ReplicationType)
|
||||
|| X_AD_ReplicationTable.REPLICATIONTYPE_Reference.equals(ReplicationType))
|
||||
{
|
||||
if(po.is_Changed())
|
||||
{
|
||||
|
||||
po.saveReplica(true);
|
||||
}
|
||||
}
|
||||
/*else if (X_AD_ReplicationTable.REPLICATIONTYPE_Reference.equals(ReplicationType))
|
||||
{
|
||||
|
@ -217,7 +220,12 @@ public class ImportHelper {
|
|||
{
|
||||
Env.setContext(po.getCtx(), "#AD_Client_ID", po.getAD_Client_ID());
|
||||
DocAction document = (DocAction)po;
|
||||
document.processIt(document.getDocAction());
|
||||
po.set_CustomColumn("DocAction",DocAction.ACTION_Complete);
|
||||
po.set_CustomColumn("DocStatus", DocAction.STATUS_Drafted);
|
||||
if(!document.processIt(document.getDocAction()))
|
||||
{
|
||||
log.info("PO.toString() = can not " + po.get_Value("DocAction"));
|
||||
}
|
||||
po.saveEx();
|
||||
}
|
||||
}
|
||||
|
@ -599,7 +607,7 @@ public class ImportHelper {
|
|||
log.info("referencedNode = " + referencedNode);
|
||||
if (referencedNode == null)
|
||||
{
|
||||
throw new IllegalArgumentException("referencedNode can't be null!");
|
||||
throw new IllegalArgumentException("referencedNode can't be found!");
|
||||
}
|
||||
record_ID = getID(ctx, referencedExpFormat, referencedNode, uniqueFormatLine.getValue(), trxName);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ package org.compiere.model;
|
|||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.compiere.util.CCache;
|
||||
|
@ -61,8 +62,8 @@ public class MEXPFormat extends X_EXP_Format {
|
|||
private static CCache<String,MEXPFormat> s_cache = new CCache<String,MEXPFormat>(MEXPFormat.Table_Name, 50 );
|
||||
private static CCache<Integer,MEXPFormat> exp_format_by_id_cache = new CCache<Integer,MEXPFormat>(MEXPFormat.Table_Name, 50);
|
||||
|
||||
private Collection<MEXPFormatLine> m_lines = null;
|
||||
private Collection<MEXPFormatLine> m_lines_unique = null;
|
||||
private List<MEXPFormatLine> m_lines = null;
|
||||
private List<MEXPFormatLine> m_lines_unique = null;
|
||||
|
||||
public MEXPFormat(Properties ctx, int EXP_Format_ID, String trxName)
|
||||
{
|
||||
|
@ -73,11 +74,11 @@ public class MEXPFormat extends X_EXP_Format {
|
|||
super (ctx, rs, trxName);
|
||||
}
|
||||
|
||||
public Collection<MEXPFormatLine> getFormatLines() {
|
||||
public List<MEXPFormatLine> getFormatLines() {
|
||||
return getFormatLinesOrderedBy(X_EXP_FormatLine.COLUMNNAME_Position);
|
||||
}
|
||||
|
||||
public Collection<MEXPFormatLine> getFormatLinesOrderedBy(String orderBy)
|
||||
public List<MEXPFormatLine> getFormatLinesOrderedBy(String orderBy)
|
||||
{
|
||||
if(m_lines != null)
|
||||
{
|
||||
|
|
|
@ -51,6 +51,17 @@ public class MEXPProcessor extends X_EXP_Processor {
|
|||
/** Static Logger */
|
||||
private static CLogger s_log = CLogger.getCLogger (MEXPProcessor.class);
|
||||
|
||||
private static MEXPProcessor processor= null;
|
||||
private X_EXP_ProcessorParameter[] parameters = null;
|
||||
|
||||
public static MEXPProcessor get(Properties ctx, int EXP_Processor_ID, String trxName)
|
||||
{
|
||||
if(processor == null)
|
||||
{
|
||||
processor = new MEXPProcessor(ctx, EXP_Processor_ID, trxName);
|
||||
}
|
||||
return processor;
|
||||
}
|
||||
|
||||
public MEXPProcessor(Properties ctx, int EXP_Processor_ID, String trxName) {
|
||||
super(ctx, EXP_Processor_ID, trxName);
|
||||
|
@ -61,6 +72,10 @@ public class MEXPProcessor extends X_EXP_Processor {
|
|||
}
|
||||
|
||||
public X_EXP_ProcessorParameter[] getEXP_ProcessorParameters(String trxName) {
|
||||
|
||||
if(parameters != null)
|
||||
return parameters;
|
||||
|
||||
List<X_EXP_ProcessorParameter> resultList = new ArrayList<X_EXP_ProcessorParameter>();
|
||||
|
||||
StringBuffer sql = new StringBuffer("SELECT * ")
|
||||
|
@ -92,6 +107,7 @@ public class MEXPProcessor extends X_EXP_Processor {
|
|||
} catch (Exception e) { pstmt = null; }
|
||||
}
|
||||
X_EXP_ProcessorParameter[] result = (X_EXP_ProcessorParameter[])resultList.toArray( new X_EXP_ProcessorParameter[0]);
|
||||
parameters = result;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue