/* * RHQ Management Platform * Copyright (C) 2005-2008 Red Hat, Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.rhq.enterprise.gui.legacy.action.resource.common.monitor.visibility; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.rhq.enterprise.gui.legacy.util.ChartData; /** * An <code>Action</code> that prepares pages containing the performance form. */ public class UrlPerformanceFormPrepareAction extends PerformanceFormPrepareAction { protected static Log log = LogFactory.getLog(UrlPerformanceFormPrepareAction.class.getName()); // ---------------------------------------------------- Public Methods /** * Retrieve data needed to display the detail for a url. Respond to certain button clicks that alter the form * display. */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // HttpSession session = request.getSession(); // // PerformanceForm perfForm = (PerformanceForm) form; // // AppdefResourceValue resource = RequestUtils.getHqResource(request); // if (resource == null) { // return null; // } // AppdefEntityID entityId = resource.getEntityId(); // // String url = RequestUtils.getUrl(request); // request.setAttribute(Constants.URL_ATTR, url); // // PageControl pc = RequestUtils.getPageControl(request); // int sessionId = RequestUtils.getSessionId(request).intValue(); // ServletContext ctx = getServlet().getServletContext(); // RtBoss boss = ContextUtils.getRtBoss(ctx); // // // decide what timeframe we're showing. it may have been // // shifted on previous views of this page. // MetricRange range = (MetricRange) // request.getAttribute(Constants.METRIC_RANGE); // if (range == null) { // // this is the first time out. get the "metric range" // // user pref. // WebUser user = SessionUtils.getWebUser(session); // Map pref = user.getMetricRangePreference(); // // range = new MetricRange(); // range.setBegin((Long) pref.get(MonitorUtils.BEGIN)); // range.setEnd((Long) pref.get(MonitorUtils.END)); // } // // log.trace("finding performance for url [" + url + "] in resource" + // " [" + entityId + "] " + "in range " + // range.getFormattedRange()); // Map perfs = // boss.getSegmentedUrlPerformance(sessionId, entityId, url, // range.getBegin().longValue(), // range.getEnd().longValue(), // pc); // request.setAttribute(Constants.PERF_SUMMARIES_ATTR, perfs); // // // prepare form // prepareForm(request, perfForm, range); // perfForm.addUrl(url); // // // save chart data // ChartData data = getChartData(perfs, perfForm); // session.setAttribute(Constants.CHART_DATA_SES_ATTR, data); // if (true) { throw new IllegalStateException("deprecated code"); } return null; } protected ChartData getChartData(Map all, PerformanceForm form) { ChartData data = new ChartData(); data.setSegments(all); data.setShowLow(form.getLow()); data.setShowAvg(form.getAvg()); data.setShowPeak(form.getPeak()); return data; } }