[jboss-svn-commits] JBL Code SVN: r16280 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples: src/main/java/org/drools/solver/examples/itc2007/examination/persistence and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Nov 2 07:36:58 EDT 2007


Author: ge0ffrey
Date: 2007-11-02 07:36:57 -0400 (Fri, 02 Nov 2007)
New Revision: 16280

Added:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/itc2007/examination/output/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationOutputConvertor.java
Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/travelingtournament/persistence/TravelingTournamentInputConvertor.java
Log:
outputconvertor for examination

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java	2007-11-02 10:45:19 UTC (rev 16279)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java	2007-11-02 11:36:57 UTC (rev 16280)
@@ -34,6 +34,7 @@
 public class ExaminationInputConvertor {
 
     private static final String INPUT_FILE_SUFFIX = ".exam";
+    private static final String OUTPUT_FILE_SUFFIX = ".xml";
     private static final String SPLIT_REGEX = "\\,\\ ?";
 
     public static void main(String[] args) {
@@ -53,15 +54,16 @@
         for (File inputFile : inputFiles) {
             String inputFileName = inputFile.getName();
             if (inputFileName.endsWith(INPUT_FILE_SUFFIX)) {
-                Examination examination = createExamination(inputFile);
-                String outputFileName = inputFileName.substring(0, inputFileName.length() - INPUT_FILE_SUFFIX.length()) + ".xml";
+                Examination examination = readExamination(inputFile);
+                String outputFileName = inputFileName.substring(0, inputFileName.length() - INPUT_FILE_SUFFIX.length())
+                        + OUTPUT_FILE_SUFFIX;
                 File outputFile = new File(outputDir, outputFileName);
                 solutionDao.writeSolution(examination, outputFile);
             }
         }
     }
 
-    private Examination createExamination(File inputFile) {
+    private Examination readExamination(File inputFile) {
         BufferedReader bufferedReader = null;
         try {
             bufferedReader = new BufferedReader(new FileReader(inputFile));

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationOutputConvertor.java (from rev 16124, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationOutputConvertor.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationOutputConvertor.java	2007-11-02 11:36:57 UTC (rev 16280)
@@ -0,0 +1,65 @@
+package org.drools.solver.examples.itc2007.examination.persistence;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.commons.io.IOUtils;
+import org.drools.solver.examples.common.persistence.XstreamSolutionDaoImpl;
+import org.drools.solver.examples.itc2007.examination.domain.Exam;
+import org.drools.solver.examples.itc2007.examination.domain.Examination;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class ExaminationOutputConvertor {
+
+    private static final String INPUT_FILE_SUFFIX = ".xml";
+    private static final String OUTPUT_FILE_SUFFIX = ".sln";
+
+    public static void main(String[] args) {
+        new ExaminationOutputConvertor().convert();
+    }
+
+    private final File inputDir = new File("data/itc2007/examination/solved/");
+    private final File outputDir = new File("data/itc2007/examination/output/");
+
+    public void convert() {
+        XstreamSolutionDaoImpl solutionDao = new XstreamSolutionDaoImpl();
+        File[] inputFiles = inputDir.listFiles();
+        if (inputFiles == null) {
+            throw new IllegalArgumentException(
+                    "Your working dir should be drools-solver-examples and contain: " + inputDir);
+        }
+        for (File inputFile : inputFiles) {
+            String inputFileName = inputFile.getName();
+            if (inputFileName.endsWith(INPUT_FILE_SUFFIX)) {
+                Examination examination = (Examination) solutionDao.readSolution(inputFile);
+                String outputFileName = inputFileName.substring(0, inputFileName.length() - INPUT_FILE_SUFFIX.length())
+                        + OUTPUT_FILE_SUFFIX;
+                File outputFile = new File(outputDir, outputFileName);
+                writeExamination(examination, outputFile);
+            }
+        }
+    }
+
+    private void writeExamination(Examination examination, File outputFile) {
+        BufferedWriter bufferedWriter = null;
+        try {
+            bufferedWriter = new BufferedWriter(new FileWriter(outputFile));
+            writeExamination(examination, bufferedWriter);
+        } catch (IOException e) {
+            throw new IllegalArgumentException(e);
+        } finally {
+            IOUtils.closeQuietly(bufferedWriter);
+        }
+    }
+
+    private void writeExamination(Examination examination, BufferedWriter bufferedWriter) throws IOException {
+        for (Exam exam : examination.getExamList()) {
+            bufferedWriter.write(exam.getPeriod().getId() + ", " + exam.getRoom().getId() + "\r\n");
+        }
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/travelingtournament/persistence/TravelingTournamentInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/travelingtournament/persistence/TravelingTournamentInputConvertor.java	2007-11-02 10:45:19 UTC (rev 16279)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/travelingtournament/persistence/TravelingTournamentInputConvertor.java	2007-11-02 11:36:57 UTC (rev 16280)
@@ -22,6 +22,7 @@
 public abstract class TravelingTournamentInputConvertor {
     
     private static final String INPUT_FILE_SUFFIX = ".txt";
+    private static final String OUTPUT_FILE_SUFFIX = ".xml";
 
     private final File inputDir = new File("data/travelingtournament/input/");
 
@@ -36,7 +37,8 @@
             String inputFileName = inputFile.getName();
             if (inputFileName.endsWith(INPUT_FILE_SUFFIX)) {
                 TravelingTournament travelingTournament = createTravelingTournament(inputFile);
-                String outputFileName = inputFileName.substring(0, inputFileName.length() - INPUT_FILE_SUFFIX.length()) + ".xml";
+                String outputFileName = inputFileName.substring(0, inputFileName.length() - INPUT_FILE_SUFFIX.length())
+                        + OUTPUT_FILE_SUFFIX;
                 File outputFile = new File(getOutputDir(), outputFileName);
                 solutionDao.writeSolution(travelingTournament, outputFile);
             }




More information about the jboss-svn-commits mailing list