Load and save temp directory in configuration.
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Tue, 22 Dec 2009 20:06:29 +0000 (21:06 +0100)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Tue, 22 Dec 2009 20:06:29 +0000 (21:06 +0100)
src/de/todesbaum/jsite/main/Configuration.java
src/de/todesbaum/jsite/main/Main.java

index 61803a6..9d288b5 100644 (file)
@@ -523,4 +523,31 @@ public class Configuration {
                return new Node(hostname, port, name);
        }
 
+       /**
+        * Returns the temp directory to use.
+        *
+        * @return The temp directoy, or {@code null} to use the default temp
+        *         directory
+        */
+       public String getTempDirectory() {
+               return getNodeValue(new String[] { "temp-directory" }, null);
+       }
+
+       /**
+        * Sets the temp directory to use.
+        *
+        * @param tempDirectory
+        *            The temp directory to use, or {@code null} to use the default
+        *            temp directory
+        */
+       public void setTempDirectory(String tempDirectory) {
+               if (tempDirectory != null) {
+                       SimpleXML tempDirectoryNode = new SimpleXML("temp-directory");
+                       tempDirectoryNode.setValue(tempDirectory);
+                       rootNode.replace(tempDirectoryNode);
+               } else {
+                       rootNode.remove("temp-directory");
+               }
+       }
+
 }
index df64ff9..ddeb414 100644 (file)
@@ -340,6 +340,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
 
                PreferencesPage preferencesPage = new PreferencesPage(wizard);
                preferencesPage.setName("page.preferences");
+               preferencesPage.setTempDirectory(configuration.getTempDirectory());
                pages.put(PageType.PAGE_PREFERENCES, preferencesPage);
        }
 
@@ -372,6 +373,9 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                ProjectPage projectPage = (ProjectPage) pages.get(PageType.PAGE_PROJECTS);
                configuration.setProjects(projectPage.getProjects());
 
+               PreferencesPage preferencesPage = (PreferencesPage) pages.get(PageType.PAGE_PREFERENCES);
+               configuration.setTempDirectory(preferencesPage.getTempDirectory());
+
                return configuration.save();
        }