diff --git a/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/spring/BeanConfigurator.java b/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/spring/BeanConfigurator.java index 2d071c1e..66a236c7 100644 --- a/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/spring/BeanConfigurator.java +++ b/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/spring/BeanConfigurator.java @@ -14,14 +14,20 @@ */ package com.ericsson.bss.cassandra.ecchronos.application.spring; -import com.ericsson.bss.cassandra.ecchronos.application.config.Interval; +import com.datastax.oss.driver.api.core.CqlSession; +import com.ericsson.bss.cassandra.ecchronos.application.config.repair.Interval; import com.ericsson.bss.cassandra.ecchronos.application.config.security.CqlTLSConfig; import com.ericsson.bss.cassandra.ecchronos.application.config.security.ReloadingCertificateHandler; import com.ericsson.bss.cassandra.ecchronos.application.providers.AgentJmxConnectionProvider; import com.ericsson.bss.cassandra.ecchronos.connection.DistributedJmxConnectionProvider; -import com.ericsson.bss.cassandra.ecchronos.data.exceptions.EcChronosException; +import com.ericsson.bss.cassandra.ecchronos.core.impl.metadata.NodeResolverImpl; +import com.ericsson.bss.cassandra.ecchronos.core.impl.state.ReplicationStateImpl; +import com.ericsson.bss.cassandra.ecchronos.core.metadata.NodeResolver; +import com.ericsson.bss.cassandra.ecchronos.core.state.ReplicationState; import com.ericsson.bss.cassandra.ecchronos.data.sync.EccNodesSync; +import com.ericsson.bss.cassandra.ecchronos.utils.exceptions.ConfigurationException; +import com.ericsson.bss.cassandra.ecchronos.utils.exceptions.EcChronosException; import java.net.InetAddress; import java.io.IOException; import java.net.UnknownHostException; @@ -33,7 +39,6 @@ import com.ericsson.bss.cassandra.ecchronos.application.config.ConfigRefresher; import com.ericsson.bss.cassandra.ecchronos.application.config.ConfigurationHelper; import com.ericsson.bss.cassandra.ecchronos.application.config.security.Security; -import com.ericsson.bss.cassandra.ecchronos.application.exceptions.ConfigurationException; import com.ericsson.bss.cassandra.ecchronos.application.providers.AgentNativeConnectionProvider; import com.ericsson.bss.cassandra.ecchronos.connection.CertificateHandler; import com.ericsson.bss.cassandra.ecchronos.connection.DistributedNativeConnectionProvider; @@ -218,6 +223,22 @@ public RetrySchedulerService retrySchedulerService(final Config config, return new RetrySchedulerService(eccNodesSync, config, jmxConnectionProvider, nativeConnectionProvider); } + @Bean + public NodeResolver nodeResolver(final DistributedNativeConnectionProvider distributedNativeConnectionProvider) + { + CqlSession session = distributedNativeConnectionProvider.getCqlSession(); + return new NodeResolverImpl(session); + } + + @Bean + public ReplicationState replicationState( + final DistributedNativeConnectionProvider distributedNativeConnectionProvider, + final NodeResolver nodeResolver) + { + CqlSession session = distributedNativeConnectionProvider.getCqlSession(); + return new ReplicationStateImpl(nodeResolver, session); + } + private Security getSecurityConfig() throws ConfigurationException { return ConfigurationHelper.DEFAULT_INSTANCE.getConfiguration(SECURITY_FILE, Security.class); diff --git a/data/src/main/java/com/ericsson/bss/cassandra/ecchronos/data/sync/EccNodesSync.java b/data/src/main/java/com/ericsson/bss/cassandra/ecchronos/data/sync/EccNodesSync.java index e50d88b0..fe2d4e72 100644 --- a/data/src/main/java/com/ericsson/bss/cassandra/ecchronos/data/sync/EccNodesSync.java +++ b/data/src/main/java/com/ericsson/bss/cassandra/ecchronos/data/sync/EccNodesSync.java @@ -22,8 +22,8 @@ import com.datastax.oss.driver.api.core.metadata.Node; import com.datastax.oss.driver.api.querybuilder.QueryBuilder; import com.datastax.oss.driver.shaded.guava.common.annotations.VisibleForTesting; -import com.ericsson.bss.cassandra.ecchronos.data.enums.NodeStatus; -import com.ericsson.bss.cassandra.ecchronos.data.exceptions.EcChronosException; +import com.ericsson.bss.cassandra.ecchronos.utils.enums.sync.NodeStatus; +import com.ericsson.bss.cassandra.ecchronos.utils.exceptions.EcChronosException; import com.google.common.base.Preconditions; import java.net.UnknownHostException; diff --git a/data/src/test/java/com/ericsson/bss/cassandra/ecchronos/data/sync/TestEccNodesSync.java b/data/src/test/java/com/ericsson/bss/cassandra/ecchronos/data/sync/TestEccNodesSync.java index aaa5ddf3..89dda7c2 100644 --- a/data/src/test/java/com/ericsson/bss/cassandra/ecchronos/data/sync/TestEccNodesSync.java +++ b/data/src/test/java/com/ericsson/bss/cassandra/ecchronos/data/sync/TestEccNodesSync.java @@ -18,9 +18,9 @@ import com.datastax.oss.driver.api.core.cql.SimpleStatement; import com.datastax.oss.driver.api.core.metadata.Node; -import com.ericsson.bss.cassandra.ecchronos.data.enums.NodeStatus; -import com.ericsson.bss.cassandra.ecchronos.data.exceptions.EcChronosException; import com.ericsson.bss.cassandra.ecchronos.data.utils.AbstractCassandraTest; +import com.ericsson.bss.cassandra.ecchronos.utils.enums.sync.NodeStatus; +import com.ericsson.bss.cassandra.ecchronos.utils.exceptions.EcChronosException; import java.io.IOException; import net.jcip.annotations.NotThreadSafe; import org.junit.After;