Author: michiel
Date: 2009-06-02 23:31:59 +0200 (Tue, 02 Jun 2009)
New Revision: 35581
Added:
mmbase/trunk/src/org/mmbase/util/transformers/ProcessorCharTransformer.java
Modified:
mmbase/trunk/src/org/mmbase/util/transformers/Transformers.java
Log:
Made it possible to use datatypes.Processor as Transformers
Added:
mmbase/trunk/src/org/mmbase/util/transformers/ProcessorCharTransformer.java
===================================================================
--- mmbase/trunk/src/org/mmbase/util/transformers/ProcessorCharTransformer.java
(rev 0)
+++ mmbase/trunk/src/org/mmbase/util/transformers/ProcessorCharTransformer.java
2009-06-02 21:31:59 UTC (rev 35581)
@@ -0,0 +1,33 @@
+/*
+
+This software is OSI Certified Open Source Software.
+OSI Certified is a certification mark of the Open Source Initiative.
+
+The license (Mozilla version 1.0) can be read at the MMBase site.
+See http://www.MMBase.org/license
+
+*/
+package org.mmbase.util.transformers;
+
+import org.mmbase.datatypes.processors.*;
+import org.mmbase.util.Casting;
+
+/**
+
+ *
+ * @author Michiel Meeuwissen
+ * @since MMBase-1.9.1
+ */
+
+public class ProcessorCharTransformer extends StringTransformer {
+ private final Processor wrapped;
+
+ public ProcessorCharTransformer(Processor p) {
+ wrapped = p;
+ }
+ public String transform(String r) {
+ if (r == null) return null;
+ return Casting.toString(wrapped.process(null, null,
Casting.toString(r)));
+ }
+
+}
Modified: mmbase/trunk/src/org/mmbase/util/transformers/Transformers.java
===================================================================
--- mmbase/trunk/src/org/mmbase/util/transformers/Transformers.java
2009-06-02 20:00:02 UTC (rev 35580)
+++ mmbase/trunk/src/org/mmbase/util/transformers/Transformers.java
2009-06-02 21:31:59 UTC (rev 35581)
@@ -11,6 +11,7 @@
import java.util.Iterator;
import org.mmbase.util.functions.Parameters;
+import org.mmbase.datatypes.processors.Processor;
import org.mmbase.util.logging.Logger;
import org.mmbase.util.logging.Logging;
@@ -48,8 +49,9 @@
}
if (! Transformer.class.isAssignableFrom(clazz) &&
- ! ParameterizedTransformerFactory.class.isAssignableFrom(clazz)) {
- log.error("The class " + clazz + " specified for " + errorId + "
is not a Transformer");
+ ! ParameterizedTransformerFactory.class.isAssignableFrom(clazz) &&
+ ! Processor.class.isAssignableFrom(clazz)) {
+ log.error("The class " + clazz + " specified for " + errorId + "
is not a Transformer (or easily converted to that)");
return null;
}
Object t;
@@ -69,6 +71,8 @@
}
config = "";
t = pt.createTransformer(params);
+ } else if (t instanceof Processor) {
+ t = new ProcessorCharTransformer((Processor) t);
}
CharTransformer ct;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs