Si, You will have to change \crmsfa\src\com\opensourcestrategies\crmsfa\orders\CrmsfaOrderEvents.java:181 and \crmsfa\src\com\opensourcestrategies\crmsfa\orders\CrmsfaOrderEvents.java:275
for cart.addOrIncreaseItem(productId, null, 1, null, null, null, null, null, null, null, null, null, null, null, dispatcher, null); to cart.addOrIncreaseItem(productId, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, dispatcher); Thanks Jacques ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <commits@ofbiz.apache.org> Sent: Thursday, January 18, 2007 11:55 PM Subject: svn commit: r497618 - in /ofbiz/trunk: applications/order/src/org/ofbiz/order/order/ applications/order/src/org/ofbiz/order/shoppingcart/ applications/order/src/org/ofbiz/order/shoppinglist/ applications/product/src/org/ofbiz/product/store/ specialpurp... > Author: jleroux > Date: Thu Jan 18 14:55:50 2007 > New Revision: 497618 > > URL: http://svn.apache.org/viewvc?view=rev&rev=497618 > Log: > Some enhancements suggested by Si for commit 495945 > > Modified: > > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartHelper.java > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java > > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java > > ofbiz/trunk/applications/product/src/org/ofbiz/product/store/ProductStoreWorker.java > ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java > ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/LoadSale.java > ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/SaveSale.java > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java > Thu Jan 18 14:55:50 2007 > @@ -3415,7 +3415,7 @@ > Locale locale = (Locale) context.get("locale"); > ShoppingCart cart = new ShoppingCart(dctx.getDelegator(), "9000", > "webStore", locale, "USD"); > try { > - cart.addOrIncreaseItem("GZ-1005", null, 1, null, null, null, > null, null, null, null, "DemoCatalog", null, null, null, dctx.getDispatcher(),null); > + cart.addOrIncreaseItem("GZ-1005", null, 1, null, null, null, > null, null, null, null, "DemoCatalog", null, null, null, null, dctx.getDispatcher()); > } catch (CartItemModifyException e) { > Debug.logError(e, module); > } catch (ItemNotFoundException e) { > @@ -3653,7 +3653,7 @@ > > item.getTimestamp("shipAfterDate"), > null, > null, null, > null, > null, null, > - > dispatcher, null); > + null, > dispatcher); > ShoppingCartItem sci = > cart.findCartItem(itemIndex); > sci.setAssociatedOrderId(orderId); > > sci.setAssociatedOrderItemSeqId(item.getString("orderItemSeqId")); > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java > Thu Jan 18 14:55:50 2007 > @@ -444,7 +444,7 @@ > */ > public int addOrIncreaseItem(String productId, Double selectedAmountDbl, > double quantity, Timestamp reservStart, Double reservLengthDbl, Double reservPersonsDbl, > Timestamp shipBeforeDate, Timestamp shipAfterDate, Map features, > Map attributes, String prodCatalogId, > - ProductConfigWrapper configWrapper, String itemType, String > itemGroupNumber, LocalDispatcher dispatcher, String parentProductId) throws CartItemModifyException, ItemNotFoundException { > + ProductConfigWrapper configWrapper, String itemType, String > itemGroupNumber, String parentProductId, LocalDispatcher dispatcher) throws CartItemModifyException, ItemNotFoundException { > if (isReadOnlyCart()) { > throw new CartItemModifyException("Cart items cannot be changed"); > } > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartHelper.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartHelper.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartHelper.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartHelper.java > Thu Jan 18 14:55:50 2007 > @@ -119,7 +119,7 @@ > try { > java.sql.Timestamp.valueOf((String) > context.get("itemDesiredDeliveryDate")); > } catch (IllegalArgumentException e) { > - return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderInvalidDesiredDeliveryDateSyntaxError",this.cart.getLocale()) ); > + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderInvalidDesiredDeliveryDateSyntaxError",this.cart.getLocale()) ); > } > } else { > context.remove("itemDesiredDeliveryDate"); > @@ -180,7 +180,7 @@ > if (productId != null) { > itemId = cart.addOrIncreaseItem(productId, amount, quantity, > reservStart, reservLength, > reservPersons, > shipBeforeDate, shipAfterDate, null, attributes, > - catalogId, configWrapper, > itemType, itemGroupNumber, dispatcher, pProductId); > + catalogId, configWrapper, > itemType, itemGroupNumber, pProductId, dispatcher); > } else { > itemId = cart.addNonProductItem(itemType, itemDescription, > productCategoryId, price, quantity, attributes, catalogId, itemGroupNumber, dispatcher); > } > @@ -245,7 +245,7 @@ > Double amount = > orderItem.getDouble("selectedAmount"); > try { > > this.cart.addOrIncreaseItem(orderItem.getString("productId"), amount, orderItem.getDouble("quantity").doubleValue(), > - null, null, null, null, null, null, > null, catalogId, null, orderItemTypeId, itemGroupNumber, dispatcher,null); > + null, null, null, null, null, null, > null, catalogId, null, orderItemTypeId, itemGroupNumber, null, dispatcher); > noItems = false; > } catch (CartItemModifyException e) { > errorMsgs.add(e.getMessage()); > @@ -283,7 +283,7 @@ > try { > > this.cart.addOrIncreaseItem(orderItem.getString("productId"), amount, > > orderItem.getDouble("quantity").doubleValue(), null, null, null, null, null, > null, null, > - catalogId, null, > orderItem.getString("orderItemTypeId"), itemGroupNumber, dispatcher, null); > + catalogId, null, > orderItem.getString("orderItemTypeId"), itemGroupNumber, null, dispatcher); > noItems = false; > } catch (CartItemModifyException e) { > errorMsgs.add(e.getMessage()); > @@ -372,7 +372,7 @@ > if (quantity > 0.0) { > try { > if (Debug.verboseOn()) Debug.logVerbose("Bulk Adding > to cart [" + quantity + "] of [" + productId + "] in Item Group [" + itemGroupNumber + "]", module); > - this.cart.addOrIncreaseItem(productId, null, > quantity, null, null, null, null, null, null, null, catalogId, null, null, itemGroupNumberToUse, dispatcher, null); > + this.cart.addOrIncreaseItem(productId, null, > quantity, null, null, null, null, null, null, null, catalogId, null, null, itemGroupNumberToUse, null, dispatcher); > } catch (CartItemModifyException e) { > return ServiceUtil.returnError(e.getMessage()); > } catch (ItemNotFoundException e) { > @@ -451,7 +451,7 @@ > } > try { > if (Debug.verboseOn()) Debug.logVerbose("Bulk > Adding to cart requirement [" + quantity + "] of [" + productId + "]", module); > - int index = > this.cart.addOrIncreaseItem(productId, null, quantity, null, null, null, > null, null, null, null, catalogId, null, null, itemGroupNumber, dispatcher, null); > + int index = > this.cart.addOrIncreaseItem(productId, null, quantity, null, null, null, > null, null, null, null, catalogId, null, null, itemGroupNumber, null, dispatcher); > ShoppingCartItem sci = > (ShoppingCartItem)this.cart.items().get(index); > sci.setRequirementId(requirementId); > } catch (CartItemModifyException e) { > @@ -478,7 +478,7 @@ > String errMsg = null; > > if (categoryId == null || categoryId.length() <= 0) { > - errMsg = > UtilProperties.getMessage(resource,"cart.category_not_specified_to_add_from", > this.cart.getLocale()); > + errMsg = > UtilProperties.getMessage(resource,"cart.category_not_specified_to_add_from", > this.cart.getLocale()); > result = ServiceUtil.returnError(errMsg); > // result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderNoCategorySpecifiedToAddFrom.",this.cart.getLocale())); > return result; > @@ -515,7 +515,7 @@ > try { > > this.cart.addOrIncreaseItem(productCategoryMember.getString("productId"), > null, quantity.doubleValue(), null, null, null, > null, null, null, null, > - catalogId, null, null, itemGroupNumber, > dispatcher, null); > + catalogId, null, null, itemGroupNumber, null, > dispatcher); > totalQuantity += quantity.doubleValue(); > } catch (CartItemModifyException e) { > errorMsgs.add(e.getMessage()); > @@ -870,12 +870,12 @@ > GenericValue agreement = null; > > if ((this.delegator == null) || (this.dispatcher == null) || > (this.cart == null)) { > - result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderDispatcherOrDelegatorOrCartArgumentIsNull",this.cart.getLocal e())); > + result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderDispatcherOrDelegatorOrCartArgumentIsNull",this.cart.getLocal e())); > return result; > } > > if ((agreementId == null) || (agreementId.length() <= 0)) { > - result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderNoAgreementSpecified",this.cart.getLocale())); > + result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderNoAgreementSpecified",this.cart.getLocale())); > return result; > } > > @@ -888,7 +888,7 @@ > } > > if (agreement == null) { > - result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderCouldNotGetAgreement",UtilMisc.toMap("agreementId",agreementI d),this.cart.getLocale())); > + result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderCouldNotGetAgreement",UtilMisc.toMap("agreementId",agreementI d),this.cart.getLocale())); > } else { > // set the agreement id in the cart > cart.setAgreementId(agreementId); > @@ -901,7 +901,7 @@ > try { > cart.setCurrency(dispatcher,currencyUomId); > } catch (CartItemModifyException ex) { > - result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderSetCurrencyError",this.cart.getLocale()) + ex.getMessage()); > + result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderSetCurrencyError",this.cart.getLocale()) + ex.getMessage()); > return result; > } > } > @@ -941,7 +941,7 @@ > this.cart.setCurrency(this.dispatcher,currencyUomId); > result = ServiceUtil.returnSuccess(); > } catch (CartItemModifyException ex) { > - result = > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"Set > currency error",this.cart.getLocale()) + ex.getMessage()); > + result = > ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"Set currency error",this.cart.getLocale()) + ex.getMessage()); > return result; > } > return result; > @@ -972,7 +972,7 @@ > productSupplier=(GenericValue) productSuppliers.get(0); > } > } catch (GenericServiceException e) { > - > Debug.logWarning(UtilProperties.getMessage(resource_error,"OrderRunServiceGetSuppliersForProductError", > cart.getLocale()) + e.getMessage(), module); > + > Debug.logWarning(UtilProperties.getMessage(resource_error,"OrderRunServiceGetSuppliersForProductError", cart.getLocale()) + e.getMessage(), module); > } > return productSupplier; > } > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java > Thu Jan 18 14:55:50 2007 > @@ -273,9 +273,9 @@ > > // i cannot get the addOrDecrease function to accept a null > reservStart field: i get a null pointer exception a null constant works.... > if (reservStart == null) { > - cart.addOrIncreaseItem(productId, null, > quantity.doubleValue(), null, null, null, null, null, null, attributes, prodCatalogId, null, null, null, dispatcher, null); > + cart.addOrIncreaseItem(productId, null, > quantity.doubleValue(), null, null, null, null, null, null, attributes, prodCatalogId, null, null, null, null, dispatcher); > } else { > - cart.addOrIncreaseItem(productId, null, > quantity.doubleValue(), reservStart, reservLength, reservPersons, null, null, null, attributes, prodCatalogId, null, null, null, dispatcher, null); > + cart.addOrIncreaseItem(productId, null, > quantity.doubleValue(), reservStart, reservLength, reservPersons, null, null, null, attributes, prodCatalogId, null, null, null, null, dispatcher); > } > Map messageMap = UtilMisc.toMap("productId", productId); > errMsg = > UtilProperties.getMessage(resource,"shoppinglistevents.added_product_to_cart", > messageMap, cart.getLocale()); > > Modified: > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java > (original) > +++ > ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java > Thu Jan 18 14:55:50 2007 > @@ -442,7 +442,7 @@ > Map attributes = UtilMisc.toMap("shoppingListId", > listId, "shoppingListItemSeqId", itemId); > > try { > - listCart.addOrIncreaseItem(productId, null, > quantity.doubleValue(), reservStart, reservLength, reservPersons, null, null, null, attributes, null, null, null, null, dispatcher, null); > + listCart.addOrIncreaseItem(productId, null, > quantity.doubleValue(), reservStart, reservLength, reservPersons, null, null, null, attributes, null, null, null, null, null, dispatcher); > } catch (CartItemModifyException e) { > Debug.logError(e, "Unable to add product to List > Cart - " + productId, module); > } catch (ItemNotFoundException e) { > > Modified: > ofbiz/trunk/applications/product/src/org/ofbiz/product/store/ProductStoreWorker.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/store/ProductStoreWorker.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- > ofbiz/trunk/applications/product/src/org/ofbiz/product/store/ProductStoreWorker.java > (original) > +++ > ofbiz/trunk/applications/product/src/org/ofbiz/product/store/ProductStoreWorker.java > Thu Jan 18 14:55:50 2007 > @@ -470,10 +470,12 @@ > try { > product = delegator.findByPrimaryKeyCache("Product", > UtilMisc.toMap("productId", productId)); > if ((product != null) && > ("Y".equals(product.get("isVariant")))) { > - if (parentProductId != null) > + if (parentProductId != null) { > virtualProductId = parentProductId; > - else > + } > + else { > virtualProductId = > ProductWorker.getVariantVirtualId(product); > + } > Debug.log("getSurvey for virtual product " + > virtualProductId,module); > } > } catch (GenericEntityException e) { > > Modified: ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java > (original) > +++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java Thu > Jan 18 14:55:50 2007 > @@ -355,7 +355,7 @@ > public void addItem(String productId, double quantity) throws > CartItemModifyException, ItemNotFoundException { > trace("add item", productId + "/" + quantity); > try { > - cart.addOrIncreaseItem(productId, null, quantity, null, null, > null, null, null, null, null, null, null, null, null, session.getDispatcher(), null); > + cart.addOrIncreaseItem(productId, null, quantity, null, null, > null, null, null, null, null, null, null, null, null, null, session.getDispatcher()); > } catch (ItemNotFoundException e) { > trace("item not found", e); > throw e; > > Modified: > ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/LoadSale.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/LoadSale.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/LoadSale.java > (original) > +++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/LoadSale.java Thu > Jan 18 14:55:50 2007 > @@ -1,244 +1,244 @@ > -/******************************************************************************* > - * Licensed to the Apache Software Foundation (ASF) under one > - * or more contributor license agreements. See the NOTICE file > - * distributed with this work for additional information > - * regarding copyright ownership. The ASF licenses this file > - * to you under the Apache License, Version 2.0 (the > - * "License"); you may not use this file except in compliance > - * with the License. You may obtain a copy of the License at > - * > - * http://www.apache.org/licenses/LICENSE-2.0 > - * > - * Unless required by applicable law or agreed to in writing, > - * software distributed under the License is distributed on an > - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > - * KIND, either express or implied. See the License for the > - * specific language governing permissions and limitations > - * under the License. > - > *******************************************************************************/ > -package org.ofbiz.pos.screen; > - > -import java.util.Hashtable; > -import java.util.Iterator; > -import java.util.Locale; > -import java.util.Map; > - > -import javax.swing.DefaultListModel; > -import javax.swing.ListSelectionModel; > - > -import net.xoetrope.swing.XButton; > -import net.xoetrope.swing.XDialog; > -import net.xoetrope.swing.XList; > -import net.xoetrope.xui.XPage; > - > -import org.ofbiz.base.util.Debug; > -import org.ofbiz.base.util.UtilProperties; > -import org.ofbiz.pos.PosTransaction; > - > - > -public class LoadSale extends XPage { > - > - /** > - * To load a sale from a shopping list. 2 modes : add to or replace the > current sale. Also a button to delete a sale (aka shopping list) > - */ > - public static final String module = LoadSale.class.getName(); > - protected static PosScreen m_pos = null; > - protected XDialog m_dialog = null; > - static protected Hashtable m_saleMap = new Hashtable(); > - protected XList m_salesList = null; > - protected XButton m_cancel = null; > - protected XButton m_add = null; > - protected XButton m_replace = null; > - protected XButton m_delete = null; > - protected XButton m_replaceAndDelete = null; > - protected DefaultListModel m_listModel = null; > - protected static PosTransaction m_trans = null; > - > - //TODO : make getter and setter for members (ie m_*) if needed (extern > calls). For that in Eclipse use Source/Generate Getters and setters > - > - public LoadSale(Hashtable saleMap, PosTransaction trans, PosScreen page) > { > - m_saleMap.putAll(saleMap); > - m_trans = trans; > - m_pos = page; > - } > - > - public void openDlg() { > - m_dialog = (XDialog) pageMgr.loadPage(m_pos.getScreenLocation() + > "/dialog/loadsale"); > - m_dialog.setCaption(UtilProperties.getMessage("pos", "LoadASale", > Locale.getDefault())); > - m_salesList = (XList) m_dialog.findComponent("salesList"); > - addMouseHandler(m_salesList, "saleDoubleClick"); > - > - m_cancel = (XButton) m_dialog.findComponent("BtnCancel"); > - m_add = (XButton) m_dialog.findComponent("BtnAdd"); > - m_replace = (XButton) m_dialog.findComponent("BtnReplace"); > - m_delete = (XButton) m_dialog.findComponent("BtnDelete"); > - m_replaceAndDelete = (XButton) > m_dialog.findComponent("BtnReplaceAndDelete"); > - addMouseHandler(m_cancel, "cancel"); > - addMouseHandler(m_add, "addSale"); > - addMouseHandler(m_replace, "replaceSale"); > - addMouseHandler(m_delete, "deleteShoppingList"); > - addMouseHandler(m_replaceAndDelete, > "replaceSaleAndDeleteShoppingList"); > - > - m_listModel = new DefaultListModel(); > - for (Iterator i = m_saleMap.entrySet().iterator(); i.hasNext();) { > - Object o = i.next(); > - Map.Entry entry = (Map.Entry)o; > - String val = entry.getValue().toString(); > - m_listModel.addElement(val); > - } > - m_salesList.setModel(m_listModel); > - m_salesList.setVisibleRowCount(-1); > - m_salesList.ensureIndexIsVisible(m_salesList.getItemCount()); > - m_salesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); > - m_salesList.setToolTipText(UtilProperties.getMessage("pos", > "LoadSaleListDblClickTip", Locale.getDefault())); > - > - m_dialog.pack(); > - m_salesList.requestFocusInWindow(); > - m_dialog.showDialog(this); > - } > - > - public synchronized void saleDoubleClick() { > - if (wasMouseDoubleClicked()) { > - String sale = selectedSale(); > - if (null != sale) { > - replaceSaleAndDeleteShoppingList_(); > - } > - } > - } > - > - public synchronized void cancel() { > - if (wasMouseClicked()) { > - closeDlg(); > - } > - } > - > - public synchronized void addSale() { > - if (wasMouseClicked()) { > - addSale_(); > - } > - } > - > - private synchronized void addSale_() { > - String sale = selectedSale(); > - if (null != sale) { > - addListToCart(sale, true); > - } > - } > - > - public synchronized void replaceSale() { > - if (wasMouseClicked()) { > - replaceSale_(); > - } > - } > - > - private synchronized void replaceSale_() { > - String sale = selectedSale(); > - if (null != sale) { > - addListToCart(sale, false); > - } > - } > - > - public synchronized void deleteShoppingList() { > - if (wasMouseClicked()) { > - deleteShoppingList_(); > - } > - } > - > - private synchronized void deleteShoppingList_() { > - String sale= (String) m_salesList.getSelectedValue(); > - if (null != sale) { > - String shoppingListId = selectedSale(); > - final ClassLoader cl = this.getClassLoader(m_pos); > - Thread.currentThread().setContextClassLoader(cl); > - if (m_trans.clearList(shoppingListId, m_pos)) { > - int index = m_salesList.getSelectedIndex(); > - m_saleMap.remove(shoppingListId); > - m_listModel = new DefaultListModel(); > - for (Iterator i = m_saleMap.entrySet().iterator(); > i.hasNext();) { > - Object o = i.next(); > - Map.Entry entry = (Map.Entry)o; > - String val = entry.getValue().toString(); > - m_listModel.addElement(val); > - } > - m_salesList.setModel(m_listModel); > - int size = m_listModel.getSize(); > - if (size == 0) { //Nobody's left, nothing to do here > - closeDlg(); > - } else { //Select an index. > - if (index == size) { > - //removed item in last position > - index--; > - } > - } > - m_salesList.setSelectedIndex(index); > - m_salesList.ensureIndexIsVisible(index); > - m_salesList.repaint(); > - repaint(); > - } > - } > - } > - > - public synchronized void replaceSaleAndDeleteShoppingList() { > - if (wasMouseClicked()) { > - replaceSaleAndDeleteShoppingList_(); > - } > - } > - > - public synchronized void replaceSaleAndDeleteShoppingList_() { > - replaceSale_(); > - deleteShoppingList_(); > - } > - > - private String selectedSale() { > - String saleSelected = null; > - if (null != m_salesList.getSelectedValue()) { > - String sale = (String) m_salesList.getSelectedValue(); > - Iterator i = m_saleMap.entrySet().iterator(); > - while(i.hasNext()) { > - Object o = i.next(); > - Map.Entry entry = (Map.Entry)o; > - String val = entry.getValue().toString(); > - if (val.equals(sale)) { > - saleSelected = entry.getKey().toString(); > - } > - } > - } > - return saleSelected; > - } > - > - private void addListToCart(String sale, boolean addToCart) { > - final ClassLoader cl = this.getClassLoader(m_pos); > - Thread.currentThread().setContextClassLoader(cl); > - if (!m_trans.addListToCart(sale, m_pos, addToCart)) { > - Debug.logError("Error while loading cart from shopping list : " > + sale, module); > - } > - else { > - m_trans.calcTax(); > - m_pos.refresh(); > - } > - closeDlg(); > - } > - > - private ClassLoader getClassLoader(PosScreen pos) { > - ClassLoader cl = pos.getClassLoader(); > - if (cl == null) { > - try { > - cl = Thread.currentThread().getContextClassLoader(); > - } catch (Throwable t) { > - } > - if (cl == null) { > - Debug.log("No context classloader available; using class > classloader", module); > - try { > - cl = this.getClass().getClassLoader(); > - } catch (Throwable t) { > - Debug.logError(t, module); > - } > - } > - } > - return cl; > - } > - > - private void closeDlg() { > - m_dialog.closeDlg(); > - } > +/******************************************************************************* > + * Licensed to the Apache Software Foundation (ASF) under one > + * or more contributor license agreements. See the NOTICE file > + * distributed with this work for additional information > + * regarding copyright ownership. The ASF licenses this file > + * to you under the Apache License, Version 2.0 (the > + * "License"); you may not use this file except in compliance > + * with the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, > + * software distributed under the License is distributed on an > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + * KIND, either express or implied. See the License for the > + * specific language governing permissions and limitations > + * under the License. > + > *******************************************************************************/ > +package org.ofbiz.pos.screen; > + > +import java.util.Hashtable; > +import java.util.Iterator; > +import java.util.Locale; > +import java.util.Map; > + > +import javax.swing.DefaultListModel; > +import javax.swing.ListSelectionModel; > + > +import net.xoetrope.swing.XButton; > +import net.xoetrope.swing.XDialog; > +import net.xoetrope.swing.XList; > +import net.xoetrope.xui.XPage; > + > +import org.ofbiz.base.util.Debug; > +import org.ofbiz.base.util.UtilProperties; > +import org.ofbiz.pos.PosTransaction; > + > + > +public class LoadSale extends XPage { > + > + /** > + * To load a sale from a shopping list. 2 modes : add to or replace the > current sale. Also a button to delete a sale (aka shopping list) > + */ > + public static final String module = LoadSale.class.getName(); > + protected static PosScreen m_pos = null; > + protected XDialog m_dialog = null; > + static protected Hashtable m_saleMap = new Hashtable(); > + protected XList m_salesList = null; > + protected XButton m_cancel = null; > + protected XButton m_add = null; > + protected XButton m_replace = null; > + protected XButton m_delete = null; > + protected XButton m_replaceAndDelete = null; > + protected DefaultListModel m_listModel = null; > + protected static PosTransaction m_trans = null; > + > + //TODO : make getter and setter for members (ie m_*) if needed (extern > calls). For that in Eclipse use Source/Generate Getters and setters > + > + public LoadSale(Hashtable saleMap, PosTransaction trans, PosScreen page) > { > + m_saleMap.putAll(saleMap); > + m_trans = trans; > + m_pos = page; > + } > + > + public void openDlg() { > + m_dialog = (XDialog) pageMgr.loadPage(m_pos.getScreenLocation() + > "/dialog/loadsale"); > + m_dialog.setCaption(UtilProperties.getMessage("pos", "LoadASale", > Locale.getDefault())); > + m_salesList = (XList) m_dialog.findComponent("salesList"); > + addMouseHandler(m_salesList, "saleDoubleClick"); > + > + m_cancel = (XButton) m_dialog.findComponent("BtnCancel"); > + m_add = (XButton) m_dialog.findComponent("BtnAdd"); > + m_replace = (XButton) m_dialog.findComponent("BtnReplace"); > + m_delete = (XButton) m_dialog.findComponent("BtnDelete"); > + m_replaceAndDelete = (XButton) > m_dialog.findComponent("BtnReplaceAndDelete"); > + addMouseHandler(m_cancel, "cancel"); > + addMouseHandler(m_add, "addSale"); > + addMouseHandler(m_replace, "replaceSale"); > + addMouseHandler(m_delete, "deleteShoppingList"); > + addMouseHandler(m_replaceAndDelete, > "replaceSaleAndDeleteShoppingList"); > + > + m_listModel = new DefaultListModel(); > + for (Iterator i = m_saleMap.entrySet().iterator(); i.hasNext();) { > + Object o = i.next(); > + Map.Entry entry = (Map.Entry)o; > + String val = entry.getValue().toString(); > + m_listModel.addElement(val); > + } > + m_salesList.setModel(m_listModel); > + m_salesList.setVisibleRowCount(-1); > + m_salesList.ensureIndexIsVisible(m_salesList.getItemCount()); > + m_salesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); > + m_salesList.setToolTipText(UtilProperties.getMessage("pos", > "LoadSaleListDblClickTip", Locale.getDefault())); > + > + m_dialog.pack(); > + m_salesList.requestFocusInWindow(); > + m_dialog.showDialog(this); > + } > + > + public synchronized void saleDoubleClick() { > + if (wasMouseDoubleClicked()) { > + String sale = selectedSale(); > + if (null != sale) { > + replaceSaleAndDeleteShoppingList_(); > + } > + } > + } > + > + public synchronized void cancel() { > + if (wasMouseClicked()) { > + closeDlg(); > + } > + } > + > + public synchronized void addSale() { > + if (wasMouseClicked()) { > + addSale_(); > + } > + } > + > + private synchronized void addSale_() { > + String sale = selectedSale(); > + if (null != sale) { > + addListToCart(sale, true); > + } > + } > + > + public synchronized void replaceSale() { > + if (wasMouseClicked()) { > + replaceSale_(); > + } > + } > + > + private synchronized void replaceSale_() { > + String sale = selectedSale(); > + if (null != sale) { > + addListToCart(sale, false); > + } > + } > + > + public synchronized void deleteShoppingList() { > + if (wasMouseClicked()) { > + deleteShoppingList_(); > + } > + } > + > + private synchronized void deleteShoppingList_() { > + String sale= (String) m_salesList.getSelectedValue(); > + if (null != sale) { > + String shoppingListId = selectedSale(); > + final ClassLoader cl = this.getClassLoader(m_pos); > + Thread.currentThread().setContextClassLoader(cl); > + if (m_trans.clearList(shoppingListId, m_pos)) { > + int index = m_salesList.getSelectedIndex(); > + m_saleMap.remove(shoppingListId); > + m_listModel = new DefaultListModel(); > + for (Iterator i = m_saleMap.entrySet().iterator(); > i.hasNext();) { > + Object o = i.next(); > + Map.Entry entry = (Map.Entry)o; > + String val = entry.getValue().toString(); > + m_listModel.addElement(val); > + } > + m_salesList.setModel(m_listModel); > + int size = m_listModel.getSize(); > + if (size == 0) { //Nobody's left, nothing to do here > + closeDlg(); > + } else { //Select an index. > + if (index == size) { > + //removed item in last position > + index--; > + } > + } > + m_salesList.setSelectedIndex(index); > + m_salesList.ensureIndexIsVisible(index); > + m_salesList.repaint(); > + repaint(); > + } > + } > + } > + > + public synchronized void replaceSaleAndDeleteShoppingList() { > + if (wasMouseClicked()) { > + replaceSaleAndDeleteShoppingList_(); > + } > + } > + > + public synchronized void replaceSaleAndDeleteShoppingList_() { > + replaceSale_(); > + deleteShoppingList_(); > + } > + > + private String selectedSale() { > + String saleSelected = null; > + if (null != m_salesList.getSelectedValue()) { > + String sale = (String) m_salesList.getSelectedValue(); > + Iterator i = m_saleMap.entrySet().iterator(); > + while(i.hasNext()) { > + Object o = i.next(); > + Map.Entry entry = (Map.Entry)o; > + String val = entry.getValue().toString(); > + if (val.equals(sale)) { > + saleSelected = entry.getKey().toString(); > + } > + } > + } > + return saleSelected; > + } > + > + private void addListToCart(String sale, boolean addToCart) { > + final ClassLoader cl = this.getClassLoader(m_pos); > + Thread.currentThread().setContextClassLoader(cl); > + if (!m_trans.addListToCart(sale, m_pos, addToCart)) { > + Debug.logError("Error while loading cart from shopping list : " > + sale, module); > + } > + else { > + m_trans.calcTax(); > + m_pos.refresh(); > + } > + closeDlg(); > + } > + > + private ClassLoader getClassLoader(PosScreen pos) { > + ClassLoader cl = pos.getClassLoader(); > + if (cl == null) { > + try { > + cl = Thread.currentThread().getContextClassLoader(); > + } catch (Throwable t) { > + } > + if (cl == null) { > + Debug.log("No context classloader available; using class > classloader", module); > + try { > + cl = this.getClass().getClassLoader(); > + } catch (Throwable t) { > + Debug.logError(t, module); > + } > + } > + } > + return cl; > + } > + > + private void closeDlg() { > + m_dialog.closeDlg(); > + } > } > > Modified: > ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/SaveSale.java > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/SaveSale.java?view=diff&rev=497618&r1=497617&r2=497618 > ============================================================================== > --- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/SaveSale.java > (original) > +++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/SaveSale.java Thu > Jan 18 14:55:50 2007 > @@ -1,129 +1,129 @@ > -/******************************************************************************* > - * Licensed to the Apache Software Foundation (ASF) under one > - * or more contributor license agreements. See the NOTICE file > - * distributed with this work for additional information > - * regarding copyright ownership. The ASF licenses this file > - * to you under the Apache License, Version 2.0 (the > - * "License"); you may not use this file except in compliance > - * with the License. You may obtain a copy of the License at > - * > - * http://www.apache.org/licenses/LICENSE-2.0 > - * > - * Unless required by applicable law or agreed to in writing, > - * software distributed under the License is distributed on an > - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > - * KIND, either express or implied. See the License for the > - * specific language governing permissions and limitations > - * under the License. > - > *******************************************************************************/ > -package org.ofbiz.pos.screen; > - > -import java.text.SimpleDateFormat; > -import java.util.Date; > -import java.util.Locale; > - > -import net.xoetrope.swing.XButton; > -//import org.ofbiz.pos.screen.XFocusDialog; > -import net.xoetrope.swing.XEdit; > -import net.xoetrope.swing.XDialog; > -import net.xoetrope.xui.XPage; > - > -import org.ofbiz.base.util.Debug; > -import org.ofbiz.base.util.UtilProperties; > -import org.ofbiz.pos.PosTransaction; > - > - > -public class SaveSale extends XPage { > - > - /** > - * To save a sale. 2 modes : save and keep the current sale or save and > clear the current sale. > - */ > - public static final String module = SaveSale.class.getName(); > - protected static PosScreen m_pos = null; > - protected XDialog m_dialog = null; > - protected XEdit m_saleName = null; > - protected XButton m_cancel = null; > - protected XButton m_save = null; > - protected XButton m_saveAndClear = null; > - protected static PosTransaction m_trans = null; > - public static SimpleDateFormat sdf = new SimpleDateFormat(UtilProperties.getMessage("pos","DateTimeFormat",Locale.getDefault())); > - > - //TODO : make getter and setter for members (ie m_*) if needed (extern > calls). For that in Eclipse use Source/Generate Getters and setters > - > - public SaveSale(PosTransaction trans, PosScreen page) { > - m_trans = trans; > - m_pos = page; > - } > - > - public void openDlg() { > - m_dialog = (XDialog) pageMgr.loadPage(m_pos.getScreenLocation() + > "/dialog/savesale"); > - m_saleName = (XEdit) m_dialog.findComponent("saleName"); > - //m_dialog.setM_focused(m_saleName); > - m_saleName.setText(m_pos.session.getUserId() + " " + sdf.format(new > Date())); > - m_dialog.setCaption(UtilProperties.getMessage("pos", "SaveASale", > Locale.getDefault())); > - > - m_cancel = (XButton) m_dialog.findComponent("BtnCancel"); > - m_save = (XButton) m_dialog.findComponent("BtnSave"); > - m_saveAndClear = (XButton) m_dialog.findComponent("BtnSaveAndClear"); > - > - addMouseHandler(m_cancel, "cancel"); > - addMouseHandler(m_save, "save"); > - addMouseHandler(m_saveAndClear, "saveAndClear"); > - > - m_dialog.pack(); > - m_dialog.showDialog(this); > - } > - > - public synchronized void cancel() > - { > - if (wasMouseClicked()) { > - this.m_dialog.closeDlg(); > - } > - } > - > - public synchronized void save() { > - if (wasMouseClicked()) { > - String sale = m_saleName.getText(); > - if (null != sale) { > - saveSale(sale); > - } > - } > - } > - > - public synchronized void saveAndClear() { > - if (wasMouseClicked()) { > - String sale = m_saleName.getText(); > - if (null != sale) { > - saveSale(sale); > - m_trans.voidSale(); > - m_pos.refresh(); > - } > - } > - } > - > - private void saveSale(String sale) { > - final ClassLoader cl = this.getClassLoader(m_pos); > - Thread.currentThread().setContextClassLoader(cl); > - m_trans.saveSale(sale, m_pos); > - this.m_dialog.closeDlg(); > - } > - > - private ClassLoader getClassLoader(PosScreen pos) { > - ClassLoader cl = pos.getClassLoader(); > - if (cl == null) { > - try { > - cl = Thread.currentThread().getContextClassLoader(); > - } catch (Throwable t) { > - } > - if (cl == null) { > - Debug.log("No context classloader available; using class > classloader", module); > - try { > - cl = this.getClass().getClassLoader(); > - } catch (Throwable t) { > - Debug.logError(t, module); > - } > - } > - } > - return cl; > - } > +/******************************************************************************* > + * Licensed to the Apache Software Foundation (ASF) under one > + * or more contributor license agreements. See the NOTICE file > + * distributed with this work for additional information > + * regarding copyright ownership. The ASF licenses this file > + * to you under the Apache License, Version 2.0 (the > + * "License"); you may not use this file except in compliance > + * with the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, > + * software distributed under the License is distributed on an > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + * KIND, either express or implied. See the License for the > + * specific language governing permissions and limitations > + * under the License. > + > *******************************************************************************/ > +package org.ofbiz.pos.screen; > + > +import java.text.SimpleDateFormat; > +import java.util.Date; > +import java.util.Locale; > + > +import net.xoetrope.swing.XButton; > +//import org.ofbiz.pos.screen.XFocusDialog; > +import net.xoetrope.swing.XEdit; > +import net.xoetrope.swing.XDialog; > +import net.xoetrope.xui.XPage; > + > +import org.ofbiz.base.util.Debug; > +import org.ofbiz.base.util.UtilProperties; > +import org.ofbiz.pos.PosTransaction; > + > + > +public class SaveSale extends XPage { > + > + /** > + * To save a sale. 2 modes : save and keep the current sale or save and > clear the current sale. > + */ > + public static final String module = SaveSale.class.getName(); > + protected static PosScreen m_pos = null; > + protected XDialog m_dialog = null; > + protected XEdit m_saleName = null; > + protected XButton m_cancel = null; > + protected XButton m_save = null; > + protected XButton m_saveAndClear = null; > + protected static PosTransaction m_trans = null; > + public static SimpleDateFormat sdf = new SimpleDateFormat(UtilProperties.getMessage("pos","DateTimeFormat",Locale.getDefault())); > + > + //TODO : make getter and setter for members (ie m_*) if needed (extern > calls). For that in Eclipse use Source/Generate Getters and setters > + > + public SaveSale(PosTransaction trans, PosScreen page) { > + m_trans = trans; > + m_pos = page; > + } > + > + public void openDlg() { > + m_dialog = (XDialog) pageMgr.loadPage(m_pos.getScreenLocation() + > "/dialog/savesale"); > + m_saleName = (XEdit) m_dialog.findComponent("saleName"); > + //m_dialog.setM_focused(m_saleName); > + m_saleName.setText(m_pos.session.getUserId() + " " + sdf.format(new > Date())); > + m_dialog.setCaption(UtilProperties.getMessage("pos", "SaveASale", > Locale.getDefault())); > + > + m_cancel = (XButton) m_dialog.findComponent("BtnCancel"); > + m_save = (XButton) m_dialog.findComponent("BtnSave"); > + m_saveAndClear = (XButton) m_dialog.findComponent("BtnSaveAndClear"); > + > + addMouseHandler(m_cancel, "cancel"); > + addMouseHandler(m_save, "save"); > + addMouseHandler(m_saveAndClear, "saveAndClear"); > + > + m_dialog.pack(); > + m_dialog.showDialog(this); > + } > + > + public synchronized void cancel() > + { > + if (wasMouseClicked()) { > + this.m_dialog.closeDlg(); > + } > + } > + > + public synchronized void save() { > + if (wasMouseClicked()) { > + String sale = m_saleName.getText(); > + if (null != sale) { > + saveSale(sale); > + } > + } > + } > + > + public synchronized void saveAndClear() { > + if (wasMouseClicked()) { > + String sale = m_saleName.getText(); > + if (null != sale) { > + saveSale(sale); > + m_trans.voidSale(); > + m_pos.refresh(); > + } > + } > + } > + > + private void saveSale(String sale) { > + final ClassLoader cl = this.getClassLoader(m_pos); > + Thread.currentThread().setContextClassLoader(cl); > + m_trans.saveSale(sale, m_pos); > + this.m_dialog.closeDlg(); > + } > + > + private ClassLoader getClassLoader(PosScreen pos) { > + ClassLoader cl = pos.getClassLoader(); > + if (cl == null) { > + try { > + cl = Thread.currentThread().getContextClassLoader(); > + } catch (Throwable t) { > + } > + if (cl == null) { > + Debug.log("No context classloader available; using class > classloader", module); > + try { > + cl = this.getClass().getClassLoader(); > + } catch (Throwable t) { > + Debug.logError(t, module); > + } > + } > + } > + return cl; > + } > } >