=== modified file 'dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/hibernate/HibernateExcelItemStore.java' --- dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/hibernate/HibernateExcelItemStore.java 2009-10-29 05:21:01 +0000 +++ dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/hibernate/HibernateExcelItemStore.java 2009-10-30 10:01:26 +0000 @@ -7,6 +7,8 @@ import org.hibernate.SessionFactory; import org.hibernate.criterion.Restrictions; import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.period.PeriodStore; +import org.hisp.dhis.period.PeriodType; import org.hisp.dhis.reportexcel.DataElementGroupOrder; import org.hisp.dhis.reportexcel.excelitem.ExcelItem; import org.hisp.dhis.reportexcel.excelitem.ExcelItemGroup; @@ -56,6 +58,13 @@ this.sessionFactory = sessionFactory; } + private PeriodStore periodStore; + + public void setPeriodStore( PeriodStore periodStore ) + { + this.periodStore = periodStore; + } + // ---------------------------------------------------------------------- // ExcelItemStore implementation // ---------------------------------------------------------------------- @@ -102,7 +111,13 @@ public void addExcelItemGroup(ExcelItemGroup excelItemGroup) { - sessionFactory.getCurrentSession().save(excelItemGroup); + PeriodType periodType = periodStore.getPeriodType( excelItemGroup.getPeriodType().getClass() ); + + excelItemGroup.setPeriodType( periodType ); + + Session session = sessionFactory.getCurrentSession(); + + session.save( excelItemGroup ); } public void deleteExcelItemGroup(int id) { @@ -135,10 +150,13 @@ public void updateExcelItemGroup(ExcelItemGroup excelItemGroup) { - Session session = sessionFactory.getCurrentSession(); - - session.saveOrUpdate(excelItemGroup); - + PeriodType periodType = periodStore.getPeriodType( excelItemGroup.getPeriodType().getClass() ); + + excelItemGroup.setPeriodType( periodType ); + + Session session = sessionFactory.getCurrentSession(); + + session.update( excelItemGroup ); } @SuppressWarnings("unchecked") @@ -157,9 +175,14 @@ } public DataElementGroupOrder getDataElementGroupOrder(Integer id) { + Session session = sessionFactory.getCurrentSession(); - return (DataElementGroupOrder) session.get(DataElementGroupOrder.class, - id); + + Criteria criteria = session.createCriteria(DataElementGroupOrder.class); + + criteria.add(Restrictions.eq("id", id.intValue())); + + return (DataElementGroupOrder) criteria.uniqueResult(); } public void updateDataElementGroupOrder( @@ -169,7 +192,9 @@ } public void deleteDataElementGroupOrder(Integer id) { + Session session = sessionFactory.getCurrentSession(); - session.delete(this.getDataElementGroupOrder(id)); + + session.delete(getDataElementGroupOrder(id)); } } === modified file 'dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/META-INF/dhis/beans.xml 2009-10-27 06:05:22 +0000 +++ dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/META-INF/dhis/beans.xml 2009-10-30 10:01:26 +0000 @@ -17,7 +17,6 @@ - @@ -25,6 +24,7 @@ + === modified file 'dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/org/hisp/dhis/reportexcel/excelitem/hibernate/ExcelItemGroup.hbm.xml' --- dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/org/hisp/dhis/reportexcel/excelitem/hibernate/ExcelItemGroup.hbm.xml 2009-10-29 05:21:01 +0000 +++ dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/org/hisp/dhis/reportexcel/excelitem/hibernate/ExcelItemGroup.hbm.xml 2009-10-30 10:01:26 +0000 @@ -16,6 +16,9 @@ + +