package org.dcache.webadmin.view.pages.tapetransferqueue; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.model.PropertyModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Collections; import java.util.List; import org.dcache.webadmin.controller.exceptions.TapeTransfersServiceException; import org.dcache.webadmin.view.pages.basepage.SortableBasePage; import org.dcache.webadmin.view.pages.tapetransferqueue.beans.RestoreBean; import org.dcache.webadmin.view.util.EvenOddListView; /** * * @author jans */ public class TapeTransferQueue extends SortableBasePage { private static final long serialVersionUID = 8313857084027604473L; private static final Logger _log = LoggerFactory.getLogger(TapeTransferQueue.class); final List<RestoreBean> _restoreBeans; public TapeTransferQueue() { Form<?> form = new Form<Void>("tapeTransferQueueForm"); form.add(new FeedbackPanel("feedback")); _restoreBeans = getRestoreBeans(); ListView<RestoreBean> listview = new EvenOddListView<RestoreBean>("TapeTransferQueueListview", new PropertyModel(this, "_restoreBeans")) { private static final long serialVersionUID = 9166078572922366382L; @Override protected void populateItem(ListItem item) { RestoreBean restore = (RestoreBean) item.getModelObject(); item.add(new Label("pnfsid", new PropertyModel<RestoreBean>(restore, "_pnfsId"))); item.add(new Label("subnet", new PropertyModel<RestoreBean>(restore, "_subnet"))); item.add(new Label("candidate", new PropertyModel<RestoreBean>(restore, "_pool"))); item.add(new Label("started", new PropertyModel<RestoreBean>(restore, "_startTime"))); item.add(new Label("clients", new PropertyModel<RestoreBean>(restore, "_clients"))); item.add(new Label("retries", new PropertyModel<RestoreBean>(restore, "_retries"))); item.add(new Label("status", new PropertyModel<RestoreBean>(restore, "_status"))); } }; form.add(listview); add(form); } public List<RestoreBean> getRestoreBeans() { try { _log.debug("getRestoresAction called"); return getWebadminApplication().getTapeTransfersService().getRestores(); } catch (TapeTransfersServiceException ex) { this.error(getStringResource("error.getRestoresFailed") + ex.getMessage()); _log.debug("getRestoresAction failed {}", ex.getMessage()); return Collections.emptyList(); } } protected void renderHeadInternal(IHeaderResponse response) { super.renderHeadInternal(response); addFilterSelectScript("tape", response); } }