From 1d4ca12e3cfe68a16fe44437bd3040c15a1a1c0e Mon Sep 17 00:00:00 2001 From: chenson42 Date: Tue, 8 Mar 2011 18:00:52 +0000 Subject: [PATCH] do some validation at the service level. --- .../service/impl/IncomingBatchService.java | 51 +++++++++------- .../service/impl/OutgoingBatchService.java | 60 +++++++++++-------- 2 files changed, 63 insertions(+), 48 deletions(-) diff --git a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/IncomingBatchService.java b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/IncomingBatchService.java index f3a6401f93..07773d3d60 100644 --- a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/IncomingBatchService.java +++ b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/IncomingBatchService.java @@ -76,29 +76,36 @@ public List listIncomingBatchTimes(List nodeIds, List chan public List listIncomingBatches(List nodeIds, List channels, List statuses, Date startAtCreateTime, final int maxRowsToRetrieve) { - Map params = new HashMap(); - params.put("NODES", nodeIds); - params.put("CHANNELS", channels); - params.put("STATUSES", toStringList(statuses)); - params.put("CREATE_TIME", startAtCreateTime); - - NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(jdbcTemplate); - ResultSetExtractor> extractor = new ResultSetExtractor>() { - IncomingBatchMapper rowMapper = new IncomingBatchMapper(); - public List extractData(ResultSet rs) throws SQLException, DataAccessException { - List list = new ArrayList(maxRowsToRetrieve); - int count = 0; - while (rs.next() && count < maxRowsToRetrieve) { - list.add(rowMapper.mapRow(rs, ++count)); + if (nodeIds.size() > 0 && channels.size() > 0 && statuses.size() > 0) { + Map params = new HashMap(); + params.put("NODES", nodeIds); + params.put("CHANNELS", channels); + params.put("STATUSES", toStringList(statuses)); + params.put("CREATE_TIME", startAtCreateTime); + + NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(jdbcTemplate); + ResultSetExtractor> extractor = new ResultSetExtractor>() { + IncomingBatchMapper rowMapper = new IncomingBatchMapper(); + + public List extractData(ResultSet rs) throws SQLException, + DataAccessException { + List list = new ArrayList(maxRowsToRetrieve); + int count = 0; + while (rs.next() && count < maxRowsToRetrieve) { + list.add(rowMapper.mapRow(rs, ++count)); + } + return list; } - return list; - } - }; - - List list = template.query( - getSql("selectIncomingBatchPrefixSql","listIncomingBatchesSql"), new MapSqlParameterSource(params), extractor); - return list; - } + }; + + List list = template.query( + getSql("selectIncomingBatchPrefixSql", "listIncomingBatchesSql"), + new MapSqlParameterSource(params), extractor); + return list; + } else { + return new ArrayList(0); + } + } protected List toStringList(List statuses) { List statusStrings = new ArrayList(statuses.size()); diff --git a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/OutgoingBatchService.java b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/OutgoingBatchService.java index d93cf1e5eb..6d361a5951 100644 --- a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/OutgoingBatchService.java +++ b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/OutgoingBatchService.java @@ -166,33 +166,41 @@ public int countOutgoingBatches(List nodeIds, List channels, public List listOutgoingBatches(List nodeIds, List channels, List statuses, long startAtBatchId, final int maxRowsToRetrieve) { - Map params = new HashMap(); - params.put("NODES", nodeIds); - params.put("CHANNELS", channels); - params.put("STATUSES", toStringList(statuses)); - String startAtBatchIdSql = null; - if (startAtBatchId > 0) { - params.put("BATCH_ID", startAtBatchId); - startAtBatchIdSql = " and batch_id < :BATCH_ID "; - } - - NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(dataSource); - ResultSetExtractor> extractor = new ResultSetExtractor>() { - OutgoingBatchMapper rowMapper = new OutgoingBatchMapper(); - public List extractData(ResultSet rs) throws SQLException, DataAccessException { - List list = new ArrayList(maxRowsToRetrieve); - int count = 0; - while (rs.next() && count < maxRowsToRetrieve) { - list.add(rowMapper.mapRow(rs, ++count)); - } - return list; + if (nodeIds.size() > 0 && channels.size() > 0 && statuses.size() > 0) { + Map params = new HashMap(); + params.put("NODES", nodeIds); + params.put("CHANNELS", channels); + params.put("STATUSES", toStringList(statuses)); + String startAtBatchIdSql = null; + if (startAtBatchId > 0) { + params.put("BATCH_ID", startAtBatchId); + startAtBatchIdSql = " and batch_id < :BATCH_ID "; } - }; - - List list = template.query( - getSql("selectOutgoingBatchPrefixSql", "selectOutgoingBatchByChannelAndStatusSql", - startAtBatchIdSql, " order by batch_id desc"), new MapSqlParameterSource(params), extractor); - return list; + + NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(dataSource); + ResultSetExtractor> extractor = new ResultSetExtractor>() { + OutgoingBatchMapper rowMapper = new OutgoingBatchMapper(); + + public List extractData(ResultSet rs) throws SQLException, + DataAccessException { + List list = new ArrayList(maxRowsToRetrieve); + int count = 0; + while (rs.next() && count < maxRowsToRetrieve) { + list.add(rowMapper.mapRow(rs, ++count)); + } + return list; + } + }; + + List list = template.query( + getSql("selectOutgoingBatchPrefixSql", + "selectOutgoingBatchByChannelAndStatusSql", startAtBatchIdSql, + " order by batch_id desc"), new MapSqlParameterSource(params), + extractor); + return list; + } else { + return new ArrayList(0); + } } protected List toStringList(List statuses) {