Statistics
| Branch: | Revision:

m2u-upass-core / src / my / com / upass / services / DeleteUserService.java @ 44:7a7fb8fcfd6e

History | View | Annotate | Download (3.53 KB)

1
package my.com.upass.services;
2

    
3
import java.text.SimpleDateFormat;
4
import java.util.Date;
5

    
6
import org.hibernate.Session;
7

    
8
import my.com.upass.Constants;
9
import my.com.upass.MinimalConstants;
10
import my.com.upass.dao.DAOFactoryProvider;
11
import my.com.upass.dao.UserDAO;
12
import my.com.upass.maybank.entities.UserProfile;
13
import my.com.upass.pojo.MinimalUserBean;
14
import my.com.upass.pojo.UserBeanBackup;
15
import my.com.upass.pojo.UserMasterBeanBackup;
16

    
17
public class DeleteUserService {
18

    
19
        public DeleteUserService() {
20
        }
21

    
22
        public int deleteUser(String userAlias, Session txSession) {
23

    
24
                int rc = Constants.ERR_SYSTEM_NOT_READY;
25

    
26
                if (userAlias == null) {
27
                        return Constants.ERR_INVALID_INPUT;
28
                }
29
                UserDAO userDao;
30
                try {
31
                        userDao = DAOFactoryProvider.getDAOFactory().getUserDAO();
32
                        UserBeanBackup ubBackup = null;
33
                        MinimalUserBean ub = userDao.getUserFromStore(userAlias, txSession);
34

    
35
                        if (ub == null) {
36
                                return Constants.ERR_INVALID_INPUT;
37
                        }
38
                        String concatedUser = concatUser(userAlias);
39

    
40
                        if (!userAlias.equalsIgnoreCase(concatedUser)) {
41
                                ubBackup = new UserBeanBackup();
42
                                ubBackup.setUserID(ub.getUserID());
43
                                ubBackup.setUserAlias(concatedUser);
44
                                ubBackup.setDescription(ub.getDescription());
45
                                ubBackup.setUserType(ub.getUserType());
46
                                ubBackup.setUstate(ub.getUstate());
47
                                ubBackup.setUdateCreated(ub.getUdateCreated());
48
                                ubBackup.setPdateCreated(ub.getPdateCreated());
49
                                // ubBackup.setApplicationId(ub.getApplicationId());
50
                                ubBackup.setPcipherText(ub.getPcipherText());
51
                                ubBackup.setPdateFirstUsed(ub.getPdateFirstUsed());
52
                                ubBackup.setPdateLastUsed(ub.getPdateLastUsed());
53
                                ubBackup.setPerrorCount(ub.getPerrorCount());
54
                                ubBackup.setPexpiredStatus(ub.getPexpiredStatus());
55
                                ubBackup.setPhistoryList(ub.getPhistoryList());
56
                                ubBackup.setPstate(ub.getPstate());
57
                                ubBackup.setPuseCount(ub.getPuseCount());
58
                                ubBackup.setUdateLastLocked(ub.getUdateLastLocked());
59
                                ubBackup.setUdateLockedTo(ub.getUdateLockedTo());
60

    
61
                                UserMasterBeanBackup masterBackup = new UserMasterBeanBackup();
62
                                masterBackup.setUserAlias(concatedUser);
63
                                masterBackup.setUserID(ub.getUserID());
64
                                ubBackup.setUpassUserMasterBackup(masterBackup);
65
                        }
66
                        if (userDao.insertUserToBackupStore(ubBackup, txSession)) {
67
                                rc = Constants.ERR_SUCCESS;
68

    
69
                        } else {
70
                                rc = Constants.ERR_SYSTEM_NOT_READY;
71
                        }
72
                        // UserMasterBean master = new UserMasterBean ();
73
                        // master.setUserAlias(ub.getUserAlias());
74
                        // master.setUserID(ub.getUserID());
75
                        // ub.setUpassUserMaster (master);
76

    
77
                        if (userDao.deleteUser(ub, txSession)) {
78
                                rc = Constants.ERR_SUCCESS;
79

    
80
                        } else {
81
                                rc = Constants.ERR_SYSTEM_NOT_READY;
82
                        }
83
                } catch (Exception e) {
84
                        e.printStackTrace();
85
                }
86
                return rc;
87
        }
88

    
89
        public int deleteUser(
90
                        String username, Integer targetAppId, Session txSession) {
91

    
92
                int rc = Constants.ERR_SYSTEM_NOT_READY;
93

    
94
                if (username == null) {
95
                        return Constants.ERR_INVALID_INPUT;
96
                }
97
                try {
98
                        UserDAO userDao = DAOFactoryProvider.getDAOFactory().getUserDAO();
99

    
100
                        final Class<UserProfile> profileClass = (Class<UserProfile>)
101
                                        AppAccessMgtService.appToProfileMap.get(targetAppId);
102

    
103
                        boolean profileDeleted = userDao.deleteProfile(username, profileClass, txSession);
104

    
105
                        if (profileDeleted)
106
                                rc = deleteUser(username, txSession);
107
                        else
108
                                rc = MinimalConstants.ERR_SYSTEM_NOT_READY;
109

    
110
                } catch (Exception e) {
111
                        e.printStackTrace();
112
                }
113
                return rc;
114
        }
115

    
116
        private String concatUser(String userAlias) {
117
                SimpleDateFormat dateFormat = new SimpleDateFormat("ddMMyyyyHHmmss");
118
                return userAlias.concat("-").concat(dateFormat.format(new Date()));
119
        }
120

    
121
}