You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/03/03 17:26:10 UTC
[02/14] james-project git commit: JAMES-1950 Log duration of IMAP
commands
JAMES-1950 Log duration of IMAP commands
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/08578b3b
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/08578b3b
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/08578b3b
Branch: refs/heads/master
Commit: 08578b3b7a68bbe5d5332c96942010003d55d2ac
Parents: 1e2d9f3
Author: Antoine Duprat <ad...@linagora.com>
Authored: Fri Feb 24 14:48:30 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Fri Mar 3 18:17:20 2017 +0100
----------------------------------------------------------------------
.../cassandra/host/CassandraHostSystem.java | 3 +-
mpt/impl/imap-mailbox/core/pom.xml | 4 +
.../host/ElasticSearchHostSystem.java | 4 +-
.../imapmailbox/hbase/host/HBaseHostSystem.java | 4 +-
.../InMemoryEventAsynchronousHostSystem.java | 8 +-
.../inmemory/host/InMemoryHostSystem.java | 3 +-
.../mpt/imapmailbox/jcr/host/JCRHostSystem.java | 4 +-
.../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 4 +-
.../host/LuceneSearchHostSystem.java | 4 +-
.../maildir/host/MaildirHostSystem.java | 4 +-
mpt/pom.xml | 10 +++
protocols/imap/pom.xml | 4 +
.../imap/processor/AbstractAuthProcessor.java | 6 +-
.../processor/AbstractMailboxProcessor.java | 17 +++-
.../AbstractMessageRangeProcessor.java | 6 +-
.../processor/AbstractSelectionProcessor.java | 6 +-
.../AbstractSubscriptionProcessor.java | 6 +-
.../james/imap/processor/AppendProcessor.java | 6 +-
.../imap/processor/AuthenticateProcessor.java | 6 +-
.../imap/processor/CapabilityProcessor.java | 17 ++--
.../james/imap/processor/CheckProcessor.java | 6 +-
.../james/imap/processor/CloseProcessor.java | 6 +-
.../james/imap/processor/CopyProcessor.java | 6 +-
.../james/imap/processor/CreateProcessor.java | 6 +-
.../imap/processor/DefaultProcessorChain.java | 88 ++++++++++----------
.../imap/processor/DeleteACLProcessor.java | 6 +-
.../james/imap/processor/DeleteProcessor.java | 6 +-
.../james/imap/processor/EnableProcessor.java | 11 ++-
.../james/imap/processor/ExamineProcessor.java | 6 +-
.../james/imap/processor/ExpungeProcessor.java | 6 +-
.../james/imap/processor/GetACLProcessor.java | 6 +-
.../imap/processor/GetAnnotationProcessor.java | 27 +++---
.../james/imap/processor/GetQuotaProcessor.java | 12 +--
.../imap/processor/GetQuotaRootProcessor.java | 14 ++--
.../james/imap/processor/IdleProcessor.java | 11 ++-
.../james/imap/processor/LSubProcessor.java | 6 +-
.../james/imap/processor/ListProcessor.java | 6 +-
.../imap/processor/ListRightsProcessor.java | 6 +-
.../james/imap/processor/LoginProcessor.java | 6 +-
.../james/imap/processor/LogoutProcessor.java | 6 +-
.../james/imap/processor/MoveProcessor.java | 6 +-
.../james/imap/processor/MyRightsProcessor.java | 6 +-
.../imap/processor/NamespaceProcessor.java | 6 +-
.../james/imap/processor/NoopProcessor.java | 6 +-
.../james/imap/processor/RenameProcessor.java | 6 +-
.../james/imap/processor/SearchProcessor.java | 6 +-
.../james/imap/processor/SelectProcessor.java | 6 +-
.../james/imap/processor/SetACLProcessor.java | 6 +-
.../imap/processor/SetAnnotationProcessor.java | 6 +-
.../james/imap/processor/SetQuotaProcessor.java | 11 ++-
.../james/imap/processor/StatusProcessor.java | 6 +-
.../james/imap/processor/StoreProcessor.java | 8 +-
.../imap/processor/SubscribeProcessor.java | 6 +-
.../james/imap/processor/UnselectProcessor.java | 6 +-
.../imap/processor/UnsubscribeProcessor.java | 6 +-
.../james/imap/processor/XListProcessor.java | 11 ++-
.../imap/processor/fetch/FetchProcessor.java | 6 +-
.../main/DefaultImapProcessorFactory.java | 32 +++++--
.../james/imap/processor/CopyProcessorTest.java | 2 +-
.../imap/processor/DeleteACLProcessorTest.java | 2 +-
.../imap/processor/GetACLProcessorTest.java | 2 +-
.../processor/GetAnnotationProcessorTest.java | 13 +--
.../imap/processor/GetQuotaProcessorTest.java | 5 +-
.../processor/GetQuotaRootProcessorTest.java | 2 +-
.../james/imap/processor/LSubProcessorTest.java | 2 +-
.../james/imap/processor/ListProcessorTest.java | 2 +-
.../imap/processor/ListRightsProcessorTest.java | 2 +-
.../james/imap/processor/MoveProcessorTest.java | 5 +-
.../imap/processor/NamespaceProcessorTest.java | 2 +-
.../james/imap/processor/NoopMetricFactory.java | 61 ++++++++++++++
.../imap/processor/SearchProcessorTest.java | 2 +-
.../imap/processor/SetACLProcessorTest.java | 2 +-
.../processor/SetAnnotationProcessorTest.java | 2 +-
.../imap/processor/SetQuotaProcessorTest.java | 2 +-
protocols/pom.xml | 5 ++
server/container/guice/guice-common/pom.xml | 4 +
.../james/modules/CommonServicesModule.java | 6 +-
.../modules/protocols/IMAPServerModule.java | 7 +-
server/pom.xml | 5 ++
server/protocols/protocols-imap4/pom.xml | 4 +
.../META-INF/spring/imapserver-context.xml | 3 +
81 files changed, 452 insertions(+), 209 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
index 8d8f293..14b4ded 100644
--- a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
+++ b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
@@ -65,6 +65,7 @@ import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.ListeningCurrentQuotaUpdater;
import org.apache.james.mailbox.store.quota.StoreQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -157,7 +158,7 @@ public class CassandraHostSystem extends JamesImapHostSystem {
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
- DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, subscriptionManager, quotaManager, quotaRootResolver));
+ DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, subscriptionManager, quotaManager, quotaRootResolver, new DefaultMetricFactory()));
cassandraClusterSingleton.ensureAllTables();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/pom.xml b/mpt/impl/imap-mailbox/core/pom.xml
index f2435b0..4a7a8d1 100644
--- a/mpt/impl/imap-mailbox/core/pom.xml
+++ b/mpt/impl/imap-mailbox/core/pom.xml
@@ -66,6 +66,10 @@
<artifactId>james-server-mailbox-adapter</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>metrics-logger</artifactId>
+ </dependency>
+ <dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
index 72e93b0..8bcd715 100644
--- a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
@@ -59,6 +59,7 @@ import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -130,7 +131,8 @@ public class ElasticSearchHostSystem extends JamesImapHostSystem {
DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager,
new StoreSubscriptionManager(factory),
new NoQuotaManager(),
- new DefaultQuotaRootResolver(factory));
+ new DefaultQuotaRootResolver(factory),
+ new DefaultMetricFactory());
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
defaultImapProcessorFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java b/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
index 232d609..1355d1b 100644
--- a/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
+++ b/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
@@ -45,6 +45,7 @@ import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -108,7 +109,8 @@ public class HBaseHostSystem extends JamesImapHostSystem {
mailboxManager,
subscriptionManager,
new NoQuotaManager(),
- new DefaultQuotaRootResolver(mapperFactory));
+ new DefaultQuotaRootResolver(mapperFactory),
+ new DefaultMetricFactory());
resetUserMetaData();
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
index 466b368..0a3361b 100644
--- a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
+++ b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
@@ -44,6 +44,7 @@ import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.ListeningCurrentQuotaUpdater;
import org.apache.james.mailbox.store.quota.StoreQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -102,7 +103,12 @@ public class InMemoryEventAsynchronousHostSystem extends JamesImapHostSystem {
mailboxManager.init();
- final ImapProcessor defaultImapProcessorFactory = DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, new StoreSubscriptionManager(factory), quotaManager, quotaRootResolver);
+ final ImapProcessor defaultImapProcessorFactory = DefaultImapProcessorFactory.createDefaultProcessor(
+ mailboxManager,
+ new StoreSubscriptionManager(factory),
+ quotaManager,
+ quotaRootResolver,
+ new DefaultMetricFactory());
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
defaultImapProcessorFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
index 97b4e17..635602d 100644
--- a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
+++ b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
@@ -42,6 +42,7 @@ import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.ListeningCurrentQuotaUpdater;
import org.apache.james.mailbox.store.quota.StoreQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -102,7 +103,7 @@ public class InMemoryHostSystem extends JamesImapHostSystem {
mailboxManager.init();
- final ImapProcessor defaultImapProcessorFactory = DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, new StoreSubscriptionManager(mailboxManager.getMapperFactory()), quotaManager, quotaRootResolver);
+ final ImapProcessor defaultImapProcessorFactory = DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, new StoreSubscriptionManager(mailboxManager.getMapperFactory()), quotaManager, quotaRootResolver, new DefaultMetricFactory());
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
defaultImapProcessorFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java b/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
index a52e696..fc0a07f 100644
--- a/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
+++ b/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
@@ -45,6 +45,7 @@ import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -99,7 +100,8 @@ public class JCRHostSystem extends JamesImapHostSystem {
DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager,
new JCRSubscriptionManager(mf),
new NoQuotaManager(),
- new DefaultQuotaRootResolver(mf));
+ new DefaultQuotaRootResolver(mf),
+ new DefaultMetricFactory());
resetUserMetaData();
MailboxSession session = mailboxManager.createSystemSession("test", LoggerFactory.getLogger("TestLog"));
mailboxManager.startProcessingRequest(session);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
index 1fdc752..fe6237c 100644
--- a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
+++ b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
@@ -47,6 +47,7 @@ import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -87,7 +88,8 @@ public class JPAHostSystem extends JamesImapHostSystem {
mailboxManager,
subscriptionManager,
new NoQuotaManager(),
- new DefaultQuotaRootResolver(mf));
+ new DefaultQuotaRootResolver(mf),
+ new DefaultMetricFactory());
resetUserMetaData();
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index c354e82..9651472 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -53,6 +53,7 @@ import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -130,7 +131,8 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem {
mailboxManager,
subscriptionManager,
new NoQuotaManager(),
- new DefaultQuotaRootResolver(factory));
+ new DefaultQuotaRootResolver(factory),
+ new DefaultMetricFactory());
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
index 4915fe4..70d192e 100644
--- a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
+++ b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
@@ -40,6 +40,7 @@ import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
@@ -76,7 +77,8 @@ public class MaildirHostSystem extends JamesImapHostSystem {
mailboxManager,
sm,
new NoQuotaManager(),
- new DefaultQuotaRootResolver(mailboxSessionMapperFactory));
+ new DefaultQuotaRootResolver(mailboxSessionMapperFactory),
+ new DefaultMetricFactory());
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
defaultImapProcessorFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index 2fcd3a7..c8fdf5d 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -320,6 +320,16 @@
<type>test-jar</type>
</dependency>
<dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>metrics-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>metrics-logger</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.james.protocols</groupId>
<artifactId>protocols-imap</artifactId>
<version>${project.version}</version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/imap/pom.xml b/protocols/imap/pom.xml
index f01bb79..c2a0fcb 100644
--- a/protocols/imap/pom.xml
+++ b/protocols/imap/pom.xml
@@ -59,6 +59,10 @@
<artifactId>apache-mime4j-dom</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>metrics-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
index 5e10aa6..fe7cbaa 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
@@ -35,6 +35,7 @@ import org.apache.james.mailbox.exception.NotAdminException;
import org.apache.james.mailbox.exception.UserDoesNotExistException;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.metrics.api.MetricFactory;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
@@ -46,8 +47,9 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr
// TODO: this should be configurable
private static final int MAX_FAILURES = 3;
- public AbstractAuthProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(acceptableClass, next, mailboxManager, factory);
+ public AbstractAuthProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(acceptableClass, next, mailboxManager, factory, metricFactory);
}
protected void doAuth(AuthenticationAttempt authenticationAttempt, ImapSession session, String tag, ImapCommand command, Responder responder, HumanReadableText failed) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
index 3c3d3ad..59fb616 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
@@ -51,9 +51,9 @@ import org.apache.james.imap.processor.base.AbstractChainedProcessor;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageManager;
-import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.MessageManager.MetaData;
import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup;
+import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MessageRangeException;
import org.apache.james.mailbox.model.FetchGroupImpl;
@@ -63,18 +63,24 @@ import org.apache.james.mailbox.model.MessageRange.Type;
import org.apache.james.mailbox.model.MessageResult;
import org.apache.james.mailbox.model.MessageResultIterator;
import org.apache.james.mailbox.model.SearchQuery;
+import org.apache.james.metrics.api.MetricFactory;
+import org.apache.james.metrics.api.TimeMetric;
import com.google.common.base.Optional;
abstract public class AbstractMailboxProcessor<M extends ImapRequest> extends AbstractChainedProcessor<M> {
+ public static final String IMAP_PREFIX = "IMAP-";
private final MailboxManager mailboxManager;
private final StatusResponseFactory factory;
+ private final MetricFactory metricFactory;
- public AbstractMailboxProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
+ public AbstractMailboxProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
super(acceptableClass, next);
this.mailboxManager = mailboxManager;
this.factory = factory;
+ this.metricFactory = metricFactory;
}
@Override
@@ -83,9 +89,12 @@ abstract public class AbstractMailboxProcessor<M extends ImapRequest> extends Ab
}
protected final void process(M message, Responder responder, ImapSession session) {
- final ImapCommand command = message.getCommand();
- final String tag = message.getTag();
+ ImapCommand command = message.getCommand();
+ String tag = message.getTag();
+
+ TimeMetric timeMetric = metricFactory.timer(IMAP_PREFIX + command.getName());
doProcess(message, command, tag, responder, session);
+ timeMetric.stopAndPublish();
}
final void doProcess(M message, ImapCommand command, String tag, Responder responder, ImapSession session) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
index 53f41d9..e845096 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
@@ -40,11 +40,13 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MessageRangeException;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageRange;
+import org.apache.james.metrics.api.MetricFactory;
public abstract class AbstractMessageRangeProcessor<M extends AbstractMessageRangeRequest> extends AbstractMailboxProcessor<M> {
- public AbstractMessageRangeProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(acceptableClass, next, mailboxManager, factory);
+ public AbstractMessageRangeProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(acceptableClass, next, mailboxManager, factory, metricFactory);
}
abstract protected List<MessageRange> process(final MailboxPath targetMailbox,
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
index 9d9a7e0..e5a98c0 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
@@ -55,6 +55,7 @@ import org.apache.james.mailbox.exception.MessageRangeException;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.SearchQuery;
+import org.apache.james.metrics.api.MetricFactory;
abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequest> extends AbstractMailboxProcessor<M> implements PermitEnableCapabilityProcessor {
@@ -64,8 +65,9 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
private final static List<String> CAPS = Collections.unmodifiableList(Arrays.asList(ImapConstants.SUPPORTS_QRESYNC, ImapConstants.SUPPORTS_CONDSTORE));
- public AbstractSelectionProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory statusResponseFactory, boolean openReadOnly) {
- super(acceptableClass, next, mailboxManager, statusResponseFactory);
+ public AbstractSelectionProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory statusResponseFactory, boolean openReadOnly,
+ MetricFactory metricFactory) {
+ super(acceptableClass, next, mailboxManager, statusResponseFactory, metricFactory);
this.statusResponseFactory = statusResponseFactory;
this.openReadOnly = openReadOnly;
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSubscriptionProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSubscriptionProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSubscriptionProcessor.java
index 4cbb6e2..cc53283 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSubscriptionProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSubscriptionProcessor.java
@@ -27,6 +27,7 @@ import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.SubscriptionManager;
+import org.apache.james.metrics.api.MetricFactory;
/**
* Abstract base class which should be used by implementations which need to
@@ -36,8 +37,9 @@ public abstract class AbstractSubscriptionProcessor<M extends ImapRequest> exten
private final SubscriptionManager subscriptionManager;
- public AbstractSubscriptionProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, SubscriptionManager subscriptionManager, StatusResponseFactory factory) {
- super(acceptableClass, next, mailboxManager, factory);
+ public AbstractSubscriptionProcessor(Class<M> acceptableClass, ImapProcessor next, MailboxManager mailboxManager, SubscriptionManager subscriptionManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(acceptableClass, next, mailboxManager, factory, metricFactory);
this.subscriptionManager = subscriptionManager;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
index ec3e187..01db050 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
@@ -45,12 +45,14 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.metrics.api.MetricFactory;
import org.slf4j.Logger;
public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> {
- public AppendProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory statusResponseFactory) {
- super(AppendRequest.class, next, mailboxManager, statusResponseFactory);
+ public AppendProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory statusResponseFactory,
+ MetricFactory metricFactory) {
+ super(AppendRequest.class, next, mailboxManager, statusResponseFactory, metricFactory);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
index ea8324a..59ca5b6 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
@@ -36,6 +36,7 @@ import org.apache.james.imap.message.request.AuthenticateRequest;
import org.apache.james.imap.message.request.IRAuthenticateRequest;
import org.apache.james.imap.message.response.AuthenticateResponse;
import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.metrics.api.MetricFactory;
/**
* Processor which handles the AUTHENTICATE command. Only authtype of PLAIN is supported ATM.
@@ -45,8 +46,9 @@ import org.apache.james.mailbox.MailboxManager;
public class AuthenticateProcessor extends AbstractAuthProcessor<AuthenticateRequest> implements CapabilityImplementingProcessor{
private final static String PLAIN = "PLAIN";
- public AuthenticateProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(AuthenticateRequest.class, next, mailboxManager, factory);
+ public AuthenticateProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(AuthenticateRequest.class, next, mailboxManager, factory, metricFactory);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
index ab1cc55..94fb28f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
@@ -19,12 +19,12 @@
package org.apache.james.imap.processor;
+import static org.apache.james.imap.api.ImapConstants.SUPPORTS_CONDSTORE;
+import static org.apache.james.imap.api.ImapConstants.SUPPORTS_I18NLEVEL_1;
import static org.apache.james.imap.api.ImapConstants.SUPPORTS_LITERAL_PLUS;
import static org.apache.james.imap.api.ImapConstants.SUPPORTS_RFC3348;
-import static org.apache.james.imap.api.ImapConstants.VERSION;
import static org.apache.james.imap.api.ImapConstants.UTF8;
-import static org.apache.james.imap.api.ImapConstants.SUPPORTS_I18NLEVEL_1;
-import static org.apache.james.imap.api.ImapConstants.SUPPORTS_CONDSTORE;
+import static org.apache.james.imap.api.ImapConstants.VERSION;
import java.util.ArrayList;
import java.util.Collections;
@@ -40,6 +40,7 @@ import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.message.request.CapabilityRequest;
import org.apache.james.imap.message.response.CapabilityResponse;
import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.metrics.api.MetricFactory;
public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequest> implements CapabilityImplementingProcessor {
@@ -62,14 +63,16 @@ public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequ
private static final List<CapabilityImplementingProcessor> capabilities = new ArrayList<CapabilityImplementingProcessor>();
private static final Set<String> disabledCaps = new HashSet<String>();
- public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<CapabilityImplementingProcessor> capabilities, Set<String> disabledCaps) {
- this(next, mailboxManager, factory, disabledCaps);
+ public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<CapabilityImplementingProcessor> capabilities, Set<String> disabledCaps,
+ MetricFactory metricFactory) {
+ this(next, mailboxManager, factory, disabledCaps, metricFactory);
CapabilityProcessor.capabilities.addAll(capabilities);
}
- public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, Set<String> disabledCaps) {
- super(CapabilityRequest.class, next, mailboxManager, factory);
+ public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, Set<String> disabledCaps,
+ MetricFactory metricFactory) {
+ super(CapabilityRequest.class, next, mailboxManager, factory, metricFactory);
CapabilityProcessor.disabledCaps.addAll(disabledCaps);
capabilities.add(this);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
index 76dd9fa..8a03f34 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
@@ -25,11 +25,13 @@ import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.message.request.CheckRequest;
import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.metrics.api.MetricFactory;
public class CheckProcessor extends AbstractMailboxProcessor<CheckRequest> {
- public CheckProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(CheckRequest.class, next, mailboxManager, factory);
+ public CheckProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(CheckRequest.class, next, mailboxManager, factory, metricFactory);
}
protected void doProcess(CheckRequest message, ImapSession session, String tag, ImapCommand command, Responder responder) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
index 6ac0cd1..477ded2 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
@@ -32,11 +32,13 @@ import org.apache.james.mailbox.MessageManager;
import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MessageRange;
+import org.apache.james.metrics.api.MetricFactory;
public class CloseProcessor extends AbstractMailboxProcessor<CloseRequest> {
- public CloseProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(CloseRequest.class, next, mailboxManager, factory);
+ public CloseProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(CloseRequest.class, next, mailboxManager, factory, metricFactory);
}
protected void doProcess(CloseRequest message, ImapSession session, String tag, ImapCommand command, Responder responder) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/CopyProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CopyProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CopyProcessor.java
index f55a356..2b7e242 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CopyProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CopyProcessor.java
@@ -30,11 +30,13 @@ import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageRange;
+import org.apache.james.metrics.api.MetricFactory;
public class CopyProcessor extends AbstractMessageRangeProcessor<CopyRequest> {
- public CopyProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(CopyRequest.class, next, mailboxManager, factory);
+ public CopyProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(CopyRequest.class, next, mailboxManager, factory, metricFactory);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
index 81f08a7..36c7385 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
@@ -32,11 +32,13 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.exception.TooLongMailboxNameException;
import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.metrics.api.MetricFactory;
public class CreateProcessor extends AbstractMailboxProcessor<CreateRequest> {
- public CreateProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(CreateRequest.class, next, mailboxManager, factory);
+ public CreateProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(CreateRequest.class, next, mailboxManager, factory, metricFactory);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
index 31b20b8..9a99ae0 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
@@ -31,6 +31,7 @@ import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.quota.QuotaRootResolver;
+import org.apache.james.metrics.api.MetricFactory;
/**
* TODO: perhaps this should be a POJO
@@ -40,83 +41,84 @@ public class DefaultProcessorChain {
public static ImapProcessor createDefaultChain(ImapProcessor chainEndProcessor,
final MailboxManager mailboxManager, SubscriptionManager subscriptionManager,
final StatusResponseFactory statusResponseFactory, MailboxTyper mailboxTyper, QuotaManager quotaManager,
- final QuotaRootResolver quotaRootResolver, long idleKeepAlive, TimeUnit milliseconds, Set<String> disabledCaps) {
+ final QuotaRootResolver quotaRootResolver, long idleKeepAlive, TimeUnit milliseconds, Set<String> disabledCaps,
+ MetricFactory metricFactory) {
final SystemMessageProcessor systemProcessor = new SystemMessageProcessor(chainEndProcessor, mailboxManager);
- final LogoutProcessor logoutProcessor = new LogoutProcessor(systemProcessor, mailboxManager, statusResponseFactory);
+ final LogoutProcessor logoutProcessor = new LogoutProcessor(systemProcessor, mailboxManager, statusResponseFactory, metricFactory);
- final CapabilityProcessor capabilityProcessor = new CapabilityProcessor(logoutProcessor, mailboxManager, statusResponseFactory, disabledCaps);
- final CheckProcessor checkProcessor = new CheckProcessor(capabilityProcessor, mailboxManager, statusResponseFactory);
- final LoginProcessor loginProcessor = new LoginProcessor(checkProcessor, mailboxManager, statusResponseFactory);
+ final CapabilityProcessor capabilityProcessor = new CapabilityProcessor(logoutProcessor, mailboxManager, statusResponseFactory, disabledCaps, metricFactory);
+ final CheckProcessor checkProcessor = new CheckProcessor(capabilityProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final LoginProcessor loginProcessor = new LoginProcessor(checkProcessor, mailboxManager, statusResponseFactory, metricFactory);
// so it can announce the LOGINDISABLED if needed
capabilityProcessor.addProcessor(loginProcessor);
- final RenameProcessor renameProcessor = new RenameProcessor(loginProcessor, mailboxManager, statusResponseFactory);
- final DeleteProcessor deleteProcessor = new DeleteProcessor(renameProcessor, mailboxManager, statusResponseFactory);
- final CreateProcessor createProcessor = new CreateProcessor(deleteProcessor, mailboxManager, statusResponseFactory);
- final CloseProcessor closeProcessor = new CloseProcessor(createProcessor, mailboxManager, statusResponseFactory);
- final UnsubscribeProcessor unsubscribeProcessor = new UnsubscribeProcessor(closeProcessor, mailboxManager, subscriptionManager, statusResponseFactory);
+ final RenameProcessor renameProcessor = new RenameProcessor(loginProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final DeleteProcessor deleteProcessor = new DeleteProcessor(renameProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final CreateProcessor createProcessor = new CreateProcessor(deleteProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final CloseProcessor closeProcessor = new CloseProcessor(createProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final UnsubscribeProcessor unsubscribeProcessor = new UnsubscribeProcessor(closeProcessor, mailboxManager, subscriptionManager, statusResponseFactory, metricFactory);
final SubscribeProcessor subscribeProcessor;
if (mailboxManager.hasCapability(MailboxManager.MailboxCapabilities.Annotation)) {
- final SetAnnotationProcessor setAnnotationProcessor = new SetAnnotationProcessor(unsubscribeProcessor, mailboxManager, statusResponseFactory);
+ final SetAnnotationProcessor setAnnotationProcessor = new SetAnnotationProcessor(unsubscribeProcessor, mailboxManager, statusResponseFactory, metricFactory);
capabilityProcessor.addProcessor(setAnnotationProcessor);
- final GetAnnotationProcessor getAnnotationProcessor = new GetAnnotationProcessor(setAnnotationProcessor, mailboxManager, statusResponseFactory);
+ final GetAnnotationProcessor getAnnotationProcessor = new GetAnnotationProcessor(setAnnotationProcessor, mailboxManager, statusResponseFactory, metricFactory);
capabilityProcessor.addProcessor(getAnnotationProcessor);
- subscribeProcessor = new SubscribeProcessor(getAnnotationProcessor, mailboxManager, subscriptionManager, statusResponseFactory);
+ subscribeProcessor = new SubscribeProcessor(getAnnotationProcessor, mailboxManager, subscriptionManager, statusResponseFactory, metricFactory);
} else {
- subscribeProcessor = new SubscribeProcessor(unsubscribeProcessor, mailboxManager, subscriptionManager, statusResponseFactory);
+ subscribeProcessor = new SubscribeProcessor(unsubscribeProcessor, mailboxManager, subscriptionManager, statusResponseFactory, metricFactory);
}
- final CopyProcessor copyProcessor = new CopyProcessor(subscribeProcessor, mailboxManager, statusResponseFactory);
+ final CopyProcessor copyProcessor = new CopyProcessor(subscribeProcessor, mailboxManager, statusResponseFactory, metricFactory);
AuthenticateProcessor authenticateProcessor;
if (mailboxManager.hasCapability(MailboxManager.MailboxCapabilities.Move)) {
- final MoveProcessor moveProcessor = new MoveProcessor(copyProcessor, mailboxManager, statusResponseFactory);
- authenticateProcessor = new AuthenticateProcessor(moveProcessor, mailboxManager, statusResponseFactory);
+ final MoveProcessor moveProcessor = new MoveProcessor(copyProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ authenticateProcessor = new AuthenticateProcessor(moveProcessor, mailboxManager, statusResponseFactory, metricFactory);
capabilityProcessor.addProcessor(moveProcessor);
} else {
- authenticateProcessor = new AuthenticateProcessor(copyProcessor, mailboxManager, statusResponseFactory);
+ authenticateProcessor = new AuthenticateProcessor(copyProcessor, mailboxManager, statusResponseFactory, metricFactory);
}
- final ExpungeProcessor expungeProcessor = new ExpungeProcessor(authenticateProcessor, mailboxManager, statusResponseFactory);
- final ExamineProcessor examineProcessor = new ExamineProcessor(expungeProcessor, mailboxManager, statusResponseFactory);
- final AppendProcessor appendProcessor = new AppendProcessor(examineProcessor, mailboxManager, statusResponseFactory);
- final StoreProcessor storeProcessor = new StoreProcessor(appendProcessor, mailboxManager, statusResponseFactory);
- final NoopProcessor noopProcessor = new NoopProcessor(storeProcessor, mailboxManager, statusResponseFactory);
+ final ExpungeProcessor expungeProcessor = new ExpungeProcessor(authenticateProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final ExamineProcessor examineProcessor = new ExamineProcessor(expungeProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final AppendProcessor appendProcessor = new AppendProcessor(examineProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final StoreProcessor storeProcessor = new StoreProcessor(appendProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final NoopProcessor noopProcessor = new NoopProcessor(storeProcessor, mailboxManager, statusResponseFactory, metricFactory);
final IdleProcessor idleProcessor;
if (idleKeepAlive > 0) {
- idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, idleKeepAlive, milliseconds, Executors.newScheduledThreadPool(IdleProcessor.DEFAULT_SCHEDULED_POOL_CORE_SIZE));
+ idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, idleKeepAlive, milliseconds, Executors.newScheduledThreadPool(IdleProcessor.DEFAULT_SCHEDULED_POOL_CORE_SIZE), metricFactory);
} else {
// We don't want to send keep alives so now scheduled executur needed
- idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, idleKeepAlive, milliseconds, null);
+ idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, idleKeepAlive, milliseconds, null, metricFactory);
}
- final StatusProcessor statusProcessor = new StatusProcessor(idleProcessor, mailboxManager, statusResponseFactory);
- final LSubProcessor lsubProcessor = new LSubProcessor(statusProcessor, mailboxManager, subscriptionManager, statusResponseFactory);
- final XListProcessor xlistProcessor = new XListProcessor(lsubProcessor, mailboxManager, statusResponseFactory, mailboxTyper);
- final ListProcessor listProcessor = new ListProcessor(xlistProcessor, mailboxManager, statusResponseFactory);
- final SearchProcessor searchProcessor = new SearchProcessor(listProcessor, mailboxManager, statusResponseFactory);
+ final StatusProcessor statusProcessor = new StatusProcessor(idleProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final LSubProcessor lsubProcessor = new LSubProcessor(statusProcessor, mailboxManager, subscriptionManager, statusResponseFactory, metricFactory);
+ final XListProcessor xlistProcessor = new XListProcessor(lsubProcessor, mailboxManager, statusResponseFactory, mailboxTyper, metricFactory);
+ final ListProcessor listProcessor = new ListProcessor(xlistProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final SearchProcessor searchProcessor = new SearchProcessor(listProcessor, mailboxManager, statusResponseFactory, metricFactory);
// WITHIN extension
capabilityProcessor.addProcessor(searchProcessor);
- final SelectProcessor selectProcessor = new SelectProcessor(searchProcessor, mailboxManager, statusResponseFactory);
- final NamespaceProcessor namespaceProcessor = new NamespaceProcessor(selectProcessor, mailboxManager, statusResponseFactory);
+ final SelectProcessor selectProcessor = new SelectProcessor(searchProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final NamespaceProcessor namespaceProcessor = new NamespaceProcessor(selectProcessor, mailboxManager, statusResponseFactory, metricFactory);
capabilityProcessor.addProcessor(xlistProcessor);
- final ImapProcessor fetchProcessor = new FetchProcessor(namespaceProcessor, mailboxManager, statusResponseFactory);
+ final ImapProcessor fetchProcessor = new FetchProcessor(namespaceProcessor, mailboxManager, statusResponseFactory, metricFactory);
final StartTLSProcessor startTLSProcessor = new StartTLSProcessor(fetchProcessor, statusResponseFactory);
- final UnselectProcessor unselectProcessor = new UnselectProcessor(startTLSProcessor, mailboxManager, statusResponseFactory);
+ final UnselectProcessor unselectProcessor = new UnselectProcessor(startTLSProcessor, mailboxManager, statusResponseFactory, metricFactory);
final CompressProcessor compressProcessor = new CompressProcessor(unselectProcessor, statusResponseFactory);
- final GetACLProcessor getACLProcessor = new GetACLProcessor(compressProcessor, mailboxManager, statusResponseFactory);
- final SetACLProcessor setACLProcessor = new SetACLProcessor(getACLProcessor, mailboxManager, statusResponseFactory);
- final DeleteACLProcessor deleteACLProcessor = new DeleteACLProcessor(setACLProcessor, mailboxManager, statusResponseFactory);
- final ListRightsProcessor listRightsProcessor = new ListRightsProcessor(deleteACLProcessor, mailboxManager, statusResponseFactory);
- final MyRightsProcessor myRightsProcessor = new MyRightsProcessor(listRightsProcessor, mailboxManager, statusResponseFactory);
+ final GetACLProcessor getACLProcessor = new GetACLProcessor(compressProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final SetACLProcessor setACLProcessor = new SetACLProcessor(getACLProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final DeleteACLProcessor deleteACLProcessor = new DeleteACLProcessor(setACLProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final ListRightsProcessor listRightsProcessor = new ListRightsProcessor(deleteACLProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final MyRightsProcessor myRightsProcessor = new MyRightsProcessor(listRightsProcessor, mailboxManager, statusResponseFactory, metricFactory);
- final EnableProcessor enableProcessor = new EnableProcessor(myRightsProcessor, mailboxManager, statusResponseFactory);
+ final EnableProcessor enableProcessor = new EnableProcessor(myRightsProcessor, mailboxManager, statusResponseFactory, metricFactory);
- final GetQuotaProcessor getQuotaProcessor = new GetQuotaProcessor(enableProcessor, mailboxManager, statusResponseFactory, quotaManager, quotaRootResolver);
- final SetQuotaProcessor setQuotaProcessor = new SetQuotaProcessor(getQuotaProcessor, mailboxManager, statusResponseFactory);
- final GetQuotaRootProcessor getQuotaRootProcessor = new GetQuotaRootProcessor(setQuotaProcessor, mailboxManager, statusResponseFactory, quotaRootResolver, quotaManager);
+ final GetQuotaProcessor getQuotaProcessor = new GetQuotaProcessor(enableProcessor, mailboxManager, statusResponseFactory, quotaManager, quotaRootResolver, metricFactory);
+ final SetQuotaProcessor setQuotaProcessor = new SetQuotaProcessor(getQuotaProcessor, mailboxManager, statusResponseFactory, metricFactory);
+ final GetQuotaRootProcessor getQuotaRootProcessor = new GetQuotaRootProcessor(setQuotaProcessor, mailboxManager, statusResponseFactory, quotaRootResolver, quotaManager, metricFactory);
// add for QRESYNC
enableProcessor.addProcessor(selectProcessor);
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
index 77ead95..86d5a14 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
@@ -42,6 +42,7 @@ import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.SimpleMailboxACL;
import org.apache.james.mailbox.model.SimpleMailboxACL.Rfc4314Rights;
import org.apache.james.mailbox.model.SimpleMailboxACL.SimpleMailboxACLEntryKey;
+import org.apache.james.metrics.api.MetricFactory;
import org.slf4j.Logger;
/**
@@ -53,8 +54,9 @@ public class DeleteACLProcessor extends AbstractMailboxProcessor<DeleteACLReques
private static final List<String> CAPABILITIES = Collections.singletonList(ImapConstants.SUPPORTS_ACL);
- public DeleteACLProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(DeleteACLRequest.class, next, mailboxManager, factory);
+ public DeleteACLProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(DeleteACLRequest.class, next, mailboxManager, factory, metricFactory);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
index 1c64a67..4b212a9 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
@@ -33,11 +33,13 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.exception.TooLongMailboxNameException;
import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.metrics.api.MetricFactory;
public class DeleteProcessor extends AbstractMailboxProcessor<DeleteRequest> {
- public DeleteProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(DeleteRequest.class, next, mailboxManager, factory);
+ public DeleteProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(DeleteRequest.class, next, mailboxManager, factory, metricFactory);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
index dbd4028..46b479c 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
@@ -39,6 +39,7 @@ import org.apache.james.imap.message.request.EnableRequest;
import org.apache.james.imap.message.response.EnableResponse;
import org.apache.james.imap.processor.PermitEnableCapabilityProcessor.EnableException;
import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.metrics.api.MetricFactory;
public class EnableProcessor extends AbstractMailboxProcessor<EnableRequest> implements CapabilityImplementingProcessor {
@@ -46,14 +47,16 @@ public class EnableProcessor extends AbstractMailboxProcessor<EnableRequest> imp
public final static String ENABLED_CAPABILITIES = "ENABLED_CAPABILITIES";
private final static List<String> CAPS = Collections.unmodifiableList(Arrays.asList(SUPPORTS_ENABLE));
- public EnableProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<PermitEnableCapabilityProcessor> capabilities) {
- this(next, mailboxManager, factory);
+ public EnableProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<PermitEnableCapabilityProcessor> capabilities,
+ MetricFactory metricFactory) {
+ this(next, mailboxManager, factory, metricFactory);
EnableProcessor.capabilities.addAll(capabilities);
}
- public EnableProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(EnableRequest.class, next, mailboxManager, factory);
+ public EnableProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(EnableRequest.class, next, mailboxManager, factory, metricFactory);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExamineProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ExamineProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExamineProcessor.java
index f2b9b2b..f5428e0 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ExamineProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExamineProcessor.java
@@ -23,11 +23,13 @@ import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.message.request.ExamineRequest;
import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.metrics.api.MetricFactory;
public class ExamineProcessor extends AbstractSelectionProcessor<ExamineRequest> {
- public ExamineProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory statusResponseFactory) {
- super(ExamineRequest.class, next, mailboxManager, statusResponseFactory, true);
+ public ExamineProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory statusResponseFactory,
+ MetricFactory metricFactory) {
+ super(ExamineRequest.class, next, mailboxManager, statusResponseFactory, true, metricFactory);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
index 2c1a2a5..8e6bb15 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
@@ -44,13 +44,15 @@ import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MessageRangeException;
import org.apache.james.mailbox.model.MessageRange;
+import org.apache.james.metrics.api.MetricFactory;
public class ExpungeProcessor extends AbstractMailboxProcessor<ExpungeRequest> implements CapabilityImplementingProcessor {
private final static List<String> UIDPLUS = Collections.unmodifiableList(Arrays.asList("UIDPLUS"));
- public ExpungeProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(ExpungeRequest.class, next, mailboxManager, factory);
+ public ExpungeProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(ExpungeRequest.class, next, mailboxManager, factory, metricFactory);
}
protected void doProcess(ExpungeRequest request, ImapSession session, String tag, ImapCommand command, Responder responder) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
index 81a6994..2e7edf9 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
@@ -41,6 +41,7 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.SimpleMailboxACL.Rfc4314Rights;
+import org.apache.james.metrics.api.MetricFactory;
import org.slf4j.Logger;
/**
@@ -51,8 +52,9 @@ public class GetACLProcessor extends AbstractMailboxProcessor<GetACLRequest> imp
private static final List<String> CAPABILITIES = Collections.singletonList(ImapConstants.SUPPORTS_ACL);
- public GetACLProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(GetACLRequest.class, next, mailboxManager, factory);
+ public GetACLProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(GetACLRequest.class, next, mailboxManager, factory, metricFactory);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
index 596849f..03fdfff 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
@@ -19,18 +19,16 @@
package org.apache.james.imap.processor;
-import static org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSortedSet;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+
import org.apache.commons.lang.NotImplementedException;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapSessionUtils;
import org.apache.james.imap.api.display.HumanReadableText;
+import org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
@@ -44,14 +42,19 @@ import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.model.MailboxAnnotation;
import org.apache.james.mailbox.model.MailboxAnnotationKey;
import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.metrics.api.MetricFactory;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.common.collect.FluentIterable;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSortedSet;
public class GetAnnotationProcessor extends AbstractMailboxProcessor<GetAnnotationRequest> implements CapabilityImplementingProcessor {
- public GetAnnotationProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(GetAnnotationRequest.class, next, mailboxManager, factory);
+ public GetAnnotationProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(GetAnnotationRequest.class, next, mailboxManager, factory, metricFactory);
}
public List<String> getImplementedCapabilities(ImapSession session) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
index fa028ad..2e395b6 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
@@ -19,6 +19,9 @@
package org.apache.james.imap.processor;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapSessionUtils;
@@ -37,9 +40,7 @@ import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.model.SimpleMailboxACL;
import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.quota.QuotaRootResolver;
-
-import java.util.Collections;
-import java.util.List;
+import org.apache.james.metrics.api.MetricFactory;
/**
* GETQUOTA processor
@@ -51,8 +52,9 @@ public class GetQuotaProcessor extends AbstractMailboxProcessor<GetQuotaRequest>
private final QuotaManager quotaManager;
private final QuotaRootResolver quotaRootResolver;
- public GetQuotaProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver) {
- super(GetQuotaRequest.class, next, mailboxManager, factory);
+ public GetQuotaProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver,
+ MetricFactory metricFactory) {
+ super(GetQuotaRequest.class, next, mailboxManager, factory, metricFactory);
this.quotaManager = quotaManager;
this.quotaRootResolver = quotaRootResolver;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
index 5b2987f..b10d359 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
@@ -19,6 +19,9 @@
package org.apache.james.imap.processor;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapSessionUtils;
@@ -28,8 +31,8 @@ import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.main.PathConverter;
import org.apache.james.imap.message.request.GetQuotaRootRequest;
-import org.apache.james.imap.message.response.QuotaRootResponse;
import org.apache.james.imap.message.response.QuotaResponse;
+import org.apache.james.imap.message.response.QuotaRootResponse;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.exception.MailboxException;
@@ -39,9 +42,7 @@ import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.model.SimpleMailboxACL;
import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.quota.QuotaRootResolver;
-
-import java.util.Collections;
-import java.util.List;
+import org.apache.james.metrics.api.MetricFactory;
/**
* GETQUOTAROOT Processor
@@ -52,8 +53,9 @@ public class GetQuotaRootProcessor extends AbstractMailboxProcessor<GetQuotaRoot
private final QuotaRootResolver quotaRootResolver;
private final QuotaManager quotaManager;
- public GetQuotaRootProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, QuotaRootResolver quotaRootResolver, QuotaManager quotaManager) {
- super(GetQuotaRootRequest.class, next, mailboxManager, factory);
+ public GetQuotaRootProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, QuotaRootResolver quotaRootResolver, QuotaManager quotaManager,
+ MetricFactory metricFactory) {
+ super(GetQuotaRootRequest.class, next, mailboxManager, factory, metricFactory);
this.quotaRootResolver = quotaRootResolver;
this.quotaManager = quotaManager;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
index 6a86021..ea2c497 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
@@ -46,6 +46,7 @@ import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.metrics.api.MetricFactory;
public class IdleProcessor extends AbstractMailboxProcessor<IdleRequest> implements CapabilityImplementingProcessor {
@@ -59,13 +60,15 @@ public class IdleProcessor extends AbstractMailboxProcessor<IdleRequest> impleme
private final TimeUnit heartbeatIntervalUnit;
private final long heartbeatInterval;
- public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- this(next, mailboxManager, factory, DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, DEFAULT_HEARTBEAT_INTERVAL_UNIT, Executors.newScheduledThreadPool(DEFAULT_SCHEDULED_POOL_CORE_SIZE));
+ public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ this(next, mailboxManager, factory, DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, DEFAULT_HEARTBEAT_INTERVAL_UNIT, Executors.newScheduledThreadPool(DEFAULT_SCHEDULED_POOL_CORE_SIZE), metricFactory);
}
- public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, long heartbeatInterval, TimeUnit heartbeatIntervalUnit, ScheduledExecutorService heartbeatExecutor) {
- super(IdleRequest.class, next, mailboxManager, factory);
+ public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, long heartbeatInterval, TimeUnit heartbeatIntervalUnit, ScheduledExecutorService heartbeatExecutor,
+ MetricFactory metricFactory) {
+ super(IdleRequest.class, next, mailboxManager, factory, metricFactory);
this.heartbeatInterval = heartbeatInterval;
this.heartbeatIntervalUnit = heartbeatIntervalUnit;
this.heartbeatExecutor = heartbeatExecutor;
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
index c8ebdde..7a3cba0 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
@@ -40,11 +40,13 @@ import org.apache.james.mailbox.exception.SubscriptionException;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MailboxQuery;
+import org.apache.james.metrics.api.MetricFactory;
public class LSubProcessor extends AbstractSubscriptionProcessor<LsubRequest> {
- public LSubProcessor(ImapProcessor next, MailboxManager mailboxManager, SubscriptionManager subscriptionManager, StatusResponseFactory factory) {
- super(LsubRequest.class, next, mailboxManager, subscriptionManager, factory);
+ public LSubProcessor(ImapProcessor next, MailboxManager mailboxManager, SubscriptionManager subscriptionManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(LsubRequest.class, next, mailboxManager, subscriptionManager, factory, metricFactory);
}
private void listSubscriptions(ImapSession session, Responder responder, String referenceName, String mailboxName) throws SubscriptionException, MailboxException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
index a076159..7004737 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
@@ -45,11 +45,13 @@ import org.apache.james.mailbox.model.MailboxMetaData;
import org.apache.james.mailbox.model.MailboxMetaData.Children;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MailboxQuery;
+import org.apache.james.metrics.api.MetricFactory;
public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
- public ListProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(ListRequest.class, next, mailboxManager, factory);
+ public ListProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(ListRequest.class, next, mailboxManager, factory, metricFactory);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/08578b3b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
index b465a3e..cb69d0e 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
@@ -41,6 +41,7 @@ import org.apache.james.mailbox.model.MailboxACL.MailboxACLRights;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.SimpleMailboxACL.Rfc4314Rights;
import org.apache.james.mailbox.model.SimpleMailboxACL.SimpleMailboxACLEntryKey;
+import org.apache.james.metrics.api.MetricFactory;
import org.slf4j.Logger;
/**
@@ -52,8 +53,9 @@ public class ListRightsProcessor extends AbstractMailboxProcessor<ListRightsRequ
private static final List<String> CAPABILITIES = Collections.singletonList(ImapConstants.SUPPORTS_ACL);
- public ListRightsProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory) {
- super(ListRightsRequest.class, next, mailboxManager, factory);
+ public ListRightsProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory,
+ MetricFactory metricFactory) {
+ super(ListRightsRequest.class, next, mailboxManager, factory, metricFactory);
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org