@Override public Storable fromMap(Map<String, Object> map) { setId((Long) map.get(ID)); setVersionId((Long) map.get(VERSIONID)); setStreamId((String) map.get(STREAMID)); setDescription((String) map.get(DESCRIPTION)); setTopologyId((Long) map.get(TOPOLOGYID)); ObjectMapper mapper = new ObjectMapper(); String fieldsDataStr = (String) map.get(FIELDSDATA); if (!StringUtils.isEmpty(fieldsDataStr)) { List<Field> fields; try { fields = mapper.readValue(fieldsDataStr, new TypeReference<List<Field>>() {}); } catch (IOException e) { throw new RuntimeException(e); } setFields(fields); } return this; } }
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 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 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; }