001
014
015 package com.liferay.portal.upgrade.v4_3_0.util;
016
017 import com.liferay.portal.kernel.upgrade.util.BaseUpgradeColumnImpl;
018 import com.liferay.portal.kernel.upgrade.util.ValueMapper;
019 import com.liferay.portal.kernel.util.GetterUtil;
020 import com.liferay.portal.kernel.util.StringUtil;
021
022
025 public class ShoppingCartItemIdsUpgradeColumnImpl
026 extends BaseUpgradeColumnImpl {
027
028 public ShoppingCartItemIdsUpgradeColumnImpl(
029 ValueMapper shoppingItemIdMapper) {
030
031 super("itemIds");
032
033 _shoppingItemIdMapper = shoppingItemIdMapper;
034 }
035
036 public Object getNewValue(Object oldValue) throws Exception {
037 String[] itemIds = StringUtil.split((String)oldValue);
038
039 for (int i = 0; i < itemIds.length; i++) {
040 String itemId = itemIds[i];
041
042 int pos = itemId.indexOf("|");
043
044 if (pos == -1) {
045 itemIds[i] = String.valueOf(_shoppingItemIdMapper.getNewValue(
046 new Long(GetterUtil.getLong(itemId))));
047 }
048 else {
049 Long oldItemId = new Long(
050 GetterUtil.getLong(itemId.substring(0, pos)));
051
052 itemIds[i] =
053 _shoppingItemIdMapper.getNewValue(oldItemId) +
054 itemId.substring(pos, itemId.length());
055 }
056 }
057
058 return StringUtil.merge(itemIds);
059 }
060
061 private ValueMapper _shoppingItemIdMapper;
062
063 }