private static void delete(Holder holder, Channel channel, int msgId,
User user, DashBoard dash, int targetId, GraphDataStream... dataStreams) {
holder.blockingIOProcessor.executeHistory(() -> {
try {
for (GraphDataStream graphDataStream : dataStreams) {
Target target;
int targetIdUpdated = graphDataStream.getTargetId(targetId);
if (targetIdUpdated < Tag.START_TAG_ID) {
target = user.profile.getDeviceById(dash, targetIdUpdated);
} else if (targetIdUpdated < DeviceSelector.DEVICE_SELECTOR_STARTING_ID) {
target = user.profile.getTagById(dash, targetIdUpdated);
} else {
target = dash.getDeviceSelector(targetIdUpdated);
}
DataStream dataStream = graphDataStream.dataStream;
if (target != null && dataStream != null && dataStream.pinType != null) {
int deviceId = target.getDeviceId();
holder.reportingDiskDao.delete(user, dash.id, deviceId, dataStream.pinType, dataStream.pin);
}
}
channel.writeAndFlush(ok(msgId), channel.voidPromise());
} catch (Exception e) {
log.debug("Error removing enhanced graph data. Reason : {}.", e.getMessage());
channel.writeAndFlush(illegalCommand(msgId), channel.voidPromise());
}
});
}
}