@Override public void setContainer(KeyValueCollectionContainer container) { this.container = container; container.setSorter(new CollectionContainerSorter(container, this)); }
@Override public ValueLoadContext createLoadContext() { ValueLoadContext loadContext = ValueLoadContext.create(); loadContext.setStoreName(storeName); loadContext.setIdName(container.getIdName()); for (MetaProperty property : container.getEntityMetaClass().getProperties()) { loadContext.addProperty(property.getName()); } ValueLoadContext.Query query = loadContext.setQueryString(this.query); query.setCondition(condition); query.setSort(sort); query.setParameters(parameters); if (firstResult > 0) query.setFirstResult(firstResult); if (maxResults < Integer.MAX_VALUE) query.setMaxResults(maxResults); loadContext.setSoftDeletion(softDeletion); return loadContext; }
@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); }
protected void loadKeyValueCollectionContainer(ScreenData screenData, Element element, @Nullable ScreenData hostScreenData) { String containerId = getRequiredAttr(element, "id"); KeyValueCollectionContainer container; if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions container = hostScreenData.getContainer(containerId); } else { container = factory.createKeyValueCollectionContainer(); loadProperties(element, container); String idName = element.attributeValue("idName"); if (!Strings.isNullOrEmpty(idName)) container.setIdName(idName); } screenData.registerContainer(containerId, container); Element loaderEl = element.element("loader"); if (loaderEl != null) { loadKeyValueCollectionLoader(screenData, loaderEl, container, hostScreenData); } }