X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FConfiguration.java;h=e4e0510424f7a29d7160d07ece5325100f8f1752;hb=978a833ff2f68927ea0c376f9ad538069898f1e7;hp=3931dcb75e542e0ccddddced7e22e4d91102127b;hpb=6f1a8216cfba28add0ef365b46a08d16d4eb87fe;p=jSite.git diff --git a/src/de/todesbaum/jsite/main/Configuration.java b/src/de/todesbaum/jsite/main/Configuration.java index 3931dcb..e4e0510 100644 --- a/src/de/todesbaum/jsite/main/Configuration.java +++ b/src/de/todesbaum/jsite/main/Configuration.java @@ -44,7 +44,7 @@ import de.todesbaum.util.xml.XML; /** * @author David Roden <droden@gmail.com> - * @version $Id: Configuration.java 418 2006-03-29 17:49:16Z bombe $ + * @version $Id$ */ public class Configuration { @@ -53,13 +53,21 @@ public class Configuration { private SimpleXML rootNode; public Configuration() { - filename = System.getProperty("user.home") + "/.jSite/config7"; - lockFilename = System.getProperty("user.home") + "/.jSite/lock7"; + this(System.getProperty("user.home") + "/.jSite/config7"); + } + + public Configuration(String filename) { + this(filename, filename + ".lock"); + } + + public Configuration(String filename, String lockFilename) { + this.filename = filename; + this.lockFilename = lockFilename; readConfiguration(); } private boolean createConfigDirectory() { - File configDirectory = new File(System.getProperty("user.home"), ".jSite"); + File configDirectory = new File(filename).getAbsoluteFile().getParentFile(); return (configDirectory.exists() && configDirectory.isDirectory()) || configDirectory.mkdirs(); } @@ -112,7 +120,7 @@ public class Configuration { public boolean save() { File configurationFile = new File(filename); if (!configurationFile.exists()) { - File configurationFilePath = configurationFile.getParentFile(); + File configurationFilePath = configurationFile.getAbsoluteFile().getParentFile(); if (!configurationFilePath.exists() && !configurationFilePath.mkdirs()) { return false; } @@ -171,18 +179,42 @@ public class Configuration { return Boolean.parseBoolean(nodeValue); } + /** + * Returns the hostname of the node. + * @return The hostname of the node + * @deprecated Use {@link #getSelectedNode()} instead + */ + @Deprecated public String getNodeAddress() { return getNodeValue(new String[] { "node-address" }, "localhost"); } + /** + * Sets the hostname of the node. + * @param nodeAddress The hostname of the node + * @deprecated Use {@link #setSelectedNode(Node)} instead + */ + @Deprecated public void setNodeAddress(String nodeAddress) { rootNode.replace("node-address", nodeAddress); } + /** + * The port number of the node + * @return The port number of the node + * @deprecated Use {@link #getSelectedNode()} instead. + */ + @Deprecated public int getNodePort() { return getNodeIntValue(new String[] { "node-port" }, 9481); } + /** + * Sets the port number of the node. + * @param nodePort The port number of the node + * @deprecated Use {@link #setSelectedNode(Node)} instead + */ + @Deprecated public void setNodePort(int nodePort) { rootNode.replace("node-port", String.valueOf(nodePort)); } @@ -305,6 +337,10 @@ public class Configuration { if (nodesNode == null) { String hostname = getNodeAddress(); int port = getNodePort(); + if (hostname == null) { + hostname = "127.0.0.1"; + port = 9481; + } return new Node[] { new Node(hostname, port, "Node") }; } SimpleXML[] nodeNodes = nodesNode.getNodes("node"); @@ -344,7 +380,13 @@ public class Configuration { public Node getSelectedNode() { SimpleXML selectedNodeNode = rootNode.getNode("selected-node"); if (selectedNodeNode == null) { - return null; + String hostname = getNodeAddress(); + int port = getNodePort(); + if (hostname == null) { + hostname = "127.0.0.1"; + port = 9481; + } + return new Node(hostname, port, "Node"); } String name = selectedNodeNode.getNode("name").getValue(); String hostname = selectedNodeNode.getNode("hostname").getValue();