details:   /erp/devel/pi/rev/8a3f82b01a3e
changeset: 13102:8a3f82b01a3e
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Tue Jul 05 14:03:51 2011 +0200
summary:   Fixed issue 17889.Build validation now checks the existance of 
AD_Alert.status column.

diffstat:

 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.class
                       |    0 
 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.class
                   |    0 
 
modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.java
         |   12 +-
 
modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck_data.xsql
    |   25 ++-
 
modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.java
 |   80 +++++++++-
 5 files changed, 110 insertions(+), 7 deletions(-)

diffs (190 lines):

diff -r 05cdc556ab64 -r 8a3f82b01a3e 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.class
Binary file 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.class
 has changed
diff -r 05cdc556ab64 -r 8a3f82b01a3e 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.class
Binary file 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.class
 has changed
diff -r 05cdc556ab64 -r 8a3f82b01a3e 
modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.java
--- 
a/modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.java
      Tue Jul 05 13:42:54 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.java
      Tue Jul 05 14:03:51 2011 +0200
@@ -66,8 +66,15 @@
       StringBuilder msg = new StringBuilder();
 
       for (int i = 0; i < alert.length; i++) {
-        if (!WrongPaymentScheduleDetailsCheckData.existsReference(cp, 
adAlertruleId,
-            alert[i].referencekeyId)) {
+        boolean existsReference = false;
+        if (WrongPaymentScheduleDetailsCheckData.existsStatusColumn(cp)) {
+          existsReference = 
WrongPaymentScheduleDetailsCheckData.existsReference(cp, adAlertruleId,
+              alert[i].referencekeyId);
+        } else {
+          existsReference = 
WrongPaymentScheduleDetailsCheckData.existsReferenceOld(cp,
+              adAlertruleId, alert[i].referencekeyId);
+        }
+        if (!existsReference) {
           WrongPaymentScheduleDetailsCheckData.insertAlert(cp, 
alert[i].adClientId,
               alert[i].description, alertRule[0].adAlertruleId, 
alert[i].recordId,
               alert[i].referencekeyId);
@@ -76,5 +83,4 @@
 
     }
   }
-
 }
diff -r 05cdc556ab64 -r 8a3f82b01a3e 
modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck_data.xsql
--- 
a/modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck_data.xsql
 Tue Jul 05 13:42:54 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck_data.xsql
 Tue Jul 05 14:03:51 2011 +0200
@@ -99,6 +99,15 @@
     ]]></Sql>
     <Parameter name="sql" type="replace" optional="true" after="FROM (" 
text="SELECT '' AS DESCRIPTION, '' AS RECORD_ID, '' AS REFERENCEKEY_ID, '' AS 
AD_CLIENT_ID FROM DUAL"/>
   </SqlMethod>
+  <SqlMethod name="existsStatusColumn" type="preparedStatement" 
return="boolean">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql><![CDATA[
+       SELECT COUNT(*) AS EXISTING
+       FROM  user_tab_columns
+       WHERE lower(table_name) like 'ad_alert'
+         AND lower(column_name) like 'status'
+    ]]></Sql>
+  </SqlMethod>
   <SqlMethod name="existsReference" type="preparedStatement" return="boolean">
     <SqlMethodComment></SqlMethodComment>
     <Sql><![CDATA[
@@ -111,6 +120,18 @@
     <Parameter name="alertRule"/>
     <Parameter name="ref"/>
   </SqlMethod>
+  <SqlMethod name="existsReferenceOld" type="preparedStatement" 
return="boolean">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql><![CDATA[
+       SELECT COUNT(*) AS EXISTING
+       FROM AD_ALERT
+       WHERE AD_ALERTRULE_ID = ?
+         AND REFERENCEKEY_ID = ?
+         AND ISFIXED = 'N'
+    ]]></Sql>
+    <Parameter name="alertRule"/>
+    <Parameter name="ref"/>
+  </SqlMethod>
   <SqlMethod name="insertAlertRule" type="preparedStatement" return="rowcount">
     <SqlMethodComment></SqlMethodComment>
     <Sql><![CDATA[
@@ -159,11 +180,11 @@
       INSERT INTO AD_Alert (
         AD_Alert_ID, AD_Client_ID, AD_Org_ID, IsActive,
         Created, CreatedBy, Updated, UpdatedBy,
-        Description, AD_AlertRule_ID, Record_Id, Referencekey_ID, status
+        Description, AD_AlertRule_ID, Record_Id, Referencekey_ID
       ) VALUES (
         get_uuid(), ?, '0', 'Y',
         NOW(), '0', NOW(), '0',
-        ?, ?, ?, ?, 'NEW')
+        ?, ?, ?, ?)
       ]]>
     </Sql>
     <Parameter name="client" />
diff -r 05cdc556ab64 -r 8a3f82b01a3e 
modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.java
--- 
a/modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.java
      Tue Jul 05 13:42:54 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.java
      Tue Jul 05 14:03:51 2011 +0200
@@ -440,6 +440,42 @@
     return(objectWrongPaymentScheduleDetailsCheckData);
   }
 
+  public static boolean existsStatusColumn(ConnectionProvider 
connectionProvider)    throws ServletException {
+    String strSql = "";
+    strSql = strSql + 
+      "       SELECT COUNT(*) AS EXISTING" +
+      "       FROM  user_tab_columns" +
+      "       WHERE lower(table_name) like 'ad_alert'" +
+      "         AND lower(column_name) like 'status'";
+
+    ResultSet result;
+    boolean boolReturn = false;
+    PreparedStatement st = null;
+
+    try {
+    st = connectionProvider.getPreparedStatement(strSql);
+
+      result = st.executeQuery();
+      if(result.next()) {
+        boolReturn = !UtilSql.getValue(result, "EXISTING").equals("0");
+      }
+      result.close();
+    } catch(SQLException e){
+      log4j.error("SQL error in query: " + strSql + "Exception:"+ e);
+      throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) 
+ "@" + e.getMessage());
+    } catch(Exception ex){
+      log4j.error("Exception in query: " + strSql + "Exception:"+ ex);
+      throw new ServletException("@CODE=@" + ex.getMessage());
+    } finally {
+      try {
+        connectionProvider.releasePreparedStatement(st);
+      } catch(Exception ignore){
+        ignore.printStackTrace();
+      }
+    }
+    return(boolReturn);
+  }
+
   public static boolean existsReference(ConnectionProvider connectionProvider, 
String alertRule, String ref)    throws ServletException {
     String strSql = "";
     strSql = strSql + 
@@ -480,6 +516,46 @@
     return(boolReturn);
   }
 
+  public static boolean existsReferenceOld(ConnectionProvider 
connectionProvider, String alertRule, String ref)    throws ServletException {
+    String strSql = "";
+    strSql = strSql + 
+      "       SELECT COUNT(*) AS EXISTING" +
+      "       FROM AD_ALERT" +
+      "       WHERE AD_ALERTRULE_ID = ?" +
+      "         AND REFERENCEKEY_ID = ?" +
+      "         AND ISFIXED = 'N'";
+
+    ResultSet result;
+    boolean boolReturn = false;
+    PreparedStatement st = null;
+
+    int iParameter = 0;
+    try {
+    st = connectionProvider.getPreparedStatement(strSql);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, alertRule);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, ref);
+
+      result = st.executeQuery();
+      if(result.next()) {
+        boolReturn = !UtilSql.getValue(result, "EXISTING").equals("0");
+      }
+      result.close();
+    } catch(SQLException e){
+      log4j.error("SQL error in query: " + strSql + "Exception:"+ e);
+      throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) 
+ "@" + e.getMessage());
+    } catch(Exception ex){
+      log4j.error("Exception in query: " + strSql + "Exception:"+ ex);
+      throw new ServletException("@CODE=@" + ex.getMessage());
+    } finally {
+      try {
+        connectionProvider.releasePreparedStatement(st);
+      } catch(Exception ignore){
+        ignore.printStackTrace();
+      }
+    }
+    return(boolReturn);
+  }
+
   public static int insertAlertRule(ConnectionProvider connectionProvider, 
String alertRuleId)    throws ServletException {
     String strSql = "";
     strSql = strSql + 
@@ -551,11 +627,11 @@
       "      INSERT INTO AD_Alert (" +
       "        AD_Alert_ID, AD_Client_ID, AD_Org_ID, IsActive," +
       "        Created, CreatedBy, Updated, UpdatedBy," +
-      "        Description, AD_AlertRule_ID, Record_Id, Referencekey_ID, 
status" +
+      "        Description, AD_AlertRule_ID, Record_Id, Referencekey_ID" +
       "      ) VALUES (" +
       "        get_uuid(), ?, '0', 'Y'," +
       "        NOW(), '0', NOW(), '0'," +
-      "        ?, ?, ?, ?, 'NEW')";
+      "        ?, ?, ?, ?)";
 
     int updateCount = 0;
     PreparedStatement st = null;

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to