diff --git a/src/main/java/com/massivecraft/massivecore/store/DbFlatfile.java b/src/main/java/com/massivecraft/massivecore/store/DbFlatfile.java index 37eb8e1a..b8230db2 100644 --- a/src/main/java/com/massivecraft/massivecore/store/DbFlatfile.java +++ b/src/main/java/com/massivecraft/massivecore/store/DbFlatfile.java @@ -53,4 +53,5 @@ public class DbFlatfile extends DbAbstract { return new File(dir, coll.getName()); } + } diff --git a/src/main/java/com/massivecraft/massivecore/store/Driver.java b/src/main/java/com/massivecraft/massivecore/store/Driver.java index b30ab812..33d27ef2 100644 --- a/src/main/java/com/massivecraft/massivecore/store/Driver.java +++ b/src/main/java/com/massivecraft/massivecore/store/Driver.java @@ -18,6 +18,9 @@ public interface Driver // What collections are in the database? public Set getCollnames(Db db); + // Rename a collection + public boolean renameColl(Db db, String from, String to); + // Is id X in the collection? public boolean containsId(Coll coll, String id); diff --git a/src/main/java/com/massivecraft/massivecore/store/DriverFlatfile.java b/src/main/java/com/massivecraft/massivecore/store/DriverFlatfile.java index f23fe737..ad84fa4f 100644 --- a/src/main/java/com/massivecraft/massivecore/store/DriverFlatfile.java +++ b/src/main/java/com/massivecraft/massivecore/store/DriverFlatfile.java @@ -58,6 +58,15 @@ public class DriverFlatfile extends DriverAbstract return ret; } + + @Override + public boolean renameColl(Db db, String from, String to) + { + File dir = ((DbFlatfile)db).dir; + File fileFrom = new File(dir, from); + File fileTo = new File(dir, to); + return fileFrom.renameTo(fileTo); + } @Override public boolean containsId(Coll coll, String id) diff --git a/src/main/java/com/massivecraft/massivecore/store/DriverMongo.java b/src/main/java/com/massivecraft/massivecore/store/DriverMongo.java index 5fb3f683..5f1ab345 100644 --- a/src/main/java/com/massivecraft/massivecore/store/DriverMongo.java +++ b/src/main/java/com/massivecraft/massivecore/store/DriverMongo.java @@ -59,6 +59,18 @@ public class DriverMongo extends DriverAbstract return ret; } + @Override + public boolean renameColl(Db db, String from, String to) + { + if (!this.getCollnames(db).contains(from)) return false; + if (this.getCollnames(db).contains(to)) return false; + + DB mdb = ((DbMongo)db).db; + mdb.getCollection(from).rename(to); + + return true; + } + @Override public boolean containsId(Coll coll, String id) {