diff --git a/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/config/connection/NativeConnection.java b/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/config/connection/NativeConnection.java index cceb49474..a1e46abe0 100644 --- a/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/config/connection/NativeConnection.java +++ b/application/src/main/java/com/ericsson/bss/cassandra/ecchronos/application/config/connection/NativeConnection.java @@ -21,6 +21,7 @@ import com.ericsson.bss.cassandra.ecchronos.connection.NativeConnectionProvider; import com.ericsson.bss.cassandra.ecchronos.connection.StatementDecorator; import com.ericsson.bss.cassandra.ecchronos.core.repair.DefaultRepairConfigurationProvider; +import com.ericsson.bss.cassandra.ecchronos.core.utils.ConsistencyType; import com.fasterxml.jackson.annotation.JsonProperty; import io.micrometer.core.instrument.MeterRegistry; @@ -32,7 +33,7 @@ public class NativeConnection extends Connection private Class myDecoratorClass = NoopStatementDecorator.class; private boolean myRemoteRouting = true; - private String myConsistencySerial = "DEFAULT"; + private String myConsistencySerial = ConsistencyType.DEFAULT.getStringValue(); public NativeConnection() { diff --git a/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/LocalNativeConnectionProvider.java b/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/LocalNativeConnectionProvider.java index 3c5b14130..b8cc956aa 100644 --- a/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/LocalNativeConnectionProvider.java +++ b/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/LocalNativeConnectionProvider.java @@ -68,6 +68,7 @@ public final class LocalNativeConnectionProvider implements NativeConnectionProv public static final int DEFAULT_NATIVE_PORT = 9042; public static final String DEFAULT_LOCAL_HOST = "localhost"; + public static final String DEFAUL_CONSISTENCY_TYPE = "DEFAULT"; private final CqlSession mySession; private final Node myLocalNode; @@ -129,7 +130,7 @@ public static class Builder private String myLocalhost = DEFAULT_LOCAL_HOST; private int myPort = DEFAULT_NATIVE_PORT; private boolean myRemoteRouting = true; - private String mySerialConsistency = "DEFAULT"; + private String mySerialConsistency = DEFAUL_CONSISTENCY_TYPE; private boolean myIsMetricsEnabled = true; private AuthProvider myAuthProvider = null; private SslEngineFactory mySslEngineFactory = null; diff --git a/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/OSGiLocalNativeConnectionProvider.java b/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/OSGiLocalNativeConnectionProvider.java index 0bc7ea534..5899e64cf 100644 --- a/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/OSGiLocalNativeConnectionProvider.java +++ b/connection.impl/src/main/java/com/ericsson/bss/cassandra/ecchronos/connection/impl/OSGiLocalNativeConnectionProvider.java @@ -127,6 +127,6 @@ public final String getSerialConsistency() boolean remoteRouting() default true; @AttributeDefinition(name = "Serial consistency", description = "Define serial consistency level used") - String serialConsistency() default "DEFAULT"; + String serialConsistency() default LocalNativeConnectionProvider.DEFAUL_CONSISTENCY_TYPE; } } diff --git a/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/CASLockFactory.java b/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/CASLockFactory.java index 34bd6ba4f..0bf434622 100644 --- a/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/CASLockFactory.java +++ b/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/CASLockFactory.java @@ -34,6 +34,7 @@ import com.ericsson.bss.cassandra.ecchronos.connection.StatementDecorator; import com.ericsson.bss.cassandra.ecchronos.core.exceptions.LockException; import com.ericsson.bss.cassandra.ecchronos.core.scheduling.LockFactory; +import com.ericsson.bss.cassandra.ecchronos.core.utils.ConsistencyType; import com.google.common.annotations.VisibleForTesting; import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.slf4j.Logger; @@ -82,7 +83,7 @@ * WITH default_time_to_live = 600 AND gc_grace_seconds = 0; * */ -@SuppressWarnings({"GodClass", "TooManyFields", "SingularField", "ExcessiveMethodLength"}) +@SuppressWarnings({"PMD.GodClass", "PMD.TooManyFields", "PMD.SingularField", "PMD.ExcessiveMethodLength"}) public final class CASLockFactory implements LockFactory, Closeable { private static final Logger LOG = LoggerFactory.getLogger(CASLockFactory.class); @@ -132,7 +133,7 @@ private CASLockFactory(final Builder builder) verifySchemasExists(); - if ("DEFAULT".equals(mySerialConsistency)) + if (ConsistencyType.DEFAULT.getStringValue().equals(mySerialConsistency)) { serialConsistencyLevel = myRemoteRouting ? ConsistencyLevel.LOCAL_SERIAL @@ -140,7 +141,7 @@ private CASLockFactory(final Builder builder) } else { - serialConsistencyLevel = "LOCAL".equals(mySerialConsistency) + serialConsistencyLevel = ConsistencyType.LOCAL.getStringValue().equals(mySerialConsistency) ? ConsistencyLevel.LOCAL_SERIAL : ConsistencyLevel.SERIAL; } diff --git a/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/utils/ConsistencyType.java b/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/utils/ConsistencyType.java new file mode 100644 index 000000000..0895f4eb5 --- /dev/null +++ b/core/src/main/java/com/ericsson/bss/cassandra/ecchronos/core/utils/ConsistencyType.java @@ -0,0 +1,20 @@ +package com.ericsson.bss.cassandra.ecchronos.core.utils; + +public enum ConsistencyType +{ + DEFAULT("DEFAULT"), + LOCAL("LOCAL"), + SERIAL("SERIAL"); + + private final String consistencyTypeValue; + + ConsistencyType(final String consistentcyValue) + { + consistencyTypeValue = consistentcyValue; + } + + public final String getStringValue() + { + return consistencyTypeValue; + } +}