Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2008-2011 the original author or authors.
   *
   * 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 info.joseluismartin.gui.report;
 
 
 import java.io.File;
 
 
 

Author(s):
Jose A. Corbacho
 
 public class ReportFileView extends AbstractView<Report> {
 
 	private final static Log log = LogFactory.getLog(ReportFileView.class);
 	
 	private JTextField fileName = new JTextField();
 	private Icon addIcon;
 
 
 	private DataSource dataSource;
 
 	public ReportFileView(Report model){
 		setModel(model);
 	}
 
 	public ReportFileView(){
 		this(new Report());
 	}
 
 	public void init() {
 		refresh();
 	}
 
 
 	protected JComponent buildPanel() {
 		Box box = Box.createHorizontalBox();
 
 
 		box.add(new JLabel("Fichero"));
 		box.add();
 
 		box.add(new JButton(new FileAction()));
 
 		return box;
 	}

Add a file to this report

	private void addAttachment() throws ReportingException {
		Report report = getModel();
		JFileChooser chooser = new JFileChooser();
			File file = chooser.getSelectedFile();
			try {
				// Update hidden value hasSQL to determine whether this report requires a Connection
				// to be displayed.
			    InputStream reportStream = null;
				try {
					reportStream = new FileInputStream(file);
catch (FileNotFoundException e) {
					throw new ReportingException("Error cargando fichero");				
				}
				JasperReport jasperReport = null;
				try {
					String suffix = ReportManager.getSuffix(file.getName());
					if (".jrxml".equals(suffix))
						jasperReport = JasperCompileManager.compileReport(reportStream);
					else if (".jasper".equals(suffix))
						jasperReport = (JasperReport) JRLoader.loadObject(reportStream);
					else {
						throw new ReportingException("Archivos del tipo " + suffix + " no pueden ser procesados");
					}
					if (jasperReport.getQuery() != null)
						report.setHasQuery(new Boolean(true));
					else report.setHasQuery(new Boolean(false));
catch (JRException e) {
					throw new ReportingException("Error procesando fichero");
				}
catch (IOException e) {
				throw new ReportingException("No se puede leer el Fichero: " + file.getName());
			}
		}
	}



GETTERS AND SETTERS
	public Icon getAddIcon() {
		return ;
	}
	public void setAddIcon(Icon addIcon) {
		this. = addIcon;
	}
	}
	public void setService(ReportService service) {
		this. = service;
	}
	private class FileAction extends AbstractAction {
		public FileAction() {
		}
		public void actionPerformed(ActionEvent e) {
			try {
catch (ReportingException e1) {
				JOptionPane.showMessageDialog(getPanel(), e1.getMessage());
			}
		}
	}
	public JTextField getFileName() {
		return ;
	}
	public void setFileName(JTextField fileName) {
		this. = fileName;
	}
		return ;
	}
	public void setDataSource(DataSource dataSource) {
		this. = dataSource;
	}


This class filters the types of files the system can handle to create reports

Author(s):
Jose A. Corbacho
	class ReportFileFilter extends FileFilter {
		private String[] allowedFileTypes = {"jasper""jrxml"};
		public boolean accept(File file) {
			if (file.isDirectory())
				return true;
			String s = file.getName();
			int i = s.lastIndexOf('.');
			if (i > 0 && i < s.length() - 1){
				for (String fileType : )
					if (s.substring(i + 1).toLowerCase().equals(fileType))
						return true;
			}
			return false;	    
		}
		public String getDescription() {
			StringBuffer sb = new StringBuffer();
			for (String fileType)
				sb.append(" " + fileType);
			return sb.toString();
		}	
	}
New to GrepCode? Check out our FAQ X