Author: raintang
Date: 2009-09-27 10:03:44 +0200 (Sun, 27 Sep 2009)
New Revision: 38870

Modified:
   
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/AssetSearchAction.java
   
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository/assetsearch.jsp
Log:
CMSC-1535 Some Asset searching resolves in a stacktrace

Modified: 
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/AssetSearchAction.java
===================================================================
--- 
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/AssetSearchAction.java
   2009-09-27 01:52:05 UTC (rev 38869)
+++ 
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/AssetSearchAction.java
   2009-09-27 08:03:44 UTC (rev 38870)
@@ -31,6 +31,7 @@
 
 public class AssetSearchAction extends AbstractAssetSearch {
 
+   private static final String INTEGER_FIELD = "^[1-9]\\d*$";
    /**
     * MMBase logging system
     */
@@ -165,9 +166,14 @@
             String paramName = nodeManager.getName() + "." + field.getName();
             String paramValue = request.getParameter(paramName);
             if (StringUtils.isNotEmpty(paramValue)) {
-               SearchUtil.addLikeConstraint(query, field, paramValue.trim());
+               paramValue = paramValue.trim();
+               if (field.getType() == Field.TYPE_STRING) {
+                  SearchUtil.addLikeConstraint(query, field, paramValue);
+               } else if (field.getType() == Field.TYPE_INTEGER && 
paramValue.matches(INTEGER_FIELD)) {
+                  SearchUtil.addEqualConstraint(query, field, 
Integer.parseInt(paramValue));
+               }
+               queryStringComposer.addParameter(paramName, paramValue);
             }
-            queryStringComposer.addParameter(paramName, paramValue);
          }
       }
    

Modified: 
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository/assetsearch.jsp
===================================================================
--- 
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository/assetsearch.jsp
        2009-09-27 01:52:05 UTC (rev 38869)
+++ 
CMSContainer/trunk/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository/assetsearch.jsp
        2009-09-27 08:03:44 UTC (rev 38870)
@@ -298,6 +298,8 @@
                                            </mm:fieldlist>
                                        </mm:fieldinfo>
                                        <c:if test="${showField}">
+                                       <mm:fieldinfo type="type" 
jspvar="field_type" write="false">
+                                                                               
        <c:if test="${field_type eq 1 || field_type eq 2}" >
                                           <tr>
                                              <td height="31px" nowrap>
                                                 <mm:fieldinfo type="guiname" 
jspvar="guiname"/>:
@@ -315,6 +317,8 @@
                                                 </mm:fieldinfo>
                                              </td>
                                           </tr>
+                                                                               
        </c:if>
+                                                                               
</mm:fieldinfo>
                                        </c:if>
                                     </mm:fieldlist>
                                  </table>

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to