diff --git a/org.adempiere.base/src/org/compiere/model/MBPartnerLocation.java b/org.adempiere.base/src/org/compiere/model/MBPartnerLocation.java
index 62b0a90ab5..07f54b9b06 100644
--- a/org.adempiere.base/src/org/compiere/model/MBPartnerLocation.java
+++ b/org.adempiere.base/src/org/compiere/model/MBPartnerLocation.java
@@ -20,18 +20,18 @@ import java.sql.ResultSet;
import java.util.List;
import java.util.Properties;
-
/**
- * Partner Location Model
- *
- * @author Jorg Janke
- * @version $Id: MBPartnerLocation.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
- * @author Teo Sarca, www.arhipac.ro
- *
FR [ 2788465 ] MBPartnerLocation.getForBPartner method add trxName
- * https://sourceforge.net/tracker/index.php?func=detail&aid=2788465&group_id=176962&atid=879335
+ * Partner Location Model
+ *
+ * @author Jorg Janke
+ * @version $Id: MBPartnerLocation.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
+ * @author Teo Sarca, www.arhipac.ro FR [ 2788465 ]
+ * MBPartnerLocation.getForBPartner method add trxName
+ * https://sourceforge
+ * .net/tracker/index.php?func=detail&aid=2788465&group_id
+ * =176962&atid=879335
*/
-public class MBPartnerLocation extends X_C_BPartner_Location
-{
+public class MBPartnerLocation extends X_C_BPartner_Location {
/**
*
*/
@@ -39,148 +39,216 @@ public class MBPartnerLocation extends X_C_BPartner_Location
/**
* Get Locations for BPartner
- * @param ctx context
- * @param C_BPartner_ID bp
+ *
+ * @param ctx
+ * context
+ * @param C_BPartner_ID
+ * bp
* @return array of locations
- * @deprecated Since 3.5.3a. Please use {@link #getForBPartner(Properties, int, String)}.
+ * @deprecated Since 3.5.3a. Please use
+ * {@link #getForBPartner(Properties, int, String)}.
*/
- public static MBPartnerLocation[] getForBPartner (Properties ctx, int C_BPartner_ID)
- {
+ public static MBPartnerLocation[] getForBPartner(Properties ctx,
+ int C_BPartner_ID) {
return getForBPartner(ctx, C_BPartner_ID, null);
}
-
+
/**
* Get Locations for BPartner
- * @param ctx context
- * @param C_BPartner_ID bp
+ *
+ * @param ctx
+ * context
+ * @param C_BPartner_ID
+ * bp
* @param trxName
* @return array of locations
*/
- public static MBPartnerLocation[] getForBPartner (Properties ctx, int C_BPartner_ID, String trxName)
- {
- List list = new Query(ctx, Table_Name, "C_BPartner_ID=?", trxName)
- .setParameters(C_BPartner_ID)
- .list();
- MBPartnerLocation[] retValue = new MBPartnerLocation[list.size ()];
- list.toArray (retValue);
+ public static MBPartnerLocation[] getForBPartner(Properties ctx,
+ int C_BPartner_ID, String trxName) {
+ List list = new Query(ctx, Table_Name,
+ "C_BPartner_ID=?", trxName).setParameters(C_BPartner_ID).list();
+ MBPartnerLocation[] retValue = new MBPartnerLocation[list.size()];
+ list.toArray(retValue);
return retValue;
- } // getForBPartner
-
+ } // getForBPartner
+
/**************************************************************************
- * Default Constructor
- * @param ctx context
- * @param C_BPartner_Location_ID id
- * @param trxName transaction
+ * Default Constructor
+ *
+ * @param ctx
+ * context
+ * @param C_BPartner_Location_ID
+ * id
+ * @param trxName
+ * transaction
*/
- public MBPartnerLocation (Properties ctx, int C_BPartner_Location_ID, String trxName)
- {
- super (ctx, C_BPartner_Location_ID, trxName);
- if (C_BPartner_Location_ID == 0)
- {
- setName (".");
+ public MBPartnerLocation(Properties ctx, int C_BPartner_Location_ID,
+ String trxName) {
+ super(ctx, C_BPartner_Location_ID, trxName);
+ if (C_BPartner_Location_ID == 0) {
+ setName(".");
//
- setIsShipTo (true);
- setIsRemitTo (true);
- setIsPayFrom (true);
- setIsBillTo (true);
+ setIsShipTo(true);
+ setIsRemitTo(true);
+ setIsPayFrom(true);
+ setIsBillTo(true);
}
- } // MBPartner_Location
+ } // MBPartner_Location
/**
- * BP Parent Constructor
- * @param bp partner
+ * BP Parent Constructor
+ *
+ * @param bp
+ * partner
*/
- public MBPartnerLocation (MBPartner bp)
- {
- this (bp.getCtx(), 0, bp.get_TrxName());
+ public MBPartnerLocation(MBPartner bp) {
+ this(bp.getCtx(), 0, bp.get_TrxName());
setClientOrg(bp);
- // may (still) be 0
- set_ValueNoCheck ("C_BPartner_ID", new Integer(bp.getC_BPartner_ID()));
- } // MBPartner_Location
+ // may (still) be 0
+ set_ValueNoCheck("C_BPartner_ID", new Integer(bp.getC_BPartner_ID()));
+ } // MBPartner_Location
/**
- * Constructor from ResultSet row
- * @param ctx context
- * @param rs current row of result set to be loaded
- * @param trxName transaction
+ * Constructor from ResultSet row
+ *
+ * @param ctx
+ * context
+ * @param rs
+ * current row of result set to be loaded
+ * @param trxName
+ * transaction
*/
- public MBPartnerLocation (Properties ctx, ResultSet rs, String trxName)
- {
+ public MBPartnerLocation(Properties ctx, ResultSet rs, String trxName) {
super(ctx, rs, trxName);
- } // MBPartner_Location
+ } // MBPartner_Location
+
+ /** Cached Location */
+ private MLocation m_location = null;
+ /** Unique Name */
+ private String m_uniqueName = null;
+ private int m_unique = 0;
- /** Cached Location */
- private MLocation m_location = null;
- /** Unique Name */
- private String m_uniqueName = null;
- private int m_unique = 0;
-
/**
- * Get Location/Address
- * @param requery requery
- * @return location
+ * Get Location/Address
+ *
+ * @param requery
+ * requery
+ * @return location
*/
- public MLocation getLocation (boolean requery)
- {
+ public MLocation getLocation(boolean requery) {
if (m_location == null)
- m_location = MLocation.get (getCtx(), getC_Location_ID(), get_TrxName());
+ m_location = MLocation.get(getCtx(), getC_Location_ID(),
+ get_TrxName());
return m_location;
- } // getLoaction
+ } // getLoaction
/**
- * String Representation
- * @return info
+ * String Representation
+ *
+ * @return info
*/
- public String toString ()
- {
- StringBuffer sb = new StringBuffer ("MBPartner_Location[ID=")
- .append(get_ID())
- .append(",C_Location_ID=").append(getC_Location_ID())
- .append(",Name=").append(getName())
- .append ("]");
- return sb.toString ();
- } // toString
+ public String toString() {
+ StringBuffer sb = new StringBuffer("MBPartner_Location[ID=")
+ .append(get_ID()).append(",C_Location_ID=")
+ .append(getC_Location_ID()).append(",Name=").append(getName())
+ .append("]");
+ return sb.toString();
+ } // toString
-
/**************************************************************************
- * Before Save.
- * - Set Name
- * @param newRecord new
- * @return save
+ * Before Save. - Set Name
+ *
+ * @param newRecord
+ * new
+ * @return save
*/
- protected boolean beforeSave (boolean newRecord)
- {
+ protected boolean beforeSave(boolean newRecord) {
if (getC_Location_ID() == 0)
return false;
- // Set New Name
+ // Set New Name
if (!newRecord)
return true;
MLocation address = getLocation(true);
+ setName(getBPLocName(address));
+ return true;
+ } // beforeSave
+
+ /**
+ * Make name Unique
+ *
+ * @param address
+ * address
+ */
+ private void makeUnique(MLocation address) {
+ m_uniqueName = "";
+
+ // 0 - City
+ if (m_unique >= 0 || m_uniqueName.length() == 0) {
+ String xx = address.getCity();
+ if (xx != null && xx.length() > 0)
+ m_uniqueName = xx;
+ }
+ // 1 + Address1
+ if (m_unique >= 1 || m_uniqueName.length() == 0) {
+ String xx = address.getAddress1();
+ if (xx != null && xx.length() > 0) {
+ if (m_uniqueName.length() > 0)
+ m_uniqueName += " ";
+ m_uniqueName += xx;
+ }
+ }
+ // 2 + Address2
+ if (m_unique >= 2 || m_uniqueName.length() == 0) {
+ String xx = address.getAddress2();
+ if (xx != null && xx.length() > 0) {
+ if (m_uniqueName.length() > 0)
+ m_uniqueName += " ";
+ m_uniqueName += xx;
+ }
+ }
+ // 3 - Region
+ if (m_unique >= 3 || m_uniqueName.length() == 0) {
+ String xx = address.getRegionName(true);
+ if (xx != null && xx.length() > 0) {
+ if (m_uniqueName.length() > 0)
+ m_uniqueName += " ";
+ m_uniqueName += xx;
+ }
+ }
+ // 4 - ID
+ if (m_unique >= 4 || m_uniqueName.length() == 0) {
+ int id = get_ID();
+ if (id == 0)
+ id = address.get_ID();
+ m_uniqueName += "#" + id;
+ }
+ } // makeUnique
+
+ public String getBPLocName(MLocation address) {
m_uniqueName = getName();
- m_unique = MSysConfig.getIntValue(MSysConfig.START_VALUE_BPLOCATION_NAME, 0, getAD_Client_ID(), getAD_Org_ID());
+ m_unique = MSysConfig.getIntValue("START_VALUE_BPLOCATION_NAME", 0,
+ getAD_Client_ID(), getAD_Org_ID());
if (m_unique < 0 || m_unique > 4)
m_unique = 0;
- if (m_uniqueName != null && m_uniqueName.equals(".")) {
- // default
+ if (m_uniqueName != null) { // && m_uniqueName.equals(".")) {
+ // default
m_uniqueName = null;
makeUnique(address);
}
-
- // Check uniqueness
- MBPartnerLocation[] locations = getForBPartner(getCtx(), getC_BPartner_ID());
+
+ // Check uniqueness
+ MBPartnerLocation[] locations = getForBPartner(getCtx(),
+ getC_BPartner_ID());
boolean unique = locations.length == 0;
- while (!unique)
- {
+ while (!unique) {
unique = true;
- for (int i = 0; i < locations.length; i++)
- {
+ for (int i = 0; i < locations.length; i++) {
MBPartnerLocation location = locations[i];
if (location.getC_BPartner_Location_ID() == get_ID())
continue;
- if (m_uniqueName.equals(location.getName()))
- {
- //m_uniqueName = null;
+ if (m_uniqueName.equals(location.getName())) {
+ // m_uniqueName = null;
m_unique++;
makeUnique(address);
unique = false;
@@ -188,67 +256,7 @@ public class MBPartnerLocation extends X_C_BPartner_Location
}
}
}
- setName (m_uniqueName);
- return true;
- } // beforeSave
-
- /**
- * Make name Unique
- * @param address address
- */
- private void makeUnique (MLocation address)
- {
-
- m_uniqueName = "";
+ return m_uniqueName;
+ }
- // 0 - City
- if (m_unique >= 0 || m_uniqueName.length() == 0)
- {
- String xx = address.getCity();
- if (xx != null && xx.length() > 0)
- m_uniqueName = xx;
- }
- // 1 + Address1
- if (m_unique >= 1 || m_uniqueName.length() == 0)
- {
- String xx = address.getAddress1();
- if (xx != null && xx.length() > 0)
- {
- if (m_uniqueName.length() > 0)
- m_uniqueName += " ";
- m_uniqueName += xx;
- }
- }
- // 2 + Address2
- if (m_unique >= 2 || m_uniqueName.length() == 0)
- {
- String xx = address.getAddress2();
- if (xx != null && xx.length() > 0)
- {
- if (m_uniqueName.length() > 0)
- m_uniqueName += " ";
- m_uniqueName += xx;
- }
- }
- // 3 - Region
- if (m_unique >= 3 || m_uniqueName.length() == 0)
- {
- String xx = address.getRegionName(true);
- if (xx != null && xx.length() > 0)
- {
- if (m_uniqueName.length() > 0)
- m_uniqueName += " ";
- m_uniqueName += xx;
- }
- }
- // 4 - ID
- if (m_unique >= 4 || m_uniqueName.length() == 0)
- {
- int id = get_ID();
- if (id == 0)
- id = address.get_ID();
- m_uniqueName += "#" + id;
- }
- } // makeUnique
-
-} // MBPartnerLocation
+} // MBPartnerLocation
diff --git a/org.adempiere.base/src/org/compiere/model/MLocation.java b/org.adempiere.base/src/org/compiere/model/MLocation.java
index 78d223b67a..7571b09589 100644
--- a/org.adempiere.base/src/org/compiere/model/MLocation.java
+++ b/org.adempiere.base/src/org/compiere/model/MLocation.java
@@ -654,6 +654,15 @@ public class MLocation extends X_C_Location implements Comparator