use of org.eclipse.sw360.portal.common.PortalConstants.DATATABLE_DISPLAY_DATA in project sw360 by eclipse.
the class ComponentPortlet method serveComponentList.
private void serveComponentList(ResourceRequest request, ResourceResponse response) throws PortletException {
HttpServletRequest originalServletRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(request));
PaginationParameters paginationParameters = PaginationParser.parametersFrom(originalServletRequest);
handlePaginationSortOrder(request, paginationParameters);
PaginationData pageData = new PaginationData();
pageData.setRowsPerPage(paginationParameters.getDisplayLength());
pageData.setDisplayStart(paginationParameters.getDisplayStart());
pageData.setAscending(paginationParameters.isAscending().get());
int sortParam = -1;
if (paginationParameters.getSortingColumn().isPresent()) {
sortParam = paginationParameters.getSortingColumn().get();
if (sortParam == 1 && Integer.valueOf(paginationParameters.getEcho()) == 1) {
sortParam = -1;
}
}
pageData.setSortColumnNumber(sortParam);
Map<PaginationData, List<Component>> pageDataComponentList = getFilteredComponentList(request, pageData);
Map<String, Set<String>> filterMap = getComponentFilterMap(request);
JSONArray jsonComponents = getComponentData(pageDataComponentList.values().iterator().next(), paginationParameters, filterMap);
JSONObject jsonResult = createJSONObject();
jsonResult.put(DATATABLE_RECORDS_TOTAL, pageDataComponentList.keySet().iterator().next().getTotalRowCount());
jsonResult.put(DATATABLE_RECORDS_FILTERED, pageDataComponentList.keySet().iterator().next().getTotalRowCount());
jsonResult.put(DATATABLE_DISPLAY_DATA, jsonComponents);
try {
writeJSON(request, response, jsonResult);
} catch (IOException e) {
log.error("Problem rendering RequestStatus", e);
response.setProperty(ResourceResponse.HTTP_STATUS_CODE, "500");
}
}
use of org.eclipse.sw360.portal.common.PortalConstants.DATATABLE_DISPLAY_DATA in project sw360 by eclipse.
the class UserPortlet method serveUsersListAbsentInCouchDB.
private void serveUsersListAbsentInCouchDB(ResourceRequest request, ResourceResponse response) {
Set<String> setOfEmailOfUsersPresentInCouchDB = new TreeSet<String>();
try {
UserService.Iface client = thriftClients.makeUserClient();
setOfEmailOfUsersPresentInCouchDB = CommonUtils.nullToEmptySet(client.getUserEmails());
} catch (TException e) {
log.error("Problem getting departments/emails of all user.", e);
}
final Set<String> setOfEmailOfUsersPresentInCouchDBFinal = setOfEmailOfUsersPresentInCouchDB;
List<org.eclipse.sw360.datahandler.thrift.users.User> usersAbsentInCouchDB;
List<User> liferayUsers;
try {
liferayUsers = UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
} catch (SystemException e) {
log.error("Could not get user List from liferay", e);
liferayUsers = Collections.emptyList();
}
usersAbsentInCouchDB = liferayUsers.stream().filter(liferayUser -> !setOfEmailOfUsersPresentInCouchDBFinal.contains(liferayUser.getEmailAddress())).filter(liferayUser -> {
String firstName = liferayUser.getFirstName();
String lastName = liferayUser.getLastName();
String emailAddress = liferayUser.getEmailAddress();
List<Organization> organizations;
try {
organizations = liferayUser.getOrganizations();
} catch (PortalException | SystemException e) {
return false;
}
String department = "";
if (organizations != null && organizations.size() > 0) {
department = organizations.get(0).getName();
}
String userGroup = "";
List<Role> roles;
try {
roles = liferayUser.getRoles();
} catch (SystemException e) {
return false;
}
List<String> roleNames = new ArrayList<>();
for (Role role : roles) {
roleNames.add(role.getName());
}
for (UserGroup group : UserGroup.values()) {
String roleConstantFromUserGroup = getRoleConstantFromUserGroup(group);
if (roleNames.contains(roleConstantFromUserGroup)) {
userGroup = group.toString();
break;
}
}
String gid = liferayUser.getScreenName();
String passwordHash = liferayUser.getPassword();
return !(isNullOrEmpty(firstName) || isNullOrEmpty(lastName) || isNullOrEmpty(emailAddress) || isNullOrEmpty(department) || isNullOrEmpty(userGroup) || isNullOrEmpty(gid) || isNullOrEmpty(passwordHash));
}).map(liferayUser -> {
String emailAddress = liferayUser.getEmailAddress();
String department = null;
List<String> primaryRoles = liferayUser.getRoles().stream().map(role -> role.getName()).collect(Collectors.toList());
try {
department = liferayUser.getOrganizations().get(0).getName();
} catch (PortalException pe) {
log.error("Error occured while retrieving Organisation name of the user. ", pe);
}
return new org.eclipse.sw360.datahandler.thrift.users.User().setGivenname(liferayUser.getFirstName()).setLastname(liferayUser.getLastName()).setDepartment(department).setPrimaryRoles(primaryRoles).setEmail(emailAddress);
}).collect(Collectors.toList());
JSONArray userRequestData = createJSONArray();
for (org.eclipse.sw360.datahandler.thrift.users.User user : usersAbsentInCouchDB) {
createUserJsonObject(user, userRequestData, true);
}
JSONObject jsonResult = createJSONObject();
jsonResult.put(DATATABLE_RECORDS_TOTAL, usersAbsentInCouchDB.size());
jsonResult.put(DATATABLE_RECORDS_FILTERED, usersAbsentInCouchDB.size());
jsonResult.put(DATATABLE_DISPLAY_DATA, userRequestData);
try {
writeJSON(request, response, jsonResult);
} catch (IOException e) {
log.error("Problem rendering list of users absent in couch db", e);
}
}
use of org.eclipse.sw360.portal.common.PortalConstants.DATATABLE_DISPLAY_DATA in project sw360 by eclipse.
the class UserPortlet method serveUsersListPresentInCouchDB.
private void serveUsersListPresentInCouchDB(ResourceRequest request, ResourceResponse response) {
HttpServletRequest originalServletRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(request));
PaginationParameters paginationParameters = PaginationParser.parametersFrom(originalServletRequest);
PortletUtils.handlePaginationSortOrder(request, paginationParameters, USER_FILTERED_FIELDS, USER_NO_SORT);
UserService.Iface client = thriftClients.makeUserClient();
PaginationData pageData = new PaginationData();
pageData.setRowsPerPage(paginationParameters.getDisplayLength());
pageData.setDisplayStart(paginationParameters.getDisplayStart());
pageData.setAscending(paginationParameters.isAscending().get());
if (paginationParameters.getSortingColumn().isPresent()) {
int sortParam = paginationParameters.getSortingColumn().get();
if (sortParam == 0 && Integer.valueOf(paginationParameters.getEcho()) == 1) {
pageData.setSortColumnNumber(-1);
} else {
pageData.setSortColumnNumber(paginationParameters.getSortingColumn().get());
}
} else {
pageData.setSortColumnNumber(-1);
}
Map<String, Set<String>> filterMap = getUserFilterMap(originalServletRequest);
Map<PaginationData, List<org.eclipse.sw360.datahandler.thrift.users.User>> usersWithPageData = getFilteredUsersList(request, pageData, client, filterMap);
List<org.eclipse.sw360.datahandler.thrift.users.User> users = new ArrayList<>();
PaginationData pgDt = new PaginationData();
if (!CommonUtils.isNullOrEmptyMap(usersWithPageData)) {
users = usersWithPageData.values().iterator().next();
pgDt = usersWithPageData.keySet().iterator().next();
}
JSONArray jsonUsers = getUserData(users, paginationParameters, filterMap);
JSONObject jsonResult = createJSONObject();
jsonResult.put(DATATABLE_RECORDS_TOTAL, pgDt.getTotalRowCount());
jsonResult.put(DATATABLE_RECORDS_FILTERED, pgDt.getTotalRowCount());
jsonResult.put(DATATABLE_DISPLAY_DATA, jsonUsers);
try {
writeJSON(request, response, jsonResult);
} catch (IOException e) {
log.error("Problem rendering list of users present in couch db", e);
}
}
use of org.eclipse.sw360.portal.common.PortalConstants.DATATABLE_DISPLAY_DATA in project sw360 by eclipse.
the class ChangeLogsPortletUtils method serveChangeLogsList.
private JSONObject serveChangeLogsList(ResourceRequest request, ResourceResponse response, ChangeLogsService.Iface changeLogsClient) {
HttpServletRequest originalServletRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(request));
PaginationParameters paginationParameters = PaginationParser.parametersFrom(originalServletRequest);
if (!paginationParameters.getSortingColumn().isPresent()) {
for (ChangeLogs._Fields filteredField : changeLogsFields) {
if (!isNullOrEmpty(request.getParameter(filteredField.toString()))) {
paginationParameters.setSortingColumn(Optional.of(CHANGELOGS_NO_SORT));
break;
}
}
}
List<ChangeLogs> changeLogsList = getFilteredChangeLogList(request, changeLogsClient);
JSONArray jsonProjects = getChangeLogData(changeLogsList, paginationParameters, request);
JSONObject jsonResult = createJSONObject();
jsonResult.put(DATATABLE_RECORDS_TOTAL, changeLogsList.size());
jsonResult.put(DATATABLE_RECORDS_FILTERED, changeLogsList.size());
jsonResult.put(DATATABLE_DISPLAY_DATA, jsonProjects);
return jsonResult;
}
use of org.eclipse.sw360.portal.common.PortalConstants.DATATABLE_DISPLAY_DATA in project sw360 by eclipse.
the class ModerationPortlet method serveModerationList.
private void serveModerationList(ResourceRequest request, ResourceResponse response, boolean open) {
HttpServletRequest originalServletRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(request));
PaginationParameters paginationParameters = PaginationParser.parametersFrom(originalServletRequest);
PortletUtils.handlePaginationSortOrder(request, paginationParameters, MODERATION_FILTERED_FIELDS, MODERATION_NO_SORT);
PaginationData pageData = new PaginationData();
pageData.setRowsPerPage(paginationParameters.getDisplayLength());
pageData.setDisplayStart(paginationParameters.getDisplayStart());
pageData.setAscending(paginationParameters.isAscending().get());
if (paginationParameters.getSortingColumn().isPresent()) {
int sortParam = paginationParameters.getSortingColumn().get();
if (sortParam == 0 && Integer.valueOf(paginationParameters.getEcho()) == 1) {
pageData.setSortColumnNumber(-1);
} else {
pageData.setSortColumnNumber(paginationParameters.getSortingColumn().get());
}
} else {
pageData.setSortColumnNumber(-1);
}
Map<PaginationData, List<ModerationRequest>> modRequestsWithPageData = getFilteredModerationList(request, pageData, open);
List<ModerationRequest> moderations = new ArrayList<>();
PaginationData pgDt = new PaginationData();
if (!CommonUtils.isNullOrEmptyMap(modRequestsWithPageData)) {
moderations = modRequestsWithPageData.values().iterator().next();
pgDt = modRequestsWithPageData.keySet().iterator().next();
}
JSONArray jsonOpenModerations = getModerationData(moderations, paginationParameters, request, open);
JSONObject jsonResult = createJSONObject();
final Map<String, Long> countByModerationState = getCountByModerationState(request);
long openModRequestCount = countByModerationState.get("OPEN") == null ? 0 : countByModerationState.get("OPEN");
long closedModRequestCount = countByModerationState.get("CLOSED") == null ? 0 : countByModerationState.get("CLOSED");
Map<String, Set<String>> filterMap = getModerationFilterMap(request);
long noOfRecords = filterMap.isEmpty() ? (open ? openModRequestCount : closedModRequestCount) : pgDt.getTotalRowCount();
jsonResult.put(DATATABLE_RECORDS_TOTAL, noOfRecords);
jsonResult.put(DATATABLE_RECORDS_FILTERED, noOfRecords);
jsonResult.put(DATATABLE_DISPLAY_DATA, jsonOpenModerations);
jsonResult.put(CLOSED_MODERATION_REQUESTS, closedModRequestCount);
jsonResult.put(OPEN_MODERATION_REQUESTS, openModRequestCount);
jsonResult.put(MODERATION_REQUESTING_USER_DEPARTMENTS, getRequestingUserDepts());
try {
writeJSON(request, response, jsonResult);
} catch (IOException e) {
log.error("Problem rendering list of open moderation", e);
}
}
Aggregations