// // Copyright 2011 Taha Hafeez Siddiqi // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package com.googlecode.tawus.jfreechart.internal; import java.io.IOException; import java.io.OutputStream; import org.apache.tapestry5.services.ComponentEventResultProcessor; import org.apache.tapestry5.services.Response; import com.googlecode.tawus.jfreechart.ChartModel; import com.googlecode.tawus.jfreechart.services.ChartWriter; public class ChartResultProcessor implements ComponentEventResultProcessor<ChartModel> { public Response response; private ChartWriter chartWriter; public ChartResultProcessor(Response response, ChartWriter chartWriter) { this.response = response; this.chartWriter = chartWriter; } public void processResultValue(ChartModel chartModel) throws IOException { response.disableCompression(); OutputStream out = response.getOutputStream(chartModel.getContentType()); chartWriter.writeChart(out, chartModel); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); } }