Revision 51:74be74b4d46a

View differences:

src/my/com/upass/maybank/CountResponseElement.java
1
package my.com.upass.maybank;
2

  
3
import javax.xml.bind.annotation.XmlRootElement;
4

  
5
@XmlRootElement
6
public class CountResponseElement extends CountResponse {
7

  
8
	// private int code;
9
	// private Integer count;
10
	//
11

  
12
	public CountResponseElement() {
13
	}
14

  
15
	public CountResponseElement(CountResponse response) {
16
		setCode(response.getCode());
17
		setCount(response.getCount());
18
	}
19

  
20
	// public int getCode() {
21
	// return code;
22
	// }
23
	//
24
	// public void setCode(int code) {
25
	// this.code = code;
26
	// }
27
	//
28
	// public Integer getCount() {
29
	// return count;
30
	// }
31
	//
32
	// public void setCount(Integer count) {
33
	// this.count = count;
34
	// }
35

  
36
}
src/my/com/upass/maybank/MaybankFacade.java
27 27
			@WebParam(name = "hashedPassword") String hashedPassword,
28 28
			@WebParam(name = "panCC") String panCC);
29 29

  
30
	@WebResult(name = "responseCode")
31
	int newTicketingUser(
32
			@WebParam(name = "appAccessId") String appAccessId,
33
			@WebParam(name = "hashedSecretKey") String hashedSecretKey,
34
			@WebParam(name = "username") String username,
35
			@WebParam(name = "hashedPassword") String hashedPassword,
36
			@WebParam(name = "fullName") String fullName,
37
			@WebParam(name = "firstName") String firstName,
38
			@WebParam(name = "lastName") String lastName,
39
			@WebParam(name = "payeeCode") String payeeCode);
40

  
30 41
	@WebResult(name = "responseElement")
31 42
	ResponseElement lookupPanCc(
32 43
			@WebParam(name = "appAccessId") String appAccessId,
......
76 87
			@WebParam(name = "hashedSecretKey") String hashedSecretKey,
77 88
			@WebParam(name = "pan2") String pan2);
78 89

  
90
	@WebResult(name = "responseElement")
91
	CountResponseElement getFailedLoginsCount(
92
			@WebParam(name = "appAccessId") String appAccessId,
93
			@WebParam(name = "hashedSecretKey") String hashedSecretKey,
94
			@WebParam(name = "username") String username);
95

  
96
	@WebResult(name = "responseCode")
97
	int updateUserAttributes(
98
			@WebParam(name = "appAccessId") String appAccessId,
99
			@WebParam(name = "hashedSecretKey") String hashedSecretKey,
100
			@WebParam(name = "username") String username,
101
			@XmlJavaTypeAdapter(MapAdapter.class) @WebParam(name = "attributes") Map<String, String> attributes);
