Quick question: why is this going into the release branch? More to the point, how is it a bug fix?
This seems like a new feature, or new functionality, to me. -David [hidden email] wrote: > Author: jleroux > Date: Fri May 18 08:27:51 2007 > New Revision: 539500 > > URL: http://svn.apache.org/viewvc?view=rev&rev=539500 > Log: > Seems that I forgot to commit this file the last time. Anyway I will commit an update soon... > > Added: > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/ > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java (with props) > > Added: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java > URL: http://svn.apache.org/viewvc/ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java?view=auto&rev=539500 > ============================================================================== > --- ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java (added) > +++ ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java Fri May 18 08:27:51 2007 > @@ -0,0 +1,659 @@ > +package org.ofbiz.order.thirdparty.postzon; > + > +import java.net.URL; > +import java.sql.Timestamp; > +import java.text.DecimalFormat; > +import java.text.ParseException; > +import java.text.SimpleDateFormat; > +import java.util.ArrayList; > +import java.util.Iterator; > +import java.util.LinkedList; > +import java.util.List; > +import java.util.Locale; > +import java.util.Map; > +import java.util.TreeMap; > + > +import org.ofbiz.base.util.Debug; > +import org.ofbiz.base.util.GeneralException; > +import org.ofbiz.base.util.StringUtil; > +import org.ofbiz.base.util.UtilMisc; > +import org.ofbiz.base.util.UtilProperties; > +import org.ofbiz.base.util.UtilURL; > +import org.ofbiz.datafile.DataFile; > +import org.ofbiz.datafile.DataFileException; > +import org.ofbiz.datafile.Record; > +import org.ofbiz.datafile.RecordIterator; > +import org.ofbiz.entity.GenericDelegator; > +import org.ofbiz.entity.GenericEntityException; > +import org.ofbiz.entity.GenericValue; > +import org.ofbiz.entity.util.EntityUtil; > +import org.ofbiz.security.Security; > +import org.ofbiz.service.DispatchContext; > +import org.ofbiz.service.GenericServiceException; > +import org.ofbiz.service.LocalDispatcher; > +import org.ofbiz.service.ServiceUtil; > + > +/** > + * PostZon and other PAF related tables import services > + */ > +public class PostZonServices { > + > + public static final String module = PostZonServices.class.getName(); > + public static final String postZonDataFile = "org/ofbiz/order/thirdparty/PostZon/PostZonFile.xml"; > + public static final String postZonData = "PostZonData"; > + public static final String resource_error = "OrderErrorUiLabels"; > + > + // import PostZonLookup table service > + public static Map importPostZonData(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + Security security = dctx.getSecurity(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + String postZonFileLocation = (String) context.get("postZonFileLocation"); > + Locale locale = (Locale) context.get("locale"); > + > + // do security check > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderYouDoNotHavePermissionToLoadPostZonTables",locale)); > + } > + > + // load the data file > + DataFile tdf = null; > + try { > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postZonDataFile), postZonData); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToReadPostZonDataFile",locale)); > + } > + > + // locate the file to be imported > + URL tUrl = UtilURL.fromResource(postZonFileLocation); > + if (tUrl == null) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToLocatePostZonAtLocation", UtilMisc.toMap("postZonFileLocation",postZonFileLocation), locale)); > + } > + > + RecordIterator tri = null; > + try { > + tri = tdf.makeRecordIterator(tUrl); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemGettingTheRecordIterator",locale)); > + } > + if (tri != null) { > + Record entry = null; > + postCodesUsed(); > + while (tri.hasNext()) { > + entry = null; > + try { > + entry = tri.next(); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + } > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + if ("data".equals(entry.getRecordName())) { > + Iterator pci = postCodesUsedList.iterator(); > + String postCodeUsed = null; > + String postCodeToCompare = entry.getStringAndEmpty("postCode"); > + if (null == postCodeToCompare) { // skip header and trailer > + continue; > + } > + //Debug.log("postCodeToCompare = " + postCodeToCompare); > + boolean used = false; > + while (pci.hasNext()) { > + postCodeUsed = (String) pci.next(); > + int postCodeUsedLength = postCodeUsed.length(); > + //Debug.log("postCodeUsed " + postCodeUsed); > + if (postCodeUsed.equals(postCodeToCompare.substring(0, postCodeUsedLength))) { > + used = true; > + break; > + } > + } > + //if (used && null != entry.get("gridRefEast") && null != entry.get("gridRefNorth")) { > + if (used) { > + GenericValue newValue = delegator.makeValue("PostZonLookup", null); > + // PK fields > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > + > + // non-PK fields > + newValue.set("outCode", entry.getStringAndEmpty("postCode").substring(0,4).trim()); > + newValue.set("inCode", entry.getStringAndEmpty("postCode").substring(4).trim()); > + newValue.set("inCodeSector", Long.valueOf(entry.getStringAndEmpty("postCode").substring(4,5))); > + newValue.set("postCodeName", newValue.getString("outCode") + " " + newValue.getString("inCode")); > + if (null != entry.get("gridRefEast")) { > + newValue.set("gridRefEast", new Long(Long.valueOf(entry.getStringAndEmpty("gridRefEast")).longValue() * 10)); > + newValue.set("gridRefNorth", new Long(Long.valueOf(entry.getStringAndEmpty("gridRefNorth")).longValue() * 10)); > + } > + else { > + newValue.set("gridRefEast", new Long(0)); > + newValue.set("gridRefNorth", new Long(0)); > + } > + > + try { > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("postCodeId") + " / " + newValue.get("gridRefEast").toString() + " / " + newValue.get("gridRefNorth").toString()); > + } > + } > + } > + } > + return ServiceUtil.returnSuccess(); > + } > + > + public static final String addressDataFile = "org/ofbiz/order/thirdparty/PostZon/AddressFile.xml"; > + public static final String addressData = "AddressData"; > + > + // import PAF addresses table service > + public static Map importAddressData(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + Security security = dctx.getSecurity(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + String addressFileLocation = (String) context.get("addressFileLocation"); > + Locale locale = (Locale) context.get("locale"); > + > + // do security check > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderYouDoNotHavePermissionToLoadPostZonTables",locale)); > + } > + > + // load the data file > + DataFile tdf = null; > + try { > + tdf = DataFile.makeDataFile(UtilURL.fromResource(addressDataFile), addressData); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToReadAddressDataFile",locale)); > + } > + > + // locate the file to be imported > + URL tUrl = UtilURL.fromResource(addressFileLocation); > + if (tUrl == null) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToLocateAddressAtLocation", UtilMisc.toMap("addressFileLocation",addressFileLocation), locale)); > + } > + //int i = 0; > + RecordIterator tri = null; > + try { > + tri = tdf.makeRecordIterator(tUrl); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemGettingTheRecordIterator",locale)); > + } > + if (tri != null) { > + Record entry = null; > + postCodesUsed(); > + while (tri.hasNext()) { > + entry = null; > + try { > + entry = tri.next(); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + } > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + //Debug.log("i = " + new Integer (i++).toString()); > + if ("localityDetails".equals(entry.getRecordName()) > + || "thoroughfareDetails".equals(entry.getRecordName()) > + || "deliveryPointDetails".equals(entry.getRecordName())) { > + Iterator pci = postCodesUsedList.iterator(); > + String postCodeUsed = null; > + String postCodeToCompare = entry.getStringAndEmpty("postCode"); > + if (null == postCodeToCompare) { // skip header and trailer > + continue; > + } > + //Debug.log("postCodeToCompare = " + postCodeToCompare); > + boolean used = false; > + while (pci.hasNext()) { > + postCodeUsed = (String) pci.next(); > + int postCodeUsedLength = postCodeUsed.length(); > + //Debug.log("postCodeUsed " + postCodeUsed); > + if (postCodeUsed.equals(postCodeToCompare.substring(0, postCodeUsedLength))) { > + used = true; > + break; > + } > + } > + if (used && "localityDetails".equals(entry.getRecordName())) { > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + GenericValue newValue = delegator.makeValue("LocalityDetails", null); > + // PK field > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > + > + // non-PK fields > + newValue.set("postCodeType", entry.getStringAndEmpty("postCodeType")); > + newValue.set("postTown", entry.getStringAndEmpty("postTown").trim()); > + newValue.set("dependentLocality", entry.getStringAndEmpty("dependentLocality").trim()); > + newValue.set("doubleDependentLocality", entry.getStringAndEmpty("doubleDependentLocality").trim()); > + > + try { > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("postCodeId") + " postTown : " + newValue.get("postTown")); > + } > + else if (used && "thoroughfareDetails".equals(entry.getRecordName())) { > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + GenericValue newValue = delegator.makeValue("ThoroughfareDetails", null); > + // PK field > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > + newValue.set("thoroughfareSeqNb", entry.getStringAndEmpty("thoroughfareSeqNb")); > + > + // non-PK fields > + newValue.set("postCodeType", entry.getStringAndEmpty("postCodeType")); > + newValue.set("thoroughfareName", entry.getStringAndEmpty("thoroughfareName").trim()); > + newValue.set("thoroughfareDescriptor", entry.getStringAndEmpty("thoroughfareDescriptor").trim()); > + newValue.set("dependentThoroughfareName", entry.getStringAndEmpty("dependentThoroughfareName").trim()); > + newValue.set("dependentThoroughfareDesc", entry.getStringAndEmpty("dependentThoroughfareDesc").trim()); > + > + try { > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("postCodeId") + " thoroughfareName : " + newValue.get("thoroughfareName")); > + } > + else if (used && "deliveryPointDetails".equals(entry.getRecordName())) { > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + GenericValue newValue = delegator.makeValue("DeliveryPointDetails", null); > + // PK fields > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > + newValue.set("addressKeyId", entry.getLong("addressKey")); > + newValue.set("organisationKeyId", entry.getLong("organisationKey")); > + > + // non-PK fields > + newValue.set("postCodeType", entry.getStringAndEmpty("postCodeType")); > + newValue.set("thoroughfareSeqNb", entry.getStringAndEmpty("thoroughfareSeqNb")); > + newValue.set("delivPointSufx", entry.getStringAndEmpty("DeliveryPointSuffix")); > + newValue.set("buildingNumber", entry.getLong("buildingNumber")); > + newValue.set("buildingName", entry.getStringAndEmpty("buildingName").trim()); > + newValue.set("subBuildingName", entry.getStringAndEmpty("subBuildingName").trim()); > + newValue.set("organisationName", entry.getStringAndEmpty("organisationName").trim()); > + newValue.set("departementName", entry.getStringAndEmpty("departementName").trim()); > + newValue.set("poBoxNb", entry.getStringAndEmpty("poBoxNb").trim()); > + newValue.set("nbOfHouseHolds", entry.getLong("nbOfHouseHolds")); > + newValue.set("smallUserOrgIndic", "Y" == entry.getStringAndEmpty("smallUserOrgIndic") ? "Y" : "N" ); > + > + try { > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("postCodeId") + " buildingName : " + newValue.get("buildingName")); > + } > + } > + } > + } > + return ServiceUtil.returnSuccess(); > + } > + > + public static final String azMapDataFile = "org/ofbiz/order/thirdparty/PostZon/AzMapFile.xml"; > + public static final String azMapData = "AzMapData"; > + > + // import AZMapLookup table service > + public static Map importAzMapData(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + Security security = dctx.getSecurity(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + String azMapFileLocation = (String) context.get("azMapFileLocation"); > + Locale locale = (Locale) context.get("locale"); > + > + // do security check > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderYouDoNotHavePermissionToLoadPostZonTables",locale)); > + } > + > + // load the data file > + DataFile tdf = null; > + try { > + tdf = DataFile.makeDataFile(UtilURL.fromResource(azMapDataFile), azMapData); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToReadAzMapDataFile",locale)); > + } > + > + // locate the file to be imported > + URL tUrl = UtilURL.fromResource(azMapFileLocation); > + if (tUrl == null) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToLocateAzMapFileAtLocation", UtilMisc.toMap("azMapFileLocation",azMapFileLocation), locale)); > + } > + > + RecordIterator tri = null; > + try { > + tri = tdf.makeRecordIterator(tUrl); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemGettingTheRecordIterator",locale)); > + } > + if (tri != null) { > + Record entry = null; > + postCodesUsed(); > + while (tri.hasNext()) { > + entry = null; > + try { > + entry = tri.next(); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + } > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + if ("data".equals(entry.getRecordName())) { > + GenericValue newValue = delegator.makeValue("AzMapLookup", null); > + // PK fields > + //Debug.log("entry.getString('square').trim() = " + entry.getStringAndEmpty("square").trim().replace(' ', '-')); > + newValue.set("squareId", entry.getStringAndEmpty("square").trim().replace(' ', '-')); > + > + // non-PK fields > + newValue.set("squareName", entry.getStringAndEmpty("square").trim()); > + newValue.set("gridRefLeft", entry.getLong("gridRefLeft")); > + newValue.set("gridRefRight", entry.getLong("gridRefRight")); > + newValue.set("gridRefBottom", entry.getLong("gridRefBottom")); > + newValue.set("gridRefTop", entry.getLong("gridRefTop")); > + > + try { > + //Debug.log("newValue = " + newValue.toString()); > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("square") + " / " + newValue.get("gridRefLeft") + " / " + newValue.get("gridRefRight") + " / " + newValue.get("gridRefBottom") + " / " + newValue.get("gridRefTop")); > + } > + } > + } > + return ServiceUtil.returnSuccess(); > + } > + > + public static List postCodesUsedList = null; > + /** Returns a List of used post codes */ > + public static List postCodesUsed() { > + if (postCodesUsedList == null) { > + synchronized(UtilMisc.class) { > + if (postCodesUsedList == null) { > + postCodesUsedList = new LinkedList(); > + String postCodesString = UtilProperties.getPropertyValue("postzon", "postcodes.used"); > + if (postCodesString != null && postCodesString.length() > 0) { // check if post codes need to be limited according postzon.properties file > + int end = -1; > + int start = 0; > + for (int i=0; start < postCodesString.length(); i++) { > + end = postCodesString.indexOf(",", start); > + if (end == -1) { > + end = postCodesString.length(); > + } > + postCodesUsedList.add(postCodesString.substring(start, end)); > + start = end + 1; > + } > + } > + } > + } > + } > + return postCodesUsedList; > + } > + > + public static Map testFindAzMapSquareFromPostCode(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + LocalDispatcher dispatcher = dctx.getDispatcher(); > + > + List postZonLookupList = null; > + try { > + postZonLookupList = delegator.findAll("PostZonLookup"); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + } > + Iterator i = postZonLookupList.iterator(); > + Map result = null; > + while (i.hasNext()) { > + GenericValue postZonLookup = (GenericValue) i.next(); > + try { > + result = dispatcher.runSync("findAzMapSquareFromPostCode", UtilMisc.toMap("postCodeId", postZonLookup.get("postCodeId"), > + "userLogin", userLogin)); > + Long counter = Long.valueOf(result.get("counter").toString()); > + long counterValue = counter.longValue(); > + if ( counterValue > 1 ||counterValue == 0) { > + Debug.log("counter = " + result.get("counter")); > + return ServiceUtil.returnFailure(); > + } > + } catch (GenericServiceException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(e.getMessage()); > + } > + } > + return ServiceUtil.returnSuccess(); > + } > + > + public static final String postCodeSectorSiteAllocationDataFile = "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteAllocation.xml"; > + public static final String postCodeSectorSiteAllocationData = "PostCodeSectorSiteAllocation"; > + > + // import PostCodeSectorSiteAllocation table service > + public static Map importPostCodeSectorSiteAllocationData(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + Security security = dctx.getSecurity(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + String postCodeSectorSiteAllocationFileLocation = (String) context.get("postCodeSectorSiteAllocationFileLocation"); > + Locale locale = (Locale) context.get("locale"); > + > + // do security check > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderYouDoNotHavePermissionToLoadPostZonTables",locale)); > + } > + > + // load the data file > + DataFile tdf = null; > + try { > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteAllocationDataFile), postCodeSectorSiteAllocationData); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToReadPostCodeSectorSiteAllocationDataFile",locale)); > + } > + > + // locate the file to be imported > + URL tUrl = UtilURL.fromResource(postCodeSectorSiteAllocationFileLocation); > + if (tUrl == null) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToLocatePostCodeSectorSiteAllocationFileAtLocation", UtilMisc.toMap("postCodeSectorSiteAllocationFileLocation",postCodeSectorSiteAllocationFileLocation), locale)); > + } > + > + RecordIterator tri = null; > + try { > + tri = tdf.makeRecordIterator(tUrl); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemGettingTheRecordIterator",locale)); > + } > + if (tri != null) { > + Record entry = null; > + postCodesUsed(); > + while (tri.hasNext()) { > + entry = null; > + try { > + entry = tri.next(); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + } > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + if ("data".equals(entry.getRecordName()) && ! "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { > + GenericValue newValue = delegator.makeValue("PostCodeSectorSiteAlloc", null); > + // PK fields > + newValue.set("outCodeId", entry.getStringAndEmpty("outCode").trim()); > + newValue.set("inCodeSectorId", entry.getLong("inCodeSector")); > + newValue.set("siteId", Long.valueOf(entry.getStringAndEmpty("siteId").trim())); > + > + // non-PK fields > + newValue.set("exclusiv", null == entry.getStringAndEmpty("exclusive") ? "Y" : "N" ); > + > + try { > + //Debug.log("newValue = " + newValue.toString()); > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("outCodeSectorId") + ""); > + } > + } > + } > + return ServiceUtil.returnSuccess(); > + } > + > + public static final String postCodeSectorSiteExceptionDataFile = "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteException.xml"; > + public static final String postCodeSectorSiteExceptionData = "PostCodeSectorSiteException"; > + > + // import PostCodeSectorSiteException table service > + public static Map importPostCodeSectorSiteExceptionData(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + Security security = dctx.getSecurity(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + String postCodeSectorSiteExceptionFileLocation = (String) context.get("postCodeSectorSiteExceptionFileLocation"); > + Locale locale = (Locale) context.get("locale"); > + > + // do security check > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderYouDoNotHavePermissionToLoadPostZonTables",locale)); > + } > + > + // load the data file > + DataFile tdf = null; > + try { > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteExceptionDataFile), postCodeSectorSiteExceptionData); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToReadPostCodeSectorSiteExceptionDataFile",locale)); > + } > + > + // locate the file to be imported > + URL tUrl = UtilURL.fromResource(postCodeSectorSiteExceptionFileLocation); > + if (tUrl == null) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToLocatePostCodeSectorSiteExceptionFileAtLocation", UtilMisc.toMap("postCodeSectorSiteExceptionFileLocation",postCodeSectorSiteExceptionFileLocation), locale)); > + } > + > + RecordIterator tri = null; > + try { > + tri = tdf.makeRecordIterator(tUrl); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemGettingTheRecordIterator",locale)); > + } > + if (tri != null) { > + Record entry = null; > + postCodesUsed(); > + while (tri.hasNext()) { > + entry = null; > + try { > + entry = tri.next(); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + } > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + if ("data".equals(entry.getRecordName()) && ! "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { > + GenericValue newValue = delegator.makeValue("PostCodeSectorSiteExcept", null); > + // PK fields > + newValue.set("outCodeId", entry.getStringAndEmpty("outCode").trim()); > + newValue.set("inCodeSectorId", Long.valueOf(entry.getStringAndEmpty("inCode").trim().substring(0,1))); > + newValue.set("inCodeId", entry.getStringAndEmpty("inCode").trim()); > + newValue.set("siteId", Long.valueOf(entry.getStringAndEmpty("siteId").trim())); > + > + // non-PK fields > + //newValue.set("exclusiv", null == entry.getStringAndEmpty("exclusive") ? "Y" : "N" ); > + > + try { > + //Debug.log("newValue = " + newValue.toString()); > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + // console log > + //Debug.log(newValue.get("outCodeId") + ""); > + } > + } > + } > + return ServiceUtil.returnSuccess(); > + } > + > + public static final String postCodeSectorSiteDescriptionDataFile = "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteDescription.xml"; > + public static final String postCodeSectorSiteDescriptionData = "PostCodeSectorSiteDescription"; > + > + // import PostCodeSectorSiteDescription table service > + public static Map importPostCodeSectorSiteDescriptionData(DispatchContext dctx, Map context) { > + GenericDelegator delegator = dctx.getDelegator(); > + Security security = dctx.getSecurity(); > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > + String postCodeSectorSiteDescriptionFileLocation = (String) context.get("postCodeSectorSiteDescriptionFileLocation"); > + Locale locale = (Locale) context.get("locale"); > + > + // do security check > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderYouDoNotHavePermissionToLoadPostZonTables",locale)); > + } > + > + // load the data file > + DataFile tdf = null; > + try { > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteDescriptionDataFile), postCodeSectorSiteDescriptionData); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToReadPostCodeSectorSiteDescriptionDataFile",locale)); > + } > + > + // locate the file to be imported > + URL tUrl = UtilURL.fromResource(postCodeSectorSiteDescriptionFileLocation); > + if (tUrl == null) { > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderUnableToLocatePostCodeSectorSiteDescriptionFileAtLocation", UtilMisc.toMap("postCodeSectorSiteDescriptionFileLocation",postCodeSectorSiteDescriptionFileLocation), locale)); > + } > + > + RecordIterator tri = null; > + try { > + tri = tdf.makeRecordIterator(tUrl); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemGettingTheRecordIterator",locale)); > + } > + if (tri != null) { > + Record entry = null; > + postCodesUsed(); > + while (tri.hasNext()) { > + entry = null; > + try { > + entry = tri.next(); > + } catch (DataFileException e) { > + Debug.logError(e, module); > + } > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > + if ("data".equals(entry.getRecordName()) && ! "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { > + GenericValue newValue = delegator.makeValue("SiteDescription", null); > + // PK field > + newValue.set("siteId", Long.valueOf(entry.getStringAndEmpty("siteId").trim())); > + > + // non-PK field > + newValue.set("siteDescription", entry.getStringAndEmpty("siteDescription").trim()); > + > + try { > + //Debug.log("newValue = " + newValue.toString()); > + delegator.createOrStore(newValue); > + } catch (GenericEntityException e) { > + Debug.logError(e, module); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderErrorWritingRecordsToTheDatabase",locale)); > + } > + > + > + // console log > + //Debug.log(newValue.get("outCodeId") + ""); > + } > + } > + } > + return ServiceUtil.returnSuccess(); > + } > +} > \ No newline at end of file > > Propchange: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java > ------------------------------------------------------------------------------ > svn:keywords = "Date Rev Author URL Id" > > Propchange: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > |
Administrator
|
David,
Not sure how exactly this happen actually :o/ I was working on a customer repo and it seems that this part of their repo is directly connected to OFBiz release4.0 (they use it). A bit confusing... Ha yes, I know now ! It's me that created this directories tree in their repo. I copied all the directory tree from a release4.0 working copy I use locally (they have a strange way of dealing with OFBis directories structure in their project ; I have to copy the part I modify or add and they use a batch to apply these mods/adds to a copy of the release4.0 on their server) and then made my commit ... to the OFBiz release branch :( So my apologies : I shoud not copy all a directories tree from a working copy connected to the OFBiz SVN https: to another repo. I'm sure I will not forget this one ! Jacques ----- Message d'origine ----- De : "David E Jones" <[hidden email]> À : <[hidden email]> Cc : <[hidden email]> Envoyé : vendredi 18 mai 2007 17:46 Objet : Re: svn commit: r539500 - in /ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdp arty/postzon: ./ PostZonServices.java > Quick question: why is this going into the release branch? More to the point, how is it a bug fix? > > This seems like a new feature, or new functionality, to me. > > -David > > > [hidden email] wrote: > > Author: jleroux > > Date: Fri May 18 08:27:51 2007 > > New Revision: 539500 > > > > URL: http://svn.apache.org/viewvc?view=rev&rev=539500 > > Log: > > Seems that I forgot to commit this file the last time. Anyway I will > > > > Added: > > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/ > > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/PostZonServices.java (with props) > > > > Added: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/PostZonServices.java > > URL: http://svn.apache.org/viewvc/ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java?view=auto&rev=539500 > > ======================================================================== ====== > > --- ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/PostZonServices.java (added) > > +++ ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/PostZonServices.java Fri May 18 08:27:51 2007 > > @@ -0,0 +1,659 @@ > > +package org.ofbiz.order.thirdparty.postzon; > > + > > +import java.net.URL; > > +import java.sql.Timestamp; > > +import java.text.DecimalFormat; > > +import java.text.ParseException; > > +import java.text.SimpleDateFormat; > > +import java.util.ArrayList; > > +import java.util.Iterator; > > +import java.util.LinkedList; > > +import java.util.List; > > +import java.util.Locale; > > +import java.util.Map; > > +import java.util.TreeMap; > > + > > +import org.ofbiz.base.util.Debug; > > +import org.ofbiz.base.util.GeneralException; > > +import org.ofbiz.base.util.StringUtil; > > +import org.ofbiz.base.util.UtilMisc; > > +import org.ofbiz.base.util.UtilProperties; > > +import org.ofbiz.base.util.UtilURL; > > +import org.ofbiz.datafile.DataFile; > > +import org.ofbiz.datafile.DataFileException; > > +import org.ofbiz.datafile.Record; > > +import org.ofbiz.datafile.RecordIterator; > > +import org.ofbiz.entity.GenericDelegator; > > +import org.ofbiz.entity.GenericEntityException; > > +import org.ofbiz.entity.GenericValue; > > +import org.ofbiz.entity.util.EntityUtil; > > +import org.ofbiz.security.Security; > > +import org.ofbiz.service.DispatchContext; > > +import org.ofbiz.service.GenericServiceException; > > +import org.ofbiz.service.LocalDispatcher; > > +import org.ofbiz.service.ServiceUtil; > > + > > +/** > > + * PostZon and other PAF related tables import services > > + */ > > +public class PostZonServices { > > + > > + public static final String module = > > + public static final String postZonDataFile = "org/ofbiz/order/thirdparty/PostZon/PostZonFile.xml"; > > + public static final String postZonData = "PostZonData"; > > + public static final String resource_error = "OrderErrorUiLabels"; > > + > > + // import PostZonLookup table service > > + public static Map importPostZonData(DispatchContext dctx, Map context) { > > + GenericDelegator delegator = dctx.getDelegator(); > > + Security security = dctx.getSecurity(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + String postZonFileLocation = (String) context.get("postZonFileLocation"); > > + Locale locale = (Locale) context.get("locale"); > > + > > + // do security check > > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY ouDoNotHavePermissionToLoadPostZonTables",locale)); > > + } > > + > > + // load the data file > > + DataFile tdf = null; > > + try { > > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postZonDataFile), postZonData); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToReadPostZonDataFile",locale)); > > + } > > + > > + // locate the file to be imported > > + URL tUrl = UtilURL.fromResource(postZonFileLocation); > > + if (tUrl == null) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToLocatePostZonAtLocation", UtilMisc.toMap("postZonFileLocation",postZonFileLocation), locale)); > > + } > > + > > + RecordIterator tri = null; > > + try { > > + tri = tdf.makeRecordIterator(tUrl); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP roblemGettingTheRecordIterator",locale)); > > + } > > + if (tri != null) { > > + Record entry = null; > > + postCodesUsed(); > > + while (tri.hasNext()) { > > + entry = null; > > + try { > > + entry = tri.next(); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + } > > + //Debug.log("entry.getRecordName() = " + > > + if ("data".equals(entry.getRecordName())) { > > + Iterator pci = postCodesUsedList.iterator(); > > + String postCodeUsed = null; > > + String postCodeToCompare = entry.getStringAndEmpty("postCode"); > > + if (null == postCodeToCompare) { // skip header and trailer > > + continue; > > + } > > + //Debug.log("postCodeToCompare = " + postCodeToCompare); > > + boolean used = false; > > + while (pci.hasNext()) { > > + postCodeUsed = (String) pci.next(); > > + int postCodeUsedLength = postCodeUsed.length(); > > + //Debug.log("postCodeUsed " + postCodeUsed); > > + if (postCodeUsed.equals(postCodeToCompare.substring(0, postCodeUsedLength))) { > > + used = true; > > + break; > > + } > > + } > > + //if (used && null != entry.get("gridRefEast") && null != entry.get("gridRefNorth")) { > > + if (used) { > > + GenericValue newValue = delegator.makeValue("PostZonLookup", null); > > + // PK fields > > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > > + > > + // non-PK fields > > + newValue.set("outCode", entry.getStringAndEmpty("postCode").substring(0,4).trim()); > > + newValue.set("inCode", entry.getStringAndEmpty("postCode").substring(4).trim()); > > + newValue.set("inCodeSector", Long.valueOf(entry.getStringAndEmpty("postCode").substring(4,5))); > > + newValue.set("postCodeName", newValue.getString("outCode") + " " + newValue.getString("inCode")); > > + if (null != entry.get("gridRefEast")) { > > + newValue.set("gridRefEast", new Long(Long.valueOf(entry.getStringAndEmpty("gridRefEast")).longValue() * 10)); > > + newValue.set("gridRefNorth", new Long(Long.valueOf(entry.getStringAndEmpty("gridRefNorth")).longValue() * 10)); > > + } > > + else { > > + newValue.set("gridRefEast", new Long(0)); > > + newValue.set("gridRefNorth", new Long(0)); > > + } > > + > > + try { > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("postCodeId") + " / " + newValue.get("gridRefEast").toString() + " / " + newValue.get("gridRefNorth").toString()); > > + } > > + } > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > + > > + public static final String addressDataFile = "org/ofbiz/order/thirdparty/PostZon/AddressFile.xml"; > > + public static final String addressData = "AddressData"; > > + > > + // import PAF addresses table service > > + public static Map importAddressData(DispatchContext dctx, Map context) { > > + GenericDelegator delegator = dctx.getDelegator(); > > + Security security = dctx.getSecurity(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + String addressFileLocation = (String) context.get("addressFileLocation"); > > + Locale locale = (Locale) context.get("locale"); > > + > > + // do security check > > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY ouDoNotHavePermissionToLoadPostZonTables",locale)); > > + } > > + > > + // load the data file > > + DataFile tdf = null; > > + try { > > + tdf = DataFile.makeDataFile(UtilURL.fromResource(addressDataFile), addressData); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToReadAddressDataFile",locale)); > > + } > > + > > + // locate the file to be imported > > + URL tUrl = UtilURL.fromResource(addressFileLocation); > > + if (tUrl == null) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToLocateAddressAtLocation", UtilMisc.toMap("addressFileLocation",addressFileLocation), locale)); > > + } > > + //int i = 0; > > + RecordIterator tri = null; > > + try { > > + tri = tdf.makeRecordIterator(tUrl); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP roblemGettingTheRecordIterator",locale)); > > + } > > + if (tri != null) { > > + Record entry = null; > > + postCodesUsed(); > > + while (tri.hasNext()) { > > + entry = null; > > + try { > > + entry = tri.next(); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + } > > + //Debug.log("entry.getRecordName() = " + > > + //Debug.log("i = " + new Integer (i++).toString()); > > + if ("localityDetails".equals(entry.getRecordName()) > > + || "thoroughfareDetails".equals(entry.getRecordName()) > > + || "deliveryPointDetails".equals(entry.getRecordName())) { > > + Iterator pci = postCodesUsedList.iterator(); > > + String postCodeUsed = null; > > + String postCodeToCompare = entry.getStringAndEmpty("postCode"); > > + if (null == postCodeToCompare) { // skip header and trailer > > + continue; > > + } > > + //Debug.log("postCodeToCompare = " + postCodeToCompare); > > + boolean used = false; > > + while (pci.hasNext()) { > > + postCodeUsed = (String) pci.next(); > > + int postCodeUsedLength = postCodeUsed.length(); > > + //Debug.log("postCodeUsed " + postCodeUsed); > > + if (postCodeUsed.equals(postCodeToCompare.substring(0, postCodeUsedLength))) { > > + used = true; > > + break; > > + } > > + } > > + if (used && "localityDetails".equals(entry.getRecordName())) { > > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > > + GenericValue newValue = delegator.makeValue("LocalityDetails", null); > > + // PK field > > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > > + > > + // non-PK fields > > + newValue.set("postCodeType", entry.getStringAndEmpty("postCodeType")); > > + newValue.set("postTown", entry.getStringAndEmpty("postTown").trim()); > > + newValue.set("dependentLocality", entry.getStringAndEmpty("dependentLocality").trim()); > > + newValue.set("doubleDependentLocality", entry.getStringAndEmpty("doubleDependentLocality").trim()); > > + > > + try { > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("postCodeId") + " postTown : " + newValue.get("postTown")); > > + } > > + else if (used && "thoroughfareDetails".equals(entry.getRecordName())) { > > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > > + GenericValue newValue = delegator.makeValue("ThoroughfareDetails", null); > > + // PK field > > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > > + newValue.set("thoroughfareSeqNb", entry.getStringAndEmpty("thoroughfareSeqNb")); > > + > > + // non-PK fields > > + newValue.set("postCodeType", entry.getStringAndEmpty("postCodeType")); > > + newValue.set("thoroughfareName", entry.getStringAndEmpty("thoroughfareName").trim()); > > + newValue.set("thoroughfareDescriptor", entry.getStringAndEmpty("thoroughfareDescriptor").trim()); > > + newValue.set("dependentThoroughfareName", entry.getStringAndEmpty("dependentThoroughfareName").trim()); > > + newValue.set("dependentThoroughfareDesc", entry.getStringAndEmpty("dependentThoroughfareDesc").trim()); > > + > > + try { > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("postCodeId") + " thoroughfareName : " + newValue.get("thoroughfareName")); > > + } > > + else if (used && "deliveryPointDetails".equals(entry.getRecordName())) { > > + //Debug.log("entry.getRecordName() = " + entry.getRecordName()); > > + GenericValue newValue = delegator.makeValue("DeliveryPointDetails", null); > > + // PK fields > > + newValue.set("postCodeId", entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); > > + newValue.set("addressKeyId", entry.getLong("addressKey")); > > + newValue.set("organisationKeyId", entry.getLong("organisationKey")); > > + > > + // non-PK fields > > + newValue.set("postCodeType", entry.getStringAndEmpty("postCodeType")); > > + newValue.set("thoroughfareSeqNb", entry.getStringAndEmpty("thoroughfareSeqNb")); > > + newValue.set("delivPointSufx", entry.getStringAndEmpty("DeliveryPointSuffix")); > > + newValue.set("buildingNumber", entry.getLong("buildingNumber")); > > + newValue.set("buildingName", entry.getStringAndEmpty("buildingName").trim()); > > + newValue.set("subBuildingName", entry.getStringAndEmpty("subBuildingName").trim()); > > + newValue.set("organisationName", entry.getStringAndEmpty("organisationName").trim()); > > + newValue.set("departementName", entry.getStringAndEmpty("departementName").trim()); > > + newValue.set("poBoxNb", entry.getStringAndEmpty("poBoxNb").trim()); > > + newValue.set("nbOfHouseHolds", entry.getLong("nbOfHouseHolds")); > > + newValue.set("smallUserOrgIndic", "Y" == entry.getStringAndEmpty("smallUserOrgIndic") ? "Y" : "N" ); > > + > > + try { > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("postCodeId") + " buildingName : " + newValue.get("buildingName")); > > + } > > + } > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > + > > + public static final String azMapDataFile = "org/ofbiz/order/thirdparty/PostZon/AzMapFile.xml"; > > + public static final String azMapData = "AzMapData"; > > + > > + // import AZMapLookup table service > > + public static Map importAzMapData(DispatchContext dctx, Map context) { > > + GenericDelegator delegator = dctx.getDelegator(); > > + Security security = dctx.getSecurity(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + String azMapFileLocation = (String) context.get("azMapFileLocation"); > > + Locale locale = (Locale) context.get("locale"); > > + > > + // do security check > > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY ouDoNotHavePermissionToLoadPostZonTables",locale)); > > + } > > + > > + // load the data file > > + DataFile tdf = null; > > + try { > > + tdf = DataFile.makeDataFile(UtilURL.fromResource(azMapDataFile), azMapData); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToReadAzMapDataFile",locale)); > > + } > > + > > + // locate the file to be imported > > + URL tUrl = UtilURL.fromResource(azMapFileLocation); > > + if (tUrl == null) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToLocateAzMapFileAtLocation", UtilMisc.toMap("azMapFileLocation",azMapFileLocation), locale)); > > + } > > + > > + RecordIterator tri = null; > > + try { > > + tri = tdf.makeRecordIterator(tUrl); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP roblemGettingTheRecordIterator",locale)); > > + } > > + if (tri != null) { > > + Record entry = null; > > + postCodesUsed(); > > + while (tri.hasNext()) { > > + entry = null; > > + try { > > + entry = tri.next(); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + } > > + //Debug.log("entry.getRecordName() = " + > > + if ("data".equals(entry.getRecordName())) { > > + GenericValue newValue = delegator.makeValue("AzMapLookup", null); > > + // PK fields > > + //Debug.log("entry.getString('square').trim() = " + entry.getStringAndEmpty("square").trim().replace(' ', '-')); > > + newValue.set("squareId", entry.getStringAndEmpty("square").trim().replace(' ', '-')); > > + > > + // non-PK fields > > + newValue.set("squareName", entry.getStringAndEmpty("square").trim()); > > + newValue.set("gridRefLeft", entry.getLong("gridRefLeft")); > > + newValue.set("gridRefRight", entry.getLong("gridRefRight")); > > + newValue.set("gridRefBottom", entry.getLong("gridRefBottom")); > > + newValue.set("gridRefTop", entry.getLong("gridRefTop")); > > + > > + try { > > + //Debug.log("newValue = " + newValue.toString()); > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("square") + " / " + newValue.get("gridRefLeft") + " / " + newValue.get("gridRefRight") + " / " + newValue.get("gridRefBottom") + " / " + newValue.get("gridRefTop")); > > + } > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > + > > + public static List postCodesUsedList = null; > > + /** Returns a List of used post codes */ > > + public static List postCodesUsed() { > > + if (postCodesUsedList == null) { > > + synchronized(UtilMisc.class) { > > + if (postCodesUsedList == null) { > > + postCodesUsedList = new LinkedList(); > > + String postCodesString = > > + if (postCodesString != null && postCodesString.length() > 0) { // check if post codes need to be limited according postzon.properties file > > + int end = -1; > > + int start = 0; > > + for (int i=0; start < postCodesString.length(); i++) { > > + end = postCodesString.indexOf(",", start); > > + if (end == -1) { > > + end = postCodesString.length(); > > + } > > + postCodesUsedList.add(postCodesString.substring(start, end)); > > + start = end + 1; > > + } > > + } > > + } > > + } > > + } > > + return postCodesUsedList; > > + } > > + > > + public static Map > > + GenericDelegator delegator = dctx.getDelegator(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + LocalDispatcher dispatcher = dctx.getDispatcher(); > > + > > + List postZonLookupList = null; > > + try { > > + postZonLookupList = delegator.findAll("PostZonLookup"); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + } > > + Iterator i = postZonLookupList.iterator(); > > + Map result = null; > > + while (i.hasNext()) { > > + GenericValue postZonLookup = (GenericValue) i.next(); > > + try { > > + result = UtilMisc.toMap("postCodeId", postZonLookup.get("postCodeId"), > > + "userLogin", userLogin)); > > + Long counter = Long.valueOf(result.get("counter").toString()); > > + long counterValue = counter.longValue(); > > + if ( counterValue > 1 ||counterValue == 0) { > > + Debug.log("counter = " + result.get("counter")); > > + return ServiceUtil.returnFailure(); > > + } > > + } catch (GenericServiceException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(e.getMessage()); > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > + > > + public static final String postCodeSectorSiteAllocationDataFile > > + public static final String postCodeSectorSiteAllocationData = "PostCodeSectorSiteAllocation"; > > + > > + // import PostCodeSectorSiteAllocation table service > > + public static Map importPostCodeSectorSiteAllocationData(DispatchContext dctx, Map context) { > > + GenericDelegator delegator = dctx.getDelegator(); > > + Security security = dctx.getSecurity(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + String postCodeSectorSiteAllocationFileLocation = (String) context.get("postCodeSectorSiteAllocationFileLocation"); > > + Locale locale = (Locale) context.get("locale"); > > + > > + // do security check > > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY ouDoNotHavePermissionToLoadPostZonTables",locale)); > > + } > > + > > + // load the data file > > + DataFile tdf = null; > > + try { > > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteAllocationD ataFile), postCodeSectorSiteAllocationData); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToReadPostCodeSectorSiteAllocationDataFile",locale)); > > + } > > + > > + // locate the file to be imported > > + URL tUrl = UtilURL.fromResource(postCodeSectorSiteAllocationFileLocation); > > + if (tUrl == null) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToLocatePostCodeSectorSiteAllocationFileAtLocation", UtilMisc.toMap("postCodeSectorSiteAllocationFileLocation",postCodeSector SiteAllocationFileLocation), locale)); > > + } > > + > > + RecordIterator tri = null; > > + try { > > + tri = tdf.makeRecordIterator(tUrl); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP roblemGettingTheRecordIterator",locale)); > > + } > > + if (tri != null) { > > + Record entry = null; > > + postCodesUsed(); > > + while (tri.hasNext()) { > > + entry = null; > > + try { > > + entry = tri.next(); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + } > > + //Debug.log("entry.getRecordName() = " + > > + if ("data".equals(entry.getRecordName()) && ! "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { > > + GenericValue newValue = delegator.makeValue("PostCodeSectorSiteAlloc", null); > > + // PK fields > > + newValue.set("outCodeId", entry.getStringAndEmpty("outCode").trim()); > > + newValue.set("inCodeSectorId", entry.getLong("inCodeSector")); > > + newValue.set("siteId", Long.valueOf(entry.getStringAndEmpty("siteId").trim())); > > + > > + // non-PK fields > > + newValue.set("exclusiv", null == entry.getStringAndEmpty("exclusive") ? "Y" : "N" ); > > + > > + try { > > + //Debug.log("newValue = " + newValue.toString()); > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("outCodeSectorId") + ""); > > + } > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > + > > + public static final String postCodeSectorSiteExceptionDataFile = "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteException.xml"; > > + public static final String postCodeSectorSiteExceptionData = "PostCodeSectorSiteException"; > > + > > + // import PostCodeSectorSiteException table service > > + public static Map importPostCodeSectorSiteExceptionData(DispatchContext dctx, Map context) { > > + GenericDelegator delegator = dctx.getDelegator(); > > + Security security = dctx.getSecurity(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + String postCodeSectorSiteExceptionFileLocation = (String) context.get("postCodeSectorSiteExceptionFileLocation"); > > + Locale locale = (Locale) context.get("locale"); > > + > > + // do security check > > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY ouDoNotHavePermissionToLoadPostZonTables",locale)); > > + } > > + > > + // load the data file > > + DataFile tdf = null; > > + try { > > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteExceptionDa taFile), postCodeSectorSiteExceptionData); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToReadPostCodeSectorSiteExceptionDataFile",locale)); > > + } > > + > > + // locate the file to be imported > > + URL tUrl = UtilURL.fromResource(postCodeSectorSiteExceptionFileLocation); > > + if (tUrl == null) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToLocatePostCodeSectorSiteExceptionFileAtLocation", UtilMisc.toMap("postCodeSectorSiteExceptionFileLocation",postCodeSectorS iteExceptionFileLocation), locale)); > > + } > > + > > + RecordIterator tri = null; > > + try { > > + tri = tdf.makeRecordIterator(tUrl); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP roblemGettingTheRecordIterator",locale)); > > + } > > + if (tri != null) { > > + Record entry = null; > > + postCodesUsed(); > > + while (tri.hasNext()) { > > + entry = null; > > + try { > > + entry = tri.next(); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + } > > + //Debug.log("entry.getRecordName() = " + > > + if ("data".equals(entry.getRecordName()) && ! "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { > > + GenericValue newValue = delegator.makeValue("PostCodeSectorSiteExcept", null); > > + // PK fields > > + newValue.set("outCodeId", entry.getStringAndEmpty("outCode").trim()); > > + newValue.set("inCodeSectorId", Long.valueOf(entry.getStringAndEmpty("inCode").trim().substring(0,1))); > > + newValue.set("inCodeId", entry.getStringAndEmpty("inCode").trim()); > > + newValue.set("siteId", Long.valueOf(entry.getStringAndEmpty("siteId").trim())); > > + > > + // non-PK fields > > + //newValue.set("exclusiv", null == entry.getStringAndEmpty("exclusive") ? "Y" : "N" ); > > + > > + try { > > + //Debug.log("newValue = " + newValue.toString()); > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + // console log > > + //Debug.log(newValue.get("outCodeId") + ""); > > + } > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > + > > + public static final String "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteDescription.xml"; > > + public static final String postCodeSectorSiteDescriptionData = "PostCodeSectorSiteDescription"; > > + > > + // import PostCodeSectorSiteDescription table service > > + public static Map importPostCodeSectorSiteDescriptionData(DispatchContext dctx, Map context) { > > + GenericDelegator delegator = dctx.getDelegator(); > > + Security security = dctx.getSecurity(); > > + GenericValue userLogin = (GenericValue) context.get("userLogin"); > > + String postCodeSectorSiteDescriptionFileLocation = (String) context.get("postCodeSectorSiteDescriptionFileLocation"); > > + Locale locale = (Locale) context.get("locale"); > > + > > + // do security check > > + if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY ouDoNotHavePermissionToLoadPostZonTables",locale)); > > + } > > + > > + // load the data file > > + DataFile tdf = null; > > + try { > > + tdf = DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteDescription DataFile), postCodeSectorSiteDescriptionData); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToReadPostCodeSectorSiteDescriptionDataFile",locale)); > > + } > > + > > + // locate the file to be imported > > + URL tUrl = UtilURL.fromResource(postCodeSectorSiteDescriptionFileLocation); > > + if (tUrl == null) { > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU nableToLocatePostCodeSectorSiteDescriptionFileAtLocation", UtilMisc.toMap("postCodeSectorSiteDescriptionFileLocation",postCodeSecto rSiteDescriptionFileLocation), locale)); > > + } > > + > > + RecordIterator tri = null; > > + try { > > + tri = tdf.makeRecordIterator(tUrl); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP roblemGettingTheRecordIterator",locale)); > > + } > > + if (tri != null) { > > + Record entry = null; > > + postCodesUsed(); > > + while (tri.hasNext()) { > > + entry = null; > > + try { > > + entry = tri.next(); > > + } catch (DataFileException e) { > > + Debug.logError(e, module); > > + } > > + //Debug.log("entry.getRecordName() = " + > > + if ("data".equals(entry.getRecordName()) && ! "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { > > + GenericValue newValue = delegator.makeValue("SiteDescription", null); > > + // PK field > > + newValue.set("siteId", Long.valueOf(entry.getStringAndEmpty("siteId").trim())); > > + > > + // non-PK field > > + newValue.set("siteDescription", entry.getStringAndEmpty("siteDescription").trim()); > > + > > + try { > > + //Debug.log("newValue = " + newValue.toString()); > > + delegator.createOrStore(newValue); > > + } catch (GenericEntityException e) { > > + Debug.logError(e, module); > > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE rrorWritingRecordsToTheDatabase",locale)); > > + } > > + > > + > > + // console log > > + //Debug.log(newValue.get("outCodeId") + ""); > > + } > > + } > > + } > > + return ServiceUtil.returnSuccess(); > > + } > > +} > > \ No newline at end of file > > > > Propchange: rty/postzon/PostZonServices.java > > ---------------------------------------------------------------------- -------- > > svn:eol-style = native > > > > Propchange: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/PostZonServices.java > > ---------------------------------------------------------------------- -------- > > svn:keywords = "Date Rev Author URL Id" > > > > Propchange: ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa rty/postzon/PostZonServices.java > > ---------------------------------------------------------------------- -------- > > svn:mime-type = text/plain > > > > |
No problem, thanks for taking care of it. -David Jacques Le Roux wrote: > David, > > Not sure how exactly this happen actually :o/ > I was working on a customer repo and it seems that this part of their > repo is directly connected to OFBiz release4.0 (they use it). A bit > confusing... > > Ha yes, I know now ! It's me that created this directories tree in their > repo. I copied all the directory tree from a release4.0 working copy I > use locally (they have a strange way of dealing with OFBis directories > structure in their project ; I have to copy the part I modify or add and > they use a batch to apply these mods/adds to a copy of the release4.0 on > their server) and then made my commit ... to the OFBiz release branch :( > > So my apologies : I shoud not copy all a directories tree from a working > copy connected to the OFBiz SVN https: to another repo. I'm sure I will > not forget this one ! > > Jacques > > ----- Message d'origine ----- > De : "David E Jones" <[hidden email]> > À : <[hidden email]> > Cc : <[hidden email]> > Envoyé : vendredi 18 mai 2007 17:46 > Objet : Re: svn commit: r539500 - in > /ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdp > arty/postzon: ./ PostZonServices.java > > >> Quick question: why is this going into the release branch? More to the > point, how is it a bug fix? >> This seems like a new feature, or new functionality, to me. >> >> -David >> >> >> [hidden email] wrote: >>> Author: jleroux >>> Date: Fri May 18 08:27:51 2007 >>> New Revision: 539500 >>> >>> URL: http://svn.apache.org/viewvc?view=rev&rev=539500 >>> Log: >>> Seems that I forgot to commit this file the last time. Anyway I will > commit an update soon... >>> Added: >>> > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/ > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java (with props) >>> Added: > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java >>> URL: > http://svn.apache.org/viewvc/ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdparty/postzon/PostZonServices.java?view=auto&rev=539500 > ======================================================================== > ====== >>> --- > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java (added) >>> +++ > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java Fri May 18 08:27:51 2007 >>> @@ -0,0 +1,659 @@ >>> +package org.ofbiz.order.thirdparty.postzon; >>> + >>> +import java.net.URL; >>> +import java.sql.Timestamp; >>> +import java.text.DecimalFormat; >>> +import java.text.ParseException; >>> +import java.text.SimpleDateFormat; >>> +import java.util.ArrayList; >>> +import java.util.Iterator; >>> +import java.util.LinkedList; >>> +import java.util.List; >>> +import java.util.Locale; >>> +import java.util.Map; >>> +import java.util.TreeMap; >>> + >>> +import org.ofbiz.base.util.Debug; >>> +import org.ofbiz.base.util.GeneralException; >>> +import org.ofbiz.base.util.StringUtil; >>> +import org.ofbiz.base.util.UtilMisc; >>> +import org.ofbiz.base.util.UtilProperties; >>> +import org.ofbiz.base.util.UtilURL; >>> +import org.ofbiz.datafile.DataFile; >>> +import org.ofbiz.datafile.DataFileException; >>> +import org.ofbiz.datafile.Record; >>> +import org.ofbiz.datafile.RecordIterator; >>> +import org.ofbiz.entity.GenericDelegator; >>> +import org.ofbiz.entity.GenericEntityException; >>> +import org.ofbiz.entity.GenericValue; >>> +import org.ofbiz.entity.util.EntityUtil; >>> +import org.ofbiz.security.Security; >>> +import org.ofbiz.service.DispatchContext; >>> +import org.ofbiz.service.GenericServiceException; >>> +import org.ofbiz.service.LocalDispatcher; >>> +import org.ofbiz.service.ServiceUtil; >>> + >>> +/** >>> + * PostZon and other PAF related tables import services >>> + */ >>> +public class PostZonServices { >>> + >>> + public static final String module = > PostZonServices.class.getName(); >>> + public static final String postZonDataFile = > "org/ofbiz/order/thirdparty/PostZon/PostZonFile.xml"; >>> + public static final String postZonData = "PostZonData"; >>> + public static final String resource_error = > "OrderErrorUiLabels"; >>> + >>> + // import PostZonLookup table service >>> + public static Map importPostZonData(DispatchContext dctx, Map > context) { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + Security security = dctx.getSecurity(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + String postZonFileLocation = (String) > context.get("postZonFileLocation"); >>> + Locale locale = (Locale) context.get("locale"); >>> + >>> + // do security check >>> + if (!security.hasPermission("SERVICE_INVOKE_ANY", > userLogin)) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY > ouDoNotHavePermissionToLoadPostZonTables",locale)); >>> + } >>> + >>> + // load the data file >>> + DataFile tdf = null; >>> + try { >>> + tdf = > DataFile.makeDataFile(UtilURL.fromResource(postZonDataFile), > postZonData); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToReadPostZonDataFile",locale)); >>> + } >>> + >>> + // locate the file to be imported >>> + URL tUrl = UtilURL.fromResource(postZonFileLocation); >>> + if (tUrl == null) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToLocatePostZonAtLocation", > UtilMisc.toMap("postZonFileLocation",postZonFileLocation), locale)); >>> + } >>> + >>> + RecordIterator tri = null; >>> + try { >>> + tri = tdf.makeRecordIterator(tUrl); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP > roblemGettingTheRecordIterator",locale)); >>> + } >>> + if (tri != null) { >>> + Record entry = null; >>> + postCodesUsed(); >>> + while (tri.hasNext()) { >>> + entry = null; >>> + try { >>> + entry = tri.next(); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + } >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + if ("data".equals(entry.getRecordName())) { >>> + Iterator pci = postCodesUsedList.iterator(); >>> + String postCodeUsed = null; >>> + String postCodeToCompare = > entry.getStringAndEmpty("postCode"); >>> + if (null == postCodeToCompare) { // skip header > and trailer >>> + continue; >>> + } >>> + //Debug.log("postCodeToCompare = " + > postCodeToCompare); >>> + boolean used = false; >>> + while (pci.hasNext()) { >>> + postCodeUsed = (String) pci.next(); >>> + int postCodeUsedLength = > postCodeUsed.length(); >>> + //Debug.log("postCodeUsed " + > postCodeUsed); >>> + if > (postCodeUsed.equals(postCodeToCompare.substring(0, > postCodeUsedLength))) { >>> + used = true; >>> + break; >>> + } >>> + } >>> + //if (used && null != entry.get("gridRefEast") > && null != entry.get("gridRefNorth")) { >>> + if (used) { >>> + GenericValue newValue = > delegator.makeValue("PostZonLookup", null); >>> + // PK fields >>> + newValue.set("postCodeId", > entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); >>> + >>> + // non-PK fields >>> + newValue.set("outCode", > entry.getStringAndEmpty("postCode").substring(0,4).trim()); >>> + newValue.set("inCode", > entry.getStringAndEmpty("postCode").substring(4).trim()); >>> + newValue.set("inCodeSector", > Long.valueOf(entry.getStringAndEmpty("postCode").substring(4,5))); >>> + newValue.set("postCodeName", > newValue.getString("outCode") + " " + newValue.getString("inCode")); >>> + if (null != entry.get("gridRefEast")) { >>> + newValue.set("gridRefEast", new > Long(Long.valueOf(entry.getStringAndEmpty("gridRefEast")).longValue() * > 10)); >>> + newValue.set("gridRefNorth", new > Long(Long.valueOf(entry.getStringAndEmpty("gridRefNorth")).longValue() * > 10)); >>> + } >>> + else { >>> + newValue.set("gridRefEast", new > Long(0)); >>> + newValue.set("gridRefNorth", new > Long(0)); >>> + } >>> + >>> + try { >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("postCodeId") + " > / " + newValue.get("gridRefEast").toString() + " / " + > newValue.get("gridRefNorth").toString()); >>> + } >>> + } >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> + >>> + public static final String addressDataFile = > "org/ofbiz/order/thirdparty/PostZon/AddressFile.xml"; >>> + public static final String addressData = "AddressData"; >>> + >>> + // import PAF addresses table service >>> + public static Map importAddressData(DispatchContext dctx, Map > context) { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + Security security = dctx.getSecurity(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + String addressFileLocation = (String) > context.get("addressFileLocation"); >>> + Locale locale = (Locale) context.get("locale"); >>> + >>> + // do security check >>> + if (!security.hasPermission("SERVICE_INVOKE_ANY", > userLogin)) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY > ouDoNotHavePermissionToLoadPostZonTables",locale)); >>> + } >>> + >>> + // load the data file >>> + DataFile tdf = null; >>> + try { >>> + tdf = > DataFile.makeDataFile(UtilURL.fromResource(addressDataFile), > addressData); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToReadAddressDataFile",locale)); >>> + } >>> + >>> + // locate the file to be imported >>> + URL tUrl = UtilURL.fromResource(addressFileLocation); >>> + if (tUrl == null) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToLocateAddressAtLocation", > UtilMisc.toMap("addressFileLocation",addressFileLocation), locale)); >>> + } >>> + //int i = 0; >>> + RecordIterator tri = null; >>> + try { >>> + tri = tdf.makeRecordIterator(tUrl); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP > roblemGettingTheRecordIterator",locale)); >>> + } >>> + if (tri != null) { >>> + Record entry = null; >>> + postCodesUsed(); >>> + while (tri.hasNext()) { >>> + entry = null; >>> + try { >>> + entry = tri.next(); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + } >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + //Debug.log("i = " + new Integer (i++).toString()); >>> + if ("localityDetails".equals(entry.getRecordName()) >>> + || > "thoroughfareDetails".equals(entry.getRecordName()) >>> + || > "deliveryPointDetails".equals(entry.getRecordName())) { >>> + Iterator pci = postCodesUsedList.iterator(); >>> + String postCodeUsed = null; >>> + String postCodeToCompare = > entry.getStringAndEmpty("postCode"); >>> + if (null == postCodeToCompare) { // skip header > and trailer >>> + continue; >>> + } >>> + //Debug.log("postCodeToCompare = " + > postCodeToCompare); >>> + boolean used = false; >>> + while (pci.hasNext()) { >>> + postCodeUsed = (String) pci.next(); >>> + int postCodeUsedLength = > postCodeUsed.length(); >>> + //Debug.log("postCodeUsed " + > postCodeUsed); >>> + if > (postCodeUsed.equals(postCodeToCompare.substring(0, > postCodeUsedLength))) { >>> + used = true; >>> + break; >>> + } >>> + } >>> + if (used && > "localityDetails".equals(entry.getRecordName())) { >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + GenericValue newValue = > delegator.makeValue("LocalityDetails", null); >>> + // PK field >>> + newValue.set("postCodeId", > entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); >>> + >>> + // non-PK fields >>> + newValue.set("postCodeType", > entry.getStringAndEmpty("postCodeType")); >>> + newValue.set("postTown", > entry.getStringAndEmpty("postTown").trim()); >>> + newValue.set("dependentLocality", > entry.getStringAndEmpty("dependentLocality").trim()); >>> + newValue.set("doubleDependentLocality", > entry.getStringAndEmpty("doubleDependentLocality").trim()); >>> + >>> + try { >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("postCodeId") + " > postTown : " + newValue.get("postTown")); >>> + } >>> + else if (used && > "thoroughfareDetails".equals(entry.getRecordName())) { >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + GenericValue newValue = > delegator.makeValue("ThoroughfareDetails", null); >>> + // PK field >>> + newValue.set("postCodeId", > entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); >>> + newValue.set("thoroughfareSeqNb", > entry.getStringAndEmpty("thoroughfareSeqNb")); >>> + >>> + // non-PK fields >>> + newValue.set("postCodeType", > entry.getStringAndEmpty("postCodeType")); >>> + newValue.set("thoroughfareName", > entry.getStringAndEmpty("thoroughfareName").trim()); >>> + newValue.set("thoroughfareDescriptor", > entry.getStringAndEmpty("thoroughfareDescriptor").trim()); >>> + newValue.set("dependentThoroughfareName", > entry.getStringAndEmpty("dependentThoroughfareName").trim()); >>> + newValue.set("dependentThoroughfareDesc", > entry.getStringAndEmpty("dependentThoroughfareDesc").trim()); >>> + >>> + try { >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("postCodeId") + " > thoroughfareName : " + newValue.get("thoroughfareName")); >>> + } >>> + else if (used && > "deliveryPointDetails".equals(entry.getRecordName())) { >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + GenericValue newValue = > delegator.makeValue("DeliveryPointDetails", null); >>> + // PK fields >>> + newValue.set("postCodeId", > entry.getStringAndEmpty("postCode").trim().replace(' ', '-')); >>> + newValue.set("addressKeyId", > entry.getLong("addressKey")); >>> + newValue.set("organisationKeyId", > entry.getLong("organisationKey")); >>> + >>> + // non-PK fields >>> + newValue.set("postCodeType", > entry.getStringAndEmpty("postCodeType")); >>> + newValue.set("thoroughfareSeqNb", > entry.getStringAndEmpty("thoroughfareSeqNb")); >>> + newValue.set("delivPointSufx", > entry.getStringAndEmpty("DeliveryPointSuffix")); >>> + newValue.set("buildingNumber", > entry.getLong("buildingNumber")); >>> + newValue.set("buildingName", > entry.getStringAndEmpty("buildingName").trim()); >>> + newValue.set("subBuildingName", > entry.getStringAndEmpty("subBuildingName").trim()); >>> + newValue.set("organisationName", > entry.getStringAndEmpty("organisationName").trim()); >>> + newValue.set("departementName", > entry.getStringAndEmpty("departementName").trim()); >>> + newValue.set("poBoxNb", > entry.getStringAndEmpty("poBoxNb").trim()); >>> + newValue.set("nbOfHouseHolds", > entry.getLong("nbOfHouseHolds")); >>> + newValue.set("smallUserOrgIndic", "Y" == > entry.getStringAndEmpty("smallUserOrgIndic") ? "Y" : "N" ); >>> + >>> + try { >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("postCodeId") + " > buildingName : " + newValue.get("buildingName")); >>> + } >>> + } >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> + >>> + public static final String azMapDataFile = > "org/ofbiz/order/thirdparty/PostZon/AzMapFile.xml"; >>> + public static final String azMapData = "AzMapData"; >>> + >>> + // import AZMapLookup table service >>> + public static Map importAzMapData(DispatchContext dctx, Map > context) { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + Security security = dctx.getSecurity(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + String azMapFileLocation = (String) > context.get("azMapFileLocation"); >>> + Locale locale = (Locale) context.get("locale"); >>> + >>> + // do security check >>> + if (!security.hasPermission("SERVICE_INVOKE_ANY", > userLogin)) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY > ouDoNotHavePermissionToLoadPostZonTables",locale)); >>> + } >>> + >>> + // load the data file >>> + DataFile tdf = null; >>> + try { >>> + tdf = > DataFile.makeDataFile(UtilURL.fromResource(azMapDataFile), azMapData); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToReadAzMapDataFile",locale)); >>> + } >>> + >>> + // locate the file to be imported >>> + URL tUrl = UtilURL.fromResource(azMapFileLocation); >>> + if (tUrl == null) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToLocateAzMapFileAtLocation", > UtilMisc.toMap("azMapFileLocation",azMapFileLocation), locale)); >>> + } >>> + >>> + RecordIterator tri = null; >>> + try { >>> + tri = tdf.makeRecordIterator(tUrl); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP > roblemGettingTheRecordIterator",locale)); >>> + } >>> + if (tri != null) { >>> + Record entry = null; >>> + postCodesUsed(); >>> + while (tri.hasNext()) { >>> + entry = null; >>> + try { >>> + entry = tri.next(); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + } >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + if ("data".equals(entry.getRecordName())) { >>> + GenericValue newValue = > delegator.makeValue("AzMapLookup", null); >>> + // PK fields >>> + //Debug.log("entry.getString('square').trim() = > " + entry.getStringAndEmpty("square").trim().replace(' ', '-')); >>> + newValue.set("squareId", > entry.getStringAndEmpty("square").trim().replace(' ', '-')); >>> + >>> + // non-PK fields >>> + newValue.set("squareName", > entry.getStringAndEmpty("square").trim()); >>> + newValue.set("gridRefLeft", > entry.getLong("gridRefLeft")); >>> + newValue.set("gridRefRight", > entry.getLong("gridRefRight")); >>> + newValue.set("gridRefBottom", > entry.getLong("gridRefBottom")); >>> + newValue.set("gridRefTop", > entry.getLong("gridRefTop")); >>> + >>> + try { >>> + //Debug.log("newValue = " + > newValue.toString()); >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("square") + " / " + > newValue.get("gridRefLeft") + " / " + newValue.get("gridRefRight") + " > / " + newValue.get("gridRefBottom") + " / " + > newValue.get("gridRefTop")); >>> + } >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> + >>> + public static List postCodesUsedList = null; >>> + /** Returns a List of used post codes */ >>> + public static List postCodesUsed() { >>> + if (postCodesUsedList == null) { >>> + synchronized(UtilMisc.class) { >>> + if (postCodesUsedList == null) { >>> + postCodesUsedList = new LinkedList(); >>> + String postCodesString = > UtilProperties.getPropertyValue("postzon", "postcodes.used"); >>> + if (postCodesString != null && > postCodesString.length() > 0) { // check if post codes need to be > limited according postzon.properties file >>> + int end = -1; >>> + int start = 0; >>> + for (int i=0; start < > postCodesString.length(); i++) { >>> + end = postCodesString.indexOf(",", > start); >>> + if (end == -1) { >>> + end = postCodesString.length(); >>> + } >>> + > postCodesUsedList.add(postCodesString.substring(start, end)); >>> + start = end + 1; >>> + } >>> + } >>> + } >>> + } >>> + } >>> + return postCodesUsedList; >>> + } >>> + >>> + public static Map > testFindAzMapSquareFromPostCode(DispatchContext dctx, Map context) { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + LocalDispatcher dispatcher = dctx.getDispatcher(); >>> + >>> + List postZonLookupList = null; >>> + try { >>> + postZonLookupList = delegator.findAll("PostZonLookup"); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + } >>> + Iterator i = postZonLookupList.iterator(); >>> + Map result = null; >>> + while (i.hasNext()) { >>> + GenericValue postZonLookup = (GenericValue) i.next(); >>> + try { >>> + result = > dispatcher.runSync("findAzMapSquareFromPostCode", > UtilMisc.toMap("postCodeId", postZonLookup.get("postCodeId"), >>> + "userLogin", userLogin)); >>> + Long counter = > Long.valueOf(result.get("counter").toString()); >>> + long counterValue = counter.longValue(); >>> + if ( counterValue > 1 ||counterValue == 0) { >>> + Debug.log("counter = " + > result.get("counter")); >>> + return ServiceUtil.returnFailure(); >>> + } >>> + } catch (GenericServiceException e) { >>> + Debug.logError(e, module); >>> + return ServiceUtil.returnError(e.getMessage()); >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> + >>> + public static final String postCodeSectorSiteAllocationDataFile > = "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteAllocation.xml"; >>> + public static final String postCodeSectorSiteAllocationData = > "PostCodeSectorSiteAllocation"; >>> + >>> + // import PostCodeSectorSiteAllocation table service >>> + public static Map > importPostCodeSectorSiteAllocationData(DispatchContext dctx, Map > context) { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + Security security = dctx.getSecurity(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + String postCodeSectorSiteAllocationFileLocation = (String) > context.get("postCodeSectorSiteAllocationFileLocation"); >>> + Locale locale = (Locale) context.get("locale"); >>> + >>> + // do security check >>> + if (!security.hasPermission("SERVICE_INVOKE_ANY", > userLogin)) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY > ouDoNotHavePermissionToLoadPostZonTables",locale)); >>> + } >>> + >>> + // load the data file >>> + DataFile tdf = null; >>> + try { >>> + tdf = > DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteAllocationD > ataFile), postCodeSectorSiteAllocationData); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToReadPostCodeSectorSiteAllocationDataFile",locale)); >>> + } >>> + >>> + // locate the file to be imported >>> + URL tUrl = > UtilURL.fromResource(postCodeSectorSiteAllocationFileLocation); >>> + if (tUrl == null) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToLocatePostCodeSectorSiteAllocationFileAtLocation", > UtilMisc.toMap("postCodeSectorSiteAllocationFileLocation",postCodeSector > SiteAllocationFileLocation), locale)); >>> + } >>> + >>> + RecordIterator tri = null; >>> + try { >>> + tri = tdf.makeRecordIterator(tUrl); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP > roblemGettingTheRecordIterator",locale)); >>> + } >>> + if (tri != null) { >>> + Record entry = null; >>> + postCodesUsed(); >>> + while (tri.hasNext()) { >>> + entry = null; >>> + try { >>> + entry = tri.next(); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + } >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + if ("data".equals(entry.getRecordName()) && ! > "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { >>> + GenericValue newValue = > delegator.makeValue("PostCodeSectorSiteAlloc", null); >>> + // PK fields >>> + newValue.set("outCodeId", > entry.getStringAndEmpty("outCode").trim()); >>> + newValue.set("inCodeSectorId", > entry.getLong("inCodeSector")); >>> + newValue.set("siteId", > Long.valueOf(entry.getStringAndEmpty("siteId").trim())); >>> + >>> + // non-PK fields >>> + newValue.set("exclusiv", null == > entry.getStringAndEmpty("exclusive") ? "Y" : "N" ); >>> + >>> + try { >>> + //Debug.log("newValue = " + > newValue.toString()); >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("outCodeSectorId") + > ""); >>> + } >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> + >>> + public static final String postCodeSectorSiteExceptionDataFile > = "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteException.xml"; >>> + public static final String postCodeSectorSiteExceptionData = > "PostCodeSectorSiteException"; >>> + >>> + // import PostCodeSectorSiteException table service >>> + public static Map > importPostCodeSectorSiteExceptionData(DispatchContext dctx, Map context) > { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + Security security = dctx.getSecurity(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + String postCodeSectorSiteExceptionFileLocation = (String) > context.get("postCodeSectorSiteExceptionFileLocation"); >>> + Locale locale = (Locale) context.get("locale"); >>> + >>> + // do security check >>> + if (!security.hasPermission("SERVICE_INVOKE_ANY", > userLogin)) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY > ouDoNotHavePermissionToLoadPostZonTables",locale)); >>> + } >>> + >>> + // load the data file >>> + DataFile tdf = null; >>> + try { >>> + tdf = > DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteExceptionDa > taFile), postCodeSectorSiteExceptionData); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToReadPostCodeSectorSiteExceptionDataFile",locale)); >>> + } >>> + >>> + // locate the file to be imported >>> + URL tUrl = > UtilURL.fromResource(postCodeSectorSiteExceptionFileLocation); >>> + if (tUrl == null) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToLocatePostCodeSectorSiteExceptionFileAtLocation", > UtilMisc.toMap("postCodeSectorSiteExceptionFileLocation",postCodeSectorS > iteExceptionFileLocation), locale)); >>> + } >>> + >>> + RecordIterator tri = null; >>> + try { >>> + tri = tdf.makeRecordIterator(tUrl); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP > roblemGettingTheRecordIterator",locale)); >>> + } >>> + if (tri != null) { >>> + Record entry = null; >>> + postCodesUsed(); >>> + while (tri.hasNext()) { >>> + entry = null; >>> + try { >>> + entry = tri.next(); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + } >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + if ("data".equals(entry.getRecordName()) && ! > "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { >>> + GenericValue newValue = > delegator.makeValue("PostCodeSectorSiteExcept", null); >>> + // PK fields >>> + newValue.set("outCodeId", > entry.getStringAndEmpty("outCode").trim()); >>> + newValue.set("inCodeSectorId", > Long.valueOf(entry.getStringAndEmpty("inCode").trim().substring(0,1))); >>> + newValue.set("inCodeId", > entry.getStringAndEmpty("inCode").trim()); >>> + newValue.set("siteId", > Long.valueOf(entry.getStringAndEmpty("siteId").trim())); >>> + >>> + // non-PK fields >>> + //newValue.set("exclusiv", null == > entry.getStringAndEmpty("exclusive") ? "Y" : "N" ); >>> + >>> + try { >>> + //Debug.log("newValue = " + > newValue.toString()); >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + // console log >>> + //Debug.log(newValue.get("outCodeId") + ""); >>> + } >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> + >>> + public static final String > postCodeSectorSiteDescriptionDataFile = > "org/ofbiz/order/thirdparty/PostZon/PostCodeSectorSiteDescription.xml"; >>> + public static final String postCodeSectorSiteDescriptionData = > "PostCodeSectorSiteDescription"; >>> + >>> + // import PostCodeSectorSiteDescription table service >>> + public static Map > importPostCodeSectorSiteDescriptionData(DispatchContext dctx, Map > context) { >>> + GenericDelegator delegator = dctx.getDelegator(); >>> + Security security = dctx.getSecurity(); >>> + GenericValue userLogin = (GenericValue) > context.get("userLogin"); >>> + String postCodeSectorSiteDescriptionFileLocation = (String) > context.get("postCodeSectorSiteDescriptionFileLocation"); >>> + Locale locale = (Locale) context.get("locale"); >>> + >>> + // do security check >>> + if (!security.hasPermission("SERVICE_INVOKE_ANY", > userLogin)) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderY > ouDoNotHavePermissionToLoadPostZonTables",locale)); >>> + } >>> + >>> + // load the data file >>> + DataFile tdf = null; >>> + try { >>> + tdf = > DataFile.makeDataFile(UtilURL.fromResource(postCodeSectorSiteDescription > DataFile), postCodeSectorSiteDescriptionData); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToReadPostCodeSectorSiteDescriptionDataFile",locale)); >>> + } >>> + >>> + // locate the file to be imported >>> + URL tUrl = > UtilURL.fromResource(postCodeSectorSiteDescriptionFileLocation); >>> + if (tUrl == null) { >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderU > nableToLocatePostCodeSectorSiteDescriptionFileAtLocation", > UtilMisc.toMap("postCodeSectorSiteDescriptionFileLocation",postCodeSecto > rSiteDescriptionFileLocation), locale)); >>> + } >>> + >>> + RecordIterator tri = null; >>> + try { >>> + tri = tdf.makeRecordIterator(tUrl); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderP > roblemGettingTheRecordIterator",locale)); >>> + } >>> + if (tri != null) { >>> + Record entry = null; >>> + postCodesUsed(); >>> + while (tri.hasNext()) { >>> + entry = null; >>> + try { >>> + entry = tri.next(); >>> + } catch (DataFileException e) { >>> + Debug.logError(e, module); >>> + } >>> + //Debug.log("entry.getRecordName() = " + > entry.getRecordName()); >>> + if ("data".equals(entry.getRecordName()) && ! > "NULL".equals(entry.getStringAndEmpty("siteId").trim().toUpperCase())) { >>> + GenericValue newValue = > delegator.makeValue("SiteDescription", null); >>> + // PK field >>> + newValue.set("siteId", > Long.valueOf(entry.getStringAndEmpty("siteId").trim())); >>> + >>> + // non-PK field >>> + newValue.set("siteDescription", > entry.getStringAndEmpty("siteDescription").trim()); >>> + >>> + try { >>> + //Debug.log("newValue = " + > newValue.toString()); >>> + delegator.createOrStore(newValue); >>> + } catch (GenericEntityException e) { >>> + Debug.logError(e, module); >>> + return > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderE > rrorWritingRecordsToTheDatabase",locale)); >>> + } >>> + >>> + >>> + // console log >>> + //Debug.log(newValue.get("outCodeId") + ""); >>> + } >>> + } >>> + } >>> + return ServiceUtil.returnSuccess(); >>> + } >>> +} >>> \ No newline at end of file >>> >>> Propchange: > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java >> ---------------------------------------------------------------------- > -------- >>> svn:eol-style = native >>> >>> Propchange: > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java >> ---------------------------------------------------------------------- > -------- >>> svn:keywords = "Date Rev Author URL Id" >>> >>> Propchange: > ofbiz/branches/release4.0/applications/order/src/org/ofbiz/order/thirdpa > rty/postzon/PostZonServices.java >> ---------------------------------------------------------------------- > -------- >>> svn:mime-type = text/plain >>> >>> > |
Free forum by Nabble | Edit this page |