public ContainerDataProvider(CollectionContainer dataContainer) { this.dataContainer = dataContainer; collectionChangeListener = e -> { DataChangeOperation operation = null; switch (e.getChangeType()) { case REFRESH: operation = DataChangeOperation.REFRESH; break; case SET_ITEM: operation = DataChangeOperation.UPDATE; break; case ADD_ITEMS: operation = DataChangeOperation.ADD; break; case REMOVE_ITEMS: operation = DataChangeOperation.REMOVE; break; } fireCollectionChangeListener(operation, e.getChanges()); }; //noinspection unchecked this.dataContainer.addCollectionChangeListener(collectionChangeListener); }
protected void loadDataContainer(Chart chart, Element element) { String dataContainerId = element.attributeValue("dataContainer"); if (StringUtils.isNotEmpty(dataContainerId)) { FrameOwner frameOwner = context.getFrame().getFrameOwner(); ScreenData screenData = UiControllerUtils.getScreenData(frameOwner); CollectionContainer dataContainer; InstanceContainer container = screenData.getContainer(dataContainerId); if (container instanceof CollectionContainer) { dataContainer = (CollectionContainer) container; } else { throw new GuiDevelopmentException("Not a CollectionContainer: " + dataContainerId, context.getCurrentFrameId()); } chart.setDataProvider(new ContainerDataProvider(dataContainer)); } else { loadDatasource(resultComponent, element); } }
protected void loadDataContainer(PivotTable pivotTable, Element element) { String dataContainerId = element.attributeValue("dataContainer"); if (StringUtils.isNotEmpty(dataContainerId)) { FrameOwner frameOwner = context.getFrame().getFrameOwner(); ScreenData screenData = UiControllerUtils.getScreenData(frameOwner); CollectionContainer dataContainer; InstanceContainer container = screenData.getContainer(dataContainerId); if (container instanceof CollectionContainer) { dataContainer = (CollectionContainer) container; } else { throw new GuiDevelopmentException("Not a CollectionContainer: " + dataContainerId, context.getCurrentFrameId()); } pivotTable.setDataProvider(new ContainerDataProvider(dataContainer)); } else { loadDatasource(pivotTable, element); } }
dataSet.setDataProvider(new ContainerDataProvider(dataContainer)); } else { String datasource = dataSetElement.attributeValue("datasource");