public TopologyStream(TopologyStream other) { if (other != null) { setId(other.getId()); setVersionId(other.getVersionId()); setStreamId(other.getStreamId()); setDescription(other.getDescription()); setTopologyId(other.getTopologyId()); if (other.getFields() != null) { setFields(other.getFields().stream().map(Field::copy).collect(Collectors.toList())); } setVersionTimestamp(other.getVersionTimestamp()); } }
public TopologyStream getStreamInfo(Long topologyId, Long streamId, Long versionId) { TopologyStream topologyStream = new TopologyStream(); topologyStream.setId(streamId); topologyStream.setVersionId(versionId); TopologyStream result = dao.get(new StorableKey(STREAMINFO_NAMESPACE, topologyStream.getPrimaryKey())); if (result == null || !result.getTopologyId().equals(topologyId)) { return null; } result.setVersionTimestamp(getVersionTimestamp(versionId)); return result; }
public TopologyStream addStreamInfo(Long topologyId, Long versionId, TopologyStream topologyStream) { if (topologyStream.getId() == null) { topologyStream.setId(dao.nextId(STREAMINFO_NAMESPACE)); } long timestamp = System.currentTimeMillis(); topologyStream.setVersionTimestamp(timestamp); topologyStream.setVersionId(versionId); topologyStream.setTopologyId(topologyId); validateStreamInfo(topologyStream); dao.add(topologyStream); updateVersionTimestamp(versionId, timestamp); return topologyStream; }
public TopologyStream removeStreamInfo(Long topologyId, Long streamId, Long versionId) { TopologyStream topologyStream = getStreamInfo(topologyId, streamId, versionId); if (topologyStream != null) { setReconfigureTarget(topologyStream); topologyStream = dao.remove(new StorableKey(STREAMINFO_NAMESPACE, topologyStream.getPrimaryKey())); topologyStream.setVersionTimestamp(updateVersionTimestamp(versionId).getTimestamp()); } return topologyStream; }
public TopologyStream addOrUpdateStreamInfo(Long topologyId, Long id, TopologyStream stream) { stream.setId(id); Long currentVersionId = getCurrentVersionId(topologyId); stream.setVersionId(currentVersionId); stream.setTopologyId(topologyId); long timestamp = System.currentTimeMillis(); stream.setVersionTimestamp(timestamp); validateStreamInfo(stream); TopologyStream curStream = getStreamInfo(topologyId, stream.getId()); if (!curStream.getFields().equals(stream.getFields())) { setReconfigureTarget(stream); } dao.addOrUpdate(stream); updateVersionTimestamp(currentVersionId, timestamp); return stream; }