102

  
79 103
	/*
80 104
	 * TODO: Currently searchFilter is expected to
81 105
	 * conform with rfc2254. We need to choose an
src/my/com/upass/maybank/MaybankFacadeImpl.java
3 3
import java.text.ParseException;
4 4
import java.util.ArrayList;
5 5
import java.util.Arrays;
6
import java.util.HashMap;
6 7
import java.util.LinkedList;
7 8
import java.util.List;
8 9
import java.util.Map;
9 10

  
11
import javax.jws.WebParam;
12
import javax.jws.WebResult;
10 13
import javax.jws.WebService;
11 14

  
12 15
import my.com.upass.MinimalConstants;
......
54 57
			String appAccessId, String hashedSecretKey,
55 58
			String username, String hashedPassword) {
56 59

  
57
		IbccUser ibccUser = new IbccUser();
60
		final IbccUser ibccUser = new IbccUser();
58 61
		// ibccUser.setPanCc(panCc);
59 62

  
60
		MinimalUserBean minUser = new MinimalUserBean();
63
		final MinimalUserBean minUser = new MinimalUserBean();
61 64
		minUser.setUsername(username);
62
		
65

  
63 66
		minUser.setHashedPassword(hashedPassword);
64 67
		ibccUser.setMinUser(minUser);
65 68

  
66 69
		return newAdminUser(appAccessId, hashedSecretKey, ibccUser);
67 70
	}
68 71

  
72
	@Override
69 73
	public int newPublicUser(
70 74
			String appAccessId, String hashedSecretKey,
71 75
			String username, String hashedPassword, String panCc) {
72 76

  
73
		IbccUser ibccUser = new IbccUser();
77
		final IbccUser ibccUser = new IbccUser();
74 78
		ibccUser.setPanCc(panCc);
75 79

  
76
		MinimalUserBean minUser = new MinimalUserBean();
80
		final MinimalUserBean minUser = new MinimalUserBean();
77 81
		minUser.setUsername(username);
78 82
		minUser.setHashedPassword(hashedPassword);
79 83
		ibccUser.setMinUser(minUser);
......
81 85
		return newUser(appAccessId, hashedSecretKey, ibccUser);
82 86
	}
83 87

  
88
	@Override
89
	public int newTicketingUser(
90
			String appAccessId, String hashedSecretKey, 
91
			String username, String hashedPassword, 
92
			String fullName, String firstName, String lastName, String payeeCode) {
93

  
94
		final TicketingUser ticketingUser = new TicketingUser();
95
		ticketingUser.setFullName(fullName);
96
		ticketingUser.setFirstName(firstName);
97
		ticketingUser.setLastName(lastName);
98
		ticketingUser.setPayeeCode(payeeCode);
99
		
100
		final MinimalUserBean minUser = new MinimalUserBean();
101
		minUser.setUsername(username);
102
		minUser.setHashedPassword(hashedPassword);
103
		ticketingUser.setMinUser(minUser);
104
		
105
		return newUser(appAccessId, hashedSecretKey, ticketingUser);
106
	}
84 107
	/**
85 108
	 * @deprecated
86 109
	 * @see #lookupUsername(String, String, String)
......
302 325
		}
303 326
	}
304 327

  
328
	@Override
329
	public CountResponseElement getFailedLoginsCount(
330
			String appAccessId, String hashedSecretKey, String username) {
331

  
332
		CountResponse response = super.getFailedLoginsCount(appAccessId, hashedSecretKey, username);
333
		return new CountResponseElement(response);
334
	}
335

  
336
	@Override
337
	public int updateUserAttributes(
338
			String appAccessId, String hashedSecretKey,
339
			String username, Map<String, String> attributes) {
340

  
341
		Session session = null;
342
		try {
343
			session = HibernateUtils.currentSession();
344
			session.beginTransaction();
345

  
346
			UserProfile profile = upcV2.findProfile(
347
					appAccessId, hashedSecretKey, username, ClientApp.APP_ID_M2U, session);
348

  
349
			if (profile != null) {
350
				final HashMap<String, String> tempMap = new HashMap<String, String>();
351
				tempMap.putAll(profile.propertiesToMap());
352

  
353
				attributes.remove("username");
354
				tempMap.putAll(attributes);
355

  
356
				profile.mapToProperties(tempMap);
357

  
358
				int rc = upcV2.updateProfileShallowly(
359
						appAccessId, hashedSecretKey, profile, session);
360

  
361
				if (rc == MinimalConstants.ERR_SUCCESS) {
362
					session.getTransaction().commit();
363

  
364
				} else {
365
					LOGGER.warn("Unable to update user profile.");
366
					GenericDAOHibernate.rollbackTransactionIfAny(session);
367
				}
368
				return rc;
369

  
370
			} else {
371
				GenericDAOHibernate.rollbackTransactionIfAny(session);
372
				return MinimalConstants.ERR_INVALID_INPUT;
373
			}
374
		} catch (UPassException e) {
375
			LOGGER.info(e, e);
376
			GenericDAOHibernate.rollbackTransactionIfAny(session);
377
			return e.getErrorCode();
378

  
379
		} catch (Exception e) {
380
			LOGGER.error(e, e);
381
			GenericDAOHibernate.rollbackTransactionIfAny(session);
382
			return MinimalConstants.ERR_UNKNOWN;
383

  
384
		} finally {
385
			GenericDAOHibernate.closeSessionIfAny(session);
386
		}
387
	}
388

  
305 389
	// Helper methods
306 390

  
307 391
	protected int newAdminUser(

Also available in: Unified diff