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; }
/** * 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; }
/** * Build a {@link ValueGroupDatasourceImpl} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildValuesGroupDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildValuesGroupDatasource(); }
/** * Build a {@link CollectionDatasource} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildCollectionDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildCollectionDatasource(); }
private void initDatasourceAttributes(Element element) { String id = getDatasourceId(element); MetaClass metaClass = loadMetaClass(element); String viewName = element.attributeValue("view"); builder.reset() .setMetaClass(metaClass) .setId(id) .setViewName(viewName) .setAllowCommit(getAllowCommit(element)); }
private void initCollectionDatasourceAttributes(Element element, MetaClass metaClass) { String id = getDatasourceId(element); String viewName = element.attributeValue("view"); String deletion = element.attributeValue("softDeletion"); boolean softDeletion = deletion == null || Boolean.parseBoolean(deletion); boolean cacheable = Boolean.parseBoolean(element.attributeValue("cacheable")); builder.reset() .setMetaClass(metaClass) .setId(id) .setViewName(viewName) .setSoftDeletion(softDeletion) .setCacheable(cacheable) .setRefreshMode(getRefreshMode(element)) .setMaxResults(getMaxResults(element)) .setAllowCommit(getAllowCommit(element)); }
MetaClass entityMetaClass = metadata.getClassNN(parameter.getEntityMetaClass()); DsBuilder builder = DsBuilder.create(frame.getDsContext()); CollectionDatasource cds = builder .setRefreshMode(RefreshMode.NEVER) .setId("entities_" + parameter.getAlias()) .setMetaClass(entityMetaClass) .setViewName(View.LOCAL) .setAllowCommit(false) .buildCollectionDatasource();
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())); }
private void initPropertyDatasourceAttributes(Element element, Datasource ds, String property) { String id = getDatasourceId(element); MetaClass metaClass = ds.getMetaClass(); metaClass.getPropertyNN(property); // check property existence builder.reset() .setMetaClass(metaClass) .setId(id) .setMaster(ds) .setProperty(property) .setAllowCommit(getAllowCommit(element)); }
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; }
entitiesDs = DsBuilder.create(dsContext) .setId("entitiesDs") .setMetaClass(metaClass) .setView(buildView(metaClass, metaProperties)) .buildGroupDatasource();
transformer.addWhere(constraint.getWhereClause()); CollectionDatasource datasource = DsBuilder.create() .setMetaClass(metadata.getSession().getClassNN(entityName)) .setMaxResults(0) .buildCollectionDatasource(); datasource.setQuery(transformer.getResult()); datasource.refresh();
private ValueCollectionDatasourceImpl loadValueCollectionDatasource(Element element) { String id = getDatasourceId(element); builder.reset().setMetaClass(metadata.getClassNN(KeyValueEntity.class)).setId(id); ValueCollectionDatasourceImpl datasource = builder .setDsClass(getDatasourceClass(element)) .buildValuesCollectionDatasource(); 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; }
private ValueHierarchicalDatasourceImpl loadValueHierarchicalDatasource(Element element) { String id = getDatasourceId(element); builder.reset().setMetaClass(metadata.getClassNN(KeyValueEntity.class)).setId(id); ValueHierarchicalDatasourceImpl datasource = builder .setDsClass(getDatasourceClass(element)) .buildValuesHierarchicalDatasource(); String maxResults = element.attributeValue("maxResults"); if (!StringUtils.isEmpty(maxResults)) datasource.setMaxResults(Integer.parseInt(maxResults)); datasource.setSuspended(true); loadQuery(element, datasource); loadProperties(element, datasource); String hierarchyProperty = element.attributeValue("hierarchyProperty"); if (!StringUtils.isEmpty(hierarchyProperty)) { datasource.setHierarchyPropertyName(hierarchyProperty); } 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; }
protected RuntimePropsDatasource loadRuntimePropsDatasource(Element element){ String id = getDatasourceId(element); MetaClass metaClass = loadMetaClass(element); String mainDsId = element.attributeValue("mainDs"); if (mainDsId == null) { throw new IllegalStateException("RuntimePropsDs attributes not specified"); } String categorizedEntityClassName = element.attributeValue("categorizedEntityClass"); MetaClass categorizedEntityMetaClass = null; if (StringUtils.isNotBlank(categorizedEntityClassName)) { final Class<?> aClass = ReflectionHelper.getClass(categorizedEntityClassName); categorizedEntityMetaClass = metadata.getSession().getClass(aClass); } builder.reset().setMetaClass(metaClass).setId(id); RuntimePropsDatasource datasource = builder.buildRuntimePropsDatasource(mainDsId, categorizedEntityMetaClass); loadDatasources(element, datasource); return datasource; }
protected Datasource loadDatasource(Element element) { initDatasourceAttributes(element); Datasource datasource = builder .setDsClass(getDatasourceClass(element)) .buildDatasource(); // TODO implement ContextListeners // String item = element.attributeValue("item"); // if (!StringUtils.isBlank(item)) { // final ParametersHelper.ParameterInfo info = ParametersHelper.parse(item); // context.registerListener(info, datasource); // } loadDatasources(element, datasource); return datasource; }
builder = DsBuilder.create(context);
private Datasource loadDatasource(Element element, Datasource ds, String property) { initPropertyDatasourceAttributes(element, ds, property); Datasource datasource = builder.buildDatasource(); loadDatasources(element, datasource); return datasource; }
entitiesDs = DsBuilder.create(getDsContext()) .setId("entitiesDs") .setMetaClass(meta) .setView(createView(meta)) .buildCollectionDatasource();