String toDate, String filter, String pageStr) throws Exception{
UserRealm realm = userRegistry.getUserRealm();
UserStoreManager reader = realm.getUserStoreManager();
String[] roles = reader.getRoleListOfUser(userRegistry.getUserName());
List list = Arrays.asList(roles);
ActivityBean activityBean = new ActivityBean();
if (resourcePath != null && resourcePath.equals("")) {
resourcePath = null;
}
if (userName != null && userName.equals("")) {
userName = null;
}
if (fromDate != null && fromDate.equals("")) {
fromDate = null;
}
if (toDate != null && toDate.equals("")) {
toDate = null;
}
if (filter == null) {
filter = "1";
}
List<Integer> filterValues = new LinkedList<Integer>();
if (filter.equals("resourceAdd")) {
filterValues.add(LogEntry.ADD);
} else if (filter.equals("resourceUpdate")) {
filterValues.add(LogEntry.UPDATE);
} else if (filter.equals("commentings")) {
filterValues.add(LogEntry.COMMENT);
filterValues.add(LogEntry.DELETE_COMMENT);
} else if (filter.equals("taggings")) {
filterValues.add(LogEntry.TAG);
filterValues.add(LogEntry.REMOVE_TAG);
} else if (filter.equals("ratings")) {
filterValues.add(LogEntry.RATING);
} else if (filter.equals("restore")) {
filterValues.add(LogEntry.RESTORE);
} else if (filter.equals("delete")) {
filterValues.add(LogEntry.DELETE_RESOURCE);
} else if (filter.equals("addAssociation")) {
filterValues.add(LogEntry.ADD_ASSOCIATION);
} else if (filter.equals("removeAssociation")) {
filterValues.add(LogEntry.REMOVE_ASSOCIATION);
} else if (filter.equals("createSymbolicLink")) {
filterValues.add(LogEntry.CREATE_SYMBOLIC_LINK);
} else if (filter.equals("createRemoteLink")) {
filterValues.add(LogEntry.CREATE_REMOTE_LINK);
} else if (filter.equals("removeLink")) {
filterValues.add(LogEntry.REMOVE_LINK);
} else if (filter.equals("associateAspect")) {
filterValues.add(LogEntry.ASSOCIATE_ASPECT);
} else {
filterValues.add(-1);
}
try {
List<LogEntry> logList = new LinkedList<LogEntry>();
for (Integer filterValue : filterValues) {
logList.addAll(Arrays.asList(userRegistry.getLogs(resourcePath, filterValue,
userName, computeDate(fromDate), computeDate(toDate), true)));
}
LogEntry[] logs = logList.toArray(new LogEntry[logList.size()]);
Arrays.sort(logs, new Comparator<LogEntry>() {
public int compare(LogEntry o1, LogEntry o2) {
return o2.getDate().compareTo(o1.getDate());
}
});
if (list.contains("admin")) {
activityBean.setActivity(constructActivityStatements(userRegistry, logs));
} else{
activityBean.setActivity(constructActivityStatementsfornormaluser(userRegistry,
logs, userRegistry.getUserName()));
}
} catch (RegistryException e) {
String msg = "Failed to get activities for generating activity search results " +
e.getMessage();
log.error(msg, e);
activityBean.setErrorMessage(msg);
}
return activityBean;
}