details:   /erp/devel/pi/rev/49ee4babb0ab
changeset: 9391:49ee4babb0ab
user:      Antonio Moreno <antonio.moreno <at> openbravo.com>
date:      Fri Dec 24 13:07:21 2010 +0100
summary:   Fixed typo in the BooleanDomainType, in the method which translates 
the boolean value from the SQL format to a boolean

details:   /erp/devel/pi/rev/6e49a06e209b
changeset: 9392:6e49a06e209b
user:      Antonio Moreno <antonio.moreno <at> openbravo.com>
date:      Fri Dec 24 13:09:53 2010 +0100
summary:   Changed UIDefinition computation so that the getDefault method is 
always called. This means that a column which doesn't have a default, but has a 
preference, will get the correct value. Also, force the FieldProvider array 
which is used by the ComboTableData to include the new value recently computed 
for the particular column which is being processed.

diffstat:

 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
 |  68 +++++----
 src/org/openbravo/base/model/domaintype/BooleanDomainType.java                 
                 |   4 +-
 2 files changed, 39 insertions(+), 33 deletions(-)

diffs (115 lines):

diff -r 0c884939d01f -r 6e49a06e209b 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
   Fri Dec 24 12:47:58 2010 +0100
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
   Fri Dec 24 13:09:53 2010 +0100
@@ -157,36 +157,37 @@
                 docTypeTarget, docType, false, false) + ">";
       }
       String defaultS = field.getColumn().getDefaultValue();
-      if (defaultS != null) {
-        if (!defaultS.startsWith("@SQL=")) {
-          columnValue = Utility.getDefault(new DalConnectionProvider(false), rq
-              .getVariablesSecureApp(), field.getColumn().getDBColumnName(), 
defaultS, field
-              .getTab().getWindow().getId(), defaultS);
-        } else {
-          ArrayList<String> params = new ArrayList<String>();
-          String sql = parseSQL(defaultS, params);
-          int indP = 1;
-          try {
-            PreparedStatement ps = 
OBDal.getInstance().getConnection().prepareStatement(sql);
-            for (String parameter : params) {
-              String value = "";
-              if (parameter.substring(0, 1).equals("#")) {
-                value = Utility.getContext(new DalConnectionProvider(false), 
RequestContext.get()
-                    .getVariablesSecureApp(), parameter, 
field.getTab().getWindow().getId());
-              } else {
-                String fieldId = "inp" + 
Sqlc.TransformaNombreColumna(parameter);
-                value = RequestContext.get().getRequestParameter(fieldId);
-              }
-              ps.setObject(indP++, value);
+      if (defaultS == null) {
+        defaultS = "";
+      }
+      if (!defaultS.startsWith("@SQL=")) {
+        columnValue = Utility.getDefault(new DalConnectionProvider(false), rq
+            .getVariablesSecureApp(), field.getColumn().getDBColumnName(), 
defaultS, field.getTab()
+            .getWindow().getId(), defaultS);
+      } else {
+        ArrayList<String> params = new ArrayList<String>();
+        String sql = parseSQL(defaultS, params);
+        int indP = 1;
+        try {
+          PreparedStatement ps = 
OBDal.getInstance().getConnection().prepareStatement(sql);
+          for (String parameter : params) {
+            String value = "";
+            if (parameter.substring(0, 1).equals("#")) {
+              value = Utility.getContext(new DalConnectionProvider(false), 
RequestContext.get()
+                  .getVariablesSecureApp(), parameter, 
field.getTab().getWindow().getId());
+            } else {
+              String fieldId = "inp" + Sqlc.TransformaNombreColumna(parameter);
+              value = RequestContext.get().getRequestParameter(fieldId);
             }
-            ResultSet rs = ps.executeQuery();
-            if (rs.next()) {
-              columnValue = rs.getString(1);
-            }
-          } catch (Exception e) {
-            log.error("Error computing default value for field " + 
field.getName() + " of tab "
-                + field.getTab().getName(), e);
+            ps.setObject(indP++, value);
           }
+          ResultSet rs = ps.executeQuery();
+          if (rs.next()) {
+            columnValue = rs.getString(1);
+          }
+        } catch (Exception e) {
+          log.error("Error computing default value for field " + 
field.getName() + " of tab "
+              + field.getTab().getName(), e);
         }
       }
     }
@@ -346,7 +347,7 @@
       ComboTableData comboTableData = new ComboTableData(vars, new 
DalConnectionProvider(false),
           ref, field.getColumn().getDBColumnName(), objectReference, 
validation, orgList,
           clientList, 0);
-      FieldProvider tabData = generateTabData(field.getTab().getADFieldList());
+      FieldProvider tabData = generateTabData(field.getTab().getADFieldList(), 
field, columnValue);
       comboTableData.fillParameters(tabData, 
field.getTab().getWindow().getId(), columnValue);
       FieldProvider[] fps = comboTableData.select(getValueFromSession);
       ArrayList<FieldProvider> values = new ArrayList<FieldProvider>();
@@ -391,13 +392,18 @@
     }
   }
 
-  private FieldProvider generateTabData(List<Field> fields) {
+  private FieldProvider generateTabData(List<Field> fields, Field 
currentField, String currentValue) {
     HashMap<String, Object> noinpDataMap = new HashMap<String, Object>();
     for (Field field : fields) {
       UIDefinition uiDef = 
UIDefinitionController.getInstance().getUIDefinition(
           field.getColumn().getId());
       String oldKey = "inp" + 
Sqlc.TransformaNombreColumna(field.getColumn().getDBColumnName());
-      Object value = RequestContext.get().getRequestParameter(oldKey);
+      Object value;
+      if (currentField.getId().equals(field.getId())) {
+        value = uiDef.formatValueToSQL(currentValue);
+      } else {
+        value = RequestContext.get().getRequestParameter(oldKey);
+      }
       noinpDataMap.put(field.getColumn().getDBColumnName(),
           value == null || value.equals("") ? null : 
uiDef.formatValueToSQL(value.toString()));
     }
diff -r 0c884939d01f -r 6e49a06e209b 
src/org/openbravo/base/model/domaintype/BooleanDomainType.java
--- a/src/org/openbravo/base/model/domaintype/BooleanDomainType.java    Fri Dec 
24 12:47:58 2010 +0100
+++ b/src/org/openbravo/base/model/domaintype/BooleanDomainType.java    Fri Dec 
24 13:09:53 2010 +0100
@@ -39,10 +39,10 @@
     if (strValue == null || strValue.trim().length() == 0) {
       return null;
     }
-    if (strValue.equalsIgnoreCase("T")) {
+    if (strValue.equalsIgnoreCase("Y")) {
       return Boolean.TRUE;
     }
-    if (strValue.equalsIgnoreCase("F")) {
+    if (strValue.equalsIgnoreCase("N")) {
       return Boolean.FALSE;
     }
     return new Boolean(strValue);

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to