01: package com.sun.portal.ubt.report.data.file.aggregate;
02:
03: import com.sun.portal.ubt.report.data.file.raw.UserIdentityMiner;
04: import com.sun.portal.ubt.report.data.file.raw.ArrayComparator;
05:
06: import java.util.TreeMap;
07: import java.util.Iterator;
08:
09: /**
10: *
11: */
12: public class UserIdentityMinerAggregator extends
13: DataMinerAggregatorAdapter {
14: TreeMap userIdenDataAggregate = new TreeMap(new ArrayComparator()); //([server,domain,rdn,user],lastaccess)
15:
16: public UserIdentityMinerAggregator() {
17: this .minerClassName = UserIdentityMiner.class.getName();
18: }
19:
20: protected void add(Object o) {
21: TreeMap minerData = (TreeMap) o;
22: Iterator uidIt = minerData.keySet().iterator();
23: while (uidIt.hasNext()) {
24: Object uid = uidIt.next();
25: if (userIdenDataAggregate.containsKey(uid)) {
26: //elaborate
27: String timestamp = (String) userIdenDataAggregate
28: .get(uid);
29: userIdenDataAggregate.put(uid, greater(
30: (String) userIdenDataAggregate.get(uid),
31: (String) minerData.get(uid)));
32: } else {
33: userIdenDataAggregate.put(uid, minerData.get(uid));
34: }
35: }
36: }
37:
38: private Object greater(String s, String s1) {
39: if (Long.parseLong(s) > Long.parseLong(s1)) {
40: return s;
41: } else
42: return s1;
43: }
44:
45: public Object getData() {
46: return userIdenDataAggregate;
47: }
48:
49: public void setData(Object data) {
50: userIdenDataAggregate = (TreeMap) data;
51: }
52: }
|