details:   https://code.openbravo.com/erp/devel/pi/rev/d538408c1bd3
changeset: 13757:d538408c1bd3
user:      Javier Etxarri <javier.echarri <at> openbravo.com>
date:      Mon Sep 12 13:34:11 2011 +0200
summary:   issue 17778: added some code corrections

diffstat:

 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java
 |  23 ++++++---
 1 files changed, 16 insertions(+), 7 deletions(-)

diffs (65 lines):

diff -r a20d4edb9ba2 -r d538408c1bd3 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java
--- 
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java
       Mon Sep 12 13:20:31 2011 +0200
+++ 
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java
       Mon Sep 12 13:34:11 2011 +0200
@@ -18,6 +18,7 @@
  */
 package org.openbravo.userinterface.selector;
 
+import java.math.BigDecimal;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -91,8 +92,8 @@
       // Applying default expression for selector fields when is not a 
selector window request
       if (!"Window".equals(requestType)) {
         applyDefaultExpressions(sel, parameters, sfc, request);
+        verifyPropertyTypes(sel, parameters);
       }
-      verifyPropertyTypes(sel, parameters);
 
     } catch (Exception e) {
       log.error("Error executing filter: " + e.getMessage(), e);
@@ -110,6 +111,9 @@
    */
   private void verifyPropertyTypes(Selector sel, Map<String, String> 
parameters) {
     String value = parameters.get("criteria");
+    if (value == null) {
+      return;
+    }
     String filteredCriteria = "";
     String fieldName;
     Entity entity = ModelProvider.getInstance().getEntityByTableName(
@@ -131,9 +135,6 @@
           Property fProp = null;
           if (fieldNameSplit.length == 1) {
             fProp = entity.getProperty(fieldName);
-          } else if (fieldNameSplit[(fieldNameSplit.length - 
1)].equals("_identifier")) {
-            filteredCriteria += jSONObject.toString() + 
JsonConstants.IN_PARAMETER_SEPARATOR;
-            continue;
           } else {
             for (int i = 0; i < fieldNameSplit.length; i++) {
               fProp = cEntity.getProperty(fieldNameSplit[i]);
@@ -141,12 +142,20 @@
                 cEntity = fProp.getReferencedProperty().getEntity();
               }
             }
+          }
 
-            if (fProp.isNumericType() || fProp.isDate()) {
+          if (fProp.isNumericType() || fProp.isDate()) {
+            try {
+              jSONObject.put("operator", "equals");
+              BigDecimal valueJSONObject = new 
BigDecimal(jSONObject.get("value").toString());
+              jSONObject.put("value", valueJSONObject);
+              filteredCriteria += jSONObject.toString() + 
JsonConstants.IN_PARAMETER_SEPARATOR;
               log.warn("Bad type in fieldname" + fieldName);
-            } else {
-              filteredCriteria += jSONObject.toString() + 
JsonConstants.IN_PARAMETER_SEPARATOR;
+            } catch (Exception ex) {
+              // do nothing
             }
+          } else {
+            filteredCriteria += jSONObject.toString() + 
JsonConstants.IN_PARAMETER_SEPARATOR;
           }
         }
         parameters.put("criteria", filteredCriteria.substring(0, 
(filteredCriteria.length() - 5)));

------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop 
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to