You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/12/06 08:03:53 UTC

[james-project] 02/15: [PERF] Adopt CqlIdentifier within server/data/data-cassandra

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 51582169c5b8e6248585974fc7a2e630cca57955
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Nov 1 09:01:37 2022 +0700

    [PERF] Adopt CqlIdentifier within server/data/data-cassandra
---
 .../james/domainlist/cassandra/CassandraDomainList.java      |  9 +++++----
 .../domainlist/cassandra/tables/CassandraDomainsTable.java   |  4 +++-
 .../rrt/cassandra/tables/CassandraMappingsSourcesTable.java  |  8 +++++---
 .../sieve/cassandra/tables/CassandraSieveActiveTable.java    |  8 +++++---
 .../cassandra/tables/CassandraSieveClusterQuotaTable.java    |  6 ++++--
 .../sieve/cassandra/tables/CassandraSieveQuotaTable.java     |  6 ++++--
 .../sieve/cassandra/tables/CassandraSieveSpaceTable.java     |  6 ++++--
 .../james/sieve/cassandra/tables/CassandraSieveTable.java    | 12 +++++++-----
 .../james/user/cassandra/tables/CassandraUserTable.java      | 12 +++++++-----
 9 files changed, 44 insertions(+), 27 deletions(-)

diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
index 015eb8abbc..3440be908d 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
@@ -38,6 +38,7 @@ import org.apache.james.domainlist.lib.AbstractDomainList;
 
 import com.datastax.oss.driver.api.core.CqlSession;
 import com.datastax.oss.driver.api.core.cql.PreparedStatement;
