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.getLocale())); + result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderDispatcherOrDelegatorOrCartArgumentIsNull",this.cart.getLocale())); 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",agreementId),this.cart.getLocale())); + result = ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderCouldNotGetAgreement",UtilMisc.toMap("agreementId",agreementId),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; + } } |
Free forum by Nabble | Edit this page |