[jboss-svn-commits] JBL Code SVN: r15803 - in labs/jbossrules/branches/4.0.x/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
Fri Oct 12 17:55:36 EDT 2007
Author: tirelli
Date: 2007-10-12 17:55:36 -0400 (Fri, 12 Oct 2007)
New Revision: 15803
Modified:
labs/jbossrules/branches/4.0.x/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultDSLMappingEntry.java
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultDSLMappingEntryTest.java
Log:
JBRULES-1272: fixing mapping compilation when there is only a single character between variables
Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultDSLMappingEntry.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultDSLMappingEntry.java 2007-10-12 21:47:34 UTC (rev 15802)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultDSLMappingEntry.java 2007-10-12 21:55:36 UTC (rev 15803)
@@ -136,7 +136,7 @@
}
// calculating and fixing variable offset
- String before = escapedKey.substring( lastMatch, m.start() );
+ String before = escapedKey.substring( lastMatch, Math.max( m.start(), lastMatch) );
lastMatch = m.end()+1;
Matcher m2 = PAREN_FINDER.matcher( before );
while( m2.find() ) {
Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultDSLMappingEntryTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultDSLMappingEntryTest.java 2007-10-12 21:47:34 UTC (rev 15802)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/dsl/DefaultDSLMappingEntryTest.java 2007-10-12 21:55:36 UTC (rev 15803)
@@ -235,4 +235,19 @@
result );
}
+ public void testSingleCharacterBetweenVars() {
+ final String inputKey = "DSL sentence with {key1} {key2}";
+ final String inputValue = "Sentence( {key1} == {key2} )";
+
+ this.entry = new DefaultDSLMappingEntry( DSLMappingEntry.CONDITION,
+ null,
+ inputKey,
+ inputValue );
+
+ String result = this.entry.getKeyPattern().matcher( "DSL sentence with mykey myvalue" ).replaceAll( this.entry.getValuePattern() );
+ assertEquals( result,
+ "Sentence( mykey == myvalue )",
+ result );
+ }
+
}
More information about the jboss-svn-commits
mailing list