@Override public void removeItem(DataItem item) { items.remove(item); fireDataChanged(DataChangeOperation.REMOVE, Collections.singletonList(item)); }
protected void loadChartData(ChartModel chart, Element element) { Element dataElement = element.element("data"); if (dataElement != null) { ListDataProvider listDataProvider = new ListDataProvider(); for (Object item : dataElement.elements("item")) { Element itemElement = (Element) item; MapDataItem dataItem = new MapDataItem(); for (Element property : Dom4j.elements(itemElement, "property")) { loadDataItem(property, dataItem); } listDataProvider.addItem(dataItem); chart.setDataProvider(listDataProvider); } } }
@Override public T addData(DataItem... dataItems) { if (dataItems != null) { if (this.dataProvider == null) { this.dataProvider = new ListDataProvider(); } this.dataProvider.addItems(Arrays.asList(dataItems)); } return (T) this; }
protected void loadChartData(StockChart chart, Element element) { Element dataProvider = element.element("data"); if (dataProvider != null) { for (Object data : dataProvider.elements("dataSet")) { Element dataElement = (Element) data; String dataSetId = dataElement.attributeValue("id"); if (StringUtils.isNotEmpty(dataSetId)) { ListDataProvider listDataProvider = new ListDataProvider(); for (Object item : dataElement.elements("item")) { Element itemElement = (Element) item; MapDataItem mapDataItem = new MapDataItem(); for (Element property : Dom4j.elements(itemElement, "property")) { mapDataItem = loadDataItem(property, mapDataItem); } listDataProvider.addItem(mapDataItem); } chart.getDataSet(dataSetId).setDataProvider(listDataProvider); } } } }
/** * Adds a data item to the data provider. * * @param dataItems a data item to add * @return a reference to this object */ public PivotTableModel addData(DataItem... dataItems) { if (dataItems != null) { if (this.dataProvider == null) { this.dataProvider = new ListDataProvider(); } this.dataProvider.addItems(Arrays.asList(dataItems)); } return this; }
@Override protected void loadChartData(ChartModel chart, Element element) { Element dataSet = element.element("data"); if (dataSet != null) { ListDataProvider listDataProvider = new ListDataProvider(); for (Object item : dataSet.elements("item")) { Element itemElement = (Element) item; MapDataItem dataItem = new MapDataItem(); for (Element property : itemElement.elements("property")) { if (property.elements().size() > 0) { List<MapDataItem> innerItems = new ArrayList<>(); for (Object innerItem : property.elements("item")) { Element innerItemElement = (Element) innerItem; MapDataItem innerDataItem = new MapDataItem(); for (Element innerProperty : innerItemElement.elements("property")) { innerDataItem = loadDataItem(innerProperty, innerDataItem); } innerItems.add(innerDataItem); } dataItem.add(property.attributeValue("name"), innerItems); } else { dataItem = loadDataItem(property, dataItem); } } listDataProvider.addItem(dataItem); chart.setDataProvider(listDataProvider); } } }
@Override public void removeAll() { items.clear(); fireDataChanged(DataChangeOperation.REFRESH, Collections.emptyList()); }
@Override public void addItem(DataItem item) { items.add(item); fireDataChanged(DataChangeOperation.ADD, Collections.singletonList(item)); }
@Override public void addItems(Collection<? extends DataItem> items) { this.items.addAll(items); fireDataChanged(DataChangeOperation.ADD, new ArrayList<>(items)); }
/** * Update an item in the data provider if it is already there. * * @param item an item to be updated * @throws IllegalArgumentException if no such element found */ @Override public void updateItem(DataItem item) { int i = items.indexOf(item); if (i >= 0) { items.set(i, item); fireDataChanged(DataChangeOperation.UPDATE, Collections.singletonList(item)); } else { throw new IllegalArgumentException("No such element"); } }