/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.um.syncdata;
import com.jinhe.tss.core.exception.BusinessException;
import com.jinhe.tss.core.util.EasyUtils;
import com.jinhe.tss.um.UMConstants;
import com.jinhe.tss.um.entity.Group;
import com.jinhe.tss.um.entity.User;
import com.jinhe.tss.um.helper.dto.GroupDTO;
import com.jinhe.tss.um.helper.dto.UserDTO;
import com.jinhe.tss.um.syncdata.dao.DB2DataDao;
import com.jinhe.tss.um.syncdata.dao.IOutDataDao;
import com.jinhe.tss.um.syncdata.dao.LDAPDataDao;
import com.jinhe.tss.um.syncdata.dao.OracleDataDao;
public class SyncDataHelper {
private static final String DEFAULT_PWD = "123456";
public final static String URL = "url";
public final static String USERNAME = "user";
public final static String PASSWORD = "password";
public final static String SINGLE_USER = "singleUser";
public final static String QUERY_GROUP_SQL_NAME = "groupSql";
public final static String QUERY_USER_SQL_NAME = "userSql";
/**
* <p>
* 拷贝组DTO到实体对象
* 只拷贝部分基本属性
* </p>
* @param group
* @param groupDTO
*/
public static void setGroupByDTO(Group group, GroupDTO groupDTO) {
group.setDescription(groupDTO.getDescription());
group.setName(groupDTO.getName());
group.setSeqNo(groupDTO.getSeqNo());
group.setDisabled(groupDTO.getDisabled());
group.setGroupType(groupDTO.getGroupType());
}
/**
* <p>
* 拷贝用户DTO到实体对象
* 只拷贝部分基本属性
* </p>
* @param group
* @param groupDTO
*/
public static void setUserByDTO(User user, UserDTO userDTO) {
user.setDisabled(userDTO.getDisabled());
user.setAccountUsefulLife(userDTO.getAccountUsefulLife());
user.setBirthday(userDTO.getBirthday());
user.setEmployeeNo(userDTO.getEmployeeNo());
user.setLoginName(userDTO.getLoginName());
user.setPassword(userDTO.getPassword());
user.setSex(userDTO.getSex());
user.setUserName(userDTO.getUserName());
user.setOtherAppUserId(userDTO.getId());
if( EasyUtils.isNullOrEmpty(user.getPassword()) ) {
user.setPassword(DEFAULT_PWD);
}
user.setPasswordQuestion("?");
user.setPasswordAnswer( System.currentTimeMillis() + "!" );
}
public static IOutDataDao getOutDataDao(Integer dataSourceType) {
if (UMConstants.DATA_SOURCE_TYPE_ORACLE.equals(dataSourceType.toString()))
return new OracleDataDao();
if (UMConstants.DATA_SOURCE_TYPE_LDAP.equals(dataSourceType.toString()))
return new LDAPDataDao();
if (UMConstants.DATA_SOURCE_TYPE_DB2.equals(dataSourceType.toString()))
return new DB2DataDao();
throw new BusinessException("同步数据时设置的数据库类型不匹配");
}
}