package org.opennms.web.controller; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.opennms.netmgt.model.OnmsIpInterface; import org.opennms.netmgt.model.OnmsMonitoredService; import org.opennms.netmgt.model.OnmsOutage; import org.opennms.netmgt.model.OnmsServiceType; import org.opennms.web.svclayer.OutageService; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; //import org.springframework.web.servlet.mvc.SimpleFormController; //public class OutageController extends SimpleFormController { public class OutageCurrentController extends AbstractController { OutageService m_outageService; Collection foundOutages; Collection viewOutages; // private OutageService outageService; // BEAN Setter public void setOutageService(OutageService service) { m_outageService = service; } // public Map referenceData(HttpServletRequest request) throws Exception { @Override protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { Integer offset = 1; Integer limit = 50; // foundOutages = m_outageService.getCurrenOutagesByRange(offset, // limit); foundOutages = m_outageService.getCurrentOutages(); Map myModel = new HashMap(); String now = (new java.util.Date()).toString(); myModel.put("now", now); HashMap ips = new HashMap(); HashMap nodes = new HashMap(); HashMap nodeids = new HashMap(); HashMap services = new HashMap(); List theTable = new ArrayList(); // <% java.util.List presidents = new java.util.ArrayList(); %> // // <% java.util.Map president = new java.util.HashMap(); %> // <% president.put("name", "George Washington"); %> // <% president.put("nickname", "Father of His Country"); %> // <% president.put("term", "1789-1797"); %> // <% presidents.add(president); %> for (Iterator iter = foundOutages.iterator(); iter.hasNext();) { OnmsOutage outage = (OnmsOutage) iter.next(); // The other bits and pieces, 3 loops later.... // this just seems weird. OnmsMonitoredService monitoredService = outage .getMonitoredService(); OnmsServiceType serviceType = monitoredService.getServiceType(); OnmsIpInterface ipInterface = monitoredService.getIpInterface(); ips.put(outage.getId(), ipInterface.getIpAddress()); nodes.put(outage.getId(), ipInterface.getNode().getLabel()); nodeids.put(outage.getId(), monitoredService.getNodeId()); services.put(outage.getId(), serviceType.getName()); Map outagerow = new HashMap(); outagerow.put("id", outage.getId()); outagerow.put("node", ipInterface.getNode().getLabel()); outagerow.put("interface", ipInterface.getIpAddress()); outagerow.put("service", serviceType.getName()); outagerow.put("down", outage.getIfLostService()); outagerow.put("up", outage.getIfRegainedService()); theTable.add(outagerow); } // myModel.put("ips", ipAddresses); myModel.put("tabledata", theTable); myModel.put("outages", foundOutages); myModel.put("ips", ips); myModel.put("nodes", nodes); myModel.put("nodeids", nodeids); myModel.put("services", services); return new ModelAndView("displayCurrentOutages", myModel); } }