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