From b8681be543066a35c80097c2c1b20b7b6e6235bd Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 22 Jun 2007 13:39:16 +0000 Subject: [PATCH] Revert revisions 2726 to 2729. Comments on tracker http://sourceforge.net/tracker/index.php?func=detail&aid=1741222&group_id=176962&atid=879335 --- .../interfaces/PostcodeInterface.java | 59 ----- .../interfaces/PostcodeLookupInterface.java | 43 ---- base/src/org/adempiere/model/Postcode.java | 167 -------------- .../org/compiere/grid/ed/VLocationDialog.java | 204 +----------------- .../postgresql/012_postcode_lookup.sql | 28 --- 5 files changed, 5 insertions(+), 496 deletions(-) delete mode 100644 base/src/org/adempiere/interfaces/PostcodeInterface.java delete mode 100644 base/src/org/adempiere/interfaces/PostcodeLookupInterface.java delete mode 100644 base/src/org/adempiere/model/Postcode.java delete mode 100644 migration/320-trunk/postgresql/012_postcode_lookup.sql diff --git a/base/src/org/adempiere/interfaces/PostcodeInterface.java b/base/src/org/adempiere/interfaces/PostcodeInterface.java deleted file mode 100644 index fd790f9885..0000000000 --- a/base/src/org/adempiere/interfaces/PostcodeInterface.java +++ /dev/null @@ -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); -} \ No newline at end of file diff --git a/base/src/org/adempiere/interfaces/PostcodeLookupInterface.java b/base/src/org/adempiere/interfaces/PostcodeLookupInterface.java deleted file mode 100644 index 266b1c37ad..0000000000 --- a/base/src/org/adempiere/interfaces/PostcodeLookupInterface.java +++ /dev/null @@ -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 getPostCodeData(); - public PostcodeLookupInterface newInstance(); -} diff --git a/base/src/org/adempiere/model/Postcode.java b/base/src/org/adempiere/model/Postcode.java deleted file mode 100644 index d277e4ad07..0000000000 --- a/base/src/org/adempiere/model/Postcode.java +++ /dev/null @@ -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; - } - -} diff --git a/client/src/org/compiere/grid/ed/VLocationDialog.java b/client/src/org/compiere/grid/ed/VLocationDialog.java index 560caa373d..6fbb22f7d8 100644 --- a/client/src/org/compiere/grid/ed/VLocationDialog.java +++ b/client/src/org/compiere/grid/ed/VLocationDialog.java @@ -26,9 +26,6 @@ import org.compiere.model.*; import org.compiere.swing.*; import org.compiere.util.*; -import org.adempiere.interfaces.*; -import org.adempiere.model.*; - /** * Dialog to enter Location Info (Address) * @@ -38,15 +35,6 @@ import org.adempiere.model.*; public class VLocationDialog extends CDialog implements ActionListener { - - /** Lookup result */ - //private Object[][] data = null; - - /** Lookup result header */ - private Object[] header = null; - - //private int m_WindowNo = 0; - /** * Constructor * @@ -54,10 +42,9 @@ public class VLocationDialog extends CDialog * @param title title (field name) * @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); - //m_WindowNo = WindowNo; try { jbInit(); @@ -74,6 +61,7 @@ public class VLocationDialog extends CDialog setTitle(Msg.getMsg(Env.getCtx(), "LocationNew")); else setTitle(Msg.getMsg(Env.getCtx(), "LocationUpdate")); + // Current Country MCountry.setDisplayLanguage(Env.getAD_Language(Env.getCtx())); @@ -88,10 +76,7 @@ public class VLocationDialog extends CDialog // initLocation(); fCountry.addActionListener(this); - fOnline.addActionListener(this); AEnv.positionCenterWindow(frame, this); - - } // VLocationDialog 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 lPostal = new CLabel(Msg.getMsg(Env.getCtx(), "Postal")); 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 fAddress2 = 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 CTextField fPostal = new CTextField(5); // length=10 private CTextField fPostalAdd = new CTextField(5); // length=10 - private CButton fOnline = new CButton(); // private GridBagConstraints gbc = new GridBagConstraints(); 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()) addLine(line++, lRegion, fRegion); } - - - addLine(line++, lOnline, fOnline); - // Country Last addLine(line++, lCountry, fCountry); @@ -225,19 +204,11 @@ public class VLocationDialog extends CDialog fCity.setText(m_location.getCity()); fPostal.setText(m_location.getPostal()); fPostalAdd.setText(m_location.getPostal_Add()); - fOnline.setText(Msg.getMsg(Env.getCtx(), "Online")); if (m_location.getCountry().isHasRegion()) { lRegion.setText(m_location.getCountry().getRegionName()); 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); } // Update UI @@ -266,9 +237,7 @@ public class VLocationDialog extends CDialog gbc.gridx = 1; gbc.weightx = 1.0; gbc.fill = GridBagConstraints.NONE; - gbc.insets = fieldInsets; mainPanel.add(field, gbc); - } // addLine @@ -296,39 +265,11 @@ public class VLocationDialog extends CDialog // Modifier for Mouse selection is 16 - for any key selection 0 MCountry c = (MCountry)fCountry.getSelectedItem(); m_location.setCountry(c); - - // 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 + // refrseh mainPanel.removeAll(); - initLocation(); 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 /** @@ -353,7 +294,7 @@ public class VLocationDialog extends CDialog } else m_location.setC_Region_ID(0); - // Save changes + // Save chnages m_location.save(); } // actionOK @@ -374,140 +315,5 @@ public class VLocationDialog extends CDialog { return m_location; } // 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 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 pcodeKeys = postcodeData.keySet(); - Iterator 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 diff --git a/migration/320-trunk/postgresql/012_postcode_lookup.sql b/migration/320-trunk/postgresql/012_postcode_lookup.sql deleted file mode 100644 index 9b5776f09b..0000000000 --- a/migration/320-trunk/postgresql/012_postcode_lookup.sql +++ /dev/null @@ -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; \ No newline at end of file