001 /** 002 * Copyright 2005-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.rice.kns.lookup; 017 018 import java.io.IOException; 019 import java.io.Writer; 020 021 import javax.servlet.jsp.JspException; 022 023 import org.displaytag.export.CsvView; 024 import org.displaytag.model.TableModel; 025 import org.kuali.rice.kns.lookup.ExportViewHelper; 026 import org.kuali.rice.krad.util.KRADConstants; 027 028 /** 029 * This class allows for plugging in custom CSV export into the Display Tag library. 030 * 031 * @author Kuali Rice Team (rice.collab@kuali.org) 032 * 033 */ 034 public class CustomCsvExportView extends CsvView { 035 036 private ExportViewHelper helper; 037 038 @Override 039 public void setParameters(TableModel tableModel, boolean exportFullList, 040 boolean includeHeader, boolean decorateValues) { 041 this.helper = new ExportViewHelper(tableModel); 042 super.setParameters(tableModel, exportFullList, includeHeader, decorateValues); 043 } 044 045 @Override 046 public void doExport(Writer writer) throws IOException, JspException { 047 if (!helper.attemptCustomExport(writer, KRADConstants.CSV_FORMAT)) { 048 super.doExport(writer); 049 } 050 } 051 052 }