X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fproject%2FProjectManager.java;h=35436cace337e08120e7802d0358caab48f470e6;hb=d6015942121ba0e43177da20c3559126e9c6dafe;hp=69b05229f29f20c27e5b481f3635a4d19ff0db69;hpb=2f3cecff551c3f56e6e5f4457cba7d72ba36eb90;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/project/ProjectManager.java b/src/net/pterodactylus/jsite/project/ProjectManager.java index 69b0522..35436ca 100644 --- a/src/net/pterodactylus/jsite/project/ProjectManager.java +++ b/src/net/pterodactylus/jsite/project/ProjectManager.java @@ -32,6 +32,8 @@ import java.util.Collections; import java.util.List; import java.util.Properties; import java.util.Random; +import java.util.Map.Entry; +import java.util.logging.Level; import java.util.logging.Logger; import net.pterodactylus.jsite.core.JSiteException; @@ -139,6 +141,7 @@ public class ProjectManager implements PropertyChangeListener { String projectPrivateKey = projectProperties.getProperty(projectPrefix + ".privateKey"); String projectPublicKey = projectProperties.getProperty(projectPrefix + ".publicKey"); String projectBasePath = projectProperties.getProperty(projectPrefix + ".basePath"); + String projectDefaultFile = projectProperties.getProperty(projectPrefix + ".defaultFile"); Project project = new Project(); project.setId(projectId); project.setName(projectName); @@ -146,6 +149,15 @@ public class ProjectManager implements PropertyChangeListener { project.setPrivateKey(projectPrivateKey); project.setPublicKey(projectPublicKey); project.setBasePath(projectBasePath); + project.setDefaultFile(projectDefaultFile); + int overrideIndex = 0; + while (projectProperties.containsKey(projectPrefix + ".overrides." + overrideIndex + ".override")) { + String filePath = projectProperties.getProperty(projectPrefix + ".overrides." + overrideIndex + ".filePath"); + FileOverride override = FileOverride.valueOf(projectProperties.getProperty(projectPrefix + ".overrides." + overrideIndex + ".override")); + project.addFileOverride(filePath, override); + logger.log(Level.FINEST, "read override: " + filePath + ", " + override); + overrideIndex++; + } projects.add(project); logger.fine("loaded project “" + project.getName() + "”."); projectIndex++; @@ -167,7 +179,7 @@ public class ProjectManager implements PropertyChangeListener { } Properties projectProperties = new Properties(); int projectIndex = 0; - for (Project project: projects) { + for (Project project : projects) { String projectPrefix = "projects." + projectIndex; projectProperties.setProperty(projectPrefix + ".id", project.getId()); projectProperties.setProperty(projectPrefix + ".name", project.getName()); @@ -175,6 +187,13 @@ public class ProjectManager implements PropertyChangeListener { projectProperties.setProperty(projectPrefix + ".privateKey", project.getPrivateKey()); projectProperties.setProperty(projectPrefix + ".publicKey", project.getPublicKey()); projectProperties.setProperty(projectPrefix + ".basePath", project.getBasePath()); + projectProperties.setProperty(projectPrefix + ".defaultFile", project.getDefaultFile()); + int overrideIndex = 0; + for (Entry overrideEntry : project.getFileOverrides().entrySet()) { + projectProperties.setProperty(projectPrefix + ".overrides." + overrideIndex + ".filePath", overrideEntry.getKey()); + projectProperties.setProperty(projectPrefix + ".overrides." + overrideIndex + ".override", overrideEntry.getValue().toString()); + overrideIndex++; + } projectIndex++; } File projectFile = new File(directoryFile, "projects.properties"); @@ -206,6 +225,7 @@ public class ProjectManager implements PropertyChangeListener { project.setPrivateKey(keyPair[0]); project.setPublicKey(keyPair[1]); project.setBasePath(""); + project.setDefaultFile(""); projects.add(project); project.addPropertyChangeListener(this); try {