package fr.openwide.core.wicket.more.console.maintenance.task.component; import org.apache.wicket.Component; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.model.IModel; import fr.openwide.core.jpa.exception.SecurityServiceException; import fr.openwide.core.jpa.exception.ServiceException; import fr.openwide.core.jpa.more.business.task.model.QueuedTaskHolder; import fr.openwide.core.jpa.more.util.binding.CoreJpaMoreBindings; import fr.openwide.core.wicket.markup.html.basic.CoreLabel; import fr.openwide.core.wicket.more.condition.Condition; import fr.openwide.core.wicket.more.console.maintenance.task.model.QueuedTaskHolderDataProvider; import fr.openwide.core.wicket.more.console.maintenance.task.page.ConsoleMaintenanceTaskDescriptionPage; import fr.openwide.core.wicket.more.markup.html.basic.DateLabel; import fr.openwide.core.wicket.more.markup.html.basic.PlaceholderContainer; import fr.openwide.core.wicket.more.markup.html.list.AbstractGenericItemListPanel; import fr.openwide.core.wicket.more.markup.html.navigation.paging.HideablePagingNavigator; import fr.openwide.core.wicket.more.model.BindingModel; import fr.openwide.core.wicket.more.model.ReadOnlyModel; import fr.openwide.core.wicket.more.util.DatePattern; public class TaskResultsPanel extends AbstractGenericItemListPanel<QueuedTaskHolder> { private static final long serialVersionUID = 5519060838663253181L; public TaskResultsPanel(String id, final QueuedTaskHolderDataProvider queuedTaskHolderDataProvider, int itemsPerPage) { super(id, queuedTaskHolderDataProvider, itemsPerPage); } @Override protected void addItemColumns(final Item<QueuedTaskHolder> item, IModel<? extends QueuedTaskHolder> itemModel) { item.setOutputMarkupId(true); Component queue = new CoreLabel("queue", BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().queueId())).hideIfEmpty(); item.add( new TaskStatusPanel("status", BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().status())), new TaskResultPanel("result", BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().result())), ConsoleMaintenanceTaskDescriptionPage.linkDescriptor(ReadOnlyModel.of(itemModel)) .link("nameLink") .setBody(BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().name())), queue, new PlaceholderContainer("defaultQueue").condition(Condition.componentVisible(queue)), new DateLabel("creationDate", BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().creationDate()), DatePattern.SHORT_DATETIME), new DateLabel("startDate", BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().startDate()), DatePattern.SHORT_DATETIME), new DateLabel("endDate", BindingModel.of(itemModel, CoreJpaMoreBindings.queuedTaskHolder().endDate()), DatePattern.SHORT_DATETIME)); } @Override protected void onInitialize() { super.onInitialize(); add(new HideablePagingNavigator("topPager", getDataView())); add(new HideablePagingNavigator("bottomPager", getDataView())); } @Override protected void doDeleteItem(IModel<? extends QueuedTaskHolder> itemModel) throws ServiceException, SecurityServiceException { } @Override protected boolean hasWritePermissionOn(IModel<? extends QueuedTaskHolder> itemModel) { return false; } @Override protected boolean isActionAvailable() { return false; } @Override protected boolean isDeleteAvailable() { return false; } @Override protected boolean isEditAvailable() { return false; } }