dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #05488
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1790: Add, edit DeletionHandler for deleting OrganisationUnit.
------------------------------------------------------------
revno: 1790
committer: Quang <Quang@Quang-PC>
branch nick: trunk
timestamp: Tue 2010-04-20 20:16:00 +0700
message:
Add, edit DeletionHandler for deleting OrganisationUnit.
added:
dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/ReportExcelDeletionHandler.java
dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/ExcelItemDeletionHandler.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientIdentifierDeletionHandler.java
modified:
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationDeletionHandler.java
dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/ChartDeletionHandler.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/ReportTableDeletionHandler.java
--
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/dataset/CompleteDataSetRegistrationDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationDeletionHandler.java 2010-04-12 21:23:33 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationDeletionHandler.java 2010-04-20 13:16:00 +0000
@@ -82,10 +82,14 @@
}
@Override
- public boolean allowDeleteSource( Source source )
+ public void deleteSource( Source source )
{
- String sql = "SELECT COUNT(*) FROM completedatasetregistration where sourceid=" + source.getId();
-
- return jdbcTemplate.queryForInt( sql ) == 0;
+ for(CompleteDataSetRegistration registration : completeDataSetRegistrationService.getAllCompleteDataSetRegistrations())
+ {
+ if(registration.getSource().equals( source ))
+ {
+ completeDataSetRegistrationService.deleteCompleteDataSetRegistration( registration );
+ }
+ }
}
}
=== added file 'dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/ReportExcelDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/ReportExcelDeletionHandler.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/ReportExcelDeletionHandler.java 2010-04-20 13:16:00 +0000
@@ -0,0 +1,72 @@
+package org.hisp.dhis.reportexcel;
+
+/*
+ * Copyright (c) 2004-2010, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import org.hisp.dhis.source.Source;
+import org.hisp.dhis.system.deletion.DeletionHandler;
+
+/**
+ * @author Quang Nguyen
+ * @version $Id$
+ */
+public class ReportExcelDeletionHandler
+ extends DeletionHandler
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private ReportExcelService reportExcelService;
+
+ public void setReportExcelService( ReportExcelService reportExcelService )
+ {
+ this.reportExcelService = reportExcelService;
+ }
+
+ // -------------------------------------------------------------------------
+ // DeletionHandler implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String getClassName()
+ {
+ return ReportExcel.class.getSimpleName();
+ }
+
+ @Override
+ public void deleteSource( Source source )
+ {
+ for ( ReportExcel reportExcel : reportExcelService.getALLReportExcel() )
+ {
+ if ( reportExcel.getOrganisationAssocitions().remove( source ) )
+ {
+ reportExcelService.updateReportExcel( reportExcel );
+ }
+ }
+ }
+}
=== added file 'dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/ExcelItemDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/ExcelItemDeletionHandler.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/excelitem/ExcelItemDeletionHandler.java 2010-04-20 13:16:00 +0000
@@ -0,0 +1,72 @@
+package org.hisp.dhis.reportexcel.excelitem;
+
+/*
+ * Copyright (c) 2004-2010, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import org.hisp.dhis.source.Source;
+import org.hisp.dhis.system.deletion.DeletionHandler;
+
+/**
+ * @author Quang Nguyen
+ * @version $Id$
+ */
+public class ExcelItemDeletionHandler
+ extends DeletionHandler
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private ExcelItemService excelItemService;
+
+ public void setExcelItemService( ExcelItemService excelItemService )
+ {
+ this.excelItemService = excelItemService;
+ }
+
+ // -------------------------------------------------------------------------
+ // DeletionHandler implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String getClassName()
+ {
+ return ExcelItem.class.getSimpleName();
+ }
+
+ @Override
+ public void deleteSource( Source source )
+ {
+ for ( ExcelItemGroup excelItemGroup : excelItemService.getAllExcelItemGroup() )
+ {
+ if ( excelItemGroup.getOrganisationAssocitions().remove( source ) )
+ {
+ excelItemService.updateExcelItemGroup( excelItemGroup );
+ }
+ }
+ }
+}
=== 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 2010-03-11 06:27:12 +0000
+++ dhis-2/dhis-services/dhis-service-excel-reporting/src/main/resources/META-INF/dhis/beans.xml 2010-04-20 13:16:00 +0000
@@ -1,41 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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-2.0.xsd">
-
<!-- ReportExcel -->
-
- <bean id="org.hisp.dhis.reportexcel.ReportExcelStore"
+ <bean id="org.hisp.dhis.reportexcel.ReportExcelStore"
class="org.hisp.dhis.reportexcel.hibernate.HibernateReportExcelStore">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
-
- <bean id="org.hisp.dhis.reportexcel.ReportExcelService" class="org.hisp.dhis.reportexcel.DefaultReportExcelService">
- <property name="reportStore" ref="org.hisp.dhis.reportexcel.ReportExcelStore" />
+ <bean id="org.hisp.dhis.reportexcel.ReportExcelService"
+ class="org.hisp.dhis.reportexcel.DefaultReportExcelService">
+ <property name="reportStore"
+ ref="org.hisp.dhis.reportexcel.ReportExcelStore" />
<property name="userStore" ref="org.hisp.dhis.user.UserStore" />
<property name="i18nService" ref="org.hisp.dhis.i18n.I18nService" />
</bean>
-
-
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- EXCELITEM STORE -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <bean id="org.hisp.dhis.reportexcel.excelitem.ExcelItemStore"
+ <bean id="org.hisp.dhis.reportexcel.excelitem.ExcelItemStore"
class="org.hisp.dhis.reportexcel.excelitem.hibernate.HibernateExcelItemStore">
<property name="sessionFactory" ref="sessionFactory" />
<property name="periodStore" ref="org.hisp.dhis.period.PeriodStore" />
</bean>
-
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- EXCELITEM SERVICE -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <bean id="org.hisp.dhis.reportexcel.excelitem.ExcelItemService"
+ <bean id="org.hisp.dhis.reportexcel.excelitem.ExcelItemService"
class="org.hisp.dhis.reportexcel.excelitem.DefaultExcelItemService">
- <property name="excelItemStore"
+ <property name="excelItemStore"
ref="org.hisp.dhis.reportexcel.excelitem.ExcelItemStore" />
<property name="i18nService" ref="org.hisp.dhis.i18n.I18nService" />
</bean>
+
+
+ <!-- DeletionHandlers -->
+
+ <bean id="org.hisp.dhis.reportexcel.ReportExcelDeletionHandler"
+ class="org.hisp.dhis.reportexcel.ReportExcelDeletionHandler">
+ <property name="reportExcelService" ref="org.hisp.dhis.reportexcel.ReportExcelService"/>
+ </bean>
+
+ <bean id="org.hisp.dhis.reportexcel.excelitem.ExcelItemDeletionHandler"
+ class="org.hisp.dhis.reportexcel.excelitem.ExcelItemDeletionHandler">
+ <property name="excelItemService" ref="org.hisp.dhis.reportexcel.excelitem.ExcelItemService"/>
+ </bean>
+
+ <!-- DeletionManager -->
+
+ <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+ <property name="targetObject" ref="org.hisp.dhis.system.deletion.DeletionManager"/>
+ <property name="targetMethod" value="addDeletionHandlers"/>
+ <property name="arguments">
+ <list>
+ <list>
+ <ref local="org.hisp.dhis.reportexcel.ReportExcelDeletionHandler"/>
+ <ref local="org.hisp.dhis.reportexcel.excelitem.ExcelItemDeletionHandler"/>
+ </list>
+ </list>
+ </property>
+ </bean>
+
</beans>
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientIdentifierDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientIdentifierDeletionHandler.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientIdentifierDeletionHandler.java 2010-04-20 13:16:00 +0000
@@ -0,0 +1,70 @@
+package org.hisp.dhis.patient;
+
+/*
+ * Copyright (c) 2004-2010, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.source.Source;
+import org.hisp.dhis.system.deletion.DeletionHandler;
+
+/**
+ * @author Quang Nguyen
+ * @version $Id$
+ */
+public class PatientIdentifierDeletionHandler
+ extends DeletionHandler
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientIdentifierService patientIdentifierService;
+
+ public void setPatientIdentifierService( PatientIdentifierService patientIdentifierService )
+ {
+ this.patientIdentifierService = patientIdentifierService;
+ }
+
+ // -------------------------------------------------------------------------
+ // DeletionHandler implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String getClassName()
+ {
+ return PatientIdentifier.class.getSimpleName();
+ }
+
+ @Override
+ public void deleteSource( Source source )
+ {
+ for ( PatientIdentifier patientIdentifier : patientIdentifierService.getPatientIdentifiersByOrgUnit( (OrganisationUnit) source ) )
+ {
+ patientIdentifierService.deletePatientIdentifier( patientIdentifier );
+ }
+ }
+}
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2010-04-19 09:54:45 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2010-04-20 13:16:00 +0000
@@ -217,5 +217,24 @@
<property name="statementManager" ref="statementManager" />
</bean>
+ <!-- DeletionHandlers -->
+
+ <bean id="org.hisp.dhis.patient.PatientIdentifierDeletionHandler"
+ class="org.hisp.dhis.patient.PatientIdentifierDeletionHandler">
+ <property name="patientIdentifierService" ref="org.hisp.dhis.patient.PatientIdentifierService"/>
+ </bean>
+ <!-- DeletionManager -->
+
+ <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+ <property name="targetObject" ref="org.hisp.dhis.system.deletion.DeletionManager"/>
+ <property name="targetMethod" value="addDeletionHandlers"/>
+ <property name="arguments">
+ <list>
+ <list>
+ <ref local="org.hisp.dhis.patient.PatientIdentifierDeletionHandler"/>
+ </list>
+ </list>
+ </property>
+ </bean>
</beans>
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/ChartDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/ChartDeletionHandler.java 2010-04-12 21:23:33 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/ChartDeletionHandler.java 2010-04-20 13:16:00 +0000
@@ -89,16 +89,14 @@
}
@Override
- public boolean allowDeleteSource( Source source )
+ public void deleteSource( Source source )
{
for ( Chart chart : chartService.getAllCharts() )
{
- if ( chart.getOrganisationUnits().contains( source ) )
+ if ( chart.getOrganisationUnits().remove( source ) )
{
- return false;
+ chartService.saveChart( chart );
}
}
-
- return true;
}
}
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/ReportTableDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/ReportTableDeletionHandler.java 2010-04-12 21:23:33 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/ReportTableDeletionHandler.java 2010-04-20 13:16:00 +0000
@@ -119,16 +119,14 @@
}
@Override
- public boolean allowDeleteSource( Source source )
+ public void deleteSource( Source source )
{
- for ( ReportTable reportTable : reportTableService.getAllReportTables() )
+ for(ReportTable reportTable : reportTableService.getAllReportTables())
{
- if ( reportTable.getUnits().contains( source ) )
+ if(reportTable.getUnits().remove( source ))
{
- return false;
+ reportTableService.updateReportTable( reportTable );
}
}
-
- return true;
}
}