@Override public String serializeChanges(AbstractChart chart, ChartIncrementalChanges changes) { JsonObject jsonChangedItemsElement = new JsonObject(); ChartJsonSerializationContext context = createChartJsonSerializationContext(chart); if (changes.getAddedItems() != null) { jsonChangedItemsElement.add("add", itemsSerializer.serialize(changes.getAddedItems(), context)); } if (changes.getRemovedItems() != null) { jsonChangedItemsElement.add("remove", itemsSerializer.serialize(changes.getRemovedItems(), context)); } if (changes.getUpdatedItems() != null) { jsonChangedItemsElement.add("update", itemsSerializer.serialize(changes.getUpdatedItems(), context)); } return chartGson.toJson(jsonChangedItemsElement); }
protected void addChangedItems(IncrementalUpdateType type, List<DataItem> items) { if (changedItems == null) { changedItems = new ChartIncrementalChanges(); } switch (type) { case ADD: changedItems.registerAddedItem(items); break; case REMOVE: changedItems.registerRemovedItems(items); break; case UPDATE: changedItems.registerUpdatedItems(items); break; } markAsDirty(); }
} else if (changedItems != null && !changedItems.isEmpty()) { log.trace("Chart update JSON:\n{}", jsonString); List<DataItem> removedItems = changedItems.getRemovedItems(); if (removedItems != null) { for (DataItem removedItem : removedItems) {
List<DataItem> removedItems = changes.getRemovedItems(); if (removedItems != null) { for (DataItem removedItem : removedItems) {
@Override public String serializeChanges(StockChartGroup chart, Map<DataSet, ChartIncrementalChanges> changedItems) { JsonObject jsonChangedDataSetElement = new JsonObject(); ChartJsonSerializationContext context = createChartJsonSerializationContext(chart); for (Map.Entry<DataSet, ChartIncrementalChanges> changesEntry : changedItems.entrySet()) { JsonObject jsonChangedItemsElement = new JsonObject(); ChartIncrementalChanges changes = changesEntry.getValue(); if (changes.getAddedItems() != null) { jsonChangedItemsElement.add("add", itemsSerializer.serialize(changes.getAddedItems(), context)); } if (changes.getRemovedItems() != null) { jsonChangedItemsElement.add("remove", itemsSerializer.serialize(changes.getRemovedItems(), context)); } if (changes.getUpdatedItems() != null) { jsonChangedItemsElement.add("update", itemsSerializer.serialize(changes.getUpdatedItems(), context)); } String dataSetId = changesEntry.getKey().getId(); if (dataSetId != null) { jsonChangedDataSetElement.add(dataSetId, jsonChangedItemsElement); } else { logger.warn("DataSet of StockChart does not have id. Incremental updated will not be performed."); } } return chartGson.toJson(jsonChangedDataSetElement); }
protected void addChangedItems(IncrementalUpdateType type, DataSet dataSet, List<DataItem> items) { if (changedItems == null) { changedItems = new HashMap<>(); } ChartIncrementalChanges dataSetChanges = changedItems.computeIfAbsent(dataSet, k -> new ChartIncrementalChanges()); switch (type) { case ADD: dataSetChanges.registerAddedItem(items); break; case REMOVE: dataSetChanges.registerRemovedItems(items); break; case UPDATE: dataSetChanges.registerUpdatedItems(items); break; } markAsDirty(); }