User content usages & quotas - initial check-in

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7453 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2007-11-27 18:44:24 +00:00
parent 0b19ebb616
commit 7f8a4f0d5b
30 changed files with 1894 additions and 10 deletions

View File

@@ -46,7 +46,8 @@
<value>org/alfresco/repo/domain/hibernate/AppliedPatch.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Permission.hbm.xml</value>
<value>org/alfresco/repo/avm/hibernate/AVM.hbm.xml</value>
<value>org/alfresco/repo/attributes/hibernate/Attributes.hbm.xml</value>
<value>org/alfresco/repo/attributes/hibernate/Attributes.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/UsageDelta.hbm.xml</value>
<!-- Audit config -->
<!-- TODO: Move into org/alfresco/repo/domain/hibernate/ -->
@@ -228,7 +229,13 @@
<ref bean="avmRepository"/>
</property>
</bean>
<bean id="usageDeltaDao" class="org.alfresco.repo.usage.hibernate.HibernateUsageDeltaDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="nodeDaoServiceImpl" class="org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
@@ -238,6 +245,9 @@
</property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="usageDeltaDao">
<ref bean="usageDeltaDao"/>
</property>
</bean>

View File

@@ -184,7 +184,15 @@
</property>
<property name="cm:presenceUsername">
<type>d:text</type>
</property>
</property>
<property name="cm:sizeCurrent">
<type>d:long</type>
</property>
<property name="cm:sizeQuota">
<type>d:long</type>
</property>
</properties>
</type>

View File

@@ -196,5 +196,27 @@
<value>5000</value>
</property>
</bean>
<bean id="usageService" class="org.alfresco.repo.usage.UsageServiceImpl">
<property name="usageDeltaDao">
<ref bean="usageDeltaDao"/>
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
</bean>
<bean id="contentUsageImpl" class="org.alfresco.repo.usage.ContentUsageImpl" init-method="init">
<property name="personService" ref="personService"/>
<property name="nodeService" ref="nodeService"/>
<property name="policyComponent" ref="policyComponent"/>
<property name="usageService" ref="usageService"/>
<property name="enabled">
<value>${system.usages.enabled}</value>
</property>
</bean>
</beans>

View File

@@ -563,6 +563,36 @@
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<!-- Content Usage Service -->
<bean id="ContentUsageService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.service.cmr.usage.ContentUsageService</value>
</property>
<property name="target">
<ref bean="contentUsageImpl"/>
</property>
<property name="interceptorNames">
<list>
<idref local="ContenUsageService_transaction"/>
<idref local="AuditMethodInterceptor"/>
<idref local="exceptionTranslator"/>
<idref bean="ContentUsageService_security"/>
</list>
</property>
</bean>
<bean id="ContenUsageService_transaction" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<!-- Authentication Service -->

View File

@@ -804,6 +804,13 @@
<!-- TODO: Add repository admin security -->
<bean id="RepoAdminService_security" class="org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor" />
<bean id="RepoAdminService_security" class="org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor" />
<!-- ===================== -->
<!-- Content Usage Service -->
<!-- ===================== -->
<!-- TODO: Add content usage security -->
<bean id="ContentUsageService_security" class="org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor" />
</beans>

View File

@@ -172,3 +172,6 @@ user.name.caseSensitive=false
# AVM Specific properties.
avm.remote.idlestream.timeout=30000
# ECM content usages/quotas
system.usages.enabled=true

View File

@@ -231,4 +231,123 @@
<value>0 30 3 * * ?</value>
</property>
</bean>
<bean id="userUsageCollapseComponent" class="org.alfresco.repo.usage.UserUsageTrackingComponent">
<property name="nodeDaoService">
<ref bean="nodeDaoService"/>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="contentUsageImpl">
<ref bean="contentUsageImpl"/>
</property>
<property name="personService">
<ref bean="personService"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="usageService">
<ref bean="usageService"/>
</property>
<property name="enabled">
<value>${system.usages.enabled}</value>
</property>
</bean>
<bean id="userUsageBootstrapComponent" class="org.alfresco.repo.usage.UserUsageTrackingComponent">
<property name="nodeDaoService">
<ref bean="nodeDaoService"/>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="contentUsageImpl">
<ref bean="contentUsageImpl"/>
</property>
<property name="personService">
<ref bean="personService"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="usageService">
<ref bean="usageService"/>
</property>
<property name="enabled">
<value>${system.usages.enabled}</value>
</property>
<property name="bootstrap">
<value>true</value>
</property>
</bean>
<!-- enable scheduler property to activate -->
<bean id="userUsageCollapseJob" class="org.alfresco.util.TriggerBean">
<property name="jobDetail">
<bean id="userUsageTrackingJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.usage.UserUsageCollapseJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="userUsageCollapseComponent">
<ref bean="userUsageCollapseComponent" />
</entry>
</map>
</property>
</bean>
</property>
<!-- enable this to activate bean -->
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<!-- start after 5 minutes and repeat every 5 minutes -->
<property name="startDelayMinutes">
<value>5</value>
</property>
<property name="repeatIntervalMinutes">
<value>5</value>
</property>
</bean>
<!-- enable scheduler property to activate -->
<bean id="userUsageBootstrapJob" class="org.alfresco.util.TriggerBean">
<property name="jobDetail">
<bean id="userUsageBootstrapDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.usage.UserUsageBootstrapJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="userUsageBootstrapComponent">
<ref bean="userUsageBootstrapComponent" />
</entry>
</map>
</property>
</bean>
</property>
<!-- enable this to activate bean -->
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<!-- start after bootstrap (0 minutes) and run once -->
<property name="startDelayMinutes">
<value>0</value>
</property>
<property name="repeatCount">
<value>0</value>
</property>
</bean>
</beans>

View File

@@ -19,4 +19,4 @@ version.build=@build-number@
# Schema number
version.schema=113
version.schema=114