comparison src/main/java/de/intevation/lada/rest/ProbeService.java @ 587:54a95a587093

Updated authorization for probe list. Performance is much better now!
author Raimund Renkert <raimund.renkert@intevation.de>
date Tue, 24 Mar 2015 11:47:44 +0100
parents a04658486ede
children 746e03da9fad
comparison
equal deleted inserted replaced
586:7f5e2e68c765 587:54a95a587093
135 sql, 135 sql,
136 filters, 136 filters,
137 params, 137 params,
138 defaultRepo.entityManager("land")); 138 defaultRepo.entityManager("land"));
139 List<Map<String, Object>> result = 139 List<Map<String, Object>> result =
140 QueryTools.prepareResult(query.getResultList(), results, authorization, authorization.getInfo(request)); 140 QueryTools.prepareResult(query.getResultList(), results);
141 if (params.containsKey("start") && params.containsKey("limit")) { 141 if (params.containsKey("start") && params.containsKey("limit")) {
142 int start = Integer.valueOf(params.getFirst("start")); 142 int start = Integer.valueOf(params.getFirst("start"));
143 int limit = Integer.valueOf(params.getFirst("limit")); 143 int limit = Integer.valueOf(params.getFirst("limit"));
144 List<Map<String, Object>> subList = result.subList(start, limit + start); 144 int end = limit + start;
145 if (start + limit > result.size()) {
146 end = result.size();
147 }
148 List<Map<String, Object>> subList = result.subList(start, end);
149 for (Map<String, Object> entry: subList) {
150 boolean readOnly =
151 authorization.isReadOnly((Integer)entry.get("id"));
152 entry.put("readonly", readOnly);
153 }
145 return new Response(true, 200, subList, result.size()); 154 return new Response(true, 200, subList, result.size());
146 } 155 }
147 return new Response(true, 200, result, result.size()); 156 return new Response(true, 200, result, result.size());
148 } 157 }
149 158
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)