r190 - in trunk: . msm/src/main/java/org/nuiton/mapstoragemanager/plugins msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui msm-fromtoXML msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/importer
Author: dlanglais Date: 2010-03-06 05:38:51 +0100 (Sat, 06 Mar 2010) New Revision: 190 Log: Ajout d'une fonctionnalit?\195?\169 sur les plugins d'Import/Export : - getFileFilter() : pour r?\195?\169cup?\195?\169rer le fileFilter (g?\195?\169n?\195?\169ralement un FileNameExtensionFilter...) utilis?\195?\169 par l'ihm pour le JFileChooser... Modified: trunk/msm-fromtoXML/pom.xml trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXMLTest.java trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/importer/FromXMLTest.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Exporter.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Importer.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java trunk/pom.xml Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Exporter.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Exporter.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Exporter.java 2010-03-06 04:38:51 UTC (rev 190) @@ -1,6 +1,7 @@ package org.nuiton.mapstoragemanager.plugins; import java.io.File; +import javax.swing.filechooser.FileFilter; /** * The interface for the exporter implementations. @@ -14,4 +15,11 @@ * @param file the file in which export the content of the base. */ void exportTo(final BigTable bigTable, final File file); + + /** + * get the FileFilter of the plugin. + * This is to know which file can be written by this plugin. + * @return return the file filter of the exporter plugin. + */ + FileFilter getFileFilter(); } Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Importer.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Importer.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/Importer.java 2010-03-06 04:38:51 UTC (rev 190) @@ -1,6 +1,7 @@ package org.nuiton.mapstoragemanager.plugins; import java.io.File; +import javax.swing.filechooser.FileFilter; /** * The interface for the importer implementations. @@ -14,5 +15,12 @@ * @param file the file in which export the content of the base. */ void importFrom(final BigTable bigTable, final File file); + + /** + * get the FileFilter of the plugin. + * This is to know which file can be open by this plugin. + * @return return the file filter of the exporter plugin. + */ + FileFilter getFileFilter(); } Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java 2010-03-06 04:38:51 UTC (rev 190) @@ -9,6 +9,7 @@ import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JTree; +import javax.swing.filechooser.FileFilter; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeModel; @@ -402,7 +403,19 @@ * Import database from a file. */ public void importBase() { + + /** Get importer plugin. */ + MainUI ui = MainUI.getInstance(); + Item selectedItem = ui.getImporter().getSelectedJaxxItem(); + String importerName = selectedItem.getValue().toString(); + + importer = (Importer) pluginLoader.getPlugin(importerName); + + /** Create FileChooser and set FileFilter. */ JFileChooser jfc = new JFileChooser(lastPath); + jfc.setFileFilter(importer.getFileFilter()); + + /** ShowOpenDialog and get the return value. */ int jfcReturn = jfc.showOpenDialog(MainUI.getFrames()[0]); if( JFileChooser.APPROVE_OPTION == jfcReturn ) { @@ -412,13 +425,7 @@ File importFile = jfc.getSelectedFile(); LOG.info("chosen file for import : " + importFile.getPath()); - MainUI ui = MainUI.getInstance(); - Item selectedItem = ui.getImporter().getSelectedJaxxItem(); - String importerName = selectedItem.getValue().toString(); - - importer = (Importer) pluginLoader.getPlugin(importerName); - - + /** Import. */ importer.importFrom(bigTable, importFile); clean(ui); uptableNavigationTree(ui.getNavigation(), importFile.getName()); @@ -430,22 +437,28 @@ */ public void exportBase() { + /** Get exporter plugin. */ + MainUI ui = MainUI.getInstance(); + Item selectedItem = ui.getExporter().getSelectedJaxxItem(); + String exporterName = selectedItem.getValue().toString(); + + exporter = (Exporter) pluginLoader.getPlugin(exporterName); + + /** Create FileChooser and set FileFilter. */ JFileChooser jfc = new JFileChooser(lastPath); + jfc.setFileFilter(exporter.getFileFilter()); + + /** ShowOpenDialog and get the return value. */ int jfcReturn = jfc.showOpenDialog(MainUI.getFrames()[0]); - if( JFileChooser.APPROVE_OPTION == jfcReturn ) { + if (JFileChooser.APPROVE_OPTION == jfcReturn) { lastPath = jfc.getSelectedFile().getAbsolutePath(); File importFile = jfc.getSelectedFile(); LOG.info("chosen file for export : " + importFile.getPath()); - MainUI ui = MainUI.getInstance(); - Item selectedItem = ui.getExporter().getSelectedJaxxItem(); - String exporterName = selectedItem.getValue().toString(); - - exporter = (Exporter) pluginLoader.getPlugin(exporterName); - + /** Export */ exporter.exportTo(bigTable, importFile); } } Modified: trunk/msm-fromtoXML/pom.xml =================================================================== --- trunk/msm-fromtoXML/pom.xml 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm-fromtoXML/pom.xml 2010-03-06 04:38:51 UTC (rev 190) @@ -65,6 +65,11 @@ <artifactId>jdom</artifactId> <version>1.1</version> </dependency> + <dependency> + <groupId>xpp3</groupId> + <artifactId>xpp3</artifactId> + <version>1.1.4c</version> + </dependency> </dependencies> <!-- ************************************************************* --> @@ -220,10 +225,10 @@ </configuration> <executions> <execution> - <id>make-assembly</id> this is used for inheritance merges - <phase>package</phase> append to the packaging phase. + <id>make-assembly</id> this is used for inheritance merges + <phase>package</phase> append to the packaging phase. <goals> - <goal>attached</goal> goals == mojos + <goal>attached</goal> goals == mojos </goals> </execution> </executions> @@ -248,7 +253,7 @@ <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> - + </plugins> </build> <properties> @@ -263,3 +268,4 @@ + Modified: trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java =================================================================== --- trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java 2010-03-06 04:38:51 UTC (rev 190) @@ -8,6 +8,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.Set; +import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdom.Attribute; @@ -32,7 +34,18 @@ * the jdom document. */ private static Document document; + /** + * the fileFilter. + */ + private static FileFilter fileFilter; + /** + * Constructor. + */ + { + fileFilter = new FileNameExtensionFilter("Fichiers XML", "xml"); + } + /** * {@inheritDoc} */ @@ -184,4 +197,16 @@ public final String getPluginName() { return this.getClass().getSimpleName(); } + + /** + * {@inheritDoc} + */ + @Override + public final FileFilter getFileFilter() { +// if(fileFilter == null){ +// fileFilter = +// new FileNameExtensionFilter("Fichiers XML", "xml"); +// } + return fileFilter; + } } Modified: trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java =================================================================== --- trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java 2010-03-06 04:38:51 UTC (rev 190) @@ -7,6 +7,8 @@ import java.io.File; import java.io.IOException; import java.util.List; +import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdom.Document; @@ -32,8 +34,19 @@ * the jdom document. */ private static Document document; + /** + * the fileFilter. + */ + private static FileFilter fileFilter; /** + * Constructor. + */ + { + fileFilter = new FileNameExtensionFilter("Fichiers XML", "xml"); + } + + /** * {@inheritDoc} */ @Override @@ -158,4 +171,16 @@ public final String getPluginName() { return this.getClass().getSimpleName(); } + + /** + * {@inheritDoc} + */ + @Override + public final FileFilter getFileFilter() { +// if(fileFilter == null){ +// fileFilter = +// new FileNameExtensionFilter("Fichiers XML", "xml"); +// } + return fileFilter; + } } Modified: trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXMLTest.java =================================================================== --- trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXMLTest.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXMLTest.java 2010-03-06 04:38:51 UTC (rev 190) @@ -7,7 +7,11 @@ //import java.io.IOException; import java.io.File; +import java.io.FileFilter; import java.lang.reflect.Field; +import java.util.HashSet; +import java.util.Set; +import javax.swing.filechooser.FileNameExtensionFilter; import junit.framework.TestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -294,4 +298,32 @@ + "'} - {actual,'" + actualPluginName + "'}"); assertEquals(expectedPluginName, actualPluginName); } + + /** + * Test of getFileFilter. + */ + public void testGetFileFilter(){ + + Exporter toXML = new ToXML(); + + FileNameExtensionFilter fileFilterExpected + = new FileNameExtensionFilter("Fichiers XML", "xml"); + FileNameExtensionFilter fileFilterActual = + (FileNameExtensionFilter) toXML.getFileFilter(); + + /** Same Description */ + assertEquals(fileFilterExpected.getDescription(), + fileFilterActual.getDescription()); + + /** get extension Set and assertEquals */ + Set<String> acceptedExtensionExpected = new HashSet<String>(); + Set<String> acceptedExtensionActual = new HashSet<String>(); + for (String extension : fileFilterExpected.getExtensions()) { + acceptedExtensionExpected.add(extension); + } + for (String extension : fileFilterActual.getExtensions()) { + acceptedExtensionActual.add(extension); + } + assertEquals(acceptedExtensionExpected, acceptedExtensionActual); + } } Modified: trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/importer/FromXMLTest.java =================================================================== --- trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/importer/FromXMLTest.java 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/importer/FromXMLTest.java 2010-03-06 04:38:51 UTC (rev 190) @@ -10,6 +10,7 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; +import javax.swing.filechooser.FileNameExtensionFilter; import junit.framework.Assert; import junit.framework.TestCase; import org.apache.commons.logging.Log; @@ -276,4 +277,32 @@ + "'} - {actual,'" + actualPluginName + "'}"); assertEquals(expectedPluginName, actualPluginName); } + + /** + * Test of getFileFilter. + */ + public void testGetFileFilter(){ + + Importer fromXML = new FromXML(); + + FileNameExtensionFilter fileFilterExpected + = new FileNameExtensionFilter("Fichiers XML", "xml"); + FileNameExtensionFilter fileFilterActual = + (FileNameExtensionFilter) fromXML.getFileFilter(); + + /** Same Description */ + assertEquals(fileFilterExpected.getDescription(), + fileFilterActual.getDescription()); + + /** get extension Set and assertEquals */ + Set<String> acceptedExtensionExpected = new HashSet<String>(); + Set<String> acceptedExtensionActual = new HashSet<String>(); + for (String extension : fileFilterExpected.getExtensions()) { + acceptedExtensionExpected.add(extension); + } + for (String extension : fileFilterActual.getExtensions()) { + acceptedExtensionActual.add(extension); + } + assertEquals(acceptedExtensionExpected, acceptedExtensionActual); + } } Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2010-03-05 02:20:24 UTC (rev 189) +++ trunk/pom.xml 2010-03-06 04:38:51 UTC (rev 190) @@ -108,6 +108,8 @@ <nuitonutils.version>1.1.0</nuitonutils.version> <i18n.version>1.0.1</i18n.version> + <maven.jar.main.class>org.nuiton.mapstoragemanager.Main</maven.jar.main.class> + <!-- Must be in ui module --> <!-- main class in jar --> <!--maven.jar.main.class>org.nuiton.mapstoragemanager.Main</maven.jar.main.class-->
participants (1)
-
dlanglais@users.nuiton.org