Statistics
| Branch: | Revision:

m2u-upass-core / src / my / com / upass / services / DeleteUserService.java @ 48:b166cea64cf2

History | View | Annotate | Download (3.7 KB)

1 0:02300db8682b hadi
package my.com.upass.services;
2 43:78b1d801d083 hadi
3 0:02300db8682b hadi
import java.text.SimpleDateFormat;
4
import java.util.Date;
5 45:31b70565f532 hadi
import java.util.List;
6 0:02300db8682b hadi
7 44:7a7fb8fcfd6e hadi
import org.hibernate.Session;
8
9 0:02300db8682b hadi
import my.com.upass.Constants;
10 44:7a7fb8fcfd6e hadi
import my.com.upass.MinimalConstants;
11 0:02300db8682b hadi
import my.com.upass.dao.DAOFactoryProvider;
12
import my.com.upass.dao.UserDAO;
13 44:7a7fb8fcfd6e hadi
import my.com.upass.maybank.entities.UserProfile;
14 23:1281bdc0fb8f mohd
import my.com.upass.pojo.MinimalUserBean;
15 0:02300db8682b hadi
import my.com.upass.pojo.UserBeanBackup;
16
import my.com.upass.pojo.UserMasterBeanBackup;
17
18 43:78b1d801d083 hadi
public class DeleteUserService {
19 23:1281bdc0fb8f mohd
20
        public DeleteUserService() {
21 0:02300db8682b hadi
        }
22 43:78b1d801d083 hadi
23 44:7a7fb8fcfd6e hadi
        public int deleteUser(String userAlias, Session txSession) {
24 43:78b1d801d083 hadi
25 0:02300db8682b hadi
                int rc = Constants.ERR_SYSTEM_NOT_READY;
26
27 43:78b1d801d083 hadi
                if (userAlias == null) {
28 0:02300db8682b hadi
                        return Constants.ERR_INVALID_INPUT;
29
                }
30
                UserDAO userDao;
31 43:78b1d801d083 hadi
                try {
32
                        userDao = DAOFactoryProvider.getDAOFactory().getUserDAO();
33 0:02300db8682b hadi
                        UserBeanBackup ubBackup = null;
34 44:7a7fb8fcfd6e hadi
                        MinimalUserBean ub = userDao.getUserFromStore(userAlias, txSession);
35 43:78b1d801d083 hadi
36
                        if (ub == null) {
37 0:02300db8682b hadi
                                return Constants.ERR_INVALID_INPUT;
38
                        }
39 43:78b1d801d083 hadi
                        String concatedUser = concatUser(userAlias);
40
41
                        if (!userAlias.equalsIgnoreCase(concatedUser)) {
42
                                ubBackup = new UserBeanBackup();
43
                                ubBackup.setUserID(ub.getUserID());
44
                                ubBackup.setUserAlias(concatedUser);
45
                                ubBackup.setDescription(ub.getDescription());
46
                                ubBackup.setUserType(ub.getUserType());
47
                                ubBackup.setUstate(ub.getUstate());
48
                                ubBackup.setUdateCreated(ub.getUdateCreated());
49
                                ubBackup.setPdateCreated(ub.getPdateCreated());
50
                                // ubBackup.setApplicationId(ub.getApplicationId());
51 0:02300db8682b hadi
                                ubBackup.setPcipherText(ub.getPcipherText());
52
                                ubBackup.setPdateFirstUsed(ub.getPdateFirstUsed());
53
                                ubBackup.setPdateLastUsed(ub.getPdateLastUsed());
54
                                ubBackup.setPerrorCount(ub.getPerrorCount());
55
                                ubBackup.setPexpiredStatus(ub.getPexpiredStatus());
56
                                ubBackup.setPhistoryList(ub.getPhistoryList());
57
                                ubBackup.setPstate(ub.getPstate());
58
                                ubBackup.setPuseCount(ub.getPuseCount());
59
                                ubBackup.setUdateLastLocked(ub.getUdateLastLocked());
60
                                ubBackup.setUdateLockedTo(ub.getUdateLockedTo());
61
62 43:78b1d801d083 hadi
                                UserMasterBeanBackup masterBackup = new UserMasterBeanBackup();
63
                                masterBackup.setUserAlias(concatedUser);
64
                                masterBackup.setUserID(ub.getUserID());
65
                                ubBackup.setUpassUserMasterBackup(masterBackup);
66
                        }
67 44:7a7fb8fcfd6e hadi
                        if (userDao.insertUserToBackupStore(ubBackup, txSession)) {
68 43:78b1d801d083 hadi
                                rc = Constants.ERR_SUCCESS;
69
70
                        } else {
71
                                rc = Constants.ERR_SYSTEM_NOT_READY;
72
                        }
73
                        // UserMasterBean master = new UserMasterBean ();
74
                        // master.setUserAlias(ub.getUserAlias());
75
                        // master.setUserID(ub.getUserID());
76
                        // ub.setUpassUserMaster (master);
77
78 44:7a7fb8fcfd6e hadi
                        if (userDao.deleteUser(ub, txSession)) {
79 43:78b1d801d083 hadi
                                rc = Constants.ERR_SUCCESS;
80
81
                        } else {
82
                                rc = Constants.ERR_SYSTEM_NOT_READY;
83 0:02300db8682b hadi
                        }
84 44:7a7fb8fcfd6e hadi
                } catch (Exception e) {
85
                        e.printStackTrace();
86
                }
87
                return rc;
88
        }
89
90
        public int deleteUser(
91
                        String username, Integer targetAppId, Session txSession) {
92
93
                int rc = Constants.ERR_SYSTEM_NOT_READY;
94
95
                if (username == null) {
96
                        return Constants.ERR_INVALID_INPUT;
97
                }
98
                try {
99
                        UserDAO userDao = DAOFactoryProvider.getDAOFactory().getUserDAO();
100
101
                        final Class<UserProfile> profileClass = (Class<UserProfile>)
102 48:b166cea64cf2 hadi
                                        AppAccessMgtService.APP_ID_TO_PROFILE_MAP.get(targetAppId);
103 44:7a7fb8fcfd6e hadi
104
                        boolean profileDeleted = userDao.deleteProfile(username, profileClass, txSession);
105
106 45:31b70565f532 hadi
                        if (profileDeleted) {
107
                                List userAccesses = userDao.listUserAppAccesses(username, txSession);
108
109
                                rc = userAccesses.isEmpty() ?
110
                                                deleteUser(username, txSession)
111
                                                : Constants.ERR_SUCCESS;
112
113
                        } else
114 44:7a7fb8fcfd6e hadi
                                rc = MinimalConstants.ERR_SYSTEM_NOT_READY;
115 0:02300db8682b hadi
116 43:78b1d801d083 hadi
                } catch (Exception e) {
117
                        e.printStackTrace();
118 0:02300db8682b hadi
                }
119
                return rc;
120
        }
121
122 43:78b1d801d083 hadi
        private String concatUser(String userAlias) {
123
                SimpleDateFormat dateFormat = new SimpleDateFormat("ddMMyyyyHHmmss");
124
                return userAlias.concat("-").concat(dateFormat.format(new Date()));
125 0:02300db8682b hadi
        }
126 44:7a7fb8fcfd6e hadi
127 0:02300db8682b hadi
}