private void addGroupingStrategy(Map<String, List<StreamRepartitionMetadata>> streamsMap, String stream, StreamDefinition schema, String topicName, String datasourceName, StreamRepartitionStrategy gs) { List<StreamRepartitionMetadata> dsStreamMeta; if (streamsMap.containsKey(topicName)) { dsStreamMeta = streamsMap.get(topicName); } else { dsStreamMeta = new ArrayList<StreamRepartitionMetadata>(); streamsMap.put(topicName, dsStreamMeta); } StreamRepartitionMetadata targetSm = null; for (StreamRepartitionMetadata sm : dsStreamMeta) { if (stream.equalsIgnoreCase(sm.getStreamId())) { targetSm = sm; break; } } if (targetSm == null) { targetSm = new StreamRepartitionMetadata(topicName, schema.getStreamId()); dsStreamMeta.add(targetSm); } if (!targetSm.groupingStrategies.contains(gs)) { targetSm.addGroupStrategy(gs); } }
StreamRepartitionMetadata m1 = new StreamRepartitionMetadata(dataSourceName, "s1"); StreamRepartitionMetadata m2 = new StreamRepartitionMetadata(dataSourceName, "s2"); Map<String, List<StreamRepartitionMetadata>> dataSources = new HashMap<String, List<StreamRepartitionMetadata>>(); dataSources.put(dataSourceName, Arrays.asList(m1, m2));
StreamRepartitionMetadata m1 = new StreamRepartitionMetadata(dataSourceName, "s1");
dsMap.put(ds.getName(), ds); StreamRepartitionMetadata m1 = new StreamRepartitionMetadata(ds.getName(), "s1");
for (String topic : plainStringTopics) { String streamId = getStreamNameByTopic(topic); StreamRepartitionMetadata streamRepartitionMetadata = new StreamRepartitionMetadata(topic, "defaultStringStream"); StreamRepartitionStrategy gs = new StreamRepartitionStrategy(); StreamRepartitionMetadata streamRepartitionMetadata = new StreamRepartitionMetadata(topic, "defaultStringStream"); StreamRepartitionStrategy gs = new StreamRepartitionStrategy();