@Override public void refreshIfNotSuspended(Map<String, Object> parameters) { if (datasource instanceof CollectionDatasource.Suspendable) ((CollectionDatasource.Suspendable) datasource).refreshIfNotSuspended(parameters); else datasource.refresh(parameters); }
protected MetaClass resolveMetaClass(Datasource datasource) { return datasource instanceof RuntimePropsDatasource ? ((RuntimePropsDatasource) datasource).resolveCategorizedEntityClass() : datasource.getMetaClass(); } }
@Override public MetaClass resolveCategorizedEntityClass() { if (categorizedEntityClass == null) { return mainDs.getMetaClass(); } else { return categorizedEntityClass; } }
protected void sortProcActors() { CollectionDatasource.Sortable.SortInfo procRoleOrderSortInfo = new CollectionDatasource.Sortable.SortInfo(); procRoleOrderSortInfo.setOrder(CollectionDatasource.Sortable.Order.ASC); procRoleOrderSortInfo.setPropertyPath(procActorsDs.getMetaClass().getPropertyPath("procRole.order")); CollectionDatasource.Sortable.SortInfo procActorOrderSortInfo = new CollectionDatasource.Sortable.SortInfo(); procActorOrderSortInfo.setOrder(CollectionDatasource.Sortable.Order.ASC); procActorOrderSortInfo.setPropertyPath(procActorsDs.getMetaClass().getPropertyPath("order")); ((CollectionDatasource.Sortable) procActorsDs).sort(new CollectionDatasource.Sortable.SortInfo[]{procRoleOrderSortInfo, procActorOrderSortInfo}); } }
@Override public MetaClass getMetaClass() { return datasource.getMetaClass(); } }
@SuppressWarnings("unchecked") protected void loadComponent(Datasource ds) { ds.addStateChangeListener(e -> { if (!Datasource.State.VALID.equals(e.getState())) { return; } createRuntimeFieldGroup(ds); }); }
protected Comparator<T> createEntityComparator() { // In case of generated column the sortInfos can actually contain string as a column identifier. if (sortInfos[0].getPropertyPath() != null) { final MetaPropertyPath propertyPath = sortInfos[0].getPropertyPath(); final boolean asc = Sortable.Order.ASC.equals(sortInfos[0].getOrder()); return new EntityComparator<>(propertyPath, asc); } else { // If we can not sort the datasource, just return the empty comparator. return (o1, o2) -> 0; } }
/** * Build a {@link CollectionDatasource} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildCollectionDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildCollectionDatasource(); }
@Override public BindingState getState() { if (datasource.getState() == Datasource.State.VALID) { return BindingState.ACTIVE; } return BindingState.INACTIVE; }
@Override public boolean containsId(Object itemId) { //noinspection unchecked return datasource.containsItem(itemId); }
@Override public void setFirstResult(int firstResult) { if (datasource instanceof CollectionDatasource.SupportsPaging) { ((CollectionDatasource.SupportsPaging) datasource).setFirstResult(firstResult); } }
/** * Build a {@link HierarchicalDatasource} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildHierarchicalDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildHierarchicalDatasource(); }
/** * Build a {@link ValueHierarchicalDatasourceImpl} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildValuesHierarchicalDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildValuesHierarchicalDatasource(); }
@Override public void setSelectedItem(E item) { datasource.setItem(item); } }
@Override public int getFirstResult() { if (datasource instanceof CollectionDatasource.SupportsPaging) { return ((CollectionDatasource.SupportsPaging) datasource).getFirstResult(); } return 0; }
/** * Build a {@link ValueCollectionDatasourceImpl} with the specified implementation class. */ @SuppressWarnings("unchecked") public <T> T buildValuesCollectionDatasource(Class<T> datasourceClass) { setDsClass(datasourceClass); return (T) buildValuesCollectionDatasource(); }
@SuppressWarnings("unchecked") @Override public void collectionChanged(CollectionDatasource.CollectionChangeEvent e) { CollectionChangeListener collectionChangeListener = reference.get(); if (collectionChangeListener != null) { collectionChangeListener.collectionChanged(e); } else { collectionDatasource.removeCollectionChangeListener(this); } } }
@SuppressWarnings("unchecked") @Override public void itemPropertyChanged(Datasource.ItemPropertyChangeEvent e) { ItemPropertyChangeListener itemPropertyChangeListener = reference.get(); if (itemPropertyChangeListener != null) { itemPropertyChangeListener.itemPropertyChanged(e); } else { datasource.removeItemPropertyChangeListener(this); } } }