/** * Build a {@link CollectionDatasource} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildCollectionDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildCollectionDatasource(); }
private Datasource loadCollectionDatasource(Element element, Datasource ds, String property) { initPropertyDatasourceAttributes(element, ds, property); CollectionDatasource datasource = builder .setDsClass(getDatasourceClass(element)) .buildCollectionDatasource(); loadDatasources(element, datasource); return datasource; }
/** * Creates the collection datasource that is used for selecting the dynamic attribute value. If the * CategoryAttribute has "where" or "join" clauses then only items that satisfy these clauses will be presented in * the options datasource */ public CollectionDatasource createOptionsDatasourceForLookup(MetaClass metaClass, String joinClause, String whereClause) { CollectionDatasource optionsDatasource = DsBuilder.create() .setMetaClass(metaClass) .setViewName(View.MINIMAL) .buildCollectionDatasource(); String query = "select e from " + metaClass.getName() + " e"; if (!Strings.isNullOrEmpty(joinClause)) { query += " " + joinClause; } if (!Strings.isNullOrEmpty(whereClause)) { query += " where " + whereClause.replaceAll("\\{E\\}", "e"); } optionsDatasource.setQuery(query); optionsDatasource.refresh(); return optionsDatasource; }
protected void initDatasource() { entitiesDs = DsBuilder.create(getDsContext()) .setId("entitiesDs") .setMetaClass(metaClass) .setView(view) .buildCollectionDatasource(); entitiesDs.setQuery(String.format("select e from %s e", metaClass.getName())); }
protected CollectionDatasource loadCollectionDatasource(Element element) { MetaClass metaClass = loadMetaClass(element); if (metaClass == null) throw new DevelopmentException("'class' attribute is not set for the datasource"); initCollectionDatasourceAttributes(element, metaClass); CollectionDatasource datasource = builder .setDsClass(getDatasourceClass(element)) .buildCollectionDatasource(); String maxResults = element.attributeValue("maxResults"); if (!StringUtils.isEmpty(maxResults)) datasource.setMaxResults(Integer.parseInt(maxResults)); if (datasource instanceof CollectionDatasource.Suspendable) ((CollectionDatasource.Suspendable) datasource).setSuspended(true); loadQuery(element, datasource); loadDatasources(element, datasource); return datasource; }
protected CollectionDatasource<Entity<Object>, Object> createOptionsDataSource(MetaClass metaClass) { CollectionDatasource ds = DsBuilder.create() .setMetaClass(metaClass) .setViewName(entityView) .buildCollectionDatasource(); ds.setRefreshOnComponentValueChange(true); ((DatasourceImplementation) ds).initialized(); if (!StringUtils.isBlank(entityWhere)) { QueryTransformer transformer = QueryTransformerFactory.createTransformer( "select e from " + metaClass.getName() + " e"); transformer.addWhere(entityWhere); String q = transformer.getResult(); ds.setQuery(q); } // TODO filter ds // if (WindowParams.DISABLE_AUTO_REFRESH.getBool(datasource.getDsContext().getFrameContext())) { // if (ds instanceof CollectionDatasource.Suspendable) // ((CollectionDatasource.Suspendable) ds).refreshIfNotSuspended(); // else ds.refresh(); // } return ds; }
.setMetaClass(metaClass) .setViewName(View.MINIMAL) .buildCollectionDatasource(); optionsDs.refresh();
.setMetaClass(metadata.getSession().getClassNN(entityName)) .setMaxResults(0) .buildCollectionDatasource(); datasource.setQuery(transformer.getResult()); datasource.refresh();
.setViewName(View.LOCAL) .setAllowCommit(false) .buildCollectionDatasource();
.setMetaClass(meta) .setView(createView(meta)) .buildCollectionDatasource();