/** * 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())); }
@SuppressWarnings("unchecked") @Override public Datasource getItemDatasource(Entity item) { if (fieldDatasources == null) { fieldDatasources = new WeakHashMap<>(); } Object fieldDatasource = fieldDatasources.get(item); if (fieldDatasource instanceof Datasource) { return (Datasource) fieldDatasource; } Datasource datasource = DsBuilder.create() .setAllowCommit(false) .setMetaClass(getDatasource().getMetaClass()) .setRefreshMode(CollectionDatasource.RefreshMode.NEVER) .setViewName("_local") .buildDatasource(); ((DatasourceImplementation) datasource).valid(); datasource.setItem(item); fieldDatasources.put(item, datasource); return datasource; }
builder = DsBuilder.create(context);
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; }
protected Datasource createItemDatasource(E item) { EntityDataGridItems<E> items = getEntityDataGridItemsNN(); Datasource fieldDatasource = DsBuilder.create() .setAllowCommit(false) .setMetaClass(items.getEntityMetaClass()) .setRefreshMode(CollectionDatasource.RefreshMode.NEVER) .setViewName(View.LOCAL) .buildDatasource(); ((DatasourceImplementation) fieldDatasource).valid(); //noinspection unchecked fieldDatasource.setItem(item); return fieldDatasource; }
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; }
optionsDs = dynamicAttributesGuiTools.createOptionsDatasourceForLookup(metaClass, entityJoinClause, entityWhereClause); } else { optionsDs = DsBuilder.create() .setMetaClass(metaClass) .setViewName(View.MINIMAL)
transformer.addWhere(constraint.getWhereClause()); CollectionDatasource datasource = DsBuilder.create() .setMetaClass(metadata.getSession().getClassNN(entityName)) .setMaxResults(0)
entitiesDs = DsBuilder.create(dsContext) .setId("entitiesDs") .setMetaClass(metaClass)
MetaClass entityMetaClass = metadata.getClassNN(parameter.getEntityMetaClass()); DsBuilder builder = DsBuilder.create(frame.getDsContext()); CollectionDatasource cds = builder .setRefreshMode(RefreshMode.NEVER)
entitiesDs = DsBuilder.create(getDsContext()) .setId("entitiesDs") .setMetaClass(meta)