def readPropertiesFile(inputFile) { def propDefMap = [:] def inFile = new File(inputFile).newReader("UTF-8") def lineId def enumLine =" public static enum FunctionEnum {" while ((lineId = inFile.readLine()) != null) { def lineTitle def con if (lineId.startsWith("System Identifier")) { lineId = lineId.substring(18) lineId = lineId.trim() println("Processing Function: " + lineId) while (!(lineTitle = inFile.readLine()).startsWith("Title")) { } println(" name " + lineTitle) lineTitle = lineTitle.substring(6) lineTitle = lineTitle.trim() println(" name " + lineTitle) con = lineTitle.replaceAll(" – ", "_").replaceAll(" ", "_").replaceAll("/", "_").toUpperCase() + "_FUNC_ID" enumLine = enumLine + con + ", " outFileConst.println("public static final String " + con + " = \"" + lineId +"\";") outFileJava.println("put(Constants." + con + ", new FunctionDescription(\"" + lineTitle + "\", Constants." + con + ", FunctionEnum." + con + "));") outFileJava.println("put(Constants." + con + ", new FunctionDescription(\"" + lineTitle + "\", Constants." + con + ", FunctionEnum." + con + "));") } } enumLine = enumLine + "}; " outFileJava.println() outFileJava.println(enumLine) outFileJava.println() } ///////////////////////////////////////////////////////////////// // Main program println("Starting...") outFileConst = new File("Constants.java").newPrintWriter() outFileJava = new File("FuncDescr.java").newPrintWriter() inFile = readPropertiesFile("MoReq2010.txt") outFileConst.close() outFileJava.close() println("...Done.")