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 public Object getNewValue(Object oldValue) throws Exception {
034 ValueMapper valueMapper = getValueMapper();
035
036 Long newValue = null;
037
038 try {
039 newValue = (Long)valueMapper.getNewValue(oldValue);
040 }
041 catch (StagnantRowException sre) {
042 newValue = new Long(increment());
043
044 valueMapper.mapValue(oldValue, newValue);
045 }
046
047 return newValue;
048 }
049
050 }