Statistics
| Branch: | Revision:

m2u-upass-core / src / my / com / upass / factory / UPassFactory.java @ 0:02300db8682b

History | View | Annotate | Download (2.94 KB)

1
/**
2
 * Copyright (M) 2010 Penril Datability (M) Sdn Bhd All rights reserved.
3
 *
4
 * This software is copyrighted. Under the copyright laws, this software
5
 * may not be copied, in whole or in part, without prior written consent
6
 * of Penril Datability (M) Sdn Bhd or its assignees. This software is
7
 * provided under the terms of a license between Penril Datability (M)
8
 * Sdn Bhd and the recipient, and its use is subject to the terms of that
9
 * license.
10
 */
11

    
12
package my.com.upass.factory;
13

    
14
import java.util.Map;
15

    
16
import my.com.upass.ConfigBean;
17
import my.com.upass.TOKEN_MODE;
18
import my.com.upass.TokenBean;
19
import my.com.upass.gemalto.GemaltoTokenControllerImpl;
20
import my.com.upass.pojo.SecurityCodeBean;
21
import my.com.upass.pojo.TacBean;
22
import my.com.upass.pojo.UserBean;
23
import my.com.upass.secure.metric.SecureMetricTokenControllerImpl;
24
import my.com.upass.security.code.SecurityCodeController;
25
import my.com.upass.security.code.SecurityCodeControllerV2;
26
import my.com.upass.spassword.PasswordController;
27
import my.com.upass.tac.TacController;
28
import my.com.upass.vasco.TokenController;
29
import my.com.upass.vasco.TokenControllerImpl;
30
import my.com.upass.vasco.TokenControllerMockup;
31

    
32
/**
33
 * PROGRAMMER: Danniell
34
 * CHANGE-NO:
35
 * TASK-NO:
36
 * DATE CREATED: Nov 9, 2011
37
 * TAG AS:
38
 * REASON(S):
39
 * MODIFICATION:
40
 */
41

    
42
/**
43
 * Factory for instances
44
 */
45
public class UPassFactory {
46

    
47
        public static final boolean TOKEN_MOCKUP_ENABLED = (System.getProperty("upass.mockup.token") != null);
48

    
49
        public static PasswordController getPasswordController(//
50
                        UserBean userBean, Map<Integer, ConfigBean> configurationsMap) throws Exception {
51

    
52
                return new PasswordController(userBean, configurationsMap);
53
        }
54

    
55
        public static TacController getTacController(TacBean tacBeanObject, ConfigBean config) throws Exception {
56
                return new TacController(tacBeanObject, config);
57
        }
58

    
59
        public static TokenController getTokenController(TokenBean tokenBean) {
60
                if (UPassFactory.TOKEN_MOCKUP_ENABLED) {
61
                        return new TokenControllerMockup(tokenBean);
62

    
63
                } else {
64
                        switch (getTokenMode()) {
65

    
66
                        case VASCO:
67
                                return new TokenControllerImpl(tokenBean);
68
                        case GEMALTO:
69
                                return new GemaltoTokenControllerImpl(tokenBean);
70
                        case SECUREMETRIC:
71
                                return new SecureMetricTokenControllerImpl(tokenBean);
72
                        default:
73
                                return new TokenControllerMockup(tokenBean);
74
                        }
75
                }
76
        }
77

    
78
        public static SecurityCodeController getSecurityCodeController( //
79
                        SecurityCodeBean securityCodeBean, Map<Integer, ConfigBean> configurationsMap) throws Exception {
80

    
81
                return new SecurityCodeControllerV2(securityCodeBean, configurationsMap);
82
        }
83

    
84
        /**
85
         * <pre>
86
         * Main flag to determine token implementation type.
87
         * Available options:
88
         * - VASCO
89
         * - GEMALTO 
90
         * - SECUREMETRIC
91
         * </pre>
92
         * 
93
         * @return Token mode implementation options available.
94
         */
95
        public static final TOKEN_MODE getTokenMode() {
96
                return TOKEN_MODE.SECUREMETRIC;
97
        }
98
}