Changeset 189
- Timestamp:
- 02/16/10 19:38:16 (14 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistry.java
r188 r189 267 267 try { 268 268 em.getTransaction().begin(); 269 270 List<VirtualCollection> results = null; 269 271 // FIXME: use TypedQuery variant when migrating to JPA 2.0 270 long totalCount = 271 (Long) em.createNamedQuery("VirtualCollection.countAll") 272 .getSingleResult(); 273 Query q = em.createNamedQuery("VirtualCollection.findAll"); 274 if (offset > 0) { 275 q.setFirstResult(offset); 276 } 277 if (count > 0) { 278 q.setMaxResults(count); 279 } 280 List<VirtualCollection> results = 281 (List<VirtualCollection>) q.getResultList(); 272 Query cq = em.createNamedQuery("VirtualCollection.countAll"); 273 long totalCount = (Long) cq.getSingleResult(); 274 275 // optimization; don't query, if we won't get any results 276 if ( totalCount > 0) { 277 // FIXME: use TypedQuery variant when migrating to JPA 2.0 278 Query q = em.createNamedQuery("VirtualCollection.findAll"); 279 280 if (offset > 0) { 281 q.setFirstResult(offset); 282 } 283 if (count > 0) { 284 q.setMaxResults(count); 285 } 286 results = (List<VirtualCollection>) q.getResultList(); 287 } 282 288 return new VirtualCollectionList(results, offset, (int) totalCount); 283 289 } catch (Exception e) { … … 298 304 try { 299 305 em.getTransaction().begin(); 306 300 307 User user = fetchUser(em, principal); 301 308 if (user == null) { 302 309 throw new VirtualCollectionRegistryException("user does not exist"); 303 310 } 311 List<VirtualCollection> results = null; 304 312 305 313 // FIXME: use TypedQuery variant when migrating to JPA 2.0 306 long totalCount = 307 (Long) em.createNamedQuery("VirtualCollection.countByOwner") 308 .setParameter("owner", user) 309 .getSingleResult(); 310 Query q = em.createNamedQuery("VirtualCollection.findByOwner"); 311 q.setParameter("owner", user); 312 if (offset > 0) { 313 q.setFirstResult(offset); 314 } 315 if (count > 0) { 316 q.setMaxResults(count); 317 } 318 List<VirtualCollection> results = 319 (List<VirtualCollection>) q.getResultList(); 314 Query cq = em.createNamedQuery("VirtualCollection.countByOwner"); 315 cq.setParameter("owner", user); 316 long totalCount = (Long) cq.getSingleResult(); 317 318 // optimization; don't query, if we won't get any results 319 if (totalCount > 0) { 320 // FIXME: use TypedQuery variant when migrating to JPA 2.0 321 Query q = em.createNamedQuery("VirtualCollection.findByOwner"); 322 q.setParameter("owner", user); 323 324 if (offset > 0) { 325 q.setFirstResult(offset); 326 } 327 if (count > 0) { 328 q.setMaxResults(count); 329 } 330 results = (List<VirtualCollection>) q.getResultList(); 331 } 320 332 return new VirtualCollectionList(results, offset, (int) totalCount); 321 333 } catch (VirtualCollectionRegistryException e) { … … 328 340 } 329 341 } 330 342 331 343 private static User fetchUser(EntityManager em, Principal principal) { 332 344 User user = null; -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/VirtualCollectionList.java
r188 r189 1 1 package eu.clarin.cmdi.virtualcollectionregistry.model; 2 2 3 import java.util.Collections; 3 4 import java.util.Iterator; 4 5 import java.util.List; … … 11 12 public VirtualCollectionList(List<VirtualCollection> list, int offset, 12 13 int totalCount) { 13 this.collections = list; 14 if (list != null) { 15 this.collections = list; 16 } else { 17 this.collections = Collections.emptyList(); 18 } 14 19 this.offset = offset; 15 20 this.totalCount = totalCount;
Note: See TracChangeset
for help on using the changeset viewer.