@Override public List<KeyValueEntity> loadValues(ValueLoadContext context) { context.setJoinTransaction(true); return dataManager.loadValues(context); }
/** * Loads a list of entities. */ public List<KeyValueEntity> list() { ValueLoadContext loadContext = createLoadContext(); return dataManager.loadValues(loadContext); }
@Override public List<KeyValueEntity> loadValues(ValueLoadContext context) { context.setAuthorizationRequired(true); return dataManager.loadValues(context); }
@Override public List<KeyValueEntity> loadValues(ValueLoadContext context) { context.setAuthorizationRequired(true); return dataManager.loadValues(context); } }
@Override public List<KeyValueEntity> loadValues(ValueLoadContext context) { return getDataManager().loadValues(context); }
/** * Loads a list of entities. */ public List<T> list() { ValueLoadContext loadContext = createLoadContext(); return dataManager.loadValues(loadContext).stream() .map(e -> castValue(e.getValue(PROP_NAME))) .collect(Collectors.toList()); }
/** * Loads a single instance and wraps it in Optional. */ public Optional<KeyValueEntity> optional() { ValueLoadContext loadContext = createLoadContext(); loadContext.getQuery().setMaxResults(1); List<KeyValueEntity> list = dataManager.loadValues(loadContext); return list.isEmpty() ? Optional.empty() : Optional.of(list.get(0)); }
@Override public void load() { if (container == null) throw new IllegalStateException("container is null"); if (query == null) throw new IllegalStateException("query is null"); ValueLoadContext loadContext = createLoadContext(); KeyValueEntity result = null; if (delegate == null) { List<KeyValueEntity> list = getDataManager().loadValues(loadContext); if (!list.isEmpty()) { result = list.get(0); } } else { result = delegate.apply(loadContext); } container.setItem(result); }
/** * Loads a single instance. * * @throws IllegalStateException if nothing was loaded */ public KeyValueEntity one() { ValueLoadContext loadContext = createLoadContext(); loadContext.getQuery().setMaxResults(1); List<KeyValueEntity> list = dataManager.loadValues(loadContext); if (!list.isEmpty()) return list.get(0); else throw new IllegalStateException("No results"); }
/** * Loads a single instance and wraps it in Optional. */ public Optional<T> optional() { ValueLoadContext loadContext = createLoadContext(); loadContext.getQuery().setMaxResults(1); List<KeyValueEntity> list = dataManager.loadValues(loadContext); return list.isEmpty() ? Optional.empty() : Optional.ofNullable(castValue(list.get(0).getValue(PROP_NAME))); }
/** * Loads a single instance. * * @throws IllegalStateException if nothing was loaded */ public T one() { ValueLoadContext loadContext = createLoadContext(); loadContext.getQuery().setMaxResults(1); List<KeyValueEntity> list = dataManager.loadValues(loadContext); if (!list.isEmpty()) return castValue(list.get(0).getValue(PROP_NAME)); else throw new IllegalStateException("No results"); }
@Override public void load() { if (container == null) throw new IllegalStateException("container is null"); if (query == null) throw new IllegalStateException("query is null"); ValueLoadContext loadContext = createLoadContext(); Collection<KeyValueEntity> list; if (delegate == null) { list = getDataManager().loadValues(loadContext); } else { list = delegate.apply(loadContext); } // TODO merge KeyValueEntity ??? if (dataContext != null) { for (KeyValueEntity entity : list) { dataContext.merge(entity); } } container.setItems(list); }
@SuppressWarnings("unchecked") @Override public int getCount() { if (loader == null) { return container.getItems().size(); } if (loader instanceof CollectionLoader) { return (int) dataManager.getCount(((CollectionLoader) loader).createLoadContext()); } else if (loader instanceof KeyValueCollectionLoader) { ValueLoadContext context = ((KeyValueCollectionLoader) loader).createLoadContext(); QueryTransformer transformer = QueryTransformerFactory.createTransformer(context.getQuery().getQueryString()); // TODO it doesn't work for query containing scalars in select transformer.replaceWithCount(); context.getQuery().setQueryString(transformer.getResult()); context.setProperties(Collections.singletonList("cnt")); List<KeyValueEntity> list = dataManager.loadValues(context); Number count = list.get(0).getValue("cnt"); return count == null ? 0 : count.intValue(); } else { log.warn("Unsupported loader type: {}", loader.getClass().getName()); return 0; } }