+import com.datastax.oss.driver.api.core.type.codec.TypeCodecs;
 
 public class CassandraDomainList extends AbstractDomainList {
     private final CassandraAsyncExecutor executor;
@@ -73,7 +74,7 @@ public class CassandraDomainList extends AbstractDomainList {
     @Override
     protected List<Domain> getDomainListInternal() throws DomainListException {
         return executor.executeRows(readAllStatement.bind())
-            .map(row -> Domain.of(row.getString(DOMAIN)))
+            .map(row -> Domain.of(row.get(0, TypeCodecs.TEXT)))
             .collectList()
             .block();
     }
@@ -81,7 +82,7 @@ public class CassandraDomainList extends AbstractDomainList {
     @Override
     protected boolean containsDomainInternal(Domain domain) throws DomainListException {
         return executor.executeSingleRowOptional(readStatement.bind()
-                .setString(DOMAIN, domain.asString()))
+                .set(DOMAIN, domain.asString(), TypeCodecs.TEXT))
             .block()
             .isPresent();
     }
@@ -89,7 +90,7 @@ public class CassandraDomainList extends AbstractDomainList {
     @Override
     public void addDomain(Domain domain) throws DomainListException {
         boolean executed = executor.executeReturnApplied(insertStatement.bind()
-                .setString(DOMAIN, domain.asString()))
+                .set(DOMAIN, domain.asString(), TypeCodecs.TEXT))
             .block();
         if (!executed) {
             throw new DomainListException(domain.name() + " already exists.");
@@ -99,7 +100,7 @@ public class CassandraDomainList extends AbstractDomainList {
     @Override
     public void doRemoveDomain(Domain domain) throws DomainListException {
         boolean executed = executor.executeReturnApplied(removeStatement.bind()
-                .setString(DOMAIN, domain.asString()))
+                .set(DOMAIN, domain.asString(), TypeCodecs.TEXT))
             .block();
         if (!executed) {
             throw new DomainListException(domain.name() + " was not found");
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/tables/CassandraDomainsTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/tables/CassandraDomainsTable.java
index 451346785a..2313516a9f 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/tables/CassandraDomainsTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/tables/CassandraDomainsTable.java
@@ -19,8 +19,10 @@
 
 package org.apache.james.domainlist.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraDomainsTable {
     String TABLE_NAME = "domains";
 
-    String DOMAIN = "domain";
+    CqlIdentifier DOMAIN = CqlIdentifier.fromCql("domain");
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/tables/CassandraMappingsSourcesTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/tables/CassandraMappingsSourcesTable.java
index 81a3c3103f..0161b3f890 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/tables/CassandraMappingsSourcesTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/tables/CassandraMappingsSourcesTable.java
@@ -19,11 +19,13 @@
 
 package org.apache.james.rrt.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraMappingsSourcesTable {
 
     String TABLE_NAME = "mappings_sources";
 
-    String MAPPING_TYPE = "mapping_type";
-    String MAPPING_VALUE = "mapping_value";
-    String SOURCE = "source";
+    CqlIdentifier MAPPING_TYPE = CqlIdentifier.fromCql("mapping_type");
+    CqlIdentifier MAPPING_VALUE = CqlIdentifier.fromCql("mapping_value");
+    CqlIdentifier SOURCE = CqlIdentifier.fromCql("source");
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveActiveTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveActiveTable.java
index efc64d0a42..631e18392a 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveActiveTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveActiveTable.java
@@ -19,12 +19,14 @@
 
 package org.apache.james.sieve.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraSieveActiveTable {
 
     String TABLE_NAME = "sieve_active";
 
-    String USER_NAME = "user_name";
-    String SCRIPT_NAME = "script_name";
-    String DATE = "date";
+    CqlIdentifier USER_NAME = CqlIdentifier.fromCql("user_name");
+    CqlIdentifier SCRIPT_NAME = CqlIdentifier.fromCql("script_name");
+    CqlIdentifier DATE = CqlIdentifier.fromCql("date");
 
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveClusterQuotaTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveClusterQuotaTable.java
index 16beb0ff6f..f07c97761b 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveClusterQuotaTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveClusterQuotaTable.java
@@ -19,11 +19,13 @@
 
 package org.apache.james.sieve.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraSieveClusterQuotaTable {
     String TABLE_NAME = "sieve_cluster_quota";
 
-    String NAME = "name";
-    String VALUE = "value";
+    CqlIdentifier NAME = CqlIdentifier.fromCql("name");
+    CqlIdentifier VALUE = CqlIdentifier.fromCql("value");
 
     String DEFAULT_NAME = "cluster_quota";
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveQuotaTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveQuotaTable.java
index 94c6425699..803163c46a 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveQuotaTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveQuotaTable.java
@@ -19,9 +19,11 @@
 
 package org.apache.james.sieve.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraSieveQuotaTable {
     String TABLE_NAME = "sieve_quota";
 
-    String USER_NAME = "user_name";
-    String QUOTA = "quota";
+    CqlIdentifier USER_NAME = CqlIdentifier.fromCql("user_name");
+    CqlIdentifier QUOTA = CqlIdentifier.fromCql("quota");
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveSpaceTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveSpaceTable.java
index 8156e772e9..d35ec7118a 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveSpaceTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveSpaceTable.java
@@ -19,9 +19,11 @@
 
 package org.apache.james.sieve.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraSieveSpaceTable {
     String TABLE_NAME = "sieve_space";
 
-    String USER_NAME = "user_name";
-    String SPACE_USED = "space_used";
+    CqlIdentifier USER_NAME = CqlIdentifier.fromCql("user_name");
+    CqlIdentifier SPACE_USED = CqlIdentifier.fromCql("space_used");
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveTable.java
index c24735224e..38a19557bc 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/tables/CassandraSieveTable.java
@@ -19,12 +19,14 @@
 
 package org.apache.james.sieve.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraSieveTable {
     String TABLE_NAME = "sieve";
 
-    String USER_NAME = "user_name";
-    String SCRIPT_NAME = "script_name";
-    String SCRIPT_CONTENT = "script_content";
-    String IS_ACTIVE = "is_active";
-    String SIZE = "size";
+    CqlIdentifier USER_NAME = CqlIdentifier.fromCql("user_name");
+    CqlIdentifier SCRIPT_NAME = CqlIdentifier.fromCql("script_name");
+    CqlIdentifier SCRIPT_CONTENT = CqlIdentifier.fromCql("script_content");
+    CqlIdentifier IS_ACTIVE = CqlIdentifier.fromCql("is_active");
+    CqlIdentifier SIZE = CqlIdentifier.fromCql("size");
 }
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/tables/CassandraUserTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/tables/CassandraUserTable.java
index 48a0ea6a3b..fbac598ade 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/tables/CassandraUserTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/tables/CassandraUserTable.java
@@ -19,12 +19,14 @@
 
 package org.apache.james.user.cassandra.tables;
 
+import com.datastax.oss.driver.api.core.CqlIdentifier;
+
 public interface CassandraUserTable {
     String TABLE_NAME = "user";
 
-    String ALGORITHM = "algorithm";
-    String NAME = "name";
-    String PASSWORD = "passwd";
-    String REALNAME = "realname";
-    String AUTHORIZED_USERS = "authorized_users";
+    CqlIdentifier ALGORITHM = CqlIdentifier.fromCql("algorithm");
+    CqlIdentifier NAME = CqlIdentifier.fromCql("name");
+    CqlIdentifier PASSWORD = CqlIdentifier.fromCql("passwd");
+    CqlIdentifier REALNAME = CqlIdentifier.fromCql("realname");
+    CqlIdentifier AUTHORIZED_USERS = CqlIdentifier.fromCql("authorized_users");
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org