Author: michiel
Date: 2010-02-16 14:43:37 +0100 (Tue, 16 Feb 2010)
New Revision: 41073

Modified:
   mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java
   mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java
   mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java
   mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java
Log:


Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java   
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/BasicCaster.java   
2010-02-16 13:43:37 UTC (rev 41073)
@@ -34,5 +34,13 @@
     public String toString(Object o) throws NotRecognized {
         throw NotRecognized.INSTANCE;
     }
+    public boolean toBoolean(Object o) throws NotRecognized {
+        throw NotRecognized.INSTANCE;
+    }
 
+    public boolean isStringRepresentable(Class<?> type) {
+        return false;
+    }
+
+
 }
\ No newline at end of file

Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java        
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/Caster.java        
2010-02-16 13:43:37 UTC (rev 41073)
@@ -16,8 +16,11 @@
     long toLong(Object i) throws NotRecognized;
     float toFloat(Object i) throws NotRecognized;
     double toDouble(Object i) throws NotRecognized;
+    boolean toBoolean(Object i) throws NotRecognized;
     String toString(Object o) throws NotRecognized;
+    boolean isStringRepresentable(Class<?> type);
 
+
     public static class NotRecognized extends Exception {
         static NotRecognized INSTANCE = new NotRecognized();
         protected NotRecognized() {

Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java       
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/Casting.java       
2010-02-16 13:43:37 UTC (rev 41073)
@@ -267,12 +267,12 @@
      */
     public static boolean isStringRepresentable(Class<?> type) {
         return
+            helper.isStringRepresentable(type) ||
             CharSequence.class.isAssignableFrom(type) ||
             Number.class.isAssignableFrom(type) ||
             Boolean.TYPE.isAssignableFrom(type) ||
             Boolean.class.isAssignableFrom(type) ||
             Character.class.isAssignableFrom(type) ||
-            Node.class.isAssignableFrom(type) ||
             Document.class.isAssignableFrom(type) ||
             Collection.class.isAssignableFrom(type) ||
             Date.class.isAssignableFrom(type) ||
@@ -750,12 +750,15 @@
     static public boolean toBoolean(Object b) {
         if (b == null) {
             return false;
-        } else if (b instanceof Boolean) {
+        }
+        try {
+            return helper.toBoolean(b);
+        } catch (Caster.NotRecognized e) {
+        }
+        if (b instanceof Boolean) {
             return ((Boolean)b).booleanValue();
         } else if (b instanceof Number) {
             return ((Number)b).doubleValue() > 0;
-        } else if (b instanceof Node) {
-            return true; // return true if a NODE is filled
         } else if (b instanceof Date) {
             return ((Date)b).getTime() != -1;
         } else if (b instanceof Document) {
@@ -1021,9 +1024,6 @@
                 } else if (d instanceof Collection<?>) {
                     // impossible
                     dateInSeconds = -1;
-                } else if (d instanceof Node) {
-                    // impossible
-                    dateInSeconds = -1;
                 } else if (d != null) {
                     d = toString(d);
                     if (d.equals("")) {

Modified: mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java
===================================================================
--- mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java  
2010-02-16 13:27:42 UTC (rev 41072)
+++ mmbase/trunk/utils/src/main/java/org/mmbase/util/SortedBundle.java  
2010-02-16 13:43:37 UTC (rev 41073)
@@ -13,7 +13,7 @@
 import java.util.*;
 import java.lang.reflect.*;
 import java.text.Collator;
-//import org.mmbase.cache.Cache;
+import org.mmbase.cache.Cache;
 import org.mmbase.util.logging.*;
 
 /**
@@ -48,7 +48,6 @@
     public static final HashMap<String, Object> NO_CONSTANTSPROVIDER = null;
 
     // cache of maps.
-    /* TODO
     private static final Cache<String, SortedMap<?, String>> knownResources = 
new Cache<String, SortedMap<?, String>>(100) {
         @Override
         public String getName() {
@@ -59,15 +58,12 @@
             return "A cache for constant bundles, to avoid a lot of 
reflection.";
         }
     };
-    */
 
     static {
-        /*
         try {
             org.mmbase.cache.CacheManager.putCache(knownResources);
         } catch (Throwable t) {
         }
-        */
     }
 
     /**

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to