|
@@ -1,33 +1,22 @@
|
|
package com.provectus.kafka.ui.service;
|
|
package com.provectus.kafka.ui.service;
|
|
|
|
|
|
|
|
+import com.google.common.collect.ImmutableMap;
|
|
import com.provectus.kafka.ui.config.ClustersProperties;
|
|
import com.provectus.kafka.ui.config.ClustersProperties;
|
|
import com.provectus.kafka.ui.mapper.ClusterMapper;
|
|
import com.provectus.kafka.ui.mapper.ClusterMapper;
|
|
import com.provectus.kafka.ui.model.KafkaCluster;
|
|
import com.provectus.kafka.ui.model.KafkaCluster;
|
|
import java.util.Collection;
|
|
import java.util.Collection;
|
|
-import java.util.Map;
|
|
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
-import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
-import javax.annotation.PostConstruct;
|
|
|
|
-import lombok.RequiredArgsConstructor;
|
|
|
|
-import org.mapstruct.factory.Mappers;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
@Component
|
|
@Component
|
|
-@RequiredArgsConstructor
|
|
|
|
public class ClustersStorage {
|
|
public class ClustersStorage {
|
|
|
|
|
|
- private final Map<String, KafkaCluster> kafkaClusters = new ConcurrentHashMap<>();
|
|
|
|
|
|
+ private final ImmutableMap<String, KafkaCluster> kafkaClusters;
|
|
|
|
|
|
- private final ClustersProperties clusterProperties;
|
|
|
|
-
|
|
|
|
- private final ClusterMapper clusterMapper = Mappers.getMapper(ClusterMapper.class);
|
|
|
|
-
|
|
|
|
- @PostConstruct
|
|
|
|
- public void init() {
|
|
|
|
- for (ClustersProperties.Cluster clusterProperties : clusterProperties.getClusters()) {
|
|
|
|
- KafkaCluster cluster = clusterMapper.toKafkaCluster(clusterProperties);
|
|
|
|
- kafkaClusters.put(clusterProperties.getName(), cluster);
|
|
|
|
- }
|
|
|
|
|
|
+ public ClustersStorage(ClustersProperties properties, ClusterMapper mapper) {
|
|
|
|
+ var builder = ImmutableMap.<String, KafkaCluster>builder();
|
|
|
|
+ properties.getClusters().forEach(c -> builder.put(c.getName(), mapper.toKafkaCluster(c)));
|
|
|
|
+ this.kafkaClusters = builder.build();
|
|
}
|
|
}
|
|
|
|
|
|
public Collection<KafkaCluster> getKafkaClusters() {
|
|
public Collection<KafkaCluster> getKafkaClusters() {
|
|
@@ -37,8 +26,4 @@ public class ClustersStorage {
|
|
public Optional<KafkaCluster> getClusterByName(String clusterName) {
|
|
public Optional<KafkaCluster> getClusterByName(String clusterName) {
|
|
return Optional.ofNullable(kafkaClusters.get(clusterName));
|
|
return Optional.ofNullable(kafkaClusters.get(clusterName));
|
|
}
|
|
}
|
|
-
|
|
|
|
- public Map<String, KafkaCluster> getKafkaClustersMap() {
|
|
|
|
- return kafkaClusters;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|