Aman-Mittal commented on code in PR #5417:
URL: https://github.com/apache/fineract/pull/5417#discussion_r2749648529


##########
fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/service/EmailReadPlatformServiceImpl.java:
##########
@@ -124,42 +125,67 @@ public EmailData retrieveOne(final Long resourceId) {
 
     @Override
     public Collection<EmailData> retrieveAllPending(final SearchParameters 
searchParameters) {
-        final String sqlPlusLimit = (searchParameters.getLimit() > 0) ? " " + 
sqlGenerator.limit(searchParameters.getLimit()) : "";
-        final String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum =? " + sqlPlusLimit;
+        String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?";
+        List<Object> params = new ArrayList<>();
+        params.add(EmailMessageStatusType.PENDING.getValue());
 
-        return this.jdbcTemplate.query(sql, this.emailRowMapper, 
EmailMessageStatusType.PENDING.getValue()); // NOSONAR
+        if (searchParameters.getLimit() > 0) {
+            sql += " " + sqlGenerator.limit(searchParameters.getLimit());
+        }
+
+        return this.jdbcTemplate.query(sql, this.emailRowMapper, 
params.toArray());
     }
 
     @Override
     public Collection<EmailData> retrieveAllSent(final SearchParameters 
searchParameters) {
-        final String sqlPlusLimit = (searchParameters.getLimit() > 0) ? " " + 
sqlGenerator.limit(searchParameters.getLimit()) : "";
-        final String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?" + sqlPlusLimit;
+        String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?";
+        List<Object> params = new ArrayList<>();
+        params.add(EmailMessageStatusType.SENT.getValue());
+
+        if (searchParameters.getLimit() > 0) {
+            sql += " " + sqlGenerator.limit(searchParameters.getLimit());
+        }
 
-        return this.jdbcTemplate.query(sql, this.emailRowMapper, 
EmailMessageStatusType.SENT.getValue()); // NOSONAR
+        return this.jdbcTemplate.query(sql, this.emailRowMapper, 
params.toArray());
     }
 
     @Override
     public List<Long> retrieveExternalIdsOfAllSent(final Integer limit) {
-        final String sqlPlusLimit = (limit > 0) ? " " + 
sqlGenerator.limit(limit) : "";
-        final String sql = "select external_id from " + 
this.emailRowMapper.tableName() + " where status_enum =? " + sqlPlusLimit;
+        String sql = "select external_id from " + 
this.emailRowMapper.tableName() + " where status_enum = ?";
+        List<Object> params = new ArrayList<>();
+        params.add(EmailMessageStatusType.SENT.getValue());
 
-        return this.jdbcTemplate.queryForList(sql, Long.class, 
EmailMessageStatusType.SENT.getValue()); // NOSONAR
+        if (limit > 0) {
+            sql += " " + sqlGenerator.limit(limit);
+        }
+
+        return this.jdbcTemplate.queryForList(sql, Long.class, 
params.toArray());
     }
 
     @Override
     public Collection<EmailData> retrieveAllDelivered(final Integer limit) {
-        final String sqlPlusLimit = (limit > 0) ? " " + 
sqlGenerator.limit(limit) : "";
-        final String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?" + sqlPlusLimit;
+        String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?";
+        List<Object> params = new ArrayList<>();
+        params.add(EmailMessageStatusType.DELIVERED.getValue());
+
+        if (limit > 0) {
+            sql += " " + sqlGenerator.limit(limit);
+        }
 
-        return this.jdbcTemplate.query(sql, this.emailRowMapper, 
EmailMessageStatusType.DELIVERED.getValue()); // NOSONAR
+        return this.jdbcTemplate.query(sql, this.emailRowMapper, 
params.toArray());
     }
 
     @Override
     public Collection<EmailData> retrieveAllFailed(final SearchParameters 
searchParameters) {
-        final String sqlPlusLimit = (searchParameters.getLimit() > 0) ? " " + 
sqlGenerator.limit(searchParameters.getLimit()) : "";
-        final String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?" + sqlPlusLimit;
+        String sql = "select " + this.emailRowMapper.schema() + " where 
emo.status_enum = ?";

Review Comment:
   I see a pattern here i think you can create helper function here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to