[jboss-svn-commits] JBL Code SVN: r26518 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/lang/dsl and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed May 13 18:31:30 EDT 2009
Author: tirelli
Date: 2009-05-13 18:31:29 -0400 (Wed, 13 May 2009)
New Revision: 26518
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingEntryTest.java
Log:
JBRULES-2000: fixing line break support on DSL
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java 2009-05-13 22:26:14 UTC (rev 26517)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/AntlrDSLMappingEntry.java 2009-05-13 22:31:29 UTC (rev 26518)
@@ -189,9 +189,10 @@
int tailIndex = getVariables().get( TAIL_TAG ).intValue();
valuePatternBuffer.append( "$" + tailIndex );
}
- // unescaping the special character #
+ // unescaping the special character # and creating the line breaks
String pat = valuePatternBuffer.toString().replaceAll( "\\\\#",
- "#" );
+ "#" ).replaceAll( "\\\\n",
+ "\n" );
for ( Map.Entry<String, Integer> entry : getVariables().entrySet() ) {
pat = pat.replaceAll( "\\{" + entry.getKey() + "(:(.*?))?\\}",
"\\$" + entry.getValue() );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingEntryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingEntryTest.java 2009-05-13 22:26:14 UTC (rev 26517)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingEntryTest.java 2009-05-13 22:31:29 UTC (rev 26518)
@@ -282,6 +282,26 @@
result );
}
+ public void testExpandWithLineBreaks() throws IOException {
+ final String inputKey = "This is a sentence with line breaks";
+ final String inputValue = "Cheese\\n(price == 10)";
+
+ DSLMappingEntry entry = createEntry( inputKey,
+ inputValue );
+
+ assertEquals( "(\\W|^)This\\s+is\\s+a\\s+sentence\\s+with\\s+line\\s+breaks(\\W|$)",
+ entry.getKeyPattern().toString() );
+ assertEquals( "$1Cheese\n(price == 10)$2",
+ entry.getValuePattern());
+
+
+ String result = entry.getKeyPattern().matcher( "This is a sentence with line breaks" ).replaceAll( entry.getValuePattern() );
+
+ assertEquals( result,
+ "Cheese\n(price == 10)",
+ result );
+ }
+
public void testExpandWithPound() throws IOException {
final String inputKey = "Bedingung-\\#19-MKM4";
final String inputValue = "eval ( $p.getTempVal(\"\\#UML-ATZ-1\") < $p.getZvUmlStfr() )";
More information about the jboss-svn-commits
mailing list