public EntityViewRepositoryImpl(JpaEntityInformation<E, ?> entityInformation, EntityManager entityManager, CriteriaBuilderFactory cbf, EntityViewManager evm, Class<V> entityViewClass) { this.entityInformation = entityInformation; this.entityManager = entityManager; this.cbf = cbf; this.evm = evm; this.setting = EntityViewSetting.create(entityViewClass); this.entityViewClass = entityViewClass; }
@Override public StorageRepresentation get() { StorageRepresentation result = storageDataAccess.findById(id, EntityViewSetting.create(StorageRepresentationView.class)); if (result == null) { throw new WebApplicationException(Response.status(Status.NOT_FOUND).type(MediaType.TEXT_PLAIN).entity("Storage not found").build()); } return result; }
@Override @SuppressWarnings("unchecked") public List<BucketListElementRepresentation> get() { return (List<BucketListElementRepresentation>) (List<?>) bucketDataAccess.findByAccountId(accountId, EntityViewSetting.create(BucketListElementRepresentationView.class)); }
@Override @SuppressWarnings("unchecked") public List<BucketListElementRepresentation> getBuckets() { return (List<BucketListElementRepresentation>) (List<?>) bucketDataAccess.findAll(EntityViewSetting.create(BucketListElementRepresentationView.class)); }
@Override @SuppressWarnings("unchecked") public List<AccountListElementRepresentation> get() { return (List<AccountListElementRepresentation>) (List<?>) accountDataAccess.findAll(EntityViewSetting.create(AccountListElementRepresentationView.class)); }
@Override @SuppressWarnings("unchecked") public List<StorageQuotaModelListElementRepresentation> get() { return (List<StorageQuotaModelListElementRepresentation>) (List<?>) quotaDataAccess.findAll(EntityViewSetting.create(StorageQuotaModelListElementRepresentationView.class)); }
@Override public AccountRepresentation get() { AccountRepresentation result = accountDataAccess.findByKey(key, EntityViewSetting.create(AccountRepresentationView.class)); if (result == null) { throw new WebApplicationException(Response.status(Status.NOT_FOUND).type(MediaType.TEXT_PLAIN).entity("Account not found").build()); } return result; }
@Override public StorageQuotaModelRepresentation get() { StorageQuotaModelRepresentation result = storageQuotaModelDataAccess.findById(id, EntityViewSetting.create(StorageQuotaModelRepresentationView.class)); if (result == null) { throw new WebApplicationException(Response.status(Status.NOT_FOUND).type(MediaType.TEXT_PLAIN).entity("Storage quota model not found").build()); } return result; }
private BucketObjectRepresentationView getBucketObject(BucketObjectId objectId) { EntityViewSetting<BucketObjectRepresentationView, CriteriaBuilder<BucketObjectRepresentationView>> setting; setting = EntityViewSetting.create(BucketObjectRepresentationView.class); BucketObjectRepresentationView result = bucketObjectDataAccess.findById(objectId, setting); if (result == null) { throw new WebApplicationException(Response.status(Status.NOT_FOUND).type(MediaType.TEXT_PLAIN).entity("Bucket object not found").build()); } if (!result.getOwnerId().equals(accountId) && !userContext.getAccountRoles().contains(Role.ADMIN)) { throw new WebApplicationException(Response.status(Status.FORBIDDEN).type(MediaType.TEXT_PLAIN).entity("Not allowed to access bucket object").build()); } return result; }
@Override public BucketRepresentation get(String prefix, Integer limit, String marker) { EntityViewSetting<BucketRepresentationView, CriteriaBuilder<BucketRepresentationView>> setting; setting = EntityViewSetting.create(BucketRepresentationView.class); BucketRepresentationView result = bucketDataAccess.findByName(bucketId, prefix, limit, marker, setting); if (result == null) { throw new WebApplicationException(Response.status(Status.NOT_FOUND).type(MediaType.TEXT_PLAIN).entity("Bucket not found").build()); } if (!result.getOwnerId().equals(accountId) && !userContext.getAccountRoles().contains(Role.ADMIN)) { throw new WebApplicationException(Response.status(Status.FORBIDDEN).type(MediaType.TEXT_PLAIN).entity("Not allowed to access bucket").build()); } return result; }
@Override public BucketHeadRepresentation head() { EntityViewSetting<BucketHeadRepresentationView, CriteriaBuilder<BucketHeadRepresentationView>> setting; setting = EntityViewSetting.create(BucketHeadRepresentationView.class); BucketHeadRepresentationView result = bucketDataAccess.findByName(bucketId, setting); if (result == null) { throw new WebApplicationException(Response.status(Status.NOT_FOUND).build()); } if (!result.getOwnerId().equals(accountId) && !userContext.getAccountRoles().contains(Role.ADMIN)) { throw new WebApplicationException(Response.status(Status.FORBIDDEN).build()); } return result; }
private EntityViewSetting<V, CriteriaBuilder<V>> createSetting() { return EntityViewSetting.create((Class<V>) context.getRepositoryMethod().getEntityViewClass()); }
protected TypedQuery<?> createQuery0(CriteriaQuery<?> criteriaQuery) { EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass); com.blazebit.persistence.CriteriaBuilder<?> cb = ((BlazeCriteriaQuery<?>) criteriaQuery).createCriteriaBuilder(); return evm.applySetting(setting, cb).getQuery(); }
@Override @SuppressWarnings("unchecked") public List<BucketListElementRepresentation> getBuckets() { return (List<BucketListElementRepresentation>) (List<?>) bucketDataAccess.findByAccountId(getAccountByKey(key).getId(), EntityViewSetting.create(BucketListElementRepresentationView.class)); }
@Override @SuppressWarnings("unchecked") public StorageListRepresentation get() { List<StorageListElementRepresentation> list = (List<StorageListElementRepresentation>) (List<?>) storageDataAccess.findAllByAccountId(owner.getId(), EntityViewSetting.create(StorageListElementRepresentationView.class)); OwnerRepresentation ownerRepresentation = new OwnerRepresentation(owner.getKey(), owner.getName()); StorageListRepresentation result = new StorageListRepresentation(ownerRepresentation, list); return result; }
protected TypedQuery<?> createQuery0(CriteriaQuery<?> criteriaQuery, Object[] values) { processSpecification(criteriaQuery, values); com.blazebit.persistence.CriteriaBuilder<?> cb = ((BlazeCriteriaQuery<?>) criteriaQuery).createCriteriaBuilder(getEntityManager()); if (entityViewClass == null) { return cb.getQuery(); } else { EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass); setting = processSetting(setting, values); return evm.applySetting(setting, cb).getQuery(); } }
@Override public void run() { testDataGenerator.generateTestData(); EntityViewSetting<BasicCatView, CriteriaBuilder<BasicCatView>> sortedBasicCatSetting = EntityViewSetting.create(BasicCatView.class); // we can sort our results by name like this sortedBasicCatSetting.addAttributeSorter("name", Sorters.ascending()); System.out.println(heading("Basic Cat Views - By Name Ascending:")); print(catDataAccess.getCats(sortedBasicCatSetting)); // or vice versa sortedBasicCatSetting.addAttributeSorter("name", Sorters.descending()); System.out.println(heading("Basic Cat Views - By Name Descending:")); print(catDataAccess.getCats(sortedBasicCatSetting)); }
@Override public void run() { testDataGenerator.generateTestData(); EntityViewSetting<BasicCatView, CriteriaBuilder<BasicCatView>> sortedBasicCatSetting = EntityViewSetting.create(BasicCatView.class); // we can sort our results by name like this sortedBasicCatSetting.addAttributeSorter("name", Sorters.ascending()); System.out.println(heading("Basic Cat Views - By Name Ascending:")); print(catDataAccess.getCats(sortedBasicCatSetting)); // or vice versa sortedBasicCatSetting.addAttributeSorter("name", Sorters.descending()); System.out.println(heading("Basic Cat Views - By Name Descending:")); print(catDataAccess.getCats(sortedBasicCatSetting)); }
@Override public List<V> findAll(int start, int max) { EntityViewSetting<V, PaginatedCriteriaBuilder<V>> setting = EntityViewSetting.create(viewClass(), start, max); return context.getEntityViewManager().applySetting(setting, createCriteriaBuilder()) .orderByAsc(idAttribute()) .getResultList(); }
protected TypedQuery<?> createQuery0(CriteriaQuery<?> criteriaQuery, Object[] values) { processSpecification(criteriaQuery, values); com.blazebit.persistence.CriteriaBuilder<?> cb = ((BlazeCriteriaQuery<?>) criteriaQuery).createCriteriaBuilder(getEntityManager()); processBlazeSpecification(cb, values); if (entityViewClass == null) { return cb.getQuery(); } else { EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass); setting = processSetting(setting, values); return evm.applySetting(setting, cb).getQuery(); } }