/* * IOController.java * * Created on 3.2.2009 * */ package netukar.tinybrowser.controller.io; import netukar.tinybrowser.controller.exceptions.ExceptionController; import javax.swing.JFileChooser; import netukar.tinybrowser.Application; import netukar.tinybrowser.exceptions.SavingFailedException; import netukar.tinybrowser.io.response.ResponseSaver; import netukar.tinybrowser.response.Response; import netukar.tinybrowser.ui.response.ResponsePanel; import netukar.utils.view.ViewUtils; /** * * @author Radovan Netuka */ public class IOController { private static final IOController instance = new IOController(); /** * Creates a new instance of IOController. */ private IOController() { } public static IOController getInstance() { return instance; } private Response getCurrentResponse() { ResponsePanel panel = (ResponsePanel) ViewUtils.getComponent( Application.getMainWindow(), ResponsePanel.class); return panel.getDisplayedResponse(); } public void saveCurrentResponse() { JFileChooser chooser = new JFileChooser(); int returned = chooser.showSaveDialog(Application.getMainWindow()); if (returned == JFileChooser.APPROVE_OPTION) { try { ResponseSaver.save(getCurrentResponse(), chooser.getSelectedFile()); } catch (SavingFailedException ex) { ExceptionController.report(ex); } } } }