Statistics
| Branch: | Revision:

m2u-upass-core / src / my / com / upass / dao / hibernate / UserGemaltoDAOHibernate.java @ 0:02300db8682b

History | View | Annotate | Download (9.49 KB)

1
package my.com.upass.dao.hibernate;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5

    
6
import java.util.Iterator;
7

    
8
import my.com.upass.TOKEN_MODE;
9
import my.com.upass.dao.UserTokenDAO;
10
import my.com.upass.pojo.UserTokenBean;
11
import net.penril.generic.hibernate.GenericDAOHibernate;
12

    
13
import org.apache.log4j.Logger;
14
import org.hibernate.Criteria;
15
import org.hibernate.FetchMode;
16
import org.hibernate.HibernateException;
17
import org.hibernate.Session;
18
import org.hibernate.criterion.Order;
19
import org.hibernate.criterion.Projections;
20
import org.hibernate.criterion.Restrictions;
21

    
22
public class UserGemaltoDAOHibernate extends
23
                GenericDAOHibernate<UserTokenBean, String> implements UserTokenDAO
24
 {
25
        private static Logger logger = Logger.getLogger(UserTacDAOHibernate.class);
26
        private static final String GEMALTO = TOKEN_MODE.GEMALTO.getEntityName ();
27
        
28
        /**
29
         * @see my.com.upass.dao.UserGemaltoDAO#insertTokenToStore(my.com.upass.TokenBean)
30
         */
31
        @Override
32
        public boolean insertTokenToStore(UserTokenBean userTokenBean) 
33
        {
34
                Session session = null;
35
                boolean isCreated = false;
36

    
37
                try 
38
                {
39
                        session = getSession();
40
                        session.beginTransaction();
41
                        session.save(GEMALTO, userTokenBean);
42
                        session.getTransaction().commit();
43
                        isCreated = true;
44
                } 
45
                catch (Exception e) 
46
                {
47
                        if (e instanceof HibernateException)
48
                        {
49
                                if (session != null) 
50
                                {
51
                                        session.getTransaction().rollback();
52
                                }
53
                        }
54
                        logger.error(e, e);
55
                } 
56
                finally 
57
                {
58
                        if (session != null && session.isConnected()) 
59
                        {
60
                                session.close();
61
                        }
62
                }
63
                return isCreated;
64
        }
65

    
66
        /**
67
         * @see my.com.upass.dao.UserGemaltoDAO#updateTokenToStore(my.com.upass.TokenBean)
68
         */
69
        @Override
70
        public boolean updateTokenToStore(UserTokenBean userTokenBean) 
71
        {
72
                Session session = null;
73
                boolean isUpdated = false;
74

    
75
                try
76
                {
77
                        session = getSession();
78
                        session.beginTransaction();
79
                        session.update(GEMALTO, userTokenBean);
80
                        session.getTransaction().commit();
81
                        isUpdated = true;
82
                } 
83
                catch (Exception e) 
84
                {
85
                        if (session != null) 
86
                        {
87
                                session.getTransaction().rollback();
88
                        }
89
                        logger.error(e, e);
90
                } 
91
                finally {
92
                        if (session != null && session.isConnected()) 
93
                        {
94
                                session.close();
95
                        }
96
                }
97
                return isUpdated;
98
        }
99

    
100
        /**
101
         * @see my.com.upass.dao.UserGemaltoDAO#getTokenFromStoreBySerialNumber(java.lang.String)
102
         */
103
        @Override
104
        public UserTokenBean getTokenFromStoreBySerialNumber(String serialNumber) 
105
        {
106
                UserTokenBean userTokenBean = null;
107
                Session session = null;
108

    
109
                try 
110
                {
111
                        session = getSession();
112
                        userTokenBean = (UserTokenBean) getSession ().get (GEMALTO, serialNumber);
113
                } 
114
                catch (Exception e)
115
                {
116
                        logger.error(e, e);
117
                } 
118
                finally 
119
                {
120
                        if (session != null && session.isConnected())
121
                        {
122
                                session.close();
123
                        }
124
                }
125
                return userTokenBean;
126
        }
127

    
128
        /**
129
         * @see my.com.upass.dao.UserGemaltoDAO#getTokenFromStoreByUserAlias(java.lang.String)
130
         */
131
        @Override
132
        public UserTokenBean getTokenFromStoreByUserAlias(String userAlias) 
133
        {
134
                UserTokenBean userTokenBean = null;
135
                Criteria criteria;
136
                Session session = null;
137

    
138
                try 
139
                {
140
                        session = getSession();
141
                        criteria = session.createCriteria(GEMALTO);
142
                        criteria.setFetchMode("upassUser", FetchMode.JOIN);
143
                        criteria.createAlias("upassUser", "u");
144
                        criteria.add(Restrictions.eq("u.userAlias", userAlias));
145
                        userTokenBean = (UserTokenBean) criteria.uniqueResult();
146
                } 
147
                catch (Exception e) 
148
                {
149
                        logger.error(e, e);
150
                } 
151
                finally 
152
                {
153
                        if (session != null && session.isConnected()) 
154
                        {
155
                                session.close();
156
                        }
157
                }
158
                return userTokenBean;
159
        }
160

    
161
        /**
162
         * @see my.com.upass.dao.UserGemaltoDAO#deleteTokenFromStoreBySerialNumber(java.lang.String)
163
         */
164
        @Override
165
        public boolean deleteTokenFromStoreBySerialNumber(String serialNumber)
166
        {
167
                Session session = null;
168
                boolean isDeleted = false;
169

    
170
                try {
171
                        session = getSession();
172
                        session.beginTransaction();
173
                        UserTokenBean userTokenBean = (UserTokenBean) session.get (GEMALTO, serialNumber);
174
                        session.delete (GEMALTO, userTokenBean);
175
                        session.getTransaction().commit();
176
                        isDeleted = true;
177
                } 
178
                catch (Exception e) 
179
                {
180
                        if (session != null) 
181
                        {
182
                                session.getTransaction().rollback();
183
                        }
184
                        logger.error(e, e);
185
                } 
186
                finally 
187
                {
188
                        if (session != null && session.isConnected()) 
189
                        {
190
                                session.close();
191
                        }
192
                }
193
                return isDeleted;
194
        }
195

    
196
        /* (non-Javadoc)
197
         * @see my.com.upass.dao.UserTokenDAO#getTokenListFromStoreByCriterias(java.lang.String, java.lang.String)
198
         */
199
        @Override
200
        public int getTokenListSizeFromStoreByCriteria(String batchNumber, 
201
                        String serialNumber) throws Exception {
202
                
203
                int results = 0;
204
                
205
                try {
206
                        
207
                        getSession().beginTransaction();
208
                        Criteria criteria = getSession () 
209
                                        .createCriteria (UserTokenBean.class);
210
                        
211
                        if (batchNumber != null && !"".equals (batchNumber)){
212
                                criteria.add (Restrictions.eq("vbatchNo", batchNumber));
213
                        }
214
                        
215
                        if (serialNumber != null && !"".equals (serialNumber)){
216
                                criteria.add (Restrictions.eq("vserialNumber", serialNumber));
217
                        }
218
                        
219
                        criteria.setProjection(Projections.rowCount());
220
                        results = ((Integer)criteria.list ().get (0)).intValue ();
221
                        getSession ().getTransaction ().commit ();
222
                        
223
                } catch(Exception e) {
224
                                if(e instanceof HibernateException) {
225
                                        getSession ().getTransaction ().rollback ();
226
                                }
227
                                throw e;
228
                                
229
                        } finally {
230
                                getSession ().close ();
231
                                
232
                        }
233
                
234
                return results;
235
        }
236
        
237
        /* (non-Javadoc)
238
         * @see my.com.upass.dao.UserTokenDAO#getTokenListFromStoreByCriterias(java.lang.String, java.lang.String)
239
         */
240
        @SuppressWarnings("unchecked")
241
        @Override
242
        public List<UserTokenBean> getTokenListFromStoreByCriteria(String batchNumber, 
243
                        String serialNumber, int startIndex, int rowPerPage) throws Exception {
244
                
245
                List<UserTokenBean> results = new ArrayList<UserTokenBean> ();
246
                
247
                try {
248
                        
249
                        getSession().beginTransaction();
250
                        Criteria criteria = getSession ()
251
                                        .createCriteria (UserTokenBean.class);
252
                        
253
                        if (batchNumber != null && !"".equals (batchNumber)){
254
                                criteria.add (Restrictions.eq("vbatchNo", batchNumber));
255
                        }
256
                        
257
                        if (serialNumber != null && !"".equals (serialNumber)){
258
                                criteria.add (Restrictions.eq("vserialNumber", serialNumber));
259
                        }
260
                        
261
                        criteria.addOrder(Order.asc("vserialNumber"));
262
                        
263
                        if (rowPerPage != 0) {
264
                                criteria.setFirstResult (startIndex);
265
                                criteria.setMaxResults (rowPerPage);
266
                        }
267
                                                
268
                        results = criteria.list ();
269
                        getSession ().getTransaction ().commit ();
270
                        
271
                } catch (Exception e) {
272
                        if(e instanceof HibernateException){
273
                                getSession ().getTransaction ().rollback ();
274
                                
275
                        }
276
                        throw e;
277
                        
278
                } finally {
279
                        getSession ().close ();
280
                        
281
                }
282
                
283
                return results;
284
        }
285
        
286
        
287
        
288
        public void insertVascoToken (List<UserTokenBean> tokens) throws Exception
289
        {
290
                UserTokenBean token;
291

    
292
                try
293
                {
294
                        getSession ().beginTransaction ();
295

    
296
                        for (Iterator<UserTokenBean> it = tokens.iterator (); it.hasNext ();)
297
                        {
298
                                token = it.next ();
299
                                getSession ().save (GEMALTO, token);
300
                        }
301

    
302
                        getSession ().getTransaction ().commit ();
303
                }
304
                catch (Exception e)
305
                {
306
                        if (e instanceof HibernateException)
307
                        {
308
                                getSession ().getTransaction ().rollback ();
309
                        }
310
                        throw e;
311
                }
312
                finally
313
                {
314
                        getSession ().close ();
315
                }
316
        }
317

    
318
        /**
319
         * @see com.TbAmVascoDAO.dao.UserVascoDAO#enquireTokenByUserId(java.lang.String)
320
         */
321

    
322
        public UserTokenBean enquireTokenByUserId (String p_sUserId)
323
                        throws Exception
324
        {
325
                UserTokenBean token;
326
                Criteria m_oCriteria;
327
                try
328
                {
329
                        getSession ().beginTransaction ();
330
                        m_oCriteria = getSession ().createCriteria (GEMALTO);
331
                        m_oCriteria.add (Restrictions.eq ("vuserId",
332
                                        Long.valueOf (p_sUserId)));
333
                        token = (UserTokenBean) m_oCriteria.uniqueResult ();
334
                        getSession ().getTransaction ().commit ();
335
                }
336
                catch (Exception e)
337
                {
338
                        if (e instanceof HibernateException)
339
                        {
340
                                getSession ().getTransaction ().rollback ();
341
                        }
342
                        throw e;
343
                }
344
                finally
345
                {
346
                        getSession ().close ();
347
                }
348
                return token;
349
        }
350

    
351
        public boolean checkTokenExistenceBySerialNumber (String serial)
352
                        throws Exception
353
        {
354
                boolean result = false;
355

    
356
                try
357
                {
358
                        @SuppressWarnings ("unchecked")
359
                        List<UserTokenBean> results = getSession ()
360
                                        .createCriteria (GEMALTO)
361
                                        .add (Restrictions.eq ("vserialNo", serial)).list ();
362

    
363
                        if (!results.isEmpty ())
364
                        {
365
                                result = true;
366
                        }
367
                        else
368
                        {
369
                                result = false;
370
                        }
371
                }
372
                catch (Exception e)
373
                {
374
                        if (e instanceof HibernateException)
375
                        {
376
                                getSession ().getTransaction ().rollback ();
377
                        }
378
                        throw e;
379
                }
380
                finally
381
                {
382
                        getSession ().close ();
383
                }
384

    
385
                return result;
386
        }
387

    
388
        @SuppressWarnings ("unchecked")
389
        public List<UserTokenBean> getTokenList (String batch, String serial)
390
                        throws Exception
391
        {
392
                List<UserTokenBean> tokenList = null;
393

    
394
                try
395
                {
396
                        getSession ().beginTransaction ();
397

    
398
                        Criteria criteria = getSession ().createCriteria (
399
                                        GEMALTO).addOrder (Order.asc ("vserialNo"));
400

    
401
                        if (batch != null && !"".equals (batch))
402
                        {
403
                                criteria.add (Restrictions.eq ("vbatchNo", batch));
404
                        }
405

    
406
                        if (serial != null && !"".equals (serial))
407
                        {
408
                                criteria.add (Restrictions.eq ("vserialNo", serial));
409
                        }
410

    
411
                        tokenList = criteria.list ();
412

    
413
                        getSession ().getTransaction ().commit ();
414

    
415
                }
416
                catch (Exception e)
417
                {
418
                        getSession ().getTransaction ().rollback ();
419
                        throw e;
420

    
421
                }
422
                finally
423
                {
424
                        getSession ().close ();
425
                }
426
                return tokenList;
427
        }
428
}