From 541b6ffd1ec2a5114fc7b203079e287206d7d494 Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Fri, 31 Aug 2012 13:32:53 +0200 Subject: [PATCH] Avoid creating folders in vain. --- src/com/massivecraft/mcore4/MPlugin.java | 3 --- .../massivecraft/mcore4/persist/gson/GsonClassManager.java | 3 +-- src/com/massivecraft/mcore4/store/DriverGson.java | 1 - src/com/massivecraft/mcore4/util/DiscUtil.java | 2 ++ src/com/massivecraft/mcore4/util/LibLoader.java | 4 +++- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/com/massivecraft/mcore4/MPlugin.java b/src/com/massivecraft/mcore4/MPlugin.java index 70fb3524..c8a87ddb 100644 --- a/src/com/massivecraft/mcore4/MPlugin.java +++ b/src/com/massivecraft/mcore4/MPlugin.java @@ -37,9 +37,6 @@ public abstract class MPlugin extends JavaPlugin implements Listener this.logPrefix = "["+this.getDescription().getFullName()+"] "; log("=== ENABLE START ==="); - // Ensure the base folder exists - this.getDataFolder().mkdirs(); - // Create Gson this.gson = this.getGsonBuilder().create(); diff --git a/src/com/massivecraft/mcore4/persist/gson/GsonClassManager.java b/src/com/massivecraft/mcore4/persist/gson/GsonClassManager.java index 5aa90aa4..ff4e25f2 100644 --- a/src/com/massivecraft/mcore4/persist/gson/GsonClassManager.java +++ b/src/com/massivecraft/mcore4/persist/gson/GsonClassManager.java @@ -35,7 +35,7 @@ public abstract class GsonClassManager implements IClassManager protected File folder; public File getFolder() { return folder; } - public void setFolder(File val) { this.folder = val; this.folder.mkdirs(); } + public void setFolder(File val) { this.folder = val; } protected boolean creative; @Override @@ -80,7 +80,6 @@ public abstract class GsonClassManager implements IClassManager this.id2entity = id2entity; this.entity2id = entity2id; - this.getFolder().mkdirs(); this.loadIds(); if ( ! lazy) { diff --git a/src/com/massivecraft/mcore4/store/DriverGson.java b/src/com/massivecraft/mcore4/store/DriverGson.java index 5782a441..3039bff0 100644 --- a/src/com/massivecraft/mcore4/store/DriverGson.java +++ b/src/com/massivecraft/mcore4/store/DriverGson.java @@ -127,7 +127,6 @@ public class DriverGson extends DriverAbstract public Long save(Coll coll, L id, Object rawData) { File file = fileFromId(coll, id); - getCollDir(coll).mkdirs(); String content = coll.mplugin().gson.toJson((JsonElement)rawData); if (DiscUtil.writeCatch(file, content) == false) return null; return file.lastModified(); diff --git a/src/com/massivecraft/mcore4/util/DiscUtil.java b/src/com/massivecraft/mcore4/util/DiscUtil.java index 43b162d6..32e8ad86 100644 --- a/src/com/massivecraft/mcore4/util/DiscUtil.java +++ b/src/com/massivecraft/mcore4/util/DiscUtil.java @@ -19,6 +19,8 @@ public class DiscUtil public static byte[] readBytes(File file) throws IOException { + File parent = file.getParentFile(); + if (parent != null && !parent.exists()) parent.mkdirs(); int length = (int) file.length(); byte[] output = new byte[length]; InputStream in = new FileInputStream(file); diff --git a/src/com/massivecraft/mcore4/util/LibLoader.java b/src/com/massivecraft/mcore4/util/LibLoader.java index b2b26446..5a32fbc1 100644 --- a/src/com/massivecraft/mcore4/util/LibLoader.java +++ b/src/com/massivecraft/mcore4/util/LibLoader.java @@ -10,7 +10,6 @@ public class LibLoader public LibLoader(MPlugin p) { this.p = p; - new File("./lib").mkdirs(); } public boolean require(String filename, String url) @@ -29,6 +28,9 @@ public class LibLoader File file = getFile(filename); if ( ! file.exists()) { + File parent = file.getParentFile(); + if (parent != null && !parent.exists()) parent.mkdirs(); + p.log("Downloading library "+filename); if ( ! DiscUtil.downloadUrl(url, file)) {