details:   /erp/devel/pi/rev/bce4bc9e881e
changeset: 9117:bce4bc9e881e
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Tue Dec 14 11:45:49 2010 +0100
summary:   fixed bug 14633: Wrong behaviour when printing messages using OBError

diffstat:

 src/org/openbravo/erpCommon/utility/MessageBD_data.xsql |  39 +++++-----------
 src/org/openbravo/erpCommon/utility/Utility.java        |  15 ++---
 2 files changed, 19 insertions(+), 35 deletions(-)

diffs (101 lines):

diff -r 79d70b18309e -r bce4bc9e881e 
src/org/openbravo/erpCommon/utility/MessageBD_data.xsql
--- a/src/org/openbravo/erpCommon/utility/MessageBD_data.xsql   Tue Dec 14 
10:43:05 2010 +0100
+++ b/src/org/openbravo/erpCommon/utility/MessageBD_data.xsql   Tue Dec 14 
11:45:49 2010 +0100
@@ -12,7 +12,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2001-2006 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2010 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -36,41 +36,28 @@
     <Parameter name="language"/>
     <Parameter name="value"/>
   </SqlMethod>
+  
   <SqlMethod name="message" type="preparedStatement" return="String" 
default="">
     <SqlMethodComment></SqlMethodComment>
     <Sql>
-      SELECT MSGTEXT FROM AD_MESSAGE WHERE VALUE=?
+         SELECT coalesce(t.MSGTEXT, m.MSGTEXT) AS MSGTEXT 
+           FROM AD_MESSAGE m left join AD_MESSAGE_TRL t on m.AD_MESSAGE_ID = 
t.AD_MESSAGE_ID 
+                                   and t.AD_LANGUAGE = ?
+          WHERE m.VALUE=?
     </Sql>
+    <Parameter name="language"/>
     <Parameter name="value"/>
   </SqlMethod>
-  <SqlMethod name="messageLanguage" type="preparedStatement" return="String" 
default="">
-    <SqlMethodComment></SqlMethodComment>
-    <Sql>
-      SELECT AD_MESSAGE_TRL.MSGTEXT 
-      FROM AD_MESSAGE, AD_MESSAGE_TRL WHERE AD_MESSAGE.VALUE=? 
-      AND AD_MESSAGE.AD_MESSAGE_ID = AD_MESSAGE_TRL.AD_MESSAGE_ID 
-      AND AD_MESSAGE_TRL.AD_LANGUAGE = ?
-    </Sql>
-    <Parameter name="value"/>
-    <Parameter name="language"/>
-  </SqlMethod>
+  
   <SqlMethod name="columnname" type="preparedStatement" return="String" 
default="">
     <SqlMethodComment></SqlMethodComment>
     <Sql>
-      SELECT NAME FROM AD_ELEMENT WHERE COLUMNNAME=?
+     SELECT coalesce(E_TRL.NAME, E.NAME) AS NAME 
+      FROM AD_ELEMENT E left join AD_ELEMENT_TRL E_TRL on E.AD_ELEMENT_ID = 
E_TRL.AD_ELEMENT_ID 
+                                                      and E_TRL.AD_LANGUAGE = ?
+      where E.COLUMNNAME=?
     </Sql>
+    <Parameter name="language"/>
     <Parameter name="value"/>
   </SqlMethod>
-  <SqlMethod name="columnnameLanguage" type="preparedStatement" 
return="String" default="">
-    <SqlMethodComment></SqlMethodComment>
-    <Sql>
-      SELECT (case when E_TRL.NAME IS NULL then E.NAME else E_TRL.NAME end) AS 
NAME 
-      FROM AD_ELEMENT E, AD_ELEMENT_TRL E_TRL 
-      WHERE E.AD_ELEMENT_ID = E_TRL.AD_ELEMENT_ID 
-      AND E.COLUMNNAME=? 
-      AND E_TRL.AD_LANGUAGE = ? 
-    </Sql>
-    <Parameter name="value"/>
-    <Parameter name="language"/>
-  </SqlMethod>
 </SqlClass>
diff -r 79d70b18309e -r bce4bc9e881e 
src/org/openbravo/erpCommon/utility/Utility.java
--- a/src/org/openbravo/erpCommon/utility/Utility.java  Tue Dec 14 10:43:05 
2010 +0100
+++ b/src/org/openbravo/erpCommon/utility/Utility.java  Tue Dec 14 11:45:49 
2010 +0100
@@ -297,25 +297,22 @@
 
     try {
       log4j.debug("Utility.messageBD - Message Code: " + strCode);
-      if (strLanguage.equals("en_US"))
-        strMessage = MessageBDData.message(conn, strCode);
-      else
-        strMessage = MessageBDData.messageLanguage(conn, strCode, strLanguage);
+      strMessage = MessageBDData.message(conn, strLanguage, strCode);
     } catch (final Exception ignore) {
+      log4j.error("Error getting message", ignore);
     }
     log4j.debug("Utility.messageBD - Message description: " + strMessage);
     if (strMessage == null || strMessage.equals("")) {
       try {
-        if (strLanguage.equals("en_US"))
-          strMessage = MessageBDData.columnname(conn, strCode);
-        else
-          strMessage = MessageBDData.columnnameLanguage(conn, strCode, 
strLanguage);
+        strMessage = MessageBDData.columnname(conn, strLanguage, strCode);
       } catch (final Exception e) {
+        log4j.error("Error getting message", e);
         strMessage = strCode;
       }
     }
-    if (strMessage == null || strMessage.equals(""))
+    if (strMessage == null || strMessage.equals("")) {
       strMessage = strCode;
+    }
     return Replace.replace(Replace.replace(strMessage, "\n", "\\n"), "\"", 
"&quot;");
   }
 

------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to