DataEngine.java:
* BF [ 1874419 ] JDBC Statement not close in a finally block * organized imports
This commit is contained in:
parent
a15b92ec31
commit
9d5cab42ef
|
@ -16,11 +16,30 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
package org.compiere.print;
|
package org.compiere.print;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.Clob;
|
||||||
import java.util.*;
|
import java.sql.PreparedStatement;
|
||||||
import java.util.logging.*;
|
import java.sql.ResultSet;
|
||||||
import org.compiere.model.*;
|
import java.sql.SQLException;
|
||||||
import org.compiere.util.*;
|
import java.sql.Timestamp;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import org.compiere.model.MLookupFactory;
|
||||||
|
import org.compiere.model.MQuery;
|
||||||
|
import org.compiere.model.MRole;
|
||||||
|
import org.compiere.model.MTable;
|
||||||
|
import org.compiere.util.CLogMgt;
|
||||||
|
import org.compiere.util.CLogger;
|
||||||
|
import org.compiere.util.DB;
|
||||||
|
import org.compiere.util.DisplayType;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.compiere.util.Ini;
|
||||||
|
import org.compiere.util.KeyNamePair;
|
||||||
|
import org.compiere.util.Language;
|
||||||
|
import org.compiere.util.Msg;
|
||||||
|
import org.compiere.util.Util;
|
||||||
|
import org.compiere.util.ValueNamePair;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data Engine.
|
* Data Engine.
|
||||||
|
@ -88,11 +107,12 @@ public class DataEngine
|
||||||
+ " INNER JOIN AD_ReportView rv ON (t.AD_Table_ID=rv.AD_Table_ID) "
|
+ " INNER JOIN AD_ReportView rv ON (t.AD_Table_ID=rv.AD_Table_ID) "
|
||||||
+ "WHERE rv.AD_ReportView_ID=?"; // 1
|
+ "WHERE rv.AD_ReportView_ID=?"; // 1
|
||||||
PreparedStatement pstmt = null;
|
PreparedStatement pstmt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pstmt = DB.prepareStatement(sql, null);
|
pstmt = DB.prepareStatement(sql, null);
|
||||||
pstmt.setInt(1, format.getAD_ReportView_ID());
|
pstmt.setInt(1, format.getAD_ReportView_ID());
|
||||||
ResultSet rs = pstmt.executeQuery();
|
rs = pstmt.executeQuery();
|
||||||
if (rs.next())
|
if (rs.next())
|
||||||
{
|
{
|
||||||
tableName = rs.getString(2); // TableName
|
tableName = rs.getString(2); // TableName
|
||||||
|
@ -102,7 +122,6 @@ public class DataEngine
|
||||||
if (!Util.isEmpty(whereClause))
|
if (!Util.isEmpty(whereClause))
|
||||||
query.addRestriction(whereClause);
|
query.addRestriction(whereClause);
|
||||||
}
|
}
|
||||||
rs.close();
|
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
|
@ -111,31 +130,13 @@ public class DataEngine
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
DB.close(pstmt);
|
DB.close(rs, pstmt);
|
||||||
|
rs = null; pstmt = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String sql = "SELECT TableName FROM AD_Table WHERE AD_Table_ID=?"; // #1
|
tableName = MTable.getTableName(ctx, format.getAD_Table_ID());
|
||||||
PreparedStatement pstmt = null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
pstmt = DB.prepareStatement(sql.toString(), null);
|
|
||||||
pstmt.setInt(1, format.getAD_Table_ID());
|
|
||||||
ResultSet rs = pstmt.executeQuery();
|
|
||||||
if (rs.next())
|
|
||||||
tableName = rs.getString(1); // TableName
|
|
||||||
rs.close();
|
|
||||||
}
|
|
||||||
catch (SQLException e1)
|
|
||||||
{
|
|
||||||
log.log(Level.SEVERE, sql, e1);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
DB.close(pstmt);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (tableName == null)
|
if (tableName == null)
|
||||||
{
|
{
|
||||||
|
@ -525,7 +526,6 @@ public class DataEngine
|
||||||
|
|
||||||
columns.add(pdc);
|
columns.add(pdc);
|
||||||
} // for all Fields in Tab
|
} // for all Fields in Tab
|
||||||
rs.close();
|
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
|
@ -668,11 +668,12 @@ public class DataEngine
|
||||||
+ "WHERE rt.AD_Reference_ID=?" // 1
|
+ "WHERE rt.AD_Reference_ID=?" // 1
|
||||||
+ " AND rt.IsActive = 'Y' AND t.IsActive = 'Y'";
|
+ " AND rt.IsActive = 'Y' AND t.IsActive = 'Y'";
|
||||||
PreparedStatement pstmt = null;
|
PreparedStatement pstmt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pstmt = DB.prepareStatement(SQL, null);
|
pstmt = DB.prepareStatement(SQL, null);
|
||||||
pstmt.setInt (1, AD_Reference_Value_ID);
|
pstmt.setInt (1, AD_Reference_Value_ID);
|
||||||
ResultSet rs = pstmt.executeQuery();
|
rs = pstmt.executeQuery();
|
||||||
if (rs.next())
|
if (rs.next())
|
||||||
{
|
{
|
||||||
tr.TableName = rs.getString(1);
|
tr.TableName = rs.getString(1);
|
||||||
|
@ -681,7 +682,6 @@ public class DataEngine
|
||||||
tr.IsValueDisplayed = "Y".equals(rs.getString(4));
|
tr.IsValueDisplayed = "Y".equals(rs.getString(4));
|
||||||
tr.IsTranslated = "Y".equals(rs.getString(5));
|
tr.IsTranslated = "Y".equals(rs.getString(5));
|
||||||
}
|
}
|
||||||
rs.close();
|
|
||||||
}
|
}
|
||||||
catch (SQLException ex)
|
catch (SQLException ex)
|
||||||
{
|
{
|
||||||
|
@ -689,7 +689,8 @@ public class DataEngine
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
DB.close(pstmt);
|
DB.close(rs, pstmt);
|
||||||
|
rs = null; pstmt = null;
|
||||||
}
|
}
|
||||||
return tr;
|
return tr;
|
||||||
} // getTableReference
|
} // getTableReference
|
||||||
|
@ -711,10 +712,11 @@ public class DataEngine
|
||||||
int levelNo = 0;
|
int levelNo = 0;
|
||||||
//
|
//
|
||||||
PreparedStatement pstmt = null;
|
PreparedStatement pstmt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pstmt = DB.prepareStatement(pd.getSQL(), null);
|
pstmt = DB.prepareStatement(pd.getSQL(), null);
|
||||||
ResultSet rs = pstmt.executeQuery();
|
rs = pstmt.executeQuery();
|
||||||
// Row Loop
|
// Row Loop
|
||||||
while (rs.next())
|
while (rs.next())
|
||||||
{
|
{
|
||||||
|
@ -900,7 +902,6 @@ public class DataEngine
|
||||||
} // for all columns
|
} // for all columns
|
||||||
|
|
||||||
} // for all rows
|
} // for all rows
|
||||||
rs.close();
|
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
|
@ -908,7 +909,8 @@ public class DataEngine
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
DB.close(pstmt);
|
DB.close(rs, pstmt);
|
||||||
|
rs = null; pstmt = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- we have all rows - finish
|
// -- we have all rows - finish
|
||||||
|
|
Loading…
Reference in New Issue