我是ATg商业界的新手,想知道是否有人可以帮我解决问题。我们有CommerceItem的附加属性。用户登录我们的网站后,不会复制commerceItem的这些附加属性。有人可以建议或举例说明我如何确保复制属性?
以下是我的代码片段:
CommerceItem sourceCitem;
CommerceItem destCitem;
List citemList = pSrcOrder.getCommerceItems(); //get commerce item from source order
for (int i = 0, citemListSize = citemList .size(); i < citemListSize; i++) {
sourceCitem= (CommerceItem) ciList.get(i);
destCitem= getCommerceItemManager().mergeOrdersCopyCommerceItem(pSrcOrder,pDestOrder, sourceCitem);
我扩展了CommerceItemImpl并添加了新类中未添加到destCitem的所有其他属性。
任何帮助将不胜感激。
由于
答案 0 :(得分:0)
您需要继承CommerceItemManager并覆盖mergeOrdersCopyCommerceItem方法,首先调用超类方法执行基本复制,然后复制扩展商务项数据。
例如:
protected CommerceItem mergeOrdersCopyCommerceItem(Order pSrcOrder, Order pDstOrder, CommerceItem pItem) throws CommerceException {
NewCommerceItem item = (NewCommerceItem) pItem;
NewCommerceItem newItem = (NewCommerceItem) super.mergeOrdersCopyCommerceItem(pSrcOrder, pDstOrder, pItem);
//Now your code to add the changes.
newItem.setABC(item.getABC());
return newItem;
}
而且,正如你已经做过的改变一样,这就是我们所需要的。