public static RuleReward fromDTO(MRuleRewardDTO dto) { if (dto == null) { return null; } RuleReward data = new RuleReward(); data.setId(dto.getId()); data.setRuleId(dto.getRuleId()); data.setRewardValue(dto.getRewardValue()); data.setRewardProduct(dto.getRewardProduct()); data.setRewardType(dto.getRewardType()); data.setMaxRewards(dto.getMaxRewards()); data.setCurrentRewards(dto.getCurrentRewards()); data.setRewardsPerPerson(dto.getRewardsPerPerson()); data.setStatus(dto.getStatus()); data.setCreateUser(dto.getCreateUser()); data.setCreateTimestamp(dto.getCreateTimestamp()); data.setUpdateUser(dto.getUpdateUser()); data.setUpdateTimestamp(dto.getUpdateTimestamp()); RewardType theType = RewardType.valueOf(data.getRewardType()); data.setRewardable(RewardFactory.newInstance(theType)); data.setSituation(getRewardSituation(theType)); return data; }