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