/* Copyright (C) 2003-2011 JabRef contributors. 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; either version 2 of the License, or (at your option) any later version. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package net.sf.jabref.export; import java.awt.event.ActionEvent; import java.io.File; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import net.sf.jabref.Globals; import net.sf.jabref.JabRefFrame; import net.sf.jabref.MnemonicAwareAction; import net.sf.jabref.Worker; import net.sf.jabref.gui.FileDialogs; import net.sf.jabref.util.ResourceExtractor; import spin.Spin; /** * * @author alver */ public class ExpandEndnoteFilters extends MnemonicAwareAction implements Worker { JabRefFrame frame; File file = null; final String FILENAME = "/EndNote.zip"; /** Creates a new instance of ExpandEndnoteFilters */ public ExpandEndnoteFilters(JabRefFrame frame) { this.frame = frame; putValue(NAME, "Unpack EndNote filter set"); putValue(SHORT_DESCRIPTION, Globals.lang("<HTML>Unpack the zip file containing import/export filters for Endnote,<BR>" +"for optimal interoperability with JabRef</HTML>")); } public void actionPerformed(ActionEvent e) { String filename = FileDialogs.getNewFile(frame, new File(System.getProperty("user.home")), ".zip", JFileChooser.SAVE_DIALOG, false); if (filename == null) return; //if (!filename.substring(4).equalsIgnoreCase(".zip")) // filename += ".zip"; file = new File(filename); if (file.exists()) { int confirm = JOptionPane.showConfirmDialog(frame, "'"+file.getName()+"' "+ Globals.lang("exists. Overwrite file?"), Globals.lang("Unpack EndNote filter set"), JOptionPane.OK_CANCEL_OPTION); if (confirm != JOptionPane.OK_OPTION) return; } // Spin off the GUI thread, and run the run() method. ((Worker)Spin.off(this)).run(); file = null; } /** * Worker method. */ public void run() { ResourceExtractor re = new ResourceExtractor(frame, FILENAME, file); re.run(); frame.output(Globals.lang("Unpacked file.")); } }