X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fvimcoder;a=blobdiff_plain;f=src%2Fcom%2Fdogcows%2FEditor.java;fp=src%2Fcom%2Fdogcows%2FEditor.java;h=ea4744240fed71e050bf725ca33e11dd0f2b0e2a;hp=bb14ce65cf517ca9e9b5aec8384ea98322961754;hb=1a39937d5e2c04f3fa8166c65289afae165b3ea6;hpb=c76b63d1b374ea6774d648c0a50021357fdd9b80 diff --git a/src/com/dogcows/Editor.java b/src/com/dogcows/Editor.java index bb14ce6..ea47442 100644 --- a/src/com/dogcows/Editor.java +++ b/src/com/dogcows/Editor.java @@ -31,6 +31,16 @@ public class Editor */ private String name; + /** + * The name of the contest. + */ + private String contestName; + + /** + * The point value. + */ + private String points; + /** * The path of the current source file. */ @@ -68,6 +78,8 @@ public class Editor { this.id = String.valueOf(component.getProblem().getProblemID()); this.name = component.getClassName(); + this.contestName = component.getProblem().getRound().getContestName().replaceAll(" ", "-"); + this.points = String.valueOf(component.getPoints().intValue()); // Make sure the top-level vimcoder directory exists. File topDir = VimCoder.getStorageDirectory(); @@ -77,9 +89,24 @@ public class Editor } // Make sure the problem directory exists. - this.directory = new File(topDir, id); - if (!directory.isDirectory()) + File newStyleDirectory = new File(new File(topDir, contestName), points); + File oldStyleDirectory = new File(topDir, id); + if (newStyleDirectory.isDirectory()) + { + this.directory = newStyleDirectory; + } + else if (oldStyleDirectory.isDirectory()) + { + this.directory = oldStyleDirectory; + } + else if (VimCoder.isContestDirNames()) + { + this.directory = newStyleDirectory; + if (!directory.mkdirs()) throw new IOException(directory.getPath()); + } + else { + this.directory = oldStyleDirectory; if (!directory.mkdirs()) throw new IOException(directory.getPath()); } @@ -116,7 +143,7 @@ public class Editor // Expand the template for the main class and write it to the current // source file. - sourceFile = new File(directory, name + "." + ext); + this.sourceFile = new File(directory, name + "." + ext); if (!sourceFile.canRead()) { String text = Util.expandTemplate(readTemplate(lang + "Template"), terms);