X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FConfiguration.java;h=2a27e89dc55456df853162938c505d4690a12dc4;hb=7ec476fcc83a2ebe74a9faf3251d9d60fd03f58e;hp=f5001b0b002ec88b790d5c122d970f74d5061dae;hpb=0e88169c3e8decfcd99f39f5ecf3a85df50c3fca;p=jSite.git diff --git a/src/main/java/de/todesbaum/jsite/main/Configuration.java b/src/main/java/de/todesbaum/jsite/main/Configuration.java index f5001b0..2a27e89 100644 --- a/src/main/java/de/todesbaum/jsite/main/Configuration.java +++ b/src/main/java/de/todesbaum/jsite/main/Configuration.java @@ -1,5 +1,5 @@ /* - * jSite - Configuration.java - Copyright © 2006–2012 David Roden + * jSite - Configuration.java - Copyright © 2006–2014 David Roden * * 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 @@ -35,16 +35,16 @@ import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; +import net.pterodactylus.util.io.Closer; +import net.pterodactylus.util.io.StreamCopier; +import net.pterodactylus.util.xml.SimpleXML; +import net.pterodactylus.util.xml.XML; import de.todesbaum.jsite.application.FileOption; import de.todesbaum.jsite.application.Node; import de.todesbaum.jsite.application.Project; import de.todesbaum.jsite.main.ConfigurationLocator.ConfigurationLocation; import de.todesbaum.util.freenet.fcp2.ClientPutDir.ManifestPutter; import de.todesbaum.util.freenet.fcp2.PriorityClass; -import de.todesbaum.util.io.Closer; -import de.todesbaum.util.io.StreamCopier; -import de.todesbaum.util.xml.SimpleXML; -import de.todesbaum.util.xml.XML; /** * The configuration. @@ -307,7 +307,7 @@ public class Configuration { * * @return A list of all projects */ - public Project[] getProjects() { + public List getProjects() { List projects = new ArrayList(); SimpleXML projectsNode = rootNode.getNode("project-list"); if (projectsNode != null) { @@ -316,27 +316,28 @@ public class Configuration { try { Project project = new Project(); projects.add(project); - project.setDescription(projectNode.getNode("description").getValue("")); - String indexFile = projectNode.getNode("index-file").getValue(""); + project.setDescription(projectNode.getValue("description", "")); + String indexFile = projectNode.getValue("index-file", ""); if (indexFile.indexOf('/') > -1) { indexFile = ""; } project.setIndexFile(indexFile); - project.setLastInsertionTime(Long.parseLong(projectNode.getNode("last-insertion-time").getValue("0"))); - project.setLocalPath(projectNode.getNode("local-path").getValue("")); - project.setName(projectNode.getNode("name").getValue("")); - project.setPath(projectNode.getNode("path").getValue("")); + project.setLastInsertionTime(Long.parseLong(projectNode.getValue("last-insertion-time", "0"))); + project.setLocalPath(projectNode.getValue("local-path", "")); + project.setName(projectNode.getValue("name", "")); + project.setPath(projectNode.getValue("path", "")); if ((project.getPath() != null) && (project.getPath().indexOf("/") != -1)) { project.setPath(project.getPath().replaceAll("/", "")); } - project.setEdition(Integer.parseInt(projectNode.getNode("edition").getValue("0"))); - project.setInsertURI(projectNode.getNode("insert-uri").getValue("")); - project.setRequestURI(projectNode.getNode("request-uri").getValue("")); + project.setEdition(Integer.parseInt(projectNode.getValue("edition", "0"))); + project.setInsertURI(projectNode.getValue("insert-uri", "")); + project.setRequestURI(projectNode.getValue("request-uri", "")); if (projectNode.getNode("ignore-hidden-files") != null) { - project.setIgnoreHiddenFiles(Boolean.parseBoolean(projectNode.getNode("ignore-hidden-files").getValue("true"))); + project.setIgnoreHiddenFiles(Boolean.parseBoolean(projectNode.getValue("ignore-hidden-files", "true"))); } else { project.setIgnoreHiddenFiles(true); } + project.setAlwaysForceInsert(Boolean.parseBoolean(projectNode.getValue("always-force-insert", "false"))); /* load last insert hashes. */ Map fileOptions = new HashMap(); @@ -366,11 +367,11 @@ public class Configuration { if (fileOptionNode.getNode("insert-redirect") != null) { fileOption.setInsertRedirect(Boolean.parseBoolean(fileOptionNode.getNode("insert-redirect").getValue())); } - fileOption.setCustomKey(fileOptionNode.getNode("custom-key").getValue("")); + fileOption.setCustomKey(fileOptionNode.getValue("custom-key", "")); if (fileOptionNode.getNode("changed-name") != null) { fileOption.setChangedName(fileOptionNode.getNode("changed-name").getValue()); } - fileOption.setMimeType(fileOptionNode.getNode("mime-type").getValue("")); + fileOption.setMimeType(fileOptionNode.getValue("mime-type", "")); fileOptions.put(filename, fileOption); } } @@ -380,7 +381,7 @@ public class Configuration { } } } - return projects.toArray(new Project[projects.size()]); + return projects; } /** @@ -389,7 +390,7 @@ public class Configuration { * @param projects * The list of all projects */ - public void setProjects(Project[] projects) { + public void setProjects(List projects) { SimpleXML projectsNode = new SimpleXML("project-list"); for (Project project : projects) { SimpleXML projectNode = projectsNode.append("project"); @@ -403,6 +404,7 @@ public class Configuration { projectNode.append("insert-uri", project.getInsertURI()); projectNode.append("request-uri", project.getRequestURI()); projectNode.append("ignore-hidden-files", String.valueOf(project.isIgnoreHiddenFiles())); + projectNode.append("always-force-insert", String.valueOf(project.isAlwaysForceInsert())); /* store last insert hashes. */ SimpleXML lastInsertHashesNode = projectNode.append("last-insert-hashes"); @@ -428,7 +430,7 @@ public class Configuration { fileOptionNode.append("insert", String.valueOf(fileOption.isInsert())); fileOptionNode.append("insert-redirect", String.valueOf(fileOption.isInsertRedirect())); fileOptionNode.append("custom-key", fileOption.getCustomKey()); - fileOptionNode.append("changed-name", fileOption.getChangedName()); + fileOptionNode.append("changed-name", fileOption.getChangedName().orNull()); fileOptionNode.append("mime-type", fileOption.getMimeType()); } }