/** * Build a {@link HierarchicalDatasource} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildHierarchicalDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildHierarchicalDatasource(); }
private Datasource loadHierarchicalDatasource(Element element, Datasource ds, String property) { initPropertyDatasourceAttributes(element, ds, property); HierarchicalDatasource datasource = builder .setDsClass(getDatasourceClass(element)) .buildHierarchicalDatasource(); String hierarchyProperty = element.attributeValue("hierarchyProperty"); if (!StringUtils.isEmpty(hierarchyProperty)) { datasource.setHierarchyPropertyName(hierarchyProperty); } loadDatasources(element, datasource); return datasource; }
protected Datasource loadHierarchicalDatasource(Element element) { MetaClass metaClass = loadMetaClass(element); if (metaClass == null) throw new DevelopmentException("'class' attribute is not set for the datasource"); initCollectionDatasourceAttributes(element, metaClass); HierarchicalDatasource datasource = builder .setDsClass(getDatasourceClass(element)) .buildHierarchicalDatasource(); String hierarchyProperty = element.attributeValue("hierarchyProperty"); if (!StringUtils.isEmpty(hierarchyProperty)) { datasource.setHierarchyPropertyName(hierarchyProperty); } if (datasource instanceof CollectionDatasource.Suspendable) ((CollectionDatasource.Suspendable) datasource).setSuspended(true); loadQuery(element, datasource); loadDatasources(element, datasource); return datasource; }