← Back to team overview

dhis2-devs team mailing list archive

[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"