protected ValueGroupDatasourceImpl createValueGroupDatasource() { return new ValueGroupDatasourceImpl(); }
/** * Build a {@link ValueGroupDatasourceImpl} with the standard implementation. */ public ValueGroupDatasourceImpl buildValuesGroupDatasource() { try { ValueGroupDatasourceImpl datasource = dsClass == null ? createValueGroupDatasource() : (ValueGroupDatasourceImpl) dsClass.newInstance(); datasource.setup(dsContext, dataSupplier, id, metaClass, null); if (maxResults > 0) datasource.setMaxResults(maxResults); datasource.setSoftDeletion(softDeletion); registerDatasource(datasource); return datasource; } catch (InstantiationException | IllegalAccessException e) { throw new RuntimeException(e); } }
private ValueGroupDatasourceImpl loadValueGroupDatasource(Element element) { String id = getDatasourceId(element); builder.reset().setMetaClass(metadata.getClassNN(KeyValueEntity.class)).setId(id); ValueGroupDatasourceImpl datasource = builder .setDsClass(getDatasourceClass(element)) .buildValuesGroupDatasource(); String maxResults = element.attributeValue("maxResults"); if (!StringUtils.isEmpty(maxResults)) datasource.setMaxResults(Integer.parseInt(maxResults)); datasource.setSuspended(true); loadQuery(element, datasource); loadProperties(element, datasource); datasource.setStoreName(element.attributeValue("store")); return datasource; }
protected GroupDatasource createDataSource(String dataSetName, List<KeyValueEntity> keyValueEntities, Map<String, Set<Pair<String, Class>>> headerMap) { DsBuilder dsBuilder = DsBuilder.create(getDsContext()) .setId(dataSetName + "Ds") .setDataSupplier(getDsContext().getDataSupplier()); ValueGroupDatasourceImpl ds = dsBuilder.buildValuesGroupDatasource(); ds.setRefreshMode(CollectionDatasource.RefreshMode.NEVER); Set<Pair<String, Class>> headers = headerMap.get(dataSetName); for (Pair<String, Class> pair : headers) { Class javaClass = pair.getSecond(); if (Entity.class.isAssignableFrom(javaClass) || EnumClass.class.isAssignableFrom(javaClass) || Datatypes.get(javaClass) != null) { ds.addProperty(pair.getFirst(), pair.getSecond()); } } dsContext.register(ds); keyValueEntities.forEach(ds::includeItem); return ds; }
@Override protected void loadData(Map<String, Object> params) { String tag = getLoggingTag("VGDS"); StopWatch sw = new Slf4JStopWatch(tag, LoggerFactory.getLogger(UIPerformanceLogger.class)); delegate.loadData(params); sw.stop(); }