[jboss-svn-commits] JBL Code SVN: r25038 - in labs/jbossrules/trunk/drools-decisiontables/src: test/java/org/drools/decisiontable and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Feb 1 19:39:52 EST 2009


Author: michael.neale at jboss.com
Date: 2009-02-01 19:39:51 -0500 (Sun, 01 Feb 2009)
New Revision: 25038

Modified:
   labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ActionType.java
   labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/ExternalSpreadsheetCompilerUnitTest.java
   labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/SpreadsheetCompilerUnitTest.java
   labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/RuleWorksheetParseTest.java
   labs/jbossrules/trunk/drools-decisiontables/src/test/resources/data/BasicWorkbook.xls
Log:
JBRULES-1811 Escaping single quotes

Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ActionType.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ActionType.java	2009-02-01 18:51:10 UTC (rev 25037)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ActionType.java	2009-02-02 00:39:51 UTC (rev 25038)
@@ -188,6 +188,14 @@
      */
     public void addCellValue(int col,
                              String content) {
+        //Michael Neale:
+        //for single standard quotes we escape them - eg they may mean "inches" 
+        // as in "I want a stone hence replica 19" tall"
+        //for more info: http://www.imdb.com/title/tt0088258/
+        int idx = content.indexOf("\"");
+        if (idx > 0 && content.indexOf("\"", idx) > -1) {
+            content = content.replace("\"", "\\\"");
+        }
         this.sourceBuilder.addCellValue( col,
                                          content );
     }

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/ExternalSpreadsheetCompilerUnitTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/ExternalSpreadsheetCompilerUnitTest.java	2009-02-01 18:51:10 UTC (rev 25037)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/ExternalSpreadsheetCompilerUnitTest.java	2009-02-02 00:39:51 UTC (rev 25038)
@@ -96,7 +96,7 @@
         assertTrue( drl.indexOf( "global Class1 obj1;" ) > -1 );
         assertTrue( drl1.indexOf( "myObject.setIsValid(10-Jul-1974)" ) > -1 );
         assertTrue( drl.indexOf( "myObject.getColour().equals(blue)" ) > -1 );
-        assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size() > 1)" ) > -1 );
+        assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size() > 12\")" ) > -1 );
 
         assertTrue( drl.indexOf( "b: Bar()\n\t\teval(myObject.size() < 3)" ) > -1 );
         assertTrue( drl.indexOf( "b: Bar()\n\t\teval(myObject.size() < 9)" ) > -1 );
@@ -117,7 +117,7 @@
         assertTrue( drl.indexOf( "This is a function block" ) > -1 );
         assertTrue( drl.indexOf( "global Class1 obj1;" ) > -1 );
         assertTrue( drl.indexOf( "myObject.getColour().equals(blue)" ) > -1 );
-        assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size() > 1)" ) > -1 );
+        assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size() > 12\")" ) > -1 );
 
         assertTrue( drl.indexOf( "b: Bar()\n\t\teval(myObject.size() < 3)" ) > -1 );
         assertTrue( drl.indexOf( "b: Bar()\n\t\teval(myObject.size() < 9)" ) > -1 );

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/SpreadsheetCompilerUnitTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/SpreadsheetCompilerUnitTest.java	2009-02-01 18:51:10 UTC (rev 25037)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/SpreadsheetCompilerUnitTest.java	2009-02-02 00:39:51 UTC (rev 25038)
@@ -103,6 +103,7 @@
 
         assertNotNull( drl );
 
+        System.out.println(drl);
         Pattern p = Pattern.compile( ".*setIsValid\\(Y\\).*setIsValid\\(Y\\).*setIsValid\\(Y\\).*",
                                      Pattern.DOTALL | Pattern.MULTILINE );
         Matcher m = p.matcher( drl );
@@ -112,13 +113,16 @@
         assertTrue( drl.indexOf( "global Class1 obj1;" ) > -1 );
         assertTrue( drl.indexOf( "myObject.setIsValid(10-Jul-1974)" ) > -1 );
         assertTrue( drl.indexOf( "myObject.getColour().equals(blue)" ) > -1 );
-        assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size () > 1)" ) > -1 );
+        assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size () > 12\\\")" ) > -1 );
 
         assertTrue( drl.indexOf( "b: Bar() eval(myObject.size() < 3)" ) > -1 );
         assertTrue( drl.indexOf( "b: Bar() eval(myObject.size() < 9)" ) > -1 );
 
         assertTrue( drl.indexOf( "Foo(myObject.getColour().equals(red), myObject.size () > 1)" ) < drl.indexOf( "b: Bar() eval(myObject.size() < 3)" ) );
 
+
+        assertTrue( drl.indexOf( "myObject.setIsValid(\"19-Jul-1992\")" ) > -1 );
+
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/RuleWorksheetParseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/RuleWorksheetParseTest.java	2009-02-01 18:51:10 UTC (rev 25037)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/RuleWorksheetParseTest.java	2009-02-02 00:39:51 UTC (rev 25038)
@@ -100,7 +100,7 @@
         // check rules
         Rule rule = (Rule) ruleset.getRules().get( 0 );
         Condition cond = (Condition) rule.getConditions().get( 0 );
-        assertEquals( "Foo(myObject.getColour().equals(red), myObject.size () > 1)",
+        assertEquals( "Foo(myObject.getColour().equals(red), myObject.size () > 12\\\")",
                       cond.getSnippet() );
 
         Consequence cons = (Consequence) rule.getConsequences().get( 0 );

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/resources/data/BasicWorkbook.xls
===================================================================
(Binary files differ)




More information about the jboss-svn-commits mailing list