[ https://issues.apache.org/jira/browse/OFBIZ-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12666644#action_12666644 ]
Stephen Rufle commented on OFBIZ-2115: -------------------------------------- Would I want to do the first loop through and put each attribute name in a Set instead of a Map. Set<String> attributeNames =FastMap.newInstance(); Set<String> keys = itemAttributesMap.keySet(); for (String key : keys) { String[] attributeInfo = key.split(":"); attributeNames.put(attributeInfo[0],attributeInfo[0]); } then below // update the order item attributes if (itemAttributesMap != null) { String attrValue = null; for (String attrName : attributeNames) { attrValue = (String) itemAttributesMap.get(attrName + ":" + itemSeqId); if (UtilValidate.isNotEmpty(attrName)) { cartItem.setOrderItemAttribute(attrName, attrValue); Debug.log("Set item attribute Name: [" + itemSeqId + "] " + attrName + " , Value:" + attrValue, module); } } } > OrderServices.updateApprovedOrderItems should update OrderItemAttributes > ------------------------------------------------------------------------ > > Key: OFBIZ-2115 > URL: https://issues.apache.org/jira/browse/OFBIZ-2115 > Project: OFBiz > Issue Type: Improvement > Components: order > Affects Versions: SVN trunk > Environment: Windows XP > Reporter: Stephen Rufle > Assignee: Jacques Le Roux > Fix For: SVN trunk > > Attachments: 2009-01-14_001_shoppingcart.patch, > 2009-01-14_001_shoppingcart.patch > > > I wanted updateApprovedOrderItems to be able to update any > OrderItemAttributes there may be. added a new map (itemAttributesMap) to > /applications/order/servicedef/services.xml#updateOrderItems the key value of > the map should be in the form of > attibuteName+ ":" + orderItemSeqId > At the top of > OrderServices.updateApprovedOrderItems(DispatchContext, Map) I create a new > map with only the attribute names, later in the same method we repopulate the > cartItem's OrderItemAttributes with any non-empty values. In > saveUpdatedCartToOrder we call my modified > ShoppingCart.makeAllOrderItemAttributes(String, int) I added the ability to > return just empty , just filled or both empty and filled. > For previously filled attributes that are now empty I remove them from the > database. for either new or chnaged ones they are just added to the toStore > that already existed -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.