001
014
015 package com.liferay.portal.upgrade.util;
016
017 import com.liferay.portal.kernel.upgrade.StagnantRowException;
018 import com.liferay.portal.kernel.upgrade.util.ValueMapper;
019
020
023 public class LazyPKUpgradeColumnImpl extends PKUpgradeColumnImpl {
024
025 public LazyPKUpgradeColumnImpl(String name) {
026 super(name, true);
027 }
028
029 public LazyPKUpgradeColumnImpl(String name, Integer oldColumnType) {
030 super(name, oldColumnType, true);
031 }
032
033 @Override
034 public Object getNewValue(Object oldValue) throws Exception {
035 ValueMapper valueMapper = getValueMapper();
036
037 Long newValue = null;
038
039 try {
040 newValue = (Long)valueMapper.getNewValue(oldValue);
041 }
042 catch (StagnantRowException sre) {
043 newValue = new Long(increment());
044
045 valueMapper.mapValue(oldValue, newValue);
046 }
047
048 return newValue;
049 }
050
051 }