You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mr...@apache.org on 2010/12/27 15:19:30 UTC
svn commit: r1053074 [1/3] - in /ofbiz/trunk/applications:
order/src/org/ofbiz/order/shoppingcart/shipping/ product/config/
product/data/ product/entitydef/ product/servicedef/
product/src/org/ofbiz/shipment/shipment/
product/src/org/ofbiz/shipment/thi...
Author: mrisaliti
Date: Mon Dec 27 14:19:29 2010
New Revision: 1053074
URL: http://svn.apache.org/viewvc?rev=1053074&view=rev
Log:
UPS use the new Shipment Gateway Config features (OFBIZ-4054)
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
ofbiz/trunk/applications/product/config/ProductUiLabels.xml
ofbiz/trunk/applications/product/config/shipment.properties
ofbiz/trunk/applications/product/data/ShipmentTypeData.xml
ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml
ofbiz/trunk/applications/product/servicedef/services_shipment.xml
ofbiz/trunk/applications/product/servicedef/services_shipment_ups.xml
ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java
ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java
ofbiz/trunk/applications/product/widget/facility/ShipmentGatewayConfigForms.xml
Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java Mon Dec 27 14:19:29 2010
@@ -33,6 +33,7 @@ import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilProperties;
import org.ofbiz.base.util.UtilValidate;
import org.ofbiz.entity.Delegator;
+import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.condition.EntityCondition;
import org.ofbiz.entity.condition.EntityConditionList;
@@ -272,10 +273,31 @@ public class ShippingEvents {
}
return genericShipAmt;
}
+
+ public static String getShipmentCustomMethod(Delegator delegator, String shipmentCustomMethodId) {
+ String serviceName = null;
+ GenericValue customMethod = null;
+ try {
+ customMethod = delegator.findOne("CustomMethod", UtilMisc.toMap("customMethodId", shipmentCustomMethodId), false);
+ if (UtilValidate.isNotEmpty(customMethod)) {
+ serviceName = customMethod.getString("customMethodName");
+ }
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ }
+ return serviceName;
+ }
- public static BigDecimal getExternalShipEstimate(LocalDispatcher dispatcher, GenericValue storeShipMeth, Map context) throws GeneralException {
+ public static BigDecimal getExternalShipEstimate(LocalDispatcher dispatcher, GenericValue storeShipMeth, Map<String, Object> context) throws GeneralException {
+ String shipmentCustomMethodId = storeShipMeth.getString("shipmentCustomMethodId");
+ String serviceName = "";
+ if (UtilValidate.isNotEmpty(shipmentCustomMethodId)) {
+ serviceName = getShipmentCustomMethod(dispatcher.getDelegator(), shipmentCustomMethodId);
+ }
+ if (UtilValidate.isEmpty(serviceName)) {
+ serviceName = storeShipMeth.getString("serviceName");
+ }
// invoke the external shipping estimate service
- String serviceName = (String)storeShipMeth.get("serviceName");
BigDecimal externalShipAmt = null;
if (serviceName != null) {
String doEstimates = UtilProperties.getPropertyValue("shipment.properties", "shipment.doratecheck", "true");
@@ -289,16 +311,19 @@ public class ShippingEvents {
serviceName = null;
}
}
- if ((serviceName != null)) {
+ if (serviceName != null) {
+ String shipmentGatewayConfigId = storeShipMeth.getString("shipmentGatewayConfigId");
String configProps = storeShipMeth.getString("configProps");
if (UtilValidate.isNotEmpty(serviceName)) {
// prepare the external service context
context.put("serviceConfigProps", configProps);
-
+ context.put("shipmentCustomMethodId", shipmentCustomMethodId);
+ context.put("shipmentGatewayConfigId", shipmentGatewayConfigId);
+
// invoke the service
- Map serviceResp = null;
+ Map<String, Object> serviceResp = null;
try {
- Debug.log("Service : " + serviceName + " / " + configProps + " -- " + context, module);
+ Debug.log("Service : " + serviceName + " / shipmentGatewayConfigId : " + shipmentGatewayConfigId + " / configProps : " + configProps + " -- " + context, module);
// because we don't want to blow up too big or rollback the transaction when this happens, always have it run in its own transaction...
serviceResp = dispatcher.runSync(serviceName, context, 0, true);
} catch (GenericServiceException e) {
Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/config/ProductUiLabels.xml (original)
+++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Mon Dec 27 14:19:29 2010
@@ -559,17 +559,45 @@
<value xml:lang="en">Allow Cash On Delivery</value>
<value xml:lang="it">Permetti pagamento in contanti alla consegna</value>
</property>
+ <property key="FacilityShipmentUpsApplyToPackagesIsNotConfigured">
+ <value xml:lang="en">Apply to packages is not configured</value>
+ <value xml:lang="it">Applica ai pacchi non è configurato</value>
+ </property>
<property key="FacilityShipmentUpsBillShipperAccountNumber">
<value xml:lang="en">Bill Shipper Account Number</value>
<value xml:lang="it">Numero conto fatturazione/spedizione</value>
</property>
<property key="FacilityShipmentUpsConnectTimeout">
- <value xml:lang="en">Conntect Timeout</value>
+ <value xml:lang="en">Connect Timeout</value>
<value xml:lang="it">Timeout connessione a UPS</value>
</property>
<property key="FacilityShipmentUpsConnectUrl">
<value xml:lang="en">Conntect URL</value>
- <value xml:lang="it">URL Connessione a UPS</value>
+ <value xml:lang="it">URL connessione a UPS</value>
+ </property>
+ <property key="FacilityShipmentUpsCodFundsCodeIsNotConfigured">
+ <value xml:lang="en">CodFundsCode is not configured</value>
+ <value xml:lang="it">CodFundsCode non è configurato</value>
+ </property>
+ <property key="FacilityShipmentUpsCurrencyDoesNotMatch">
+ <value xml:lang="en">The Currency Unit of Measure returned ${currency1} is not the same as the original ${currency2}, setting to the new one.</value>
+ <value xml:lang="it">La valuta restituita ${currency1} non è la stessa dell'originale ${currency2}, impostarne un'altra.</value>
+ </property>
+ <property key="FacilityShipmentUpsCustomerClassification">
+ <value xml:lang="en">Customer Classification</value>
+ <value xml:lang="it">Classificazione cliente</value>
+ </property>
+ <property key="FacilityShipmentUpsCustomerClassificationOccasional">
+ <value xml:lang="en">Occasional</value>
+ <value xml:lang="it">Occasionale</value>
+ </property>
+ <property key="FacilityShipmentUpsCustomerClassificationRetail">
+ <value xml:lang="en">Retail</value>
+ <value xml:lang="it">Dettaglio</value>
+ </property>
+ <property key="FacilityShipmentUpsCustomerClassificationWholesale">
+ <value xml:lang="en">Wholesale</value>
+ <value xml:lang="it">Ingrosso</value>
</property>
<property key="FacilityShipmentUpsDefaultReturnLabelMemo">
<value xml:lang="en">Default Return Label Memo</value>
@@ -579,10 +607,194 @@
<value xml:lang="en">Default Return Label Subject</value>
<value xml:lang="it">Soggetto di default sull'etichetta del reso</value>
</property>
+ <property key="FacilityShipmentUpsErrorStatusCode">
+ <value xml:lang="en">Error status code: ${responseStatusCode}</value>
+ <value xml:lang="it">Errore codice di stato: ${responseStatusCode}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorWasAtElement">
+ <value xml:lang="en">The error was at Element ${errorLocationElementName}</value>
+ <value xml:lang="it">L'errore era nell'elemento ${errorLocationElementName}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorWasAtElementAttribute">
+ <value xml:lang="en"> in the attribute ${errorLocationAttributeName}</value>
+ <value xml:lang="it"> nell'attributo ${errorLocationAttributeName}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorWasAtElementFullText">
+ <value xml:lang="en"> full text: ${fullText}</value>
+ <value xml:lang="it"> testo completo: ${fullText}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorMessage">
+ <value xml:lang="en">An error occurred [code:${errorCode}] with severity ${errorSeverity}: ${errorDescription}</value>
+ <value xml:lang="it">Un errore è successo [codice:${errorCode}] con severità ${errorSeverity}: ${errorDescription}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorMessageMinimumRetrySeconds">
+ <value xml:lang="en">; you should wait ${minimumRetrySeconds} seconds before retrying. </value>
+ <value xml:lang="it">; devi aspettare ${minimumRetrySeconds} secondi prima di riprovare. </value>
+ </property>
<property key="FacilityShipmentUpsFundsCode">
<value xml:lang="en">Funds for Cash on Delivery</value>
<value xml:lang="it">Fondi per il pagamento in contanti alla consegna</value>
</property>
+ <property key="FacilityShipmentUpsIncompleteConnectionURL">
+ <value xml:lang="en">Incomplete connection URL; check your UPS configuration</value>
+ <value xml:lang="it">URL connessione incompleto; verificare la tua configurazione UPS</value>
+ </property>
+ <property key="FacilityShipmentUpsServiceNameCannotBeNull">
+ <value xml:lang="en">UPS service name cannot be null</value>
+ <value xml:lang="it">Nome servizio UPS non può essere vuoto</value>
+ </property>
+ <property key="FacilityShipmentUpsXmlMessageCannotBeNull">
+ <value xml:lang="en">XML message cannot be null</value>
+ <value xml:lang="it">Messaggio XML non può essere vuoto</value>
+ </property>
+ <property key="FacilityShipmentUpsCannotRateEstimatePostalCodeMissing">
+ <value xml:lang="en">Cannot estimate UPS Rate because postal code is missing</value>
+ <value xml:lang="it">Non è possibile stimare la spedizione con UPS perchè il CAP è mancante</value>
+ </property>
+ <property key="FacilityShipmentUpsURLConnectionProblem">
+ <value xml:lang="en">URL Connection problem: ${exception}</value>
+ <value xml:lang="it">Problema connessione URL: ${exception}</value>
+ </property>
+ <property key="FacilityShipmentUpsReceivedNullResponse">
+ <value xml:lang="en">Received a null response</value>
+ <value xml:lang="it">Ricevuta una risposta nulla</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentConfirmResposeWasReceived">
+ <value xml:lang="en">A ShipmentConfirmRespose was received: ${shipmentConfirmResponseString}</value>
+ <value xml:lang="it">Una risposta ShipmentConfirmRespose è stata ricevuta: ${shipmentConfirmResponseString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorDataShipmentAlternateRate">
+ <value xml:lang="en">Error reading or writing Shipment data for UPS Shipment Alternate Rates Inquiry: ${errorString}</value>
+ <value xml:lang="it">Errore leggendo o scrivendo i dati della spedizione stima spedizione alternativa UPS: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorDataShipmentAccept">
+ <value xml:lang="en">Error reading or writing Shipment data for UPS Shipment Accept: ${errorString}</value>
+ <value xml:lang="it">Errore leggendo o scrivendo i dati della spedizione all'accettazione spedizione UPS: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorDataShipmentConfirm">
+ <value xml:lang="en">Error reading or writing Shipment data for UPS Shipment Confirm: ${errorString}</value>
+ <value xml:lang="it">Errore leggendo o scrivendo i dati della spedizione alla conferma spedizione UPS: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorDataShipmentTrack">
+ <value xml:lang="en">Error reading or writing Shipment data for UPS Track Shipment: ${errorString}</value>
+ <value xml:lang="it">Errore leggendo o scrivendo i dati della spedizione della Tracciatura Spedizione UPS: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorDataShipmentVoid">
+ <value xml:lang="en">Error reading or writing Shipment data for UPS Void Shipment: ${errorString}</value>
+ <value xml:lang="it">Errore leggendo o scrivendo i dati della spedizione alla Cancellazione Spedizione UPS: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorMorePackageOnThisShipment">
+ <value xml:lang="en">Error: There are more Packages on this Shipment than there were PackageResults returned from UPS</value>
+ <value xml:lang="it">Errore: Ci sono più pacchi in questa spedizione di quelli che ci sono come PackageResults restituiti da UPS</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorMorePackageResultsWereReturned">
+ <value xml:lang="en">Error: More PackageResults were returned than there are Packages on this Shipment; the TrackingNumber is ${trackingNumber}, the ServiceOptionsCharges were ${ServiceOptionsCharges}</value>
+ <value xml:lang="it">Errore: Molti PackageResults sono stati restituiti più di quelli che ci sono nel pacco della spedizione; il TrackingNumber è ${trackingNumber}, il ServiceOptionsCharges era ${ServiceOptionsCharges}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorNoPackageResultsWereReturned">
+ <value xml:lang="en">Error: No PackageResults were returned for the Package ${shipmentPackageSeqId}</value>
+ <value xml:lang="it">Error: No PackageResults were returned for the Package ${shipmentPackageSeqId}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingBillingWeight">
+ <value xml:lang="en">Error parsing the billingWeight ${billingWeight}: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di billingWeight ${billingWeight}: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingAddressVerificationResponse">
+ <value xml:lang="en">Error parsing the AddressVerificationResponse: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di AddressVerificationResponse: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingRatingServiceSelectionResponse">
+ <value xml:lang="en">Error parsing the RatingServiceSelectionResponse: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di RatingServiceSelectionResponse: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingServiceOptionsMonetaryValue">
+ <value xml:lang="en">Error parsing the serviceOptionsMonetaryValue ${serviceOptionsMonetaryValue}: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di serviceOptionsMonetaryValue ${serviceOptionsMonetaryValue}: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingShipmentAcceptResponse">
+ <value xml:lang="en">Error parsing the ShipmentAcceptResponse: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di ShipmentAcceptResponse: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingShipmentConfirm">
+ <value xml:lang="en">Error parsing the ShipmentConfirmResponse: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di ShipmentConfirmResponse: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingTrackResponse">
+ <value xml:lang="en">Error parsing the TrackResponse: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di TrackResponse: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingTotalMonetaryValue">
+ <value xml:lang="en">Error parsing the totalMonetaryValue ${totalMonetaryValue}: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di totalMonetaryValue ${totalMonetaryValue}: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingTransportationMonetaryValue">
+ <value xml:lang="en">Error parsing the transportationMonetaryValue ${transportationMonetaryValue}: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di transportationMonetaryValue ${transportationMonetaryValue}: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorParsingVoidShipmentResponse">
+ <value xml:lang="en">Error parsing the VoidShipmentResponse: ${errorString}</value>
+ <value xml:lang="it">Errore di parsing di VoidShipmentResponse: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorSendingAddressVerification">
+ <value xml:lang="en">Error sending UPS request Address Verification: ${errorString}</value>
+ <value xml:lang="it">Errore durante l'invio a UPS di UPS Address Verification: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorSendingRate">
+ <value xml:lang="en">Error sending UPS request for UPS Service Rate: ${errorString}</value>
+ <value xml:lang="it">Errore durante l'invio a UPS di UPS Service Rate: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorSendingShipAccept">
+ <value xml:lang="en">Error sending UPS request for UPS Service ShipAccept: ${errorString}</value>
+ <value xml:lang="it">Errore durante l'invio a UPS di UPS Service ShipAccept: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorSendingShipConfirm">
+ <value xml:lang="en">Error sending UPS request for UPS Service ShipConfirm: ${errorString}</value>
+ <value xml:lang="it">Errore durante l'invio a UPS di UPS Service ShipConfirm: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorSendingTrack">
+ <value xml:lang="en">Error sending UPS request for UPS Service Track: ${errorString}</value>
+ <value xml:lang="it">Errore durante l'invio a UPS di UPS Service Track: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorSendingVoid">
+ <value xml:lang="en">Error sending UPS request for UPS Service Void: ${errorString}</value>
+ <value xml:lang="it">Errore durante l'invio a UPS di UPS Service Void: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorAddressValidationRequestXmlToString">
+ <value xml:lang="en">Error writing the AddressValidationRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML AddressValidationRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorRatingServiceSelectionRequestXmlToString">
+ <value xml:lang="en">Error writing the RatingServiceSelectionRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML RatingServiceSelectionRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorShipmentAcceptRequestXmlToString">
+ <value xml:lang="en">Error writing the ShipmentAcceptRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML ShipmentAcceptRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorShipmentConfirmRequestXmlToString">
+ <value xml:lang="en">Error writing the ShipmentConfirmRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML ShipmentConfirmRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorTrackRequestXmlToString">
+ <value xml:lang="en">Error writing the TrackRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML TrackRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorAccessRequestXmlToString">
+ <value xml:lang="en">Error writing the AccessRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML AccessRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsErrorVoidShipmentRequestXmlToString">
+ <value xml:lang="en">Error writing the VoidShipmentRequest XML Document to a String: ${errorString}</value>
+ <value xml:lang="it">Errore scrivendo il documento XML VoidShipmentRequest in stringa: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsAddressValidationRequireCityOrPostalCode">
+ <value xml:lang="en">Address Validation requires either a city or postalCode</value>
+ <value xml:lang="it">Validazione dell'indirizzo richiede entrambi città o CAP</value>
+ </property>
+ <property key="FacilityShipmentUpsGatewayNotAvailable">
+ <value xml:lang="en">UPS Shipment Gateway Configuration is not available</value>
+ <value xml:lang="it">Configurazione gateway spedizioni UPS non è disponibile</value>
+ </property>
<property key="FacilityShipmentUpsMaxEstimateWeight">
<value xml:lang="en">Max weight per package</value>
<value xml:lang="it">Peso massimo per pacco</value>
@@ -591,6 +803,14 @@
<value xml:lang="en">Minimum weight for a package</value>
<value xml:lang="it">Peso minimo per un pacco</value>
</property>
+ <property key="FacilityShipmentUpsNoRateAvailable">
+ <value xml:lang="en">No rates available at this time</value>
+ <value xml:lang="it">Nessuna stima spedizione disponibile in questo momento</value>
+ </property>
+ <property key="FacilityShipmentUpsNotRouteSegmentCarrier">
+ <value xml:lang="en">ERROR: The Carrier for ShipmentRouteSegment ${shipmentRouteSegmentId} of Shipment ${shipmentId}, is not UPS.</value>
+ <value xml:lang="it">ERRORE: il corriere sul percorso spedizione ${shipmentRouteSegmentId} della spedizione ${shipmentId}, non è UPS.</value>
+ </property>
<property key="FacilityShipmentUpsPickupAirServiceCenter">
<value xml:lang="en">Air Service Center</value>
<value xml:lang="it">Prelievo per centro servizio aereo</value>
@@ -619,6 +839,66 @@
<value xml:lang="en">Suggested Retail Rates</value>
<value xml:lang="it">Costo suggerito al dettaglio</value>
</property>
+ <property key="FacilityShipmentUpsShipmentAlternateRatesInquiryResponse">
+ <value xml:lang="en">A ShipmentAlternateRatesInquiryResponse was received: ${rateResponseString}</value>
+ <value xml:lang="it">Una ShipmentAlternateRatesInquiryResponse è stata ricevuta: ${rateResponseString}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentOriginPostalAddressNotFound">
+ <value xml:lang="en">OriginPostalAddress not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Indirizzo d'origine non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentStatusNotConfirmed">
+ <value xml:lang="en">ERROR: The Carrier Service Status for ShipmentRouteSegment ${shipmentRouteSegmentId} of Shipment ${shipmentId}, is ${shipmentRouteSegmentStatus}, but must be not-set or [SHRSCS_CONFIRMED] to perform the UPS Shipment Accept operation.</value>
+ <value xml:lang="it">ERRORE: lo stato corriere per percorso spedizione ${shipmentRouteSegmentId} della spedizione ${shipmentId}, è ${shipmentRouteSegmentStatus}, ma deve non essere impostato o [SHRSCS_CONFIRMED] per eseguire l'operazione di Accettazione Spedizione UPS.</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentStatusMustBeConfirmedOrAccepted">
+ <value xml:lang="en">ERROR: The Carrier Service Status for ShipmentRouteSegment ${shipmentRouteSegmentId} of Shipment ${shipmentId}, is ${shipmentRouteSegmentStatus}, but must be [SHRSCS_CONFIRMED] or [SHRSCS_ACCEPTED] to perform the UPS Void Shipment operation.</value>
+ <value xml:lang="it">ERRORE: lo stato corriere per percorso spedizione ${shipmentRouteSegmentId} della spedizione ${shipmentId}, è ${shipmentRouteSegmentStatus}, ma deve essere impostato [SHRSCS_CONFIRMED] or [SHRSCS_ACCEPTED] per eseguire l'operazione di Cancellazione Spedizione UPS.</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentStatusNotAccepted">
+ <value xml:lang="en">ERROR: The Carrier Service Status for ShipmentRouteSegment ${shipmentRouteSegmentId} of Shipment ${shipmentId}, is ${shipmentRouteSegmentStatus}, but must be not-set or [SHRSCS_ACCEPTED] to perform the UPS Shipment Confirm operation.</value>
+ <value xml:lang="it">ERRORE: lo stato corriere per percorso spedizione ${shipmentRouteSegmentId} della spedizione ${shipmentId}, è ${shipmentRouteSegmentStatus}, ma deve non essere impostato o [SHRSCS_ACCEPTED] per eseguire l'operazione di Conferma Spedizione UPS.</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentStatusNotStarted">
+ <value xml:lang="en">ERROR: The Carrier Service Status for ShipmentRouteSegment ${shipmentRouteSegmentId} of Shipment ${shipmentId}, is ${shipmentRouteSegmentStatus}, but must be not-set or [SHRSCS_NOT_STARTED] to perform the UPS Shipment Confirm operation.</value>
+ <value xml:lang="it">ERRORE: lo stato corriere per percorso spedizione ${shipmentRouteSegmentId} della spedizione ${shipmentId}, è ${shipmentRouteSegmentStatus}, ma deve non essere impostato o [SHRSCS_NOT_STARTED] per eseguire l'operazione di Conferma Spedizione UPS.</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentOriginTelecomNumberNotFound">
+ <value xml:lang="en">OriginTelecomNumber not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Numero telefono d'origine non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentOriginCountryGeoNotFound">
+ <value xml:lang="en">OriginCountryGeo not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Paese d'origine non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentDestPostalAddressNotFound">
+ <value xml:lang="en">DestPostalAddress not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Indirizzo di destinazione non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentDestTelecomNumberNotFound">
+ <value xml:lang="en">DestTelecomNumber not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Numero telefono di destinazione non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentDestCountryGeoNotFound">
+ <value xml:lang="en">DestCountryGeo not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Paese di destinazione non trovata per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentCarrierShipmentMethodNotFound">
+ <value xml:lang="en">CarrierShipmentMethod not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}; partyId is ${carrierPartyId} and shipmentMethodTypeId is ${shipmentMethodTypeId};</value>
+ <value xml:lang="it">Metodo di spedizione corriere non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}; il soggetto è ${carrierPartyId} e il metodo di spedizione è ${shipmentMethodTypeId};</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentThirdPartyCountryNotFound">
+ <value xml:lang="en">Third-party country not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Paese soggetto terzo non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsRouteSegmentThirdPartyPostalCodeNotFound">
+ <value xml:lang="en">Third-party postal code not found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">CAP soggetto terzo non trovato per la spedizione ${shipmentId} e percorso spedizione ${shipmentRouteSegmentId}</value>
+ </property>
+ <property key="FacilityShipmentUpsPackageRouteSegsNotFound">
+ <value xml:lang="en">No ShipmentPackageRouteSegs (ie No Packages) found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">No ShipmentPackageRouteSegs (ie No Packages) found for ShipmentRouteSegment with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ </property>
<property key="FacilityShipmentUpsSaveCertInfo">
<value xml:lang="en">Save Cert Info</value>
<value xml:lang="it">Salva informazioni certificato</value>
@@ -631,6 +911,58 @@
<value xml:lang="en">Secured Funds Only</value>
<value xml:lang="it">Solo fondi sicuri</value>
</property>
+ <property key="FacilityShipmentUpsShipmentAcceptError">
+ <value xml:lang="en">, but the following occurred: </value>
+ <value xml:lang="it">, ma i seguenti errori sono accaduti: </value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentAcceptFailed">
+ <value xml:lang="en">The UPS ShipmentAccept failed</value>
+ <value xml:lang="it">La richiesta ad UPS ShipmentAccept è fallita</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentAcceptSucceeded">
+ <value xml:lang="en">The UPS ShipmentAccept succeeded</value>
+ <value xml:lang="it">La richiesta ad UPS ShipmentAccept ha avuto successo</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentConfirmError">
+ <value xml:lang="en">, but the following occurred: </value>
+ <value xml:lang="it">, ma i seguenti errori sono accaduti: </value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentConfirmFailedForReturnShippingLabel">
+ <value xml:lang="en">The UPS ShipmentConfirm failed so not sending email for return shipping label</value>
+ <value xml:lang="it">La richiesta ShipmentConfirm UPS è fallita così non inviare e-mail per l'etichetta reso spedizione</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentConfirmFailed">
+ <value xml:lang="en">The UPS ShipmentConfirm failed</value>
+ <value xml:lang="it">La richiesta ad UPS ShipmentConfirm è fallita</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentConfirmSucceeded">
+ <value xml:lang="en">The UPS ShipmentConfirm succeeded</value>
+ <value xml:lang="it">La richiesta ad UPS ShipmentConfirm ha avuto successo</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentTrackError">
+ <value xml:lang="en">, but the following occurred: </value>
+ <value xml:lang="it">, ma i seguenti errori sono accaduti: </value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentTrackFailed">
+ <value xml:lang="en">The UPS TrackShipment failed</value>
+ <value xml:lang="it">La tracciatura spedizione UPS è fallita</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentTrackSucceeded">
+ <value xml:lang="en">The UPS TrackShipment succeeded</value>
+ <value xml:lang="it">La tracciatura spedizione UPS ha avuto successo</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentVoidError">
+ <value xml:lang="en">, but the following occurred: </value>
+ <value xml:lang="it">, ma i seguenti errori sono accaduti: </value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentVoidFailed">
+ <value xml:lang="en">The UPS ShipmentConfirm failed; the StatusType is: ${statusTypeCode} : ${statusTypeDescription}, the StatusCode is: ${statusCodeCode} ${statusCodeDescription}</value>
+ <value xml:lang="it">La cancellazione spedizione UPS è fallita; lo stato è: ${statusTypeCode} : ${statusTypeDescription}, il codice stato è: ${statusCodeCode} ${statusCodeDescription}</value>
+ </property>
+ <property key="FacilityShipmentUpsShipmentVoidSucceeded">
+ <value xml:lang="en">The UPS VoidShipment succeeded; the StatusType is: ${statusTypeCode} : ${statusTypeDescription}, the StatusCode is: ${statusCodeCode} ${statusCodeDescription}</value>
+ <value xml:lang="it">La cancellazione spedizione UPS ha avuto successo; lo stato è: ${statusTypeCode} : ${statusTypeDescription}, il codice stato è: ${statusCodeCode} ${statusCodeDescription}</value>
+ </property>
<property key="FacilityShipmentUpsShipperNumber">
<value xml:lang="en">Shipper Number</value>
<value xml:lang="it">Numero spedizioniere</value>
@@ -639,9 +971,25 @@
<value xml:lang="en">Shipper Pickup Type</value>
<value xml:lang="it">Tipo prelievo spedizioniere</value>
</property>
+ <property key="FacilityShipmentUpsUnableToLocateShippingMethodRequested">
+ <value xml:lang="en">Unable to locate the shipping method requested</value>
+ <value xml:lang="it">Non è possibile localizzare il metodo di spedizione richiesto</value>
+ </property>
<property key="FacilityShipmentUpsSurchargeAll">
<value xml:lang="en">Surcharge amount will be applied to each shipment package</value>
- <value xml:lang="it">Importo supplementare sarââ applicato ad ogni pacco di spedizione</value>
+ <value xml:lang="it">Importo supplementare sarà applicato ad ogni pacco di spedizione</value>
+ </property>
+ <property key="FacilityShipmentUpsSurchargeAmountIsNotConfigurated">
+ <value xml:lang="en">Surcharge amount is not configured</value>
+ <value xml:lang="it">Importo supplementare non è configurato</value>
+ </property>
+ <property key="FacilityShipmentUpsSurchargeCurrencyIsNotConfigurated">
+ <value xml:lang="en">Surcharge currency is not configured</value>
+ <value xml:lang="it">Valuta importo supplementare non è configurato</value>
+ </property>
+ <property key="FacilityShipmentUpsSurchargeIsNotConfigurated">
+ <value xml:lang="en">Surcharge amount is not configured</value>
+ <value xml:lang="it">Importo supplementare non è configurato</value>
</property>
<property key="FacilityShipmentUpsSurchargeAmount">
<value xml:lang="en">Surcharge Amount for Cash On Delivery</value>
@@ -657,20 +1005,48 @@
</property>
<property key="FacilityShipmentUpsSurchargeFirst">
<value xml:lang="en">Surcharge amount will be applied to the first package in the shipment</value>
- <value xml:lang="it">Importo supplementare sarââ applicato al primo pacco di spedizione</value>
+ <value xml:lang="it">Importo supplementare sarà applicato al primo pacco di spedizione</value>
</property>
<property key="FacilityShipmentUpsSurchargeNone">
<value xml:lang="en">Surcharge will not be applied to any packages </value>
- <value xml:lang="it">Importo supplementare non sarââ applicato a nessun pacco della spedizione</value>
+ <value xml:lang="it">Importo supplementare non sarà applicato a nessun pacco della spedizione</value>
</property>
<property key="FacilityShipmentUpsSurchargeSplit">
<value xml:lang="en">Surcharge amount will be split between shipment packages</value>
- <value xml:lang="it">Importo supplementare sarââ suddiviso fra i pacchi della spedizione</value>
+ <value xml:lang="it">Importo supplementare sarà suddiviso fra i pacchi della spedizione</value>
+ </property>
+ <property key="FacilityShipmentUpsTrackingDigestWasNotSet">
+ <value xml:lang="en">ERROR: The trackingDigest was not set for this Route Segment, meaning that a UPS shipment confirm has not been done.</value>
+ <value xml:lang="it">ERRORE: L'elemento trackingDigest non è impostato per questo percorso di spedizione, significa che una conferma spedizione a UPS non è stata fatta.</value>
+ </property>
+ <property key="FacilityShipmentUpsTrackingIdNumberWasNotSet">
+ <value xml:lang="en">ERROR: The trackingIdNumber was not set for this Route Segment, meaning that a UPS shipment confirm has not been done.</value>
+ <value xml:lang="it">ERRORE: Il trackingIdNumber non è impostato in questo percorso spedizione, significa che una conferma spedizione UPS non è stata fatta.</value>
</property>
<property key="FacilityShipmentUpsUnsecuredFundsAllowed">
<value xml:lang="en">Unsecured Funds Allowed</value>
<value xml:lang="it">Consentiti fondi non sicuri</value>
</property>
+ <property key="FacilityShipmentUpsRateEstimateError">
+ <value xml:lang="en">Error on UPS Rate Estimate: ${errorString}</value>
+ <value xml:lang="it">Errore su stima spedizione UPS: ${errorString}</value>
+ </property>
+ <property key="FacilityShipmentUpsShipToAddresssNoDestionationCountry">
+ <value xml:lang="en">Destination CountryGeo not found for ship-to address</value>
+ <value xml:lang="it">Paese di destinazione non trovato dall'indirizzo di spedizione</value>
+ </property>
+ <property key="FacilityShipmentUpsUnableFoundShipToAddresss">
+ <value xml:lang="en">Unable to determine ship-to address</value>
+ <value xml:lang="it">Non è possibile determinare l'indirizzo di spedizione</value>
+ </property>
+ <property key="FacilityShipmentUpsUnableFoundShipToAddresssForDropShipping">
+ <value xml:lang="en">Unable to determine ship-from address for drop shipping</value>
+ <value xml:lang="it">Non è possibile determinare l'indirizzo di spedizione per la spedizione conto terzi</value>
+ </property>
+ <property key="FacilityShipmentUpsWeightValueNotFound">
+ <value xml:lang="en">Weight value not found for ShipmentRouteSegment with shipmentId ${shipmentId}, shipmentRouteSegmentId ${shipmentRouteSegmentId}, and shipmentPackageSeqId ${shipmentPackageSeqId}</value>
+ <value xml:lang="it">Il peso non trovato per la spedizione ${shipmentId}, percorso spedizione ${shipmentRouteSegmentId}, e pacco ${shipmentPackageSeqId}</value>
+ </property>
<property key="FacilityShipmentUspsAccessPassword">
<value xml:lang="en">Access Password</value>
<value xml:lang="it">Password d'accesso</value>
@@ -21167,6 +21543,10 @@
<value xml:lang="zh">è´§è¿æ¶æ®ç¨äº</value>
<value xml:lang="zh_TW">è²¨éæ¶æç¨äº</value>
</property>
+ <property key="ProductShipmentRouteSegmentNotFound">
+ <value xml:lang="en">ShipmentRouteSegment not found with shipmentId ${shipmentId} and shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ <value xml:lang="it">Percorso spedizione non trovato con shipmentId ${shipmentId} e shipmentRouteSegmentId ${shipmentRouteSegmentId}</value>
+ </property>
<property key="ProductShipmentThirdPartyAccountNumber">
<value xml:lang="de">Kontonummer Dritter</value>
<value xml:lang="en">Third Party Account Number</value>
Modified: ofbiz/trunk/applications/product/config/shipment.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/shipment.properties?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/config/shipment.properties (original)
+++ ofbiz/trunk/applications/product/config/shipment.properties Mon Dec 27 14:19:29 2010
@@ -64,7 +64,7 @@ shipment.ups.access.password=REG111111
# Setting to save files needed for UPS certification
shipment.ups.save.certification.info=true
-shipment.ups.save.certification.path=/ofbiz/work/ofbiz/upscert
+shipment.ups.save.certification.path=${sys:getProperty('ofbiz.home')}/runtime/output/upscert
# Shipper Default Pickup Type
# 01 - Daily Pickup
Modified: ofbiz/trunk/applications/product/data/ShipmentTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ShipmentTypeData.xml?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/data/ShipmentTypeData.xml (original)
+++ ofbiz/trunk/applications/product/data/ShipmentTypeData.xml Mon Dec 27 14:19:29 2010
@@ -124,7 +124,7 @@ under the License.
<ShipmentGatewayConfigType shipmentGatewayConfTypeId="UPS" hasTable="N" description="UPS Shipment Gateway"/>
<ShipmentGatewayConfig shipmentGatewayConfigId="UPS_CONFIG" shipmentGatewayConfTypeId="UPS" description="UPS Config"/>
- <ShipmentGatewayUps shipmentGatewayConfigId="UPS_CONFIG" connectUrl="https://wwwcie.ups.com/ups.app/xml" connectTimeout="60" shipperNumber="12345E" billShipperAccountNumber="12345E" accessLicenseNumber="TEST262223144CAT" accessUserId="REG111111" accessPassword="REG111111" saveCertInfo="true" saveCertPath="${sys:getProperty('ofbiz.home')}/runtime/output/upscert" shipperPickupType="06" maxEstimateWeight="90" minEstimateWeight="0.1" codAllowCod="true" codSurchargeAmount="9" codSurchargeCurrencyUomId="USD" codSurchargeApplyToPackage="first" codFundsCode="0" defaultReturnLabelMemo="UPS Shipment Return Memo" defaultReturnLabelSubject="UPS Shipment Return Label"/>
+ <ShipmentGatewayUps shipmentGatewayConfigId="UPS_CONFIG" connectUrl="https://wwwcie.ups.com/ups.app/xml" connectTimeout="60" shipperNumber="12345E" billShipperAccountNumber="12345E" accessLicenseNumber="TEST262223144CAT" accessUserId="REG111111" accessPassword="REG111111" saveCertInfo="true" saveCertPath="${sys:getProperty('ofbiz.home')}/runtime/output/upscert" shipperPickupType="06" customerClassification="03" maxEstimateWeight="90" minEstimateWeight="0.1" codAllowCod="true" codSurchargeAmount="9" codSurchargeCurrencyUomId="USD" codSurchargeApplyToPackage="first" codFundsCode="0" defaultReturnLabelMemo="UPS Shipment Return Memo" defaultReturnLabelSubject="UPS Shipment Return Label"/>
<ShipmentGatewayConfigType shipmentGatewayConfTypeId="USPS" hasTable="N" description="USPS Shipment Gateway"/>
<ShipmentGatewayConfig shipmentGatewayConfigId="USPS_CONFIG" shipmentGatewayConfTypeId="USPS" description="USPS Config"/>
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml Mon Dec 27 14:19:29 2010
@@ -883,6 +883,7 @@ under the License.
<field name="saveCertInfo" type="short-varchar"><description>Setting to save files needed for UPS certification (true|false)</description></field>
<field name="saveCertPath" type="value"><description>UPS file certificate path</description></field>
<field name="shipperPickupType" type="short-varchar"><description>Shipper Default Pickup Type</description></field>
+ <field name="customerClassification" type="short-varchar"><description>Customer Classification</description></field>
<field name="maxEstimateWeight" type="fixed-point"><description>Estimate split into packages</description></field>
<field name="minEstimateWeight" type="fixed-point"><description>Minimum weight for a package</description></field>
<field name="codAllowCod" type="value"><description>All shipment package items are from orders which have been fully paid via EXT_COD</description></field>
Modified: ofbiz/trunk/applications/product/servicedef/services_shipment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services_shipment.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services_shipment.xml Mon Dec 27 14:19:29 2010
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" ?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -865,6 +865,8 @@ under the License.
<attribute name="shippableQuantity" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="shippableTotal" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
+ <attribute name="shipmentCustomMethodId" type="String" mode="IN" optional="true"/>
+ <attribute name="shipmentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="shippingEstimateAmount" type="BigDecimal" mode="OUT" optional="false"/>
</service>
Modified: ofbiz/trunk/applications/product/servicedef/services_shipment_ups.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment_ups.xml?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services_shipment_ups.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services_shipment_ups.xml Mon Dec 27 14:19:29 2010
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" ?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -90,6 +90,7 @@ under the License.
<attribute name="shippingCountryCode" type="String" mode="IN" optional="true"/>
<!-- Allow specifying a from address if different from product store's facility address. -->
<attribute name="shipFromAddress" type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
+ <attribute name="shipmentGatewayConfigId" type="String" mode="IN" optional="true"/>
</service>
<!-- UPS Address Validation -->
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java?rev=1053074&r1=1053073&r2=1053074&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java Mon Dec 27 14:19:29 2010
@@ -18,28 +18,39 @@
*******************************************************************************/
package org.ofbiz.shipment.shipment;
-import java.util.*;
import java.math.BigDecimal;
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
import javolution.util.FastList;
import javolution.util.FastMap;
-import org.ofbiz.base.util.*;
+import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilGenerics;
+import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilNumber;
+import org.ofbiz.base.util.UtilProperties;
+import org.ofbiz.base.util.UtilValidate;
import org.ofbiz.base.util.collections.ResourceBundleMapWrapper;
import org.ofbiz.common.geo.GeoWorker;
import org.ofbiz.entity.Delegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.condition.EntityCondition;
+import org.ofbiz.entity.condition.EntityConditionList;
import org.ofbiz.entity.condition.EntityOperator;
import org.ofbiz.entity.util.EntityListIterator;
import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.party.party.PartyWorker;
import org.ofbiz.service.DispatchContext;
import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.LocalDispatcher;
import org.ofbiz.service.ModelService;
import org.ofbiz.service.ServiceUtil;
-import org.ofbiz.party.party.PartyWorker;
/**
* ShipmentServices
@@ -1187,4 +1198,46 @@ public class ShipmentServices {
}
return sendResp;
}
+
+ public static Map<String, Object> getShipmentGatewayConfigFromShipment(Delegator delegator, String shipmentId) {
+ Map<String, Object> shipmentGatewayConfig = ServiceUtil.returnSuccess();
+ try {
+ GenericValue shipment = delegator.findOne("Shipment", UtilMisc.toMap("shipmentId", shipmentId), false);
+ if (shipment == null) {
+ return ServiceUtil.returnError("Shipment not found with ID " + shipmentId);
+ }
+ GenericValue primaryOrderHeader = shipment.getRelatedOne("PrimaryOrderHeader");
+ if (primaryOrderHeader == null) {
+ return ServiceUtil.returnError("Cannot found primary order header for shipment with ID " + shipmentId);
+ }
+ String productStoreId = primaryOrderHeader.getString("productStoreId");
+ if (UtilValidate.isEmpty(productStoreId)) {
+ return ServiceUtil.returnError("Cannot found productStoreId for shipment with ID " + shipmentId);
+ }
+ GenericValue primaryOrderItemShipGroup = shipment.getRelatedOne("PrimaryOrderItemShipGroup");
+ if (primaryOrderItemShipGroup == null) {
+ return ServiceUtil.returnError("Cannot found primary order item ship group for shipment with ID " + shipmentId);
+ }
+ String shipmentMethodTypeId = primaryOrderItemShipGroup.getString("shipmentMethodTypeId");
+ String carrierPartyId = primaryOrderItemShipGroup.getString("carrierPartyId");
+ String carrierRoleTypeId = primaryOrderItemShipGroup.getString("carrierRoleTypeId");
+ List<EntityCondition> conditions = FastList.newInstance();
+ conditions.add(EntityCondition.makeCondition("productStoreId", EntityOperator.EQUALS, productStoreId));
+ conditions.add(EntityCondition.makeCondition("shipmentMethodTypeId", EntityOperator.EQUALS, shipmentMethodTypeId));
+ conditions.add(EntityCondition.makeCondition("partyId", EntityOperator.EQUALS, carrierPartyId));
+ conditions.add(EntityCondition.makeCondition("roleTypeId", EntityOperator.EQUALS, carrierRoleTypeId));
+ EntityConditionList<EntityCondition> ecl = EntityCondition.makeCondition(conditions, EntityOperator.AND);
+ List<GenericValue> productStoreShipmentMeths = delegator.findList("ProductStoreShipmentMeth", ecl, null, null, null, false);
+ GenericValue productStoreShipmentMeth = EntityUtil.getFirst(productStoreShipmentMeths);
+ if (UtilValidate.isNotEmpty(productStoreShipmentMeth)) {
+ shipmentGatewayConfig.put("shipmentGatewayConfigId", productStoreShipmentMeth.getString("shipmentGatewayConfigId"));
+ shipmentGatewayConfig.put("configProps", productStoreShipmentMeth.getString("configProps"));
+ } else {
+ return ServiceUtil.returnError("Cannot found product store shipment meth for shipment with ID " + shipmentId);
+ }
+ } catch (Exception e) {
+ return ServiceUtil.returnError("Error in getShipmentGatewayConfigFromShipment : " + e.getMessage());
+ }
+ return shipmentGatewayConfig;
+ }
}