Revision 56828
Added by Ioannis Diplas over 4 years ago
modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/PiWikService.java | ||
---|---|---|
18 | 18 |
|
19 | 19 |
List<PiwikInfo> getPiwikSitesForRepos(OrderByField orderByField, OrderByType orderByType, int from, int quantity, String searchField); |
20 | 20 |
|
21 |
int getPiwikSitesTotals(); |
|
21 |
int getPiwikSitesTotals(String searchField);
|
|
22 | 22 |
|
23 | 23 |
ResponseEntity<Object> approvePiwikSite(String repositoryId); |
24 | 24 |
|
modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/PiWikServiceImpl.java | ||
---|---|---|
18 | 18 |
import org.springframework.jdbc.core.PreparedStatementSetter; |
19 | 19 |
import org.springframework.jdbc.core.RowMapper; |
20 | 20 |
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; |
21 |
import org.springframework.jdbc.core.namedparam.SqlParameterSource; |
|
21 | 22 |
import org.springframework.security.access.prepost.PreAuthorize; |
22 | 23 |
import org.springframework.security.core.context.SecurityContextHolder; |
23 | 24 |
import org.springframework.stereotype.Service; |
... | ... | |
125 | 126 |
} |
126 | 127 |
|
127 | 128 |
@Override |
128 |
public int getPiwikSitesTotals(){ |
|
129 |
public int getPiwikSitesTotals(String searchField){
|
|
129 | 130 |
try{ |
130 |
return new JdbcTemplate(dataSource).queryForObject(GET_PIWIK_SITES_TOTAL,Integer.class); |
|
131 |
String finalizedQuery = GET_PIWIK_SITES_TOTAL + " where ("+ |
|
132 |
" repositoryid ilike ? " + |
|
133 |
" or siteid ilike ?" + |
|
134 |
" or requestorname ilike ?" + |
|
135 |
" or requestoremail ilike ?" + |
|
136 |
" or comment ilike ?" + |
|
137 |
" or repositoryname ilike ?"+ |
|
138 |
" or country ilike ?)"; |
|
139 |
|
|
140 |
return new JdbcTemplate(dataSource).query(finalizedQuery, preparedStatement -> { |
|
141 |
preparedStatement.setString(1,"%"+searchField+"%"); |
|
142 |
preparedStatement.setString(2,"%"+searchField+"%"); |
|
143 |
preparedStatement.setString(3,"%"+searchField+"%"); |
|
144 |
preparedStatement.setString(4,"%"+searchField+"%"); |
|
145 |
preparedStatement.setString(5,"%"+searchField+"%"); |
|
146 |
preparedStatement.setString(6,"%"+searchField+"%"); |
|
147 |
preparedStatement.setString(7,"%"+searchField+"%"); |
|
148 |
},rowMapper -> { |
|
149 |
rowMapper.next(); |
|
150 |
return rowMapper.getInt("totals"); |
|
151 |
}); |
|
131 | 152 |
}catch (EmptyResultDataAccessException e){ |
132 | 153 |
return 0; |
133 | 154 |
} |
modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/controllers/PiWikController.java | ||
---|---|---|
59 | 59 |
@ApiImplicitParam(name = "from", dataType = "number", paramType = "query"), |
60 | 60 |
@ApiImplicitParam(name = "quantity", dataType = "number", paramType = "query"), |
61 | 61 |
@ApiImplicitParam(name = "order", dataType = "eu.dnetlib.repo.manager.domain.OrderByType", paramType = "query"), |
62 |
@ApiImplicitParam(name = "searchField", dataType = "eu.dnetlib.repo.manager.domain.OrderByField", paramType = "query"),
|
|
63 |
@ApiImplicitParam(name = "orderField", dataType = "string", paramType = "query"),
|
|
62 |
@ApiImplicitParam(name = "orderField", dataType = "eu.dnetlib.repo.manager.domain.OrderByField", paramType = "query"),
|
|
63 |
@ApiImplicitParam(name = "searchField", dataType = "string", paramType = "query"),
|
|
64 | 64 |
}) |
65 | 65 |
public Paging<PiwikInfo> getPiwikSitesForRepos( |
66 | 66 |
@RequestParam(value = "from",required=false,defaultValue = "0") int from, |
... | ... | |
74 | 74 |
List<PiwikInfo> returning = piWikService.getPiwikSitesForRepos(orderField,orderType,from,quantity,searchField); |
75 | 75 |
results.setFrom(from); |
76 | 76 |
results.setTo(from + returning.size()); |
77 |
results.setTotal(piWikService.getPiwikSitesTotals()); |
|
77 |
results.setTotal(piWikService.getPiwikSitesTotals(searchField));
|
|
78 | 78 |
results.setResults(returning); |
79 | 79 |
return results; |
80 | 80 |
} |
Also available in: Unified diff
When search field is applied, we count the total rows with this filter on