Skip to content

Commit 8ec5acd

Browse files
committed
FINERACT-1095: Remove last pieces of sqlSearch
1 parent 3198b1b commit 8ec5acd

File tree

5 files changed

+14
-180
lines changed

5 files changed

+14
-180
lines changed

fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ public interface TellerManagementReadPlatformService {
3939

4040
Collection<CashierData> getCashierData(Long officeId, Long tellerId, Long staffId, LocalDate date);
4141

42-
Collection<CashierData> getTellerCashiers(Long tellerId, LocalDate date);
43-
4442
CashierData retrieveCashierTemplate(Long officeId, Long tellerId, boolean staffInSelectedOfficeOnly);
4543

4644
CashierTransactionData retrieveCashierTxnTemplate(Long cashierId);
@@ -53,13 +51,9 @@ public interface TellerManagementReadPlatformService {
5351

5452
Collection<TellerJournalData> fetchTellerJournals(Long tellerId, Long cashierId, LocalDate fromDate, LocalDate toDate);
5553

56-
Collection<TellerData> retrieveAllTellersForDropdown(Long officeId);
57-
58-
Collection<TellerData> retrieveAllTellers(String sqlSearch, Long officeId, String status);
59-
6054
Collection<CashierData> getCashiersForTeller(Long tellerId, LocalDate fromDate, LocalDate toDate);
6155

62-
Collection<CashierData> retrieveCashiersForTellers(String sqlSearch, Long tellerId);
56+
Collection<CashierData> retrieveCashiersForTellers(Long tellerId);
6357

6458
Page<CashierTransactionData> retrieveCashierTransactions(Long cashierId, boolean includeAllTellers, LocalDate fromDate,
6559
LocalDate toDate, String currencyCode, SearchParameters searchParameters);

fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/api/EmailApiResource.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,11 @@ public String retrieveSentEmail(@QueryParam("offset") final Integer offset, @Que
108108

109109
@GET
110110
@Path("messageByStatus")
111-
public String retrieveAllEmailByStatus(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset,
112-
@QueryParam("limit") final Integer limit, @QueryParam("status") final Integer status,
113-
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder,
114-
@QueryParam("fromDate") final DateParam fromDateParam, @QueryParam("toDate") final DateParam toDateParam,
115-
@QueryParam("locale") final String locale, @QueryParam("dateFormat") final String rawDateFormat,
116-
@Context final UriInfo uriInfo) {
111+
public String retrieveAllEmailByStatus(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
112+
@QueryParam("status") final Integer status, @QueryParam("orderBy") final String orderBy,
113+
@QueryParam("sortOrder") final String sortOrder, @QueryParam("fromDate") final DateParam fromDateParam,
114+
@QueryParam("toDate") final DateParam toDateParam, @QueryParam("locale") final String locale,
115+
@QueryParam("dateFormat") final String rawDateFormat, @Context final UriInfo uriInfo) {
117116

118117
final DateFormat dateFormat = StringUtils.isBlank(rawDateFormat) ? null : new DateFormat(rawDateFormat);
119118

@@ -133,9 +132,8 @@ public String retrieveAllEmailByStatus(@QueryParam("sqlSearch") final String sql
133132

134133
@GET
135134
@Path("failedEmail")
136-
public String retrieveFailedEmail(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset,
137-
@QueryParam("limit") final Integer limit, @QueryParam("orderBy") final String orderBy,
138-
@QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
135+
public String retrieveFailedEmail(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
136+
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
139137

140138
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
141139

fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java

Lines changed: 4 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,13 @@
2626
import java.util.Collection;
2727
import java.util.Iterator;
2828
import lombok.RequiredArgsConstructor;
29-
import org.apache.commons.lang3.StringUtils;
3029
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
31-
import org.apache.fineract.infrastructure.core.exception.UnrecognizedQueryParamException;
3230
import org.apache.fineract.infrastructure.core.service.Page;
3331
import org.apache.fineract.infrastructure.core.service.PaginationHelper;
3432
import org.apache.fineract.infrastructure.core.service.SearchParameters;
3533
import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
3634
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
3735
import org.apache.fineract.infrastructure.security.service.SqlValidator;
38-
import org.apache.fineract.infrastructure.security.utils.ColumnValidator;
3936
import org.apache.fineract.organisation.monetary.data.CurrencyData;
4037
import org.apache.fineract.organisation.monetary.service.CurrencyReadPlatformService;
4138
import org.apache.fineract.organisation.office.data.OfficeData;
@@ -64,13 +61,11 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement
6461

6562
private final JdbcTemplate jdbcTemplate;
6663
private final PlatformSecurityContext context;
67-
private final TellerLookupMapper lookupMapper = new TellerLookupMapper();
6864
private final OfficeReadPlatformService officeReadPlatformService;
6965
private final StaffReadPlatformService staffReadPlatformService;
7066
private final CurrencyReadPlatformService currencyReadPlatformService;
7167
private final DatabaseSpecificSQLGenerator sqlGenerator;
7268
private final PaginationHelper paginationHelper;
73-
private final ColumnValidator columnValidator;
7469
private final SqlValidator sqlValidator;
7570

7671
private static final class TellerMapper implements RowMapper<TellerData> {
@@ -112,42 +107,6 @@ public TellerData mapRow(final ResultSet rs, final int rowNum) throws SQLExcepti
112107
}
113108
}
114109

115-
private static final class TellerLookupMapper implements RowMapper<TellerData> {
116-
117-
private final String schemaSql;
118-
119-
TellerLookupMapper() {
120-
121-
final StringBuilder sqlBuilder = new StringBuilder(100);
122-
sqlBuilder.append("t.id as id, t.name as teller_name ");
123-
sqlBuilder.append("from m_tellers t ");
124-
125-
this.schemaSql = sqlBuilder.toString();
126-
}
127-
128-
public String schema() {
129-
return this.schemaSql;
130-
}
131-
132-
@Override
133-
public TellerData mapRow(final ResultSet rs, final int rowNum) throws SQLException {
134-
135-
final Long id = rs.getLong("id");
136-
final String tellerName = rs.getString("teller_name");
137-
return TellerData.lookup(id, tellerName);
138-
}
139-
}
140-
141-
@Override
142-
public Collection<TellerData> retrieveAllTellersForDropdown(final Long officeId) {
143-
144-
final Long defaultOfficeId = defaultToUsersOfficeIfNull(officeId);
145-
146-
final String sql = "select " + this.lookupMapper.schema() + " where s.office_id = ? and s.is_active=true ";
147-
148-
return this.jdbcTemplate.query(sql, this.lookupMapper, new Object[] { defaultOfficeId }); // NOSONAR
149-
}
150-
151110
private Long defaultToUsersOfficeIfNull(final Long officeId) {
152111
Long defaultOfficeId = officeId;
153112
if (defaultOfficeId == null) {
@@ -169,105 +128,21 @@ public TellerData findTeller(final Long tellerId) {
169128
}
170129
}
171130

172-
@Override
173-
public Collection<TellerData> retrieveAllTellers(final String sqlSearch, final Long officeId, final String status) {
174-
final String extraCriteria = getTellerCriteria(sqlSearch, officeId, status);
175-
return retrieveAllTeller(extraCriteria, officeId);
176-
}
177-
178-
private Collection<TellerData> retrieveAllTeller(final String extraCriteria, final Long officeId) {
179-
180-
final TellerMapper tm = new TellerMapper();
181-
String sql = "select " + tm.schema();
182-
if (StringUtils.isNotBlank(extraCriteria)) {
183-
sql += " where " + extraCriteria;
184-
}
185-
sql = sql + " order by t.teller_name";
186-
if (officeId != null) {
187-
return this.jdbcTemplate.query(sql, tm, new Object[] { officeId }); // NOSONAR
188-
}
189-
return this.jdbcTemplate.query(sql, tm); // NOSONAR
190-
}
191-
192-
private String getTellerCriteria(final String sqlSearch, final Long officeId, final String status) {
193-
194-
final StringBuilder extraCriteria = new StringBuilder(200);
195-
196-
if (sqlSearch != null) {
197-
extraCriteria.append(" and (").append(sqlSearch).append(")");
198-
final TellerMapper tm = new TellerMapper();
199-
this.columnValidator.validateSqlInjection(tm.schema(), sqlSearch);
200-
}
201-
if (officeId != null) {
202-
extraCriteria.append(" and office_id = ? ");
203-
}
204-
// Passing status parameter to get ACTIVE (By Default), INACTIVE or ALL
205-
// (Both active and Inactive) employees
206-
if (status.equalsIgnoreCase("active")) {
207-
extraCriteria.append(" and status = 300 ");
208-
} else if (status.equalsIgnoreCase("inActive")) {
209-
extraCriteria.append(" and status = 0 ");
210-
} else {
211-
if (!status.equalsIgnoreCase("all")) {
212-
throw new UnrecognizedQueryParamException("status", status, new Object[] { "all", "active", "inactive" });
213-
}
214-
}
215-
216-
if (StringUtils.isNotBlank(extraCriteria.toString())) {
217-
extraCriteria.delete(0, 4);
218-
}
219-
220-
// remove begin four letter including a space from the string.
221-
return extraCriteria.toString();
222-
}
223-
224131
@Override
225132
public Collection<TellerData> getTellers(Long officeId) {
226133
return retrieveAllTellers(false);
227134
}
228135

229136
@Override
230137
public Collection<CashierData> getCashiersForTeller(Long tellerId, LocalDate fromDate, LocalDate toDate) {
231-
return retrieveCashiersForTellers(null, tellerId);
138+
return retrieveCashiersForTellers(tellerId);
232139
}
233140

234141
@Override
235-
public Collection<CashierData> retrieveCashiersForTellers(final String sqlSearch, final Long tellerId) {
236-
final String extraCriteria = getTellerCriteria(sqlSearch, tellerId);
237-
return fetchCashiers(extraCriteria);
238-
}
239-
240-
private String getTellerCriteria(final String sqlSearch, final Long tellerId) {
241-
242-
final StringBuilder extraCriteria = new StringBuilder(200);
243-
244-
if (sqlSearch != null) {
245-
extraCriteria.append(" and (").append(sqlSearch).append(")");
246-
final CashierMapper cm = new CashierMapper();
247-
this.columnValidator.validateSqlInjection(cm.schema(), sqlSearch);
248-
249-
}
250-
if (tellerId != null) {
251-
extraCriteria.append(" and teller_id = ").append(tellerId).append(" ");
252-
}
253-
254-
// remove begin four letter including a space from the string.
255-
if (StringUtils.isNotBlank(extraCriteria.toString())) {
256-
extraCriteria.delete(0, 4);
257-
}
258-
259-
return extraCriteria.toString();
260-
}
261-
262-
private Collection<CashierData> fetchCashiers(final String extraCriteria) {
263-
142+
public Collection<CashierData> retrieveCashiersForTellers(final Long tellerId) {
264143
final CashierMapper cm = new CashierMapper();
265-
String sql = "select " + cm.schema();
266-
if (StringUtils.isNotBlank(extraCriteria)) {
267-
sql += " where " + extraCriteria;
268-
}
269-
sql = sql + " order by teller_name";
270-
return this.jdbcTemplate.query(sql, cm); // NOSONAR
144+
String sql = "select " + cm.schema() + " where teller_id = ?";
145+
return this.jdbcTemplate.query(sql, cm, tellerId); // NOSONAR
271146
}
272147

273148
@Override
@@ -288,12 +163,6 @@ public Collection<CashierData> getCashierData(Long officeId, Long tellerId, Long
288163
return null;
289164
}
290165

291-
@Override
292-
public Collection<CashierData> getTellerCashiers(Long tellerId, LocalDate date) {
293-
// TODO Auto-generated method stub
294-
return null;
295-
}
296-
297166
@Override
298167
public TellerTransactionData findTellerTransaction(Long transactionId) {
299168
// TODO Auto-generated method stub

fineract-provider/src/main/java/org/apache/fineract/organisation/teller/starter/OrganisationTellerConfiguration.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
2525
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
2626
import org.apache.fineract.infrastructure.security.service.SqlValidator;
27-
import org.apache.fineract.infrastructure.security.utils.ColumnValidator;
2827
import org.apache.fineract.organisation.monetary.service.CurrencyReadPlatformService;
2928
import org.apache.fineract.organisation.office.domain.OfficeRepositoryWrapper;
3029
import org.apache.fineract.organisation.office.service.OfficeReadPlatformService;
@@ -52,10 +51,9 @@ public class OrganisationTellerConfiguration {
5251
public TellerManagementReadPlatformService tellerManagementReadPlatformService(JdbcTemplate jdbcTemplate,
5352
PlatformSecurityContext context, OfficeReadPlatformService officeReadPlatformService,
5453
StaffReadPlatformService staffReadPlatformService, CurrencyReadPlatformService currencyReadPlatformService,
55-
DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper paginationHelper, ColumnValidator columnValidator,
56-
SqlValidator sqlValidator) {
54+
DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper paginationHelper, SqlValidator sqlValidator) {
5755
return new TellerManagementReadPlatformServiceImpl(jdbcTemplate, context, officeReadPlatformService, staffReadPlatformService,
58-
currencyReadPlatformService, sqlGenerator, paginationHelper, columnValidator, sqlValidator);
56+
currencyReadPlatformService, sqlGenerator, paginationHelper, sqlValidator);
5957
}
6058

6159
@Bean

fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6376,11 +6376,6 @@ <h5>Optional Arguments</h5>
63766376
</dd>
63776377
<dd>Use externalId of clients to restrict results.</dd>
63786378

6379-
<dt>sqlSearch</dt>
6380-
<dd>
6381-
String <span>optional</span>
6382-
</dd>
6383-
<dd>Use an sql fragment valid for the underlying client schema to filter results. e.g. display_name like %K%</dd>
63846379
<dt>orphansOnly</dt>
63856380
<dd>
63866381
Boolean <span>optional</span>, defaults to false
@@ -8336,11 +8331,6 @@ <h5>Optional Arguments</h5>
83368331
</dd>
83378332
<dd>Use externalId of center to restrict results.</dd>
83388333

8339-
<dt>sqlSearch</dt>
8340-
<dd>
8341-
String <span>optional</span>
8342-
</dd>
8343-
<dd>Use an sql fragment valid for the underlying center schema to filter results. e.g. display_name like %K%</dd>
83448334
</dl>
83458335
<p>Example Requests:</p>
83468336
<div class=apiClick>centers</div>
@@ -9771,11 +9761,6 @@ <h5>Optional Arguments</h5>
97719761
</dd>
97729762
<dd>Use externalId of groups to restrict results.</dd>
97739763

9774-
<dt>sqlSearch</dt>
9775-
<dd>
9776-
String <span>optional</span>
9777-
</dd>
9778-
<dd>Use an sql fragment valid for the underlying group schema to filter results. e.g. display_name like %K%</dd>
97799764
<dt>orphansOnly</dt>
97809765
<dd>
97819766
Boolean <span>optional</span>, defaults to false
@@ -11168,11 +11153,6 @@ <h5>Optional Arguments</h5>
1116811153
</dd>
1116911154
<dd>Use externalId of loan to restrict results.</dd>
1117011155

11171-
<dt>sqlSearch</dt>
11172-
<dd>
11173-
String <span>optional</span>
11174-
</dd>
11175-
<dd>Use an sql fragment valid for the underlying loan schema to filter results. e.g. display_name like %K%</dd>
1117611156
</dl>
1117711157
<p>Example Requests:</p>
1117811158
<div class=apiClick>loans</div>
@@ -36177,11 +36157,6 @@ <h5>Optional Arguments</h5>
3617736157
<dd>Filters for transactions whose entry Date is lesser than or equal to the passed in Date
3617836158
</dd>
3617936159

36180-
<dt>sqlSearch</dt>
36181-
<dd>
36182-
String <span>optional</span>
36183-
</dd>
36184-
<dd>Use an sql fragment valid for the underlying standing instruction schema to filter results. e.g. name like %K%</dd>
3618536160
</dl>
3618636161
<p>Example Requests : </p>
3618736162
<div class=apiClick>standinginstructionrunhistory</div>

0 commit comments

Comments
 (0)