LicenseListPage.javaPaquete: org.projectforge.plugins.licensemanagement
Clases: LicenseListPage
Extiende: AbstractListPage
Implementa: IListPageColumnsCreator<LicenseDO>
Métodos (8): populateItem, populateItem, populateItem, populateItem, populateItem, init, newListForm, getBaseDao
Campos (1): serialVersionUID
Importaciones: 15 paquetes
package org.projectforge.plugins.licensemanagement;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.wicket.*;
import java.util.ArrayList;
import java.util.List;
/**
* El controlador de la página de listado. La mayor parte de la funcionalidad, como la búsqueda, etc., la realiza la clase padre.
*
* @author Kai Reinhard (k.reinhard@micromata.de)
*/
@ListPage(editPage = LicenseEditPage.class)
public class LicenseListPage extends AbstractListPage<LicenseListForm, LicenseDao, LicenseDO>
implements IListPageColumnsCreator<LicenseDO> {
private static final long serialVersionUID = -1802352700020870211L;
public LicenseListPage(final PageParameters parameters) {
super(parameters, "plugins.licensemanagement");
}
@Override
@SuppressWarnings("serial")
public List<IColumn<LicenseDO, String>> createColumns(final WebPage returnToPage, final boolean sortable) {
final List<IColumn<LicenseDO, String>> columns = new ArrayList<>();
final CellItemListener<LicenseDO> cellItemListener = new CellItemListener<LicenseDO>() {
@Override
public void populateItem(final Item<ICellPopulator<LicenseDO>> item, final String componentId,
final IModel<LicenseDO> rowModel) {
final LicenseDO license = rowModel.getObject();
appendCssClasses(item, license.getId(), license.getDeleted());
}
};
columns.add(new CellItemListenerPropertyColumn<LicenseDO>(new Model<>(getString("organization")),
getSortable("organization", sortable),
"organization", cellItemListener) {
/**
* @see org.projectforge.web.wicket.CellItemListenerPropertyColumn#populateItem(org.apache.wicket.markup.repeater.Item,
* java.lang.String, org.apache.wicket.model.IModel)
*/
@Override
public void populateItem(final Item<ICellPopulator<LicenseDO>> item, final String componentId,
final IModel<LicenseDO> rowModel) {
final LicenseDO license = rowModel.getObject();
item.add(new ListSelectActionPanel(componentId, rowModel, LicenseEditPage.class, license.getId(), returnToPage,
rowModel.getObject().getOrganization()));
addRowClick(item);
cellItemListener.populateItem(item, componentId, rowModel);
}
});
columns.add(new CellItemListenerPropertyColumn<>(
new Model<>(getString("plugins.licensemanagement.product")), getSortable(
"product", sortable),
"product", cellItemListener));
columns.add(new CellItemListenerPropertyColumn<>(
new Model<>(getString("plugins.licensemanagement.version")), getSortable(
"version", sortable),
"version", cellItemListener));
columns.add(new CellItemListenerPropertyColumn<>(
new Model<>(getString("plugins.licensemanagement.numberOfLicenses")), getSortable(
"numberOfLicenses", sortable),
"numberOfLicenses", cellItemListener));
columns.add(new AbstractColumn<LicenseDO, String>(new Model<>(getString("plugins.licensemanagement.owner"))) {
@Override
public void populateItem(final Item<ICellPopulator<LicenseDO>> cellItem, final String componentId,
final IModel<LicenseDO> rowModel) {
final LicenseDO license = rowModel.getObject();
final String owners = getBaseDao().getSortedOwnernames(license);
final Label label = new Label(componentId, new Model<>(owners));
cellItem.add(label);
cellItemListener.populateItem(cellItem, componentId, rowModel);
}
});
columns.add(new CellItemListenerPropertyColumn<>(
new Model<>(getString("plugins.licensemanagement.device")), getSortable(
"device", sortable),
"device", cellItemListener));
if (getAccessChecker().isLoggedInUserMemberOfAdminGroup()) {
columns.add(new CellItemListenerPropertyColumn<LicenseDO>(
new Model<>(getString("plugins.licensemanagement.key")), getSortable(
"key", sortable),
"key", cellItemListener) {
@Override
public void populateItem(final Item<ICellPopulator<LicenseDO>> item, final String componentId,
final IModel<LicenseDO> rowModel) {
final LicenseDO license = rowModel.getObject();
final Label label = new Label(componentId, new Model<>(StringUtils.abbreviate(license.getKey(), 40)));
cellItemListener.populateItem(item, componentId, rowModel);
item.add(label);
}
});
}
columns.add(new CellItemListenerPropertyColumn<LicenseDO>(new Model<>(getString("comment")),
getSortable("comment", sortable), "comment", cellItemListener) {
@Override
public void populateItem(final Item<ICellPopulator<LicenseDO>> item, final String componentId,
final IModel<LicenseDO> rowModel) {
final LicenseDO license = rowModel.getObject();
final Label label = new Label(componentId,
new Model<>(StringUtils.abbreviate(license.getComment(), 100)));
cellItemListener.populateItem(item, componentId, rowModel);
item.add(label);
}
});
columns.add(
new CellItemListenerPropertyColumn<>(getString("created"), getSortable("created", sortable), "created",
// ... (truncado, 143 líneas en total)
868d6abb7 2025 -> 2026 63081666f Encabezados de archivos fuente: 2024-> 2025. 3785f8347 Trabajo de migración en curso... 4efcbd0fb Trabajo de migración en curso... 06828f490 Trabajo de migración en curso...