From 7c0e11a0510638175c19f6162e7b476be338fc9d Mon Sep 17 00:00:00 2001 From: teo_sarca Date: Thu, 28 Aug 2008 10:21:39 +0000 Subject: [PATCH] MWarehouse: * BF [ 1874419 ] JDBC Statement not close in a finally block * organized imports * exception handling improvements (use saveEx instead of save) --- base/src/org/compiere/model/MWarehouse.java | 128 +++++--------------- 1 file changed, 28 insertions(+), 100 deletions(-) diff --git a/base/src/org/compiere/model/MWarehouse.java b/base/src/org/compiere/model/MWarehouse.java index 9c3c1f61c4..b6a4ecf04c 100644 --- a/base/src/org/compiere/model/MWarehouse.java +++ b/base/src/org/compiere/model/MWarehouse.java @@ -16,10 +16,11 @@ *****************************************************************************/ package org.compiere.model; -import java.sql.*; -import java.util.*; -import java.util.logging.*; -import org.compiere.util.*; +import java.sql.ResultSet; +import java.util.List; +import java.util.Properties; + +import org.compiere.util.CCache; /** * Warehouse Model @@ -27,10 +28,14 @@ import org.compiere.util.*; * @author Jorg Janke * @author victor.perez@e-evolution.com * @see FR [ 1966337 ] New Method to get the Transit Warehouse based in ID Org http://sourceforge.net/tracker/index.php?func=detail&aid=1966337&group_id=176962&atid=879335 + * @author Teo Sarca, http://www.arhipac.ro + *
  • BF [ 1874419 ] JDBC Statement not close in a finally block * @version $Id: MWarehouse.java,v 1.3 2006/07/30 00:58:05 jjanke Exp $ */ public class MWarehouse extends X_M_Warehouse { + private static final long serialVersionUID = 1L; + /** * Get from Cache * @param ctx context @@ -57,37 +62,12 @@ public class MWarehouse extends X_M_Warehouse */ public static MWarehouse[] getForOrg (Properties ctx, int AD_Org_ID) { - ArrayList list = new ArrayList(); - String sql = "SELECT * FROM M_Warehouse WHERE IsActive = 'Y' AND AD_Org_ID=? ORDER BY Created"; - PreparedStatement pstmt = null; - try - { - pstmt = DB.prepareStatement (sql, null); - pstmt.setInt (1, AD_Org_ID); - ResultSet rs = pstmt.executeQuery (); - while (rs.next ()) - list.add (new MWarehouse (ctx, rs, null)); - rs.close (); - pstmt.close (); - pstmt = null; - } - catch (Exception e) - { - s_log.log(Level.SEVERE, sql, e); - } - try - { - if (pstmt != null) - pstmt.close (); - pstmt = null; - } - catch (Exception e) - { - pstmt = null; - } - MWarehouse[] retValue = new MWarehouse[list.size ()]; - list.toArray (retValue); - return retValue; + String whereClause = "IsActive=? AND AD_Org_ID=?"; + List list = new Query(ctx, Table_Name, whereClause, null) + .setParameters(new Object[]{"Y", AD_Org_ID}) + .setOrderBy(COLUMNNAME_M_Warehouse_ID) + .list(); + return list.toArray(new MWarehouse[list.size()]); } // get /** @@ -99,43 +79,16 @@ public class MWarehouse extends X_M_Warehouse */ public static MWarehouse[] getInTransitForOrg (Properties ctx, int AD_Org_ID) { - ArrayList list = new ArrayList(); - String sql = "SELECT * FROM M_Warehouse WHERE IsActive = 'Y' AND IsInTransit = 'Y' AND AD_Org_ID=? ORDER BY Created"; - PreparedStatement pstmt = null; - try - { - pstmt = DB.prepareStatement (sql, null); - pstmt.setInt (1, AD_Org_ID); - ResultSet rs = pstmt.executeQuery (); - while (rs.next ()) - list.add (new MWarehouse (ctx, rs, null)); - rs.close (); - pstmt.close (); - pstmt = null; - } - catch (Exception e) - { - s_log.log(Level.SEVERE, sql, e); - } - try - { - if (pstmt != null) - pstmt.close (); - pstmt = null; - } - catch (Exception e) - { - pstmt = null; - } - MWarehouse[] retValue = new MWarehouse[list.size ()]; - list.toArray (retValue); - return retValue; + String whereClause = "IsActive=? AND IsInTransit=? AND AD_Org_ID=?"; + List list = new Query(ctx, Table_Name, whereClause, null) + .setParameters(new Object[]{"Y", "Y", AD_Org_ID}) + .setOrderBy(COLUMNNAME_M_Warehouse_ID) + .list(); + return list.toArray(new MWarehouse[list.size()]); } // get /** Cache */ private static CCache s_cache = new CCache("M_Warehouse", 5); - /** Static Logger */ - private static CLogger s_log = CLogger.getCLogger (MWarehouse.class); /** * Standard Constructor @@ -193,37 +146,12 @@ public class MWarehouse extends X_M_Warehouse if (!reload && m_locators != null) return m_locators; // - String sql = "SELECT * FROM M_Locator WHERE IsActive = 'Y' AND M_Warehouse_ID=? ORDER BY X,Y,Z"; - ArrayList list = new ArrayList(); - PreparedStatement pstmt = null; - try - { - pstmt = DB.prepareStatement (sql, null); - pstmt.setInt (1, getM_Warehouse_ID()); - ResultSet rs = pstmt.executeQuery (); - while (rs.next ()) - list.add(new MLocator (getCtx(), rs, null)); - rs.close (); - pstmt.close (); - pstmt = null; - } - catch (Exception e) - { - log.log(Level.SEVERE, sql, e); - } - try - { - if (pstmt != null) - pstmt.close (); - pstmt = null; - } - catch (Exception e) - { - pstmt = null; - } - // - m_locators = new MLocator[list.size()]; - list.toArray (m_locators); + final String whereClause = "IsActive=? AND M_Warehouse_ID=?"; + List list = new Query(getCtx(), MLocator.Table_Name, whereClause, null) + .setParameters(new Object[]{"Y", getM_Warehouse_ID()}) + .setOrderBy("X,Y,Z") + .list(); + m_locators = list.toArray(new MLocator[list.size()]); return m_locators; } // getLocators @@ -248,7 +176,7 @@ public class MWarehouse extends X_M_Warehouse // No Locator - create one MLocator loc = new MLocator (this, "Standard"); loc.setIsDefault(true); - loc.save(); + loc.saveEx(); log.info("Created default locator for " + getName()); return loc; } // getLocators