JAMES-2344 extract cassandra queries into methods

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/290b2a94
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/290b2a94
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/290b2a94

Branch: refs/heads/master
Commit: 290b2a9413380f6f98573feea333758f018e9c34
Parents: 130f9b9
Author: Matthieu Baechler <matth...@apache.org>
Authored: Fri Mar 2 14:59:21 2018 +0100
Committer: Matthieu Baechler <matth...@apache.org>
Committed: Fri Mar 9 14:57:12 2018 +0100

----------------------------------------------------------------------
 .../quota/CassandraPerUserMaxQuotaDao.java      | 89 +++++++++++++++-----
 1 file changed, 66 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/290b2a94/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaDao.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaDao.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaDao.java
index 88b2c71..46ede92 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaDao.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaDao.java
@@ -40,6 +40,9 @@ import org.apache.james.mailbox.quota.QuotaValue;
 import com.datastax.driver.core.PreparedStatement;
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Session;
+import com.datastax.driver.core.querybuilder.Delete;
+import com.datastax.driver.core.querybuilder.Insert;
+import com.datastax.driver.core.querybuilder.Select;
 
 public class CassandraPerUserMaxQuotaDao {
 
@@ -59,36 +62,76 @@ public class CassandraPerUserMaxQuotaDao {
     @Inject
     public CassandraPerUserMaxQuotaDao(Session session) {
         this.session = session;
-        this.setMaxStorageStatement = 
session.prepare(insertInto(CassandraMaxQuota.TABLE_NAME)
-            .value(CassandraMaxQuota.QUOTA_ROOT, bindMarker())
-            .value(CassandraMaxQuota.STORAGE, bindMarker()));
-        this.setMaxMessageStatement = 
session.prepare(insertInto(CassandraMaxQuota.TABLE_NAME)
-            .value(CassandraMaxQuota.QUOTA_ROOT, bindMarker())
-            .value(CassandraMaxQuota.MESSAGE_COUNT, bindMarker()));
-        this.getMaxStorageStatement = 
session.prepare(select(CassandraMaxQuota.STORAGE)
+        this.setMaxStorageStatement = 
session.prepare(setMaxStorageStatement());
+        this.setMaxMessageStatement = 
session.prepare(setMaxMessageStatement());
+        this.getMaxStorageStatement = 
session.prepare(getMaxStorageStatement());
+        this.getMaxMessageStatement = 
session.prepare(getMaxMessageStatement());
+        this.getDefaultMaxStatement = 
session.prepare(getDefaultMaxStatement());
+        this.setDefaultMaxMessageStatement = 
session.prepare(setDefaultMaxMessageStatement());
+        this.setDefaultMaxStorageStatement = 
session.prepare(setDefaultMaxStorageStatement());
+        this.removeDefaultMaxQuotaStatement = 
session.prepare(removeDefaultMaxQuotaStatement());
+        this.removeMaxStorageStatement = 
session.prepare(removeMaxStorageStatement());
+        this.removeMaxMessageStatement = 
session.prepare(removeMaxMessageStatement());
+    }
+
+    private Delete.Where removeMaxMessageStatement() {
+        return delete().column(CassandraMaxQuota.MESSAGE_COUNT)
             .from(CassandraMaxQuota.TABLE_NAME)
-            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker())));
-        this.getMaxMessageStatement = 
session.prepare(select(CassandraMaxQuota.MESSAGE_COUNT)
+            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker()));
+    }
+
+    private Delete.Where removeMaxStorageStatement() {
+        return delete().column(CassandraMaxQuota.STORAGE)
             .from(CassandraMaxQuota.TABLE_NAME)
-            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker())));
-        this.getDefaultMaxStatement = 
session.prepare(select(CassandraDefaultMaxQuota.VALUE)
+            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker()));
+    }
+
+    private Delete.Where removeDefaultMaxQuotaStatement() {
+        return delete().all()
             .from(CassandraDefaultMaxQuota.TABLE_NAME)
-            .where(eq(CassandraDefaultMaxQuota.TYPE, 
bindMarker(CassandraDefaultMaxQuota.TYPE))));
-        this.setDefaultMaxMessageStatement = 
session.prepare(insertInto(CassandraDefaultMaxQuota.TABLE_NAME)
-            .value(CassandraDefaultMaxQuota.TYPE, 
CassandraDefaultMaxQuota.MESSAGE)
-            .value(CassandraDefaultMaxQuota.VALUE, bindMarker()));
-        this.setDefaultMaxStorageStatement = 
session.prepare(insertInto(CassandraDefaultMaxQuota.TABLE_NAME)
+            .where(eq(CassandraDefaultMaxQuota.TYPE, 
bindMarker(CassandraDefaultMaxQuota.TYPE)));
+    }
+
+    private Insert setDefaultMaxStorageStatement() {
+        return insertInto(CassandraDefaultMaxQuota.TABLE_NAME)
             .value(CassandraDefaultMaxQuota.TYPE, 
CassandraDefaultMaxQuota.STORAGE)
-            .value(CassandraDefaultMaxQuota.VALUE, bindMarker()));
-        this.removeDefaultMaxQuotaStatement = session.prepare(delete().all()
+            .value(CassandraDefaultMaxQuota.VALUE, bindMarker());
+    }
+
+    private Insert setDefaultMaxMessageStatement() {
+        return insertInto(CassandraDefaultMaxQuota.TABLE_NAME)
+            .value(CassandraDefaultMaxQuota.TYPE, 
CassandraDefaultMaxQuota.MESSAGE)
+            .value(CassandraDefaultMaxQuota.VALUE, bindMarker());
+    }
+
+    private Select.Where getDefaultMaxStatement() {
+        return select(CassandraDefaultMaxQuota.VALUE)
             .from(CassandraDefaultMaxQuota.TABLE_NAME)
-            .where(eq(CassandraDefaultMaxQuota.TYPE, 
bindMarker(CassandraDefaultMaxQuota.TYPE))));
-        this.removeMaxStorageStatement = 
session.prepare(delete().column(CassandraMaxQuota.STORAGE)
+            .where(eq(CassandraDefaultMaxQuota.TYPE, 
bindMarker(CassandraDefaultMaxQuota.TYPE)));
+    }
+
+    private Select.Where getMaxMessageStatement() {
+        return select(CassandraMaxQuota.MESSAGE_COUNT)
             .from(CassandraMaxQuota.TABLE_NAME)
-            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker())));
-        this.removeMaxMessageStatement = 
session.prepare(delete().column(CassandraMaxQuota.MESSAGE_COUNT)
+            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker()));
+    }
+
+    private Select.Where getMaxStorageStatement() {
+        return select(CassandraMaxQuota.STORAGE)
             .from(CassandraMaxQuota.TABLE_NAME)
-            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker())));
+            .where(eq(CassandraMaxQuota.QUOTA_ROOT, bindMarker()));
+    }
+
+    private Insert setMaxMessageStatement() {
+        return insertInto(CassandraMaxQuota.TABLE_NAME)
+            .value(CassandraMaxQuota.QUOTA_ROOT, bindMarker())
+            .value(CassandraMaxQuota.MESSAGE_COUNT, bindMarker());
+    }
+
+    private Insert setMaxStorageStatement() {
+        return insertInto(CassandraMaxQuota.TABLE_NAME)
+            .value(CassandraMaxQuota.QUOTA_ROOT, bindMarker())
+            .value(CassandraMaxQuota.STORAGE, bindMarker());
     }
 
     public void setMaxStorage(QuotaRoot quotaRoot, QuotaSize maxStorageQuota) {


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to