package org.dcache.webadmin.view.pages.poolqueues; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.PropertyModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.dcache.webadmin.controller.PoolQueuesService; import org.dcache.webadmin.controller.exceptions.PoolQueuesServiceException; import org.dcache.webadmin.view.beans.PoolGroupBean; import org.dcache.webadmin.view.beans.PoolQueueBean; import org.dcache.webadmin.view.beans.PoolSpaceBean; import org.dcache.webadmin.view.pages.basepage.SortableBasePage; import org.dcache.webadmin.view.panels.poolQueuesPanel.PoolQueuesPanel; /** * The Pool Request Queues Page * @author jans */ public class PoolQueues extends SortableBasePage { private static final Logger _log = LoggerFactory.getLogger(PoolQueues.class); private static final long serialVersionUID = -6482302256752371950L; public PoolQueues() { Form<?> form = new Form<Void>("poolQueuesForm"); form.add(new PoolQueuesPanel("poolQueuesPanel", new PropertyModel<PoolGroupBean>(this, "allPoolsGroup"))); add(form); } public PoolGroupBean getAllPoolsGroup() { PoolGroupBean allPoolsGroup = new PoolGroupBean("all", new ArrayList<PoolSpaceBean>(), new ArrayList<PoolQueueBean>()); getPoolQueuesAction(allPoolsGroup); return allPoolsGroup; } protected void renderHeadInternal(IHeaderResponse response) { super.renderHeadInternal(response); addFilterSelectScript("queues", response); } private PoolQueuesService getPoolQueuesService() { return getWebadminApplication().getPoolQueuesService(); } private void getPoolQueuesAction(PoolGroupBean bean) { List<PoolQueueBean> poolQueues; try { _log.debug("getPoolQueuesAction called"); poolQueues = getPoolQueuesService().getPoolQueues(); } catch (PoolQueuesServiceException ex) { this.error(getStringResource("error.getPoolsQueuesFailed") + ex.getMessage()); _log.debug("getPoolQueuesAction failed {}", ex.getMessage()); poolQueues = Collections.emptyList(); } bean.setPoolQueues(poolQueues); } }