r1338 - xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes

Ludovic Dubost ludovic at users.forge.objectweb.org
Thu Sep 21 16:36:56 CEST 2006


Author: ludovic
Date: 2006-09-21 16:36:55 +0200 (Thu, 21 Sep 2006)
New Revision: 1338

Modified:
   xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/DateClass.java
   xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/StringClass.java
Log:
Fix startswith for strings in query generator
Fix empty is today in DateClass

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/DateClass.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/DateClass.java	2006-09-21 10:07:29 UTC (rev 1337)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/DateClass.java	2006-09-21 14:36:55 UTC (rev 1338)
@@ -81,7 +81,8 @@
         BaseProperty property = newProperty();
 
         if ((value==null)||(value.equals(""))) {
-            property.setValue(new Date());
+            if (getEmptyIsToday()==1)
+             property.setValue(new Date());
             return property;
         }
 
@@ -101,6 +102,8 @@
     }
 
     public String toFormString(BaseProperty property) {
+        if (property.getValue()==null)
+         return "";
         SimpleDateFormat sdf = new SimpleDateFormat(getDateFormat());
         return sdf.format(property.getValue());
     }

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/StringClass.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/StringClass.java	2006-09-21 10:07:29 UTC (rev 1337)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/objects/classes/StringClass.java	2006-09-21 14:36:55 UTC (rev 1338)
@@ -98,8 +98,16 @@
     public void makeQuery(Map map, String prefix, XWikiCriteria query, List criteriaList) {
         String value = (String)map.get(prefix);
         if ((value!=null)&&(!value.equals(""))) {
-         criteriaList.add("jcr:like(@f:" + getName() + ", '%" + value + "%')");
-         return;
+
+         String startsWith = (String)map.get(prefix + "startswith");
+         String endsWith = (String)map.get(prefix + "endswith");
+            if( "1".equals(startsWith))
+                criteriaList.add("jcr:like(@f:" + getName() + ", '" + value + "%')");
+            else if("1".equals(endsWith))
+                criteriaList.add("jcr:like(@f:" + getName() + ", '%" + value + "')");
+            else
+                criteriaList.add("jcr:like(@f:" + getName() + ", '%" + value + "%')");
+            return;
         }
 
         value = (String)map.get(prefix + "exact");





More information about the Xwiki-notifications mailing list