From 5a6ad11fa2ca3de64b94095c628bd3ba12e618c3 Mon Sep 17 00:00:00 2001 From: Ian Southam Date: Wed, 12 Feb 2014 17:08:52 +0100 Subject: [PATCH] findbugs findings Signed-off-by: Hugo Trippaers --- .../db/src/com/cloud/utils/db/Filter.java | 2 +- .../com/cloud/utils/db/GenericDaoBase.java | 27 ++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/framework/db/src/com/cloud/utils/db/Filter.java b/framework/db/src/com/cloud/utils/db/Filter.java index b2482fdb3a2..fdcad9c3e54 100755 --- a/framework/db/src/com/cloud/utils/db/Filter.java +++ b/framework/db/src/com/cloud/utils/db/Filter.java @@ -79,7 +79,7 @@ public class Filter { String name = column != null ? column.name() : field; StringBuilder order = new StringBuilder(); - if (column.table() == null || column.table().length() == 0) { + if (column == null || column.table() == null || column.table().length() == 0) { order.append(DbUtil.getTableName(clazz)); } else { order.append(column.table()); diff --git a/framework/db/src/com/cloud/utils/db/GenericDaoBase.java b/framework/db/src/com/cloud/utils/db/GenericDaoBase.java index f282428b8de..d929e00cbc1 100755 --- a/framework/db/src/com/cloud/utils/db/GenericDaoBase.java +++ b/framework/db/src/com/cloud/utils/db/GenericDaoBase.java @@ -396,10 +396,10 @@ public abstract class GenericDaoBase extends Compone final List result = new ArrayList(); try { pstmt = txn.prepareAutoCloseStatement(sql); - int i = 0; + int i = 1; if (clause != null) { for (final Pair value : sc.getValues()) { - prepareAttribute(++i, pstmt, value.first(), value.second()); + prepareAttribute(i++, pstmt, value.first(), value.second()); } } @@ -431,10 +431,13 @@ public abstract class GenericDaoBase extends Compone @Override @SuppressWarnings("unchecked") public List customSearchIncludingRemoved(SearchCriteria sc, final Filter filter) { + if (sc == null) { + throw new CloudRuntimeException("Call to customSearchIncludingRemoved with null search Criteria"); + } if (sc.isSelectAll()) { return (List)searchIncludingRemoved((SearchCriteria)sc, filter, null, false); } - String clause = sc != null ? sc.getWhereClause() : null; + String clause = sc.getWhereClause(); if (clause != null && clause.length() == 0) { clause = null; } @@ -445,11 +448,9 @@ public abstract class GenericDaoBase extends Compone } Collection>> joins = null; - if (sc != null) { - joins = sc.getJoins(); - if (joins != null) { - addJoins(str, joins); - } + joins = sc.getJoins(); + if (joins != null) { + addJoins(str, joins); } List groupByValues = addGroupBy(str, sc); @@ -461,10 +462,10 @@ public abstract class GenericDaoBase extends Compone PreparedStatement pstmt = null; try { pstmt = txn.prepareAutoCloseStatement(sql); - int i = 0; + int i = 1; if (clause != null) { for (final Pair value : sc.getValues()) { - prepareAttribute(++i, pstmt, value.first(), value.second()); + prepareAttribute(i++, pstmt, value.first(), value.second()); } } @@ -1070,6 +1071,8 @@ public abstract class GenericDaoBase extends Compone @DB() protected List addGroupBy(final StringBuilder sql, SearchCriteria sc) { + if (sc == null) + return null; Pair, List> groupBys = sc.getGroupBy(); if (groupBys != null) { groupBys.first().toSql(sql); @@ -1179,6 +1182,10 @@ public abstract class GenericDaoBase extends Compone // FIXME: Does not work for joins. @Override public int expunge(final SearchCriteria sc) { + if (sc == null) { + throw new CloudRuntimeException("Call to throw new expunge with null search Criteria"); + } + final StringBuilder str = new StringBuilder("DELETE FROM "); str.append(_table); str.append(" WHERE ");