use of org.olat.core.gui.control.generic.portal.PortletEntry in project openolat by klemens.
the class GroupsPortletRunController method reloadModel.
@Override
protected void reloadModel(SortingCriteria sortCriteria) {
if (sortCriteria.getSortingType() == SortingCriteria.AUTO_SORTING) {
BusinessGroupOrder order = null;
if (sortCriteria.getSortingTerm() == SortingCriteria.ALPHABETICAL_SORTING) {
order = sortCriteria.isAscending() ? BusinessGroupOrder.nameAsc : BusinessGroupOrder.nameDesc;
} else if (sortCriteria.getSortingTerm() == SortingCriteria.DATE_SORTING) {
order = sortCriteria.isAscending() ? BusinessGroupOrder.creationDateAsc : BusinessGroupOrder.creationDateDesc;
}
int maxEntries = sortCriteria.getMaxEntries();
List<BusinessGroup> groupList = businessGroupService.findBusinessGroups(getIdentity(), maxEntries * 2, order);
Set<BusinessGroup> removeDuplicates = new HashSet<BusinessGroup>(maxEntries);
for (Iterator<BusinessGroup> it = groupList.iterator(); it.hasNext(); ) {
BusinessGroup group = it.next();
if (removeDuplicates.contains(group)) {
it.remove();
} else {
removeDuplicates.add(group);
}
}
List<BusinessGroup> uniqueList = groupList.subList(0, Math.min(maxEntries, groupList.size()));
List<PortletEntry<BusinessGroupEntry>> entries = convertShortBusinessGroupToPortletEntryList(uniqueList, false);
groupListModel.setObjects(entries);
tableCtr.modelChanged();
} else {
reloadModel(getPersistentManuallySortedItems());
}
}
use of org.olat.core.gui.control.generic.portal.PortletEntry in project OpenOLAT by OpenOLAT.
the class GroupsPortletRunController method convertBusinessGroupToPortletEntryList.
private List<PortletEntry<BusinessGroupEntry>> convertBusinessGroupToPortletEntryList(List<BusinessGroup> groups, boolean withDescription) {
List<PortletEntry<BusinessGroupEntry>> convertedList = new ArrayList<PortletEntry<BusinessGroupEntry>>();
for (BusinessGroup group : groups) {
GroupPortletEntry entry = new GroupPortletEntry(group);
if (withDescription) {
entry.getValue().setDescription(group.getDescription());
}
convertedList.add(entry);
}
return convertedList;
}
use of org.olat.core.gui.control.generic.portal.PortletEntry in project OpenOLAT by OpenOLAT.
the class GroupsPortletRunController method getPersistentManuallySortedItems.
/**
* Retrieves the persistent manually sorted items for the current portlet.
* @param ureq
* @return
*/
private List<PortletEntry<BusinessGroupEntry>> getPersistentManuallySortedItems() {
@SuppressWarnings("unchecked") Map<Long, Integer> storedPrefs = (Map<Long, Integer>) guiPreferences.get(Map.class, getPreferenceKey(SORTED_ITEMS_PREF));
List<PortletEntry<BusinessGroupEntry>> portletEntryList;
if (storedPrefs != null) {
SearchBusinessGroupParams params = new SearchBusinessGroupParams(getIdentity(), true, true);
params.setGroupKeys(storedPrefs.keySet());
List<BusinessGroup> groups = businessGroupService.findBusinessGroups(params, null, 0, -1);
portletEntryList = convertBusinessGroupToPortletEntryList(groups, false);
} else {
List<BusinessGroup> groups = new ArrayList<BusinessGroup>();
portletEntryList = convertShortBusinessGroupToPortletEntryList(groups, false);
}
return getPersistentManuallySortedItems(portletEntryList);
}
use of org.olat.core.gui.control.generic.portal.PortletEntry in project OpenOLAT by OpenOLAT.
the class GroupsPortletRunController method reloadModel.
@Override
protected void reloadModel(SortingCriteria sortCriteria) {
if (sortCriteria.getSortingType() == SortingCriteria.AUTO_SORTING) {
BusinessGroupOrder order = null;
if (sortCriteria.getSortingTerm() == SortingCriteria.ALPHABETICAL_SORTING) {
order = sortCriteria.isAscending() ? BusinessGroupOrder.nameAsc : BusinessGroupOrder.nameDesc;
} else if (sortCriteria.getSortingTerm() == SortingCriteria.DATE_SORTING) {
order = sortCriteria.isAscending() ? BusinessGroupOrder.creationDateAsc : BusinessGroupOrder.creationDateDesc;
}
int maxEntries = sortCriteria.getMaxEntries();
List<BusinessGroup> groupList = businessGroupService.findBusinessGroups(getIdentity(), maxEntries * 2, order);
Set<BusinessGroup> removeDuplicates = new HashSet<BusinessGroup>(maxEntries);
for (Iterator<BusinessGroup> it = groupList.iterator(); it.hasNext(); ) {
BusinessGroup group = it.next();
if (removeDuplicates.contains(group)) {
it.remove();
} else {
removeDuplicates.add(group);
}
}
List<BusinessGroup> uniqueList = groupList.subList(0, Math.min(maxEntries, groupList.size()));
List<PortletEntry<BusinessGroupEntry>> entries = convertShortBusinessGroupToPortletEntryList(uniqueList, false);
groupListModel.setObjects(entries);
tableCtr.modelChanged();
} else {
reloadModel(getPersistentManuallySortedItems());
}
}
use of org.olat.core.gui.control.generic.portal.PortletEntry in project OpenOLAT by OpenOLAT.
the class InfoMessagePortletRunController method reloadModel.
@Override
protected void reloadModel(SortingCriteria criteria) {
List<SubscriptionInfo> infos = NotificationsManager.getInstance().getSubscriptionInfos(getIdentity(), "InfoMessage");
List<InfoSubscriptionItem> items = new ArrayList<InfoSubscriptionItem>();
for (SubscriptionInfo info : infos) {
for (SubscriptionListItem item : info.getSubscriptionListItems()) {
items.add(new InfoSubscriptionItem(info, item));
}
}
items = getSortedList(items, criteria);
List<PortletEntry<InfoSubscriptionItem>> entries = convertToPortletEntryList(items);
InfosTableModel model = new InfosTableModel(entries);
tableController.setTableDataModel(model);
}
Aggregations