[jboss-svn-commits] JBL Code SVN: r23270 - labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 2 13:18:29 EDT 2008


Author: ge0ffrey
Date: 2008-10-02 13:18:29 -0400 (Thu, 02 Oct 2008)
New Revision: 23270

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/SolutionDao.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/XstreamSolutionDaoImpl.java
Log:
smoke test voor NQueens

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/SolutionDao.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/SolutionDao.java	2008-10-02 17:15:31 UTC (rev 23269)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/SolutionDao.java	2008-10-02 17:18:29 UTC (rev 23270)
@@ -1,6 +1,7 @@
 package org.drools.solver.examples.common.persistence;
 
 import java.io.File;
+import java.io.InputStream;
 
 import org.drools.solver.core.solution.Solution;
 
@@ -10,6 +11,7 @@
 public interface SolutionDao {
 
     Solution readSolution(File file);
+    Solution readSolution(InputStream in);
     void writeSolution(Solution solution, File file);
     
 }

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/XstreamSolutionDaoImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/XstreamSolutionDaoImpl.java	2008-10-02 17:15:31 UTC (rev 23269)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/XstreamSolutionDaoImpl.java	2008-10-02 17:18:29 UTC (rev 23270)
@@ -8,6 +8,7 @@
 import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
+import java.io.InputStream;
 
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.converters.reflection.FieldDictionary;
@@ -41,7 +42,7 @@
             logger.info("Loaded: {}", file);
             return solution;
         } catch (IOException e) {
-            throw new IllegalArgumentException("Could not read: " + file, e);
+            throw new IllegalArgumentException("Could not read file: " + file, e);
         } finally {
             if (reader != null) {
                 try {
@@ -53,6 +54,26 @@
         }
     }
 
+    public Solution readSolution(InputStream in) {
+        Reader reader = null;
+        try {
+            // xStream.fromXml(InputStream) does not use UTF-8
+            reader = new InputStreamReader(in, "UTF-8");
+            Solution solution = (Solution) xStream.fromXML(reader);
+            return solution;
+        } catch (IOException e) {
+            throw new IllegalArgumentException("Could not read from InputStream: " + in, e);
+        } finally {
+            if (reader != null) {
+                try {
+                    reader.close();
+                } catch (IOException e) {
+                    logger.warn("Problem closing InputStream (" + in + ")", e);
+                }
+            }
+        }
+    }
+
     public void writeSolution(Solution solution, File file) {
         Writer writer = null;
         try {




More information about the jboss-svn-commits mailing list