Author: truesweetman
Date: Wed Aug 27 07:37:59 2008
New Revision: 2618

Modified:
trunk/src/ca/sqlpower/architect/swingui/olap/action/ExportSchemaAction.java trunk/src/ca/sqlpower/architect/swingui/olap/action/ImportSchemaAction.java

Log:
Changed ImportSchemaAction and ExportSchemaAction to set the recent file path in the session.

Modified: trunk/src/ca/sqlpower/architect/swingui/olap/action/ExportSchemaAction.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/olap/action/ExportSchemaAction.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/olap/action/ExportSchemaAction.java Wed Aug 27 07:37:59 2008
@@ -32,6 +32,7 @@
 import ca.sqlpower.architect.olap.MondrianModel.Schema;
 import ca.sqlpower.architect.swingui.ASUtils;
 import ca.sqlpower.architect.swingui.ArchitectSwingSession;
+import ca.sqlpower.architect.swingui.RecentMenu;
 import ca.sqlpower.architect.swingui.action.ProgressAction;
 import ca.sqlpower.swingui.SPSUtils;
 import ca.sqlpower.util.MonitorableImpl;
@@ -44,11 +45,13 @@

     private ArchitectSwingSession session;
     private Schema schema;
+    private RecentMenu recent;

public ExportSchemaAction(ArchitectSwingSession session, Schema schema) { super(session, "Export Schema...", "Exports Schema to xml" ); //$NON-NLS-1$ //$NON-NLS-2$
         this.session = session;
         this.schema = schema;
+        this.recent = session.getRecentMenu();
     }

     @Override
@@ -81,7 +84,7 @@
     @Override
public boolean setup(MonitorableImpl monitor, Map<String, Object> properties) {
         monitor.setStarted(true);
- JFileChooser chooser = new JFileChooser(session.getRecentMenu().getMostRecentFile()); + JFileChooser chooser = new JFileChooser(recent.getMostRecentFile());
         chooser.addChoosableFileFilter(SPSUtils.XML_FILE_FILTER);

         File file = null;
@@ -113,6 +116,7 @@

logger.debug("Saving to file: " + file.getName() + "(" + file.getPath() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

+        recent.putRecentFileName(file.getAbsolutePath());
         properties.put(FILE_KEY,file);
         return true;
     }

Modified: trunk/src/ca/sqlpower/architect/swingui/olap/action/ImportSchemaAction.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/olap/action/ImportSchemaAction.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/olap/action/ImportSchemaAction.java Wed Aug 27 07:37:59 2008
@@ -45,6 +45,7 @@
 import ca.sqlpower.architect.swingui.ASUtils;
 import ca.sqlpower.architect.swingui.ArchitectSwingSession;
 import ca.sqlpower.architect.swingui.PlayPen;
+import ca.sqlpower.architect.swingui.RecentMenu;
 import ca.sqlpower.architect.swingui.action.AbstractArchitectAction;
 import ca.sqlpower.architect.swingui.olap.CubePane;
 import ca.sqlpower.architect.swingui.olap.DimensionPane;
@@ -75,12 +76,15 @@
      */
     private static final Point INITIAL_POINT = new Point(50, 50);

+    private RecentMenu recent;
+
     public ImportSchemaAction(ArchitectSwingSession session) {
super(session, "Import Schema...", "Imports an OLAP schema"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+        this.recent = session.getRecentMenu();
     }

     public void actionPerformed(ActionEvent e) {
- JFileChooser chooser = new JFileChooser(session.getRecentMenu().getMostRecentFile()); + JFileChooser chooser = new JFileChooser(recent.getMostRecentFile());
         chooser.addChoosableFileFilter(SPSUtils.XML_FILE_FILTER);
         int returnVal = chooser.showOpenDialog(frame);
         if (returnVal == JFileChooser.APPROVE_OPTION) {
@@ -140,7 +144,9 @@
             } catch (Exception ex) {
                 logger.error("Failed to parse " + f.getName() + ".");
ASUtils.showExceptionDialog(session, "Could not read xml schema file.", ex);
-            }
+            } finally {
+                recent.putRecentFileName(f.getAbsolutePath());
+            }

         }
     }

Reply via email to