Update of /var/cvs/src/org/mmbase/util/transformers
In directory james.mmbase.org:/tmp/cvs-serv7574/src/org/mmbase/util/transformers

Modified Files:
        RegexpReplacer.java 
Log Message:
fix for MMB-1568 (I think, need to test this)


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util/transformers
See also: http://www.mmbase.org/jira/browse/MMB-1568


Index: RegexpReplacer.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/transformers/RegexpReplacer.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- RegexpReplacer.java 3 Oct 2007 15:57:46 -0000       1.19
+++ RegexpReplacer.java 18 Mar 2008 16:16:15 -0000      1.20
@@ -174,19 +174,27 @@
             if (replaceFirstAll && status.used.contains(p)) continue;
             Matcher m = p.matcher(string);
             String replacement = entry.getValue();
-            boolean result = m.find();
+            boolean result = false;
+            if (to == ChunkedTransformer.XMLTEXT_WORDS || to == 
ChunkedTransformer.WORDS) {
+                result = m.matches(); // try for a full match, as string is 
one word.
+            } else {
+                result = m.find();
+            }
             if (result) {
                 r = true;
                 StringBuffer sb = new StringBuffer();
                 do {
                     status.replaced++;
                     m.appendReplacement(sb, replacement);
-                    if (replaceFirst) break;
+                    if (replaceFirst || replaceFirstAll ||
+                        to == ChunkedTransformer.XMLTEXT_WORDS ||
+                        to == ChunkedTransformer.WORDS) break;
                     result = m.find();
                 } while (result);
                 m.appendTail(sb);
                 if (replaceFirstAll) status.used.add(p);
                 string = sb.toString();
+                if (replaceFirst) break;
             }
 
         }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to