dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #11803
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 3464: Impl user-orgunit association cache
------------------------------------------------------------
revno: 3464
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2011-04-24 15:31:09 +0200
message:
Impl user-orgunit association cache
modified:
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/period/hibernate/HibernatePeriodStore.java
dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml
dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/ehcache.xml
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/period/hibernate/HibernatePeriodStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/period/hibernate/HibernatePeriodStore.java 2011-04-22 21:04:14 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/period/hibernate/HibernatePeriodStore.java 2011-04-24 13:31:09 +0000
@@ -213,6 +213,19 @@
return periods;
}
+ public Period getPeriodFromDates( Date startDate, Date endDate, PeriodType periodType )
+ {
+ Session session = sessionFactory.getCurrentSession();
+
+ Criteria criteria = session.createCriteria( Period.class );
+ criteria.add( Restrictions.eq( "startDate", startDate ) );
+ criteria.add( Restrictions.eq( "endDate", endDate ) );
+ criteria.add( Restrictions.eq( "periodType", periodType ) );
+ criteria.setCacheable( true );
+
+ return (Period) criteria.uniqueResult();
+ }
+
public Period reloadPeriod( Period period )
{
Session session = sessionFactory.getCurrentSession();
@@ -272,7 +285,7 @@
Criteria criteria = session.createCriteria( periodType );
- return (PeriodType) criteria.uniqueResult();
+ return (PeriodType) criteria.setCacheable( true ).uniqueResult();
}
@SuppressWarnings( "unchecked" )
@@ -280,7 +293,7 @@
{
Session session = sessionFactory.getCurrentSession();
- return session.createCriteria( PeriodType.class ).list();
+ return session.createCriteria( PeriodType.class ).setCacheable( true ).list();
}
// -------------------------------------------------------------------------
@@ -306,16 +319,4 @@
return reloadedPeriodType;
}
-
- public Period getPeriodFromDates( Date startDate, Date endDate, PeriodType periodType )
- {
- Session session = sessionFactory.getCurrentSession();
-
- Criteria criteria = session.createCriteria( Period.class );
- criteria.add( Restrictions.eq( "startDate", startDate ) );
- criteria.add( Restrictions.eq( "endDate", endDate ) );
- criteria.add( Restrictions.eq( "periodType", periodType ) );
-
- return (Period) criteria.uniqueResult();
- }
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml 2011-04-12 13:25:06 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml 2011-04-24 13:31:09 +0000
@@ -20,7 +20,8 @@
<property name="phoneNumber" length="80" />
- <set name="organisationUnits" table="usermembership">
+ <set name="organisationUnits" table="usermembership">
+ <cache usage="read-write" />
<key column="userinfoid" />
<many-to-many class="org.hisp.dhis.organisationunit.OrganisationUnit" column="organisationunitid"
foreign-key="fk_userinfo_organisationunitid" />
=== modified file 'dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/ehcache.xml'
--- dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/ehcache.xml 2011-04-24 12:17:55 +0000
+++ dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/ehcache.xml 2011-04-24 13:31:09 +0000
@@ -191,6 +191,9 @@
<cache name="org.hisp.dhis.chart.Chart.organisationUnits"
maxElementsInMemory="2000"/>
+ <cache name="org.hisp.dhis.user.User.organisationUnits"
+ maxElementsInMemory="20000"/>
+
<!-- Hibernate Query Cache -->
<cache name="org.hibernate.cache.StandardQueryCache"