Author: btellier
Date: Tue Sep 22 10:26:15 2015
New Revision: 1704543
URL: http://svn.apache.org/viewvc?rev=1704543&view=rev
Log:
MAILBOX-64 Spring integration for quotas
Added:
james/mailbox/trunk/spring/src/main/resources/META-INF/spring/quota.xml
james/mailbox/trunk/spring/src/test/resources/META-INF/spring/
james/mailbox/trunk/spring/src/test/resources/META-INF/spring/quota-alias.xml
Modified:
james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml
james/mailbox/trunk/hbase/src/main/resources/META-INF/spring/mailbox-hbase.xml
james/mailbox/trunk/jcr/src/main/resources/META-INF/spring/mailbox-jcr.xml
james/mailbox/trunk/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
james/mailbox/trunk/maildir/src/main/resources/META-INF/spring/mailbox-maildir.xml
james/mailbox/trunk/memory/src/main/resources/META-INF/spring/mailbox-memory.xml
james/mailbox/trunk/spring/src/main/java/org/apache/james/mailbox/spring/SpringMailbox.java
Modified:
james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
---
james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml
(original)
+++
james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml
Tue Sep 22 10:26:15 2015
@@ -31,6 +31,9 @@
<constructor-arg index="1" ref="authenticator"/>
<constructor-arg index="2" ref="cassandra-locker"/>
<property name="messageSearchIndex" ref="elasticsearch-listener"/>
+ <property name="quotaManager" ref="quotaManager"/>
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
+ <property name="quotaUpdater" ref="quotaUpdater"/>
</bean>
<bean id ="cassandra-subscriptionManager"
class="org.apache.james.mailbox.cassandra.CassandraSubscriptionManager">
@@ -54,6 +57,14 @@
<alias name="no-locker" alias="cassandra-locker"/>
+ <bean name="cassandraMaxQuotaManager"
class="org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaManager">
+ <constructor-arg index="0" ref="cassandra-session"/>
+ </bean>
+
+ <bean name="cassandraCurrentQuotaManager"
class="org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManager">
+ <constructor-arg index="0" ref="cassandra-session"/>
+ </bean>
+
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
<property name ="location" value="classpath:cassandra.properties"/>
Modified:
james/mailbox/trunk/hbase/src/main/resources/META-INF/spring/mailbox-hbase.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/main/resources/META-INF/spring/mailbox-hbase.xml?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
---
james/mailbox/trunk/hbase/src/main/resources/META-INF/spring/mailbox-hbase.xml
(original)
+++
james/mailbox/trunk/hbase/src/main/resources/META-INF/spring/mailbox-hbase.xml
Tue Sep 22 10:26:15 2015
@@ -43,6 +43,9 @@
<constructor-arg index="2" ref="hbase-locker"/>
<constructor-arg index="3" ref="aclResolver"/>
<constructor-arg index="4" ref="groupMembershipResolver"/>
+ <property name="quotaManager" ref="quotaManager"/>
+ <property name="maxQuotaManager" ref="maxQuotaManager"/>
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
</bean>
<bean id="hbase-sessionMapperFactory"
class="org.apache.james.mailbox.hbase.HBaseMailboxSessionMapperFactory">
Modified:
james/mailbox/trunk/jcr/src/main/resources/META-INF/spring/mailbox-jcr.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/resources/META-INF/spring/mailbox-jcr.xml?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/src/main/resources/META-INF/spring/mailbox-jcr.xml
(original)
+++ james/mailbox/trunk/jcr/src/main/resources/META-INF/spring/mailbox-jcr.xml
Tue Sep 22 10:26:15 2015
@@ -33,6 +33,9 @@
<constructor-arg index="2" ref="jcr-locker"/>
<constructor-arg index="3" ref="aclResolver"/>
<constructor-arg index="4" ref="groupMembershipResolver"/>
+ <property name="quotaManager" ref="quotaManager"/>
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
+ <property name="quotaUpdater" ref="quotaUpdater"/>
</bean>
<bean id ="jcr-subscriptionManager"
class="org.apache.james.mailbox.jcr.JCRSubscriptionManager">
<constructor-arg index="0" ref="jcr-sessionMapperFactory"/>
Modified:
james/mailbox/trunk/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
--- james/mailbox/trunk/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
(original)
+++ james/mailbox/trunk/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
Tue Sep 22 10:26:15 2015
@@ -36,6 +36,9 @@
<constructor-arg index="3" type="boolean" value="false"/>
<constructor-arg index="4" ref="aclResolver"/>
<constructor-arg index="5" ref="groupMembershipResolver"/>
+ <property name="quotaManager" ref="quotaManager"/>
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
+ <property name="quotaUpdater" ref="quotaUpdater"/>
</bean>
<bean id ="jpa-subscriptionManager"
class="org.apache.james.mailbox.jpa.JPASubscriptionManager">
<constructor-arg index="0" ref="jpa-sessionMapperFactory"/>
Modified:
james/mailbox/trunk/maildir/src/main/resources/META-INF/spring/mailbox-maildir.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/main/resources/META-INF/spring/mailbox-maildir.xml?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
---
james/mailbox/trunk/maildir/src/main/resources/META-INF/spring/mailbox-maildir.xml
(original)
+++
james/mailbox/trunk/maildir/src/main/resources/META-INF/spring/mailbox-maildir.xml
Tue Sep 22 10:26:15 2015
@@ -40,6 +40,9 @@
<constructor-arg index="3" ref="aclResolver"/>
<constructor-arg index="4" ref="groupMembershipResolver"/>
<!-- <property name="messageSearchIndex" ref="lazyIndex"/> -->
+ <property name="quotaManager" ref="quotaManager"/>
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
+ <property name="quotaUpdater" ref="quotaUpdater"/>
</bean>
<bean id ="maildir-subscriptionManager"
class="org.apache.james.mailbox.store.StoreSubscriptionManager">
<constructor-arg index="0" ref="maildir-sessionMapperFactory"/>
Modified:
james/mailbox/trunk/memory/src/main/resources/META-INF/spring/mailbox-memory.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/memory/src/main/resources/META-INF/spring/mailbox-memory.xml?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
---
james/mailbox/trunk/memory/src/main/resources/META-INF/spring/mailbox-memory.xml
(original)
+++
james/mailbox/trunk/memory/src/main/resources/META-INF/spring/mailbox-memory.xml
Tue Sep 22 10:26:15 2015
@@ -36,6 +36,9 @@
<constructor-arg index="3" ref="aclResolver"/>
<constructor-arg index="4" ref="groupMembershipResolver"/>
<!-- <property name="messageSearchIndex" ref="lazyIndex"/> -->
+ <property name="quotaManager" ref="quotaManager"/>
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
+ <property name="quotaUpdater" ref="quotaUpdater"/>
</bean>
<bean id ="memory-subscriptionManager"
class="org.apache.james.mailbox.store.StoreSubscriptionManager">
Modified:
james/mailbox/trunk/spring/src/main/java/org/apache/james/mailbox/spring/SpringMailbox.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/spring/src/main/java/org/apache/james/mailbox/spring/SpringMailbox.java?rev=1704543&r1=1704542&r2=1704543&view=diff
==============================================================================
---
james/mailbox/trunk/spring/src/main/java/org/apache/james/mailbox/spring/SpringMailbox.java
(original)
+++
james/mailbox/trunk/spring/src/main/java/org/apache/james/mailbox/spring/SpringMailbox.java
Tue Sep 22 10:26:15 2015
@@ -27,7 +27,8 @@ public class SpringMailbox {
public SpringMailbox() {
applicationContext = new
ClassPathXmlApplicationContext("META-INF/spring/spring-mailbox.xml",
- "META-INF/spring/mailbox-authenticator-anonymous.xml");
+ "META-INF/spring/mailbox-authenticator-anonymous.xml",
"META-INF/spring/quota.xml",
+ "META-INF/spring/quota-alias.xml");
}
public Object getBean(String beanName) {
Added: james/mailbox/trunk/spring/src/main/resources/META-INF/spring/quota.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/spring/src/main/resources/META-INF/spring/quota.xml?rev=1704543&view=auto
==============================================================================
--- james/mailbox/trunk/spring/src/main/resources/META-INF/spring/quota.xml
(added)
+++ james/mailbox/trunk/spring/src/main/resources/META-INF/spring/quota.xml Tue
Sep 22 10:26:15 2015
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="defaultQuotaRootResolver"
class="org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver"
lazy-init="true">
+ <constructor-arg index="0" ref="messageMapperFactory"/>
+ </bean>
+
+ <bean id="currentQuotaCalculator"
class="org.apache.james.mailbox.store.quota.CurrentQuotaCalculator"
lazy-init="true">
+ <constructor-arg index="0" ref="messageMapperFactory"/>
+ <constructor-arg index="1" ref="quotaRootResolver"/>
+ </bean>
+
+ <bean id="inMemoryCurrentQuotaManager"
class="org.apache.james.mailbox.inmemory.quota.InMemoryCurrentQuotaManager"
lazy-init="true">
+ <constructor-arg index="0" ref="currentQuotaCalculator"/>
+ <constructor-arg index="1" ref="mailboxmanager"/>
+ </bean>
+
+ <bean id="noMaxQuotaManager"
class="org.apache.james.mailbox.store.quota.NoMaxQuotaManager"
lazy-init="true"/>
+ <bean id="fixedMaxQuotaManager"
class="org.apache.james.mailbox.store.quota.FixedMaxQuotaManager"
lazy-init="true"/>
+ <bean id="inMemoryMaxQuotaManager"
class="org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager"
lazy-init="true"/>
+
+ <bean id="noQuotaManager"
class="org.apache.james.mailbox.store.quota.NoQuotaManager" lazy-init="true"/>
+ <bean id="storeQuotaManager"
class="org.apache.james.mailbox.store.quota.StoreQuotaManager" lazy-init="true">
+ <property name="maxQuotaManager" ref="maxQuotaManager"/>
+ <property name="currentQuotaManager" ref="currentQuotaManager"/>
+ </bean>
+
+ <bean id="noQuotaUpdater"
class="org.apache.james.mailbox.store.quota.NoQuotaUpdater" lazy-init="true"/>
+ <bean id="eventQuotaUpdater"
class="org.apache.james.mailbox.store.quota.ListeningCurrentQuotaUpdater"
lazy-init="true">
+ <property name="quotaRootResolver" ref="quotaRootResolver"/>
+ <property name="currentQuotaManager" ref="currentQuotaManager"/>
+ </bean>
+
+</beans>
\ No newline at end of file
Added:
james/mailbox/trunk/spring/src/test/resources/META-INF/spring/quota-alias.xml
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/spring/src/test/resources/META-INF/spring/quota-alias.xml?rev=1704543&view=auto
==============================================================================
---
james/mailbox/trunk/spring/src/test/resources/META-INF/spring/quota-alias.xml
(added)
+++
james/mailbox/trunk/spring/src/test/resources/META-INF/spring/quota-alias.xml
Tue Sep 22 10:26:15 2015
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <alias name="noMaxQuotaManager" alias="maxQuotaManager"/>
+ <alias name="noQuotaManager" alias="quotaManager"/>
+ <alias name="noQuotaUpdater" alias="quotaUpdater"/>
+ <alias name="defaultQuotaRootResolver" alias="quotaRootResolver"/>
+ <alias name="jpa-sessionMapperFactory" alias="messageMapperFactory"/>
+
+</beans>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]