IDEMPIERE-2999 : refactoring as per Hengsin's review comments (#427)

* IDEMPIERE-2999 : refactoring as per Hengsin's review comments

* IDEMPIERE-2999: Fixing compilation issue

* IDEMPIERE-2999: Fixing as per Hengsin'e review
This commit is contained in:
Deepak Pansheriya 2020-12-02 20:29:23 +05:30 committed by GitHub
parent acf59cccbb
commit 8b672a3a51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 107 additions and 38 deletions

View File

@ -29,6 +29,7 @@ import org.compiere.util.CCache;
import org.compiere.util.CLogger; import org.compiere.util.CLogger;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.Env; import org.compiere.util.Env;
import org.compiere.util.KeyNamePair;
import org.compiere.util.Msg; import org.compiere.util.Msg;
import org.idempiere.cache.ImmutablePOSupport; import org.idempiere.cache.ImmutablePOSupport;
@ -205,8 +206,8 @@ public class MAttribute extends X_M_Attribute implements ImmutablePOSupport
/** /**
* Set Attribute Instance * Set Attribute Instance
* @param value value
* @param M_AttributeSetInstance_ID id * @param M_AttributeSetInstance_ID id
* @param value value
*/ */
public void setMAttributeInstance (int M_AttributeSetInstance_ID, MAttributeValue value) public void setMAttributeInstance (int M_AttributeSetInstance_ID, MAttributeValue value)
{ {
@ -239,8 +240,8 @@ public class MAttribute extends X_M_Attribute implements ImmutablePOSupport
/** /**
* Set Attribute Instance * Set Attribute Instance
* @param value string value
* @param M_AttributeSetInstance_ID id * @param M_AttributeSetInstance_ID id
* @param value string value
*/ */
public void setMAttributeInstance (int M_AttributeSetInstance_ID, String value) public void setMAttributeInstance (int M_AttributeSetInstance_ID, String value)
{ {
@ -255,8 +256,8 @@ public class MAttribute extends X_M_Attribute implements ImmutablePOSupport
/** /**
* Set Attribute Instance * Set Attribute Instance
* @param value number value
* @param M_AttributeSetInstance_ID id * @param M_AttributeSetInstance_ID id
* @param value number value
*/ */
public void setMAttributeInstance (int M_AttributeSetInstance_ID, BigDecimal value) public void setMAttributeInstance (int M_AttributeSetInstance_ID, BigDecimal value)
{ {
@ -270,21 +271,43 @@ public class MAttribute extends X_M_Attribute implements ImmutablePOSupport
} // setAttributeInstance } // setAttributeInstance
/** /**
* Set Attribute Instance * Set Attribute Instance
* * @param M_AttributeSetInstance_ID id
* @param valueInt Integer value * @param value int
* @param M_AttributeSetInstance_ID id
* @param value
*/ */
public void setMAttributeInstance(int M_AttributeSetInstance_ID, int valueInt, String value) public void setMAttributeInstance (int M_AttributeSetInstance_ID, int value)
{ {
MAttributeInstance instance = getMAttributeInstance(M_AttributeSetInstance_ID); MAttributeInstance instance = getMAttributeInstance(M_AttributeSetInstance_ID);
if (instance == null) if (instance == null)
instance = new MAttributeInstance(getCtx(), getM_Attribute_ID(), M_AttributeSetInstance_ID, valueInt, get_TrxName()); instance = new MAttributeInstance (getCtx(), getM_Attribute_ID(),
instance.setValueInt(valueInt, value); M_AttributeSetInstance_ID, value, get_TrxName());
else
instance.setValueInt(value);
instance.saveEx();
} // setAttributeInstance
/**
* Set Attribute Instance
*
* @param M_AttributeSetInstance_ID id
* @param value KeyNamePair
*/
public void setMAttributeInstance(int M_AttributeSetInstance_ID, KeyNamePair value)
{
MAttributeInstance instance = getMAttributeInstance(M_AttributeSetInstance_ID);
if (instance == null)
instance = new MAttributeInstance(getCtx(), getM_Attribute_ID(), M_AttributeSetInstance_ID, value, get_TrxName());
else
instance.setValueKeyNamePair(value);
instance.saveEx(); instance.saveEx();
} // setAttributeInstance } // setAttributeInstance
/**
* Set Attribute Instance
*
* @param M_AttributeSetInstance_ID id
* @param value Timestamp
*/
public void setMAttributeInstance(int M_AttributeSetInstance_ID, Timestamp value) public void setMAttributeInstance(int M_AttributeSetInstance_ID, Timestamp value)
{ {
MAttributeInstance instance = getMAttributeInstance(M_AttributeSetInstance_ID); MAttributeInstance instance = getMAttributeInstance(M_AttributeSetInstance_ID);

View File

@ -23,6 +23,7 @@ import java.text.SimpleDateFormat;
import java.util.Properties; import java.util.Properties;
import org.compiere.util.DisplayType; import org.compiere.util.DisplayType;
import org.compiere.util.KeyNamePair;
/** /**
* Product Attribute Set * Product Attribute Set
@ -52,7 +53,7 @@ public class MAttributeInstance extends X_M_AttributeInstance
} // MAttributeInstance } // MAttributeInstance
/** /**
* Load Cosntructor * Load Constructor
* @param ctx context * @param ctx context
* @param rs result set * @param rs result set
* @param trxName transaction * @param trxName transaction
@ -62,6 +63,21 @@ public class MAttributeInstance extends X_M_AttributeInstance
super(ctx, rs, trxName); super(ctx, rs, trxName);
} // MAttributeInstance } // MAttributeInstance
/**
* General Constructor
*
* @param ctx context
* @param M_Attribute_ID attribute
* @param M_AttributeSetInstance_ID instance
* @param trxName transaction
*/
public MAttributeInstance(Properties ctx, int M_Attribute_ID, int M_AttributeSetInstance_ID, String trxName)
{
super(ctx, 0, trxName);
setM_Attribute_ID(M_Attribute_ID);
setM_AttributeSetInstance_ID(M_AttributeSetInstance_ID);
} // MAttributeInstance
/** /**
* String Value Constructor * String Value Constructor
* @param ctx context * @param ctx context
@ -73,14 +89,12 @@ public class MAttributeInstance extends X_M_AttributeInstance
public MAttributeInstance (Properties ctx, int M_Attribute_ID, public MAttributeInstance (Properties ctx, int M_Attribute_ID,
int M_AttributeSetInstance_ID, String Value, String trxName) int M_AttributeSetInstance_ID, String Value, String trxName)
{ {
super(ctx, 0, trxName); this(ctx, M_Attribute_ID, M_AttributeSetInstance_ID, trxName);
setM_Attribute_ID (M_Attribute_ID);
setM_AttributeSetInstance_ID (M_AttributeSetInstance_ID);
setValue (Value); setValue (Value);
} // MAttributeInstance } // MAttributeInstance
/** /**
* Number Value Constructior * Number Value Constructor
* @param ctx context * @param ctx context
* @param M_Attribute_ID attribute * @param M_Attribute_ID attribute
* @param M_AttributeSetInstance_ID instance * @param M_AttributeSetInstance_ID instance
@ -90,9 +104,7 @@ public class MAttributeInstance extends X_M_AttributeInstance
public MAttributeInstance (Properties ctx, int M_Attribute_ID, public MAttributeInstance (Properties ctx, int M_Attribute_ID,
int M_AttributeSetInstance_ID, BigDecimal BDValue, String trxName) int M_AttributeSetInstance_ID, BigDecimal BDValue, String trxName)
{ {
super(ctx, 0, trxName); this(ctx, M_Attribute_ID, M_AttributeSetInstance_ID, trxName);
setM_Attribute_ID (M_Attribute_ID);
setM_AttributeSetInstance_ID (M_AttributeSetInstance_ID);
setValueNumber(BDValue); setValueNumber(BDValue);
} // MAttributeInstance } // MAttributeInstance
@ -108,32 +120,56 @@ public class MAttributeInstance extends X_M_AttributeInstance
public MAttributeInstance(Properties ctx, int M_Attribute_ID, int M_AttributeSetInstance_ID, public MAttributeInstance(Properties ctx, int M_Attribute_ID, int M_AttributeSetInstance_ID,
int M_AttributeValue_ID, String Value, String trxName) int M_AttributeValue_ID, String Value, String trxName)
{ {
super(ctx, 0, trxName); this(ctx, M_Attribute_ID, M_AttributeSetInstance_ID, trxName);
setM_Attribute_ID(M_Attribute_ID);
setM_AttributeSetInstance_ID(M_AttributeSetInstance_ID);
setM_AttributeValue_ID(M_AttributeValue_ID); setM_AttributeValue_ID(M_AttributeValue_ID);
setValue(Value); setValue(Value);
} // MAttributeInstance } // MAttributeInstance
/**
* Integer Value Constructor
* @param ctx
* @param M_Attribute_ID
* @param M_AttributeSetInstance_ID
* @param Value
* @param trxName
*/
public MAttributeInstance (Properties ctx, int M_Attribute_ID, public MAttributeInstance (Properties ctx, int M_Attribute_ID,
int M_AttributeSetInstance_ID, int Value, String trxName) int M_AttributeSetInstance_ID, int Value, String trxName)
{ {
super(ctx, 0, trxName); this(ctx, M_Attribute_ID, M_AttributeSetInstance_ID, trxName);
setM_Attribute_ID (M_Attribute_ID);
setM_AttributeSetInstance_ID (M_AttributeSetInstance_ID);
setValueNumber(BigDecimal.valueOf(Value)); setValueNumber(BigDecimal.valueOf(Value));
} // MAttributeInstance } // MAttributeInstance
public MAttributeInstance(Properties ctx, int m_Attribute_ID, int m_AttributeSetInstance_ID, Timestamp value, /**
* TimeStamp Value Constructor
* @param ctx
* @param M_Attribute_ID
* @param M_AttributeSetInstance_ID
* @param value
* @param trxName
*/
public MAttributeInstance(Properties ctx, int M_Attribute_ID, int M_AttributeSetInstance_ID, Timestamp value,
String trxName) String trxName)
{ {
super(ctx, 0, trxName); this(ctx, M_Attribute_ID, M_AttributeSetInstance_ID, trxName);
setM_Attribute_ID(m_Attribute_ID);
setM_AttributeSetInstance_ID(m_AttributeSetInstance_ID);
setValueDate(value); setValueDate(value);
} // MAttributeInstance } // MAttributeInstance
/**
* KeyNamePair Value Constructor
* Use for table direct or table type reference
* @param ctx
* @param M_Attribute_ID
* @param M_AttributeSetInstance_ID
* @param value
* @param trxName
*/
public MAttributeInstance(Properties ctx, int M_Attribute_ID, int M_AttributeSetInstance_ID, KeyNamePair value, String trxName)
{
this(ctx, M_Attribute_ID, M_AttributeSetInstance_ID, trxName);
setValueKeyNamePair(value);
} // MAttributeInstance
/** /**
* Set ValueNumber * Set ValueNumber
* @param ValueNumber number * @param ValueNumber number
@ -213,11 +249,10 @@ public class MAttributeInstance extends X_M_AttributeInstance
* @param valueInt * @param valueInt
* @param value * @param value
*/ */
public void setValueInt(int valueInt, String value) public void setValueInt(int valueInt)
{ {
super.setValueNumber(BigDecimal.valueOf(valueInt)); super.setValueNumber(BigDecimal.valueOf(valueInt));
if (value == null) String value = String.valueOf(valueInt);
value = String.valueOf(valueInt);
setValue(value); setValue(value);
} // setValueInt } // setValueInt
@ -234,6 +269,17 @@ public class MAttributeInstance extends X_M_AttributeInstance
return super.getValueNumber().intValue(); return super.getValueNumber().intValue();
} // getValueInt } // getValueInt
/**
* Set Value as keyNamePair
* @param value
*/
public void setValueKeyNamePair(KeyNamePair value)
{
super.setValueNumber(BigDecimal.valueOf(value.getKey()));
setValue(value.getName());
} // setValueKeyNamePair
/** /**
* String Representation * String Representation
* @return info * @return info

View File

@ -1160,7 +1160,7 @@ public class WPAttributeDialog extends Window implements EventListener<Event>
if (attributes.isMandatory() && value == null) if (attributes.isMandatory() && value == null)
mandatory += " - " + attributes.getName(); mandatory += " - " + attributes.getName();
if (displayType == DisplayType.Integer) if (displayType == DisplayType.Integer)
attributes.setMAttributeInstance(m_M_AttributeSetInstance_ID, value == null ? 0 : ((Number) value).intValue(), null); attributes.setMAttributeInstance(m_M_AttributeSetInstance_ID, (int)(value == null ? 0 : ((Number) value).intValue()));
else else
attributes.setMAttributeInstance(m_M_AttributeSetInstance_ID, (BigDecimal) value); attributes.setMAttributeInstance(m_M_AttributeSetInstance_ID, (BigDecimal) value);
} }
@ -1176,16 +1176,16 @@ public class WPAttributeDialog extends Window implements EventListener<Event>
if (attributes.isMandatory() && value == null) if (attributes.isMandatory() && value == null)
mandatory += " - " + attributes.getName(); mandatory += " - " + attributes.getName();
String valueLable = null; String valueLabel = null;
if (displayType == DisplayType.TableDir if (displayType == DisplayType.TableDir
|| displayType == DisplayType.Table || displayType == DisplayType.Table
|| displayType == DisplayType.Search || displayType == DisplayType.Search
|| displayType == DisplayType.Account) || displayType == DisplayType.Account)
{ {
valueLable = editor.getDisplay(); valueLabel = editor.getDisplay();
} }
attributes.setMAttributeInstance(m_M_AttributeSetInstance_ID, value == null ? 0 : value.intValue(), valueLable); attributes.setMAttributeInstance(m_M_AttributeSetInstance_ID, new KeyNamePair(value == null ? 0 : value.intValue(), valueLabel));
} }
else else
{ {