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