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