Revert revisions 2726 to 2729.
Comments on tracker http://sourceforge.net/tracker/index.php?func=detail&aid=1741222&group_id=176962&atid=879335
This commit is contained in:
parent
cd7a34ac53
commit
b8681be543
|
@ -1,59 +0,0 @@
|
||||||
/**********************************************************************
|
|
||||||
* This file is part of Adempiere ERP Bazaar *
|
|
||||||
* http://www.adempiere.org *
|
|
||||||
* *
|
|
||||||
* Copyright (C) Akuna Ltd. *
|
|
||||||
* Copyright (C) Contributors *
|
|
||||||
* *
|
|
||||||
* This program is free software; you can redistribute it and/or *
|
|
||||||
* modify it under the terms of the GNU General Public License *
|
|
||||||
* as published by the Free Software Foundation; either version 2 *
|
|
||||||
* of the License, or (at your option) any later version. *
|
|
||||||
* *
|
|
||||||
* This program is distributed in the hope that it will be useful, *
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
||||||
* GNU General Public License for more details. *
|
|
||||||
* *
|
|
||||||
* You should have received a copy of the GNU General Public License *
|
|
||||||
* along with this program; if not, write to the Free Software *
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
|
|
||||||
* MA 02110-1301, USA. *
|
|
||||||
* *
|
|
||||||
* Contributors: *
|
|
||||||
* - Michael Judd (mjudd@users.sf.net) *
|
|
||||||
**********************************************************************/
|
|
||||||
package org.adempiere.interfaces;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interfce for Postcode Lookup Web Service.
|
|
||||||
* http://sourceforge.net/tracker/index.php?func=detail&aid=1741222&group_id=176962&atid=879335
|
|
||||||
* The Postcode Structure
|
|
||||||
*/
|
|
||||||
public interface PostcodeInterface
|
|
||||||
{
|
|
||||||
public int size();
|
|
||||||
|
|
||||||
|
|
||||||
public String getAddr();
|
|
||||||
public void setAddr(String newAddr);
|
|
||||||
public String getStreet1();
|
|
||||||
public void setStreet1(String newStreet1);
|
|
||||||
public String getStreet2();
|
|
||||||
public void setStreet2(String newStreet2);
|
|
||||||
public String getStreet3();
|
|
||||||
public void setStreet3(String newStreet3);
|
|
||||||
public String getStreet4();
|
|
||||||
public void setStreet4(String newStreet4);
|
|
||||||
public String getCity();
|
|
||||||
public void setCity(String newCity);
|
|
||||||
public String getRegion();
|
|
||||||
public void setRegion(String newRegion);
|
|
||||||
public String getPostcode();
|
|
||||||
public void setPostcode(String newPostcode);
|
|
||||||
public String getCountry();
|
|
||||||
public void setCountry(String newCountry);
|
|
||||||
public String getCountryCode();
|
|
||||||
public void setCountryCode(String newCountryCode);
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
/**********************************************************************
|
|
||||||
* This file is part of Adempiere ERP Bazaar *
|
|
||||||
* http://www.adempiere.org *
|
|
||||||
* *
|
|
||||||
* Copyright (C) Akuna Ltd. *
|
|
||||||
* Copyright (C) Contributors *
|
|
||||||
* *
|
|
||||||
* This program is free software; you can redistribute it and/or *
|
|
||||||
* modify it under the terms of the GNU General Public License *
|
|
||||||
* as published by the Free Software Foundation; either version 2 *
|
|
||||||
* of the License, or (at your option) any later version. *
|
|
||||||
* *
|
|
||||||
* This program is distributed in the hope that it will be useful, *
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
||||||
* GNU General Public License for more details. *
|
|
||||||
* *
|
|
||||||
* You should have received a copy of the GNU General Public License *
|
|
||||||
* along with this program; if not, write to the Free Software *
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
|
|
||||||
* MA 02110-1301, USA. *
|
|
||||||
* *
|
|
||||||
* Contributors: *
|
|
||||||
* - Michael Judd (mjudd@users.sf.net) *
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
package org.adempiere.interfaces;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interfce for Postcode Lookup Web Service.
|
|
||||||
* http://sourceforge.net/tracker/index.php?func=detail&aid=1741222&group_id=176962&atid=879335
|
|
||||||
* The Postcode lookup class interface
|
|
||||||
*/
|
|
||||||
public interface PostcodeLookupInterface {
|
|
||||||
public int lookupPostcode(String postcode);
|
|
||||||
public void setPassword(String password);
|
|
||||||
public void setClientID(String clientID);
|
|
||||||
public void setServerUrl(String serverUrl);
|
|
||||||
public HashMap<String, Object> getPostCodeData();
|
|
||||||
public PostcodeLookupInterface newInstance();
|
|
||||||
}
|
|
|
@ -1,167 +0,0 @@
|
||||||
/**********************************************************************
|
|
||||||
* This file is part of Adempiere ERP Bazaar *
|
|
||||||
* http://www.adempiere.org *
|
|
||||||
* *
|
|
||||||
* Copyright (C) Akuna Group Ltd. *
|
|
||||||
* Copyright (C) Contributors *
|
|
||||||
* *
|
|
||||||
* This program is free software; you can redistribute it and/or *
|
|
||||||
* modify it under the terms of the GNU General Public License *
|
|
||||||
* as published by the Free Software Foundation; either version 2 *
|
|
||||||
* of the License, or (at your option) any later version. *
|
|
||||||
* *
|
|
||||||
* This program is distributed in the hope that it will be useful, *
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
||||||
* GNU General Public License for more details. *
|
|
||||||
* *
|
|
||||||
* You should have received a copy of the GNU General Public License *
|
|
||||||
* along with this program; if not, write to the Free Software *
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
|
|
||||||
* MA 02110-1301, USA. *
|
|
||||||
* *
|
|
||||||
* Contributors: *
|
|
||||||
* - Michael Judd (mjudd@users.sf.net) *
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
package org.adempiere.model;
|
|
||||||
|
|
||||||
import org.adempiere.interfaces.*;
|
|
||||||
|
|
||||||
public class Postcode implements PostcodeInterface
|
|
||||||
{
|
|
||||||
|
|
||||||
// required implementation by interface
|
|
||||||
private String Street1;
|
|
||||||
private String Street2;
|
|
||||||
private String Street3;
|
|
||||||
private String Street4;
|
|
||||||
private String City;
|
|
||||||
private String Region;
|
|
||||||
private String Postcode;
|
|
||||||
private String Country;
|
|
||||||
|
|
||||||
// UK Postcode specific
|
|
||||||
private String Addr; // Full address in one variable
|
|
||||||
private String CountryCode; // Two Letter ISO Country Code
|
|
||||||
private String TradCounty; // Traditional County (Region)
|
|
||||||
private String LonLocation; // London Location
|
|
||||||
|
|
||||||
public int size()
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getAddr()
|
|
||||||
{
|
|
||||||
return Addr;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAddr(String newAddr)
|
|
||||||
{
|
|
||||||
Addr = newAddr;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getStreet1()
|
|
||||||
{
|
|
||||||
return Street1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStreet1(String newStreet1)
|
|
||||||
{
|
|
||||||
Street1 = newStreet1;
|
|
||||||
}
|
|
||||||
public String getStreet2()
|
|
||||||
{
|
|
||||||
return Street2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStreet2(String newStreet2)
|
|
||||||
{
|
|
||||||
Street2 = newStreet2;
|
|
||||||
}
|
|
||||||
public String getStreet3()
|
|
||||||
{
|
|
||||||
return Street3;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStreet3(String newStreet3)
|
|
||||||
{
|
|
||||||
Street3 = newStreet3;
|
|
||||||
}
|
|
||||||
public String getStreet4()
|
|
||||||
{
|
|
||||||
return Street4;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStreet4(String newStreet4)
|
|
||||||
{
|
|
||||||
Street4 = newStreet4;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCity()
|
|
||||||
{
|
|
||||||
return City;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCity(String newCity)
|
|
||||||
{
|
|
||||||
City = newCity;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRegion()
|
|
||||||
{
|
|
||||||
return Region;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRegion(String newRegion)
|
|
||||||
{
|
|
||||||
Region = newRegion;
|
|
||||||
}
|
|
||||||
public String getPostcode()
|
|
||||||
{
|
|
||||||
return Postcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPostcode(String newPostcode)
|
|
||||||
{
|
|
||||||
Postcode = newPostcode;
|
|
||||||
}
|
|
||||||
public String getCountry()
|
|
||||||
{
|
|
||||||
return Country;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCountry(String newCountry)
|
|
||||||
{
|
|
||||||
Country = newCountry;
|
|
||||||
}
|
|
||||||
public String getCountryCode()
|
|
||||||
{
|
|
||||||
return CountryCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCountryCode(String newCountryCode)
|
|
||||||
{
|
|
||||||
CountryCode = newCountryCode;
|
|
||||||
}
|
|
||||||
public String getTradCounty()
|
|
||||||
{
|
|
||||||
return TradCounty;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTradCounty(String newTradCounty)
|
|
||||||
{
|
|
||||||
TradCounty = newTradCounty;
|
|
||||||
}
|
|
||||||
public String getLonLocation()
|
|
||||||
{
|
|
||||||
return LonLocation;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLonLocation(String newLonLocation)
|
|
||||||
{
|
|
||||||
LonLocation = newLonLocation;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -26,9 +26,6 @@ import org.compiere.model.*;
|
||||||
import org.compiere.swing.*;
|
import org.compiere.swing.*;
|
||||||
import org.compiere.util.*;
|
import org.compiere.util.*;
|
||||||
|
|
||||||
import org.adempiere.interfaces.*;
|
|
||||||
import org.adempiere.model.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dialog to enter Location Info (Address)
|
* Dialog to enter Location Info (Address)
|
||||||
*
|
*
|
||||||
|
@ -38,15 +35,6 @@ import org.adempiere.model.*;
|
||||||
public class VLocationDialog extends CDialog
|
public class VLocationDialog extends CDialog
|
||||||
implements ActionListener
|
implements ActionListener
|
||||||
{
|
{
|
||||||
|
|
||||||
/** Lookup result */
|
|
||||||
//private Object[][] data = null;
|
|
||||||
|
|
||||||
/** Lookup result header */
|
|
||||||
private Object[] header = null;
|
|
||||||
|
|
||||||
//private int m_WindowNo = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
|
@ -54,10 +42,9 @@ public class VLocationDialog extends CDialog
|
||||||
* @param title title (field name)
|
* @param title title (field name)
|
||||||
* @param location Model Location
|
* @param location Model Location
|
||||||
*/
|
*/
|
||||||
public VLocationDialog (Frame frame, String title, MLocation location, int WindowNo)
|
public VLocationDialog (Frame frame, String title, MLocation location)
|
||||||
{
|
{
|
||||||
super(frame, title, true);
|
super(frame, title, true);
|
||||||
//m_WindowNo = WindowNo;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
jbInit();
|
jbInit();
|
||||||
|
@ -74,6 +61,7 @@ public class VLocationDialog extends CDialog
|
||||||
setTitle(Msg.getMsg(Env.getCtx(), "LocationNew"));
|
setTitle(Msg.getMsg(Env.getCtx(), "LocationNew"));
|
||||||
else
|
else
|
||||||
setTitle(Msg.getMsg(Env.getCtx(), "LocationUpdate"));
|
setTitle(Msg.getMsg(Env.getCtx(), "LocationUpdate"));
|
||||||
|
|
||||||
|
|
||||||
// Current Country
|
// Current Country
|
||||||
MCountry.setDisplayLanguage(Env.getAD_Language(Env.getCtx()));
|
MCountry.setDisplayLanguage(Env.getAD_Language(Env.getCtx()));
|
||||||
|
@ -88,10 +76,7 @@ public class VLocationDialog extends CDialog
|
||||||
//
|
//
|
||||||
initLocation();
|
initLocation();
|
||||||
fCountry.addActionListener(this);
|
fCountry.addActionListener(this);
|
||||||
fOnline.addActionListener(this);
|
|
||||||
AEnv.positionCenterWindow(frame, this);
|
AEnv.positionCenterWindow(frame, this);
|
||||||
|
|
||||||
|
|
||||||
} // VLocationDialog
|
} // VLocationDialog
|
||||||
|
|
||||||
private boolean m_change = false;
|
private boolean m_change = false;
|
||||||
|
@ -118,7 +103,6 @@ public class VLocationDialog extends CDialog
|
||||||
private CLabel lRegion = new CLabel(Msg.getMsg(Env.getCtx(), "Region"));
|
private CLabel lRegion = new CLabel(Msg.getMsg(Env.getCtx(), "Region"));
|
||||||
private CLabel lPostal = new CLabel(Msg.getMsg(Env.getCtx(), "Postal"));
|
private CLabel lPostal = new CLabel(Msg.getMsg(Env.getCtx(), "Postal"));
|
||||||
private CLabel lPostalAdd = new CLabel(Msg.getMsg(Env.getCtx(), "PostalAdd"));
|
private CLabel lPostalAdd = new CLabel(Msg.getMsg(Env.getCtx(), "PostalAdd"));
|
||||||
private CLabel lOnline = new CLabel(""); // dummy to use addLine without error....
|
|
||||||
private CTextField fAddress1 = new CTextField(20); // length=60
|
private CTextField fAddress1 = new CTextField(20); // length=60
|
||||||
private CTextField fAddress2 = new CTextField(20); // length=60
|
private CTextField fAddress2 = new CTextField(20); // length=60
|
||||||
private CTextField fAddress3 = new CTextField(20); // length=60
|
private CTextField fAddress3 = new CTextField(20); // length=60
|
||||||
|
@ -128,7 +112,6 @@ public class VLocationDialog extends CDialog
|
||||||
private CComboBox fRegion;
|
private CComboBox fRegion;
|
||||||
private CTextField fPostal = new CTextField(5); // length=10
|
private CTextField fPostal = new CTextField(5); // length=10
|
||||||
private CTextField fPostalAdd = new CTextField(5); // length=10
|
private CTextField fPostalAdd = new CTextField(5); // length=10
|
||||||
private CButton fOnline = new CButton();
|
|
||||||
//
|
//
|
||||||
private GridBagConstraints gbc = new GridBagConstraints();
|
private GridBagConstraints gbc = new GridBagConstraints();
|
||||||
private Insets labelInsets = new Insets(2,15,2,0); // top,left,bottom,right
|
private Insets labelInsets = new Insets(2,15,2,0); // top,left,bottom,right
|
||||||
|
@ -208,10 +191,6 @@ public class VLocationDialog extends CDialog
|
||||||
else if (s.startsWith("R") && m_location.getCountry().isHasRegion())
|
else if (s.startsWith("R") && m_location.getCountry().isHasRegion())
|
||||||
addLine(line++, lRegion, fRegion);
|
addLine(line++, lRegion, fRegion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
addLine(line++, lOnline, fOnline);
|
|
||||||
|
|
||||||
// Country Last
|
// Country Last
|
||||||
addLine(line++, lCountry, fCountry);
|
addLine(line++, lCountry, fCountry);
|
||||||
|
|
||||||
|
@ -225,19 +204,11 @@ public class VLocationDialog extends CDialog
|
||||||
fCity.setText(m_location.getCity());
|
fCity.setText(m_location.getCity());
|
||||||
fPostal.setText(m_location.getPostal());
|
fPostal.setText(m_location.getPostal());
|
||||||
fPostalAdd.setText(m_location.getPostal_Add());
|
fPostalAdd.setText(m_location.getPostal_Add());
|
||||||
fOnline.setText(Msg.getMsg(Env.getCtx(), "Online"));
|
|
||||||
if (m_location.getCountry().isHasRegion())
|
if (m_location.getCountry().isHasRegion())
|
||||||
{
|
{
|
||||||
lRegion.setText(m_location.getCountry().getRegionName());
|
lRegion.setText(m_location.getCountry().getRegionName());
|
||||||
fRegion.setSelectedItem(m_location.getRegion());
|
fRegion.setSelectedItem(m_location.getRegion());
|
||||||
}
|
}
|
||||||
|
|
||||||
// disable online if this country doesn't have post code lookup
|
|
||||||
if (m_location.getCountry().isPostcodeLookup())
|
|
||||||
fOnline.setEnabled(true);
|
|
||||||
else
|
|
||||||
fOnline.setEnabled(false);
|
|
||||||
|
|
||||||
fCountry.setSelectedItem(country);
|
fCountry.setSelectedItem(country);
|
||||||
}
|
}
|
||||||
// Update UI
|
// Update UI
|
||||||
|
@ -266,9 +237,7 @@ public class VLocationDialog extends CDialog
|
||||||
gbc.gridx = 1;
|
gbc.gridx = 1;
|
||||||
gbc.weightx = 1.0;
|
gbc.weightx = 1.0;
|
||||||
gbc.fill = GridBagConstraints.NONE;
|
gbc.fill = GridBagConstraints.NONE;
|
||||||
gbc.insets = fieldInsets;
|
|
||||||
mainPanel.add(field, gbc);
|
mainPanel.add(field, gbc);
|
||||||
|
|
||||||
} // addLine
|
} // addLine
|
||||||
|
|
||||||
|
|
||||||
|
@ -296,39 +265,11 @@ public class VLocationDialog extends CDialog
|
||||||
// Modifier for Mouse selection is 16 - for any key selection 0
|
// Modifier for Mouse selection is 16 - for any key selection 0
|
||||||
MCountry c = (MCountry)fCountry.getSelectedItem();
|
MCountry c = (MCountry)fCountry.getSelectedItem();
|
||||||
m_location.setCountry(c);
|
m_location.setCountry(c);
|
||||||
|
// refrseh
|
||||||
// refresh online button for new country
|
|
||||||
if (c.isPostcodeLookup())
|
|
||||||
fOnline.setEnabled(true);
|
|
||||||
else
|
|
||||||
fOnline.setEnabled(false);
|
|
||||||
|
|
||||||
// update the region name if regions are enabled for this country
|
|
||||||
if (c.isHasRegion())
|
|
||||||
{
|
|
||||||
lRegion.setText(c.getRegionName());
|
|
||||||
fRegion.setSelectedItem(m_location.getRegion());
|
|
||||||
|
|
||||||
// force repaint to fix bug that occurs when the new region anme is shorter than the old region name
|
|
||||||
lRegion.removeAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
// refrseh
|
|
||||||
mainPanel.removeAll();
|
mainPanel.removeAll();
|
||||||
|
|
||||||
initLocation();
|
initLocation();
|
||||||
fCountry.requestFocus(); // allows to use Keybord selection
|
fCountry.requestFocus(); // allows to use Keybord selection
|
||||||
}
|
}
|
||||||
else if (e.getSource() == fOnline)
|
|
||||||
{
|
|
||||||
|
|
||||||
// check to see if we have a postcode lookup plugin for this country
|
|
||||||
MCountry c = (MCountry)fCountry.getSelectedItem();
|
|
||||||
if (c.isPostcodeLookup())
|
|
||||||
{
|
|
||||||
lookupPostcode(c, fPostal.getText());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // actionPerformed
|
} // actionPerformed
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -353,7 +294,7 @@ public class VLocationDialog extends CDialog
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m_location.setC_Region_ID(0);
|
m_location.setC_Region_ID(0);
|
||||||
// Save changes
|
// Save chnages
|
||||||
m_location.save();
|
m_location.save();
|
||||||
} // actionOK
|
} // actionOK
|
||||||
|
|
||||||
|
@ -374,140 +315,5 @@ public class VLocationDialog extends CDialog
|
||||||
{
|
{
|
||||||
return m_location;
|
return m_location;
|
||||||
} // getValue
|
} // getValue
|
||||||
/**
|
|
||||||
* lookupPostcode
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param country
|
|
||||||
* @param postcode
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private String lookupPostcode(MCountry country, String postcode)
|
|
||||||
{
|
|
||||||
// Initialise the lookup class.
|
|
||||||
PostcodeLookupInterface pcLookup = null;
|
|
||||||
try {
|
|
||||||
PostcodeLookupInterface pcLookupTmp = (PostcodeLookupInterface) Class
|
|
||||||
.forName(country.getLookupClassName()).newInstance();
|
|
||||||
pcLookup = pcLookupTmp.newInstance();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return "lookupAddress(): " + e.getMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove any spaces from the postcode and convert to upper case
|
|
||||||
postcode = postcode.replaceAll(" ", "").toUpperCase();
|
|
||||||
System.out.println("Looking up postcode: " + postcode);
|
|
||||||
|
|
||||||
// Lookup postcode on server.
|
|
||||||
pcLookup.setServerUrl(country.getLookupUrl());
|
|
||||||
pcLookup.setClientID(country.getLookupClientID());
|
|
||||||
pcLookup.setPassword(country.getLookupPassword());
|
|
||||||
pcLookup.lookupPostcode(postcode);
|
|
||||||
|
|
||||||
|
|
||||||
fillLocation(pcLookup.getPostCodeData(), country);
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Fills the location field using the information retrieved from postcode
|
|
||||||
* servers.
|
|
||||||
*
|
|
||||||
* @param ctx
|
|
||||||
* Context
|
|
||||||
* @param pkeyData
|
|
||||||
* Lookup results
|
|
||||||
* @param windowNo
|
|
||||||
* Window No.
|
|
||||||
* @param tab
|
|
||||||
* Tab
|
|
||||||
* @param field
|
|
||||||
* Field
|
|
||||||
*/
|
|
||||||
private void fillLocation(HashMap<String, Object> postcodeData, MCountry country) {
|
|
||||||
|
|
||||||
// If it's not empty warn the user.
|
|
||||||
if (fAddress1 != null || fAddress2 != null
|
|
||||||
|| fAddress3 != null
|
|
||||||
|| fAddress4 != null || fCity != null) {
|
|
||||||
String warningMsg = "Existing address information will be overwritten. Proceed?";
|
|
||||||
String warningTitle = "Warning";
|
|
||||||
int response = JOptionPane.showConfirmDialog(null, warningMsg,
|
|
||||||
warningTitle, JOptionPane.YES_NO_OPTION);
|
|
||||||
if (response == JOptionPane.NO_OPTION)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Set<String> pcodeKeys = postcodeData.keySet();
|
|
||||||
Iterator<String> iterator = pcodeKeys.iterator();
|
|
||||||
header = null;
|
|
||||||
// data = null;
|
|
||||||
|
|
||||||
// Allocate the header array
|
|
||||||
header = new Object[pcodeKeys.size()];
|
|
||||||
|
|
||||||
String headerStr = null;
|
|
||||||
|
|
||||||
// need to check how many records returned
|
|
||||||
// TODO - check number of records returns - size() method is incorrect
|
|
||||||
if (pcodeKeys.size() > 2)
|
|
||||||
{
|
|
||||||
// TODO: Implement ResultData Grid and get return (for premises level data)
|
|
||||||
System.out.println("Too many postcodes returned from Postcode Lookup - need to Implement ResultData");
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
for (int i = 0; (headerStr = (iterator.hasNext() ? iterator.next() : null)) != null
|
|
||||||
|| iterator.hasNext(); i++) {
|
|
||||||
header[i] = headerStr;
|
|
||||||
Postcode values = (Postcode) postcodeData.get(headerStr);
|
|
||||||
|
|
||||||
// Overwrite the values in location field.
|
|
||||||
fAddress1.setText(values.getStreet1());
|
|
||||||
fCity.setText(values.getCity());
|
|
||||||
fPostal.setText(values.getPostcode());
|
|
||||||
|
|
||||||
// Do region lookup
|
|
||||||
if (country.isHasRegion())
|
|
||||||
{
|
|
||||||
// get all regions for this country
|
|
||||||
MRegion[] regions = MRegion.getRegions(country.getCtx(), country.getC_Country_ID());
|
|
||||||
|
|
||||||
// If regions were loaded
|
|
||||||
if ( regions.length > 0)
|
|
||||||
{
|
|
||||||
// loop through regions array to attempt a region match - don't finish loop if region found
|
|
||||||
boolean found = false;
|
|
||||||
for (i = 0; i < regions.length && !found; i++)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (regions[i].getName().equals(values.getRegion()) )
|
|
||||||
{
|
|
||||||
// found county
|
|
||||||
fRegion.setSelectedItem(regions[i]);
|
|
||||||
System.out.println("Found region: " + regions[i].getName());
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!found)
|
|
||||||
{
|
|
||||||
// add new region
|
|
||||||
MRegion region = new MRegion(country, values.getRegion());
|
|
||||||
if (region.save())
|
|
||||||
{
|
|
||||||
System.out.println("Added new region from web service: " + values.getRegion());
|
|
||||||
fRegion.setSelectedItem(values);
|
|
||||||
} else
|
|
||||||
System.out.println("Error saving new region: " + region.getName());
|
|
||||||
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
System.out.println("Region lookup failed for Country: " + country.getName());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
} // VLocationDialog
|
} // VLocationDialog
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
---
|
|
||||||
-- Feature 1741222 - Add Post code lookup infrastructure
|
|
||||||
-- http://sourceforge.net/tracker/index.php?func=detail&aid=1741222&group_id=176962&atid=879335
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE C_BPARTNER_LOCATION ADD
|
|
||||||
AddressLookup CHAR(1) DEFAULT NULL NULL
|
|
||||||
;
|
|
||||||
|
|
||||||
ALTER TABLE C_COUNTRY ADD
|
|
||||||
IsPostcodeLookup CHAR(1) DEFAULT 'N' NULL
|
|
||||||
;
|
|
||||||
ALTER TABLE C_COUNTRY ADD
|
|
||||||
LookupClassname VARCHAR(255) DEFAULT NULL NULL
|
|
||||||
;
|
|
||||||
ALTER TABLE C_COUNTRY ADD
|
|
||||||
LookupClientID VARCHAR(50) DEFAULT NULL NULL
|
|
||||||
;
|
|
||||||
ALTER TABLE C_COUNTRY ADD
|
|
||||||
LookupPassword VARCHAR(50) DEFAULT NULL NULL
|
|
||||||
;
|
|
||||||
ALTER TABLE C_COUNTRY ADD
|
|
||||||
LookupUrl VARCHAR(100) DEFAULT NULL NULL
|
|
||||||
;
|
|
||||||
|
|
||||||
ALTER TABLE C_COUNTRY ADD CHECK (IsPostcodeLookup IN ('Y','N'));
|
|
||||||
COMMIT;
|
|
Loading…
Reference in New Issue