=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2015-12-01 10:19:46 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2015-12-05 10:23:42 +0000
@@ -1748,75 +1748,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=== modified file 'dhis-2/dhis-services/dhis-service-eventreporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-eventreporting/src/main/resources/META-INF/dhis/beans.xml 2015-02-27 13:42:52 +0000
+++ dhis-2/dhis-services/dhis-service-eventreporting/src/main/resources/META-INF/dhis/beans.xml 2015-12-05 10:23:42 +0000
@@ -99,23 +99,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml 2015-11-05 02:57:57 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml 2015-12-05 10:23:42 +0000
@@ -238,24 +238,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DefaultDeletionManager.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DefaultDeletionManager.java 2015-12-05 09:30:42 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DefaultDeletionManager.java 2015-12-05 10:23:42 +0000
@@ -30,15 +30,13 @@
import javassist.util.proxy.ProxyObject;
-import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hisp.dhis.common.DeleteNotAllowedException;
+import org.springframework.beans.factory.annotation.Autowired;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
/**
@@ -55,27 +53,28 @@
private static final String DELETE_METHOD_PREFIX = "delete";
private static final String ALLOW_METHOD_PREFIX = "allowDelete";
- private final List handlers = new ArrayList<>();
+ /**
+ * Deletion handlers registered in context are subscribed to deletion
+ * notifications through auto-wiring.
+ */
+ @Autowired(required = false)
+ private List deletionHandlers;
// -------------------------------------------------------------------------
// DeletionManager implementation
// -------------------------------------------------------------------------
@Override
- public void addDeletionHandler( DeletionHandler handler )
- {
- this.handlers.add( handler );
- }
-
- @Override
- public void addDeletionHandlers( Collection deletionHandlers )
- {
- this.handlers.addAll( deletionHandlers );
- }
-
- @Override
public void execute( Object object )
{
+ if ( deletionHandlers == null || deletionHandlers.isEmpty() )
+ {
+ log.info( "No deletion handlers registered, aborting deletion handling" );
+ return;
+ }
+
+ log.debug( "Deletion handlers detected: " + deletionHandlers.size() );
+
Class> clazz = getClazz( object );
String className = clazz.getSimpleName();
@@ -92,7 +91,7 @@
{
Method allowMethod = DeletionHandler.class.getMethod( allowMethodName, new Class[]{ clazz } );
- for ( DeletionHandler handler : handlers )
+ for ( DeletionHandler handler : deletionHandlers )
{
currentHandler = handler.getClass().getSimpleName();
@@ -138,7 +137,7 @@
{
Method deleteMethod = DeletionHandler.class.getMethod( deleteMethodName, new Class[]{ clazz } );
- for ( DeletionHandler handler : handlers )
+ for ( DeletionHandler handler : deletionHandlers )
{
currentHandler = handler.getClass().getSimpleName();
=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionManager.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionManager.java 2015-01-17 07:41:26 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionManager.java 2015-12-05 10:23:42 +0000
@@ -28,19 +28,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.Collection;
-
/**
* @author Lars Helge Overland
- * @version $Id$
*/
public interface DeletionManager
{
String ID = DeletionManager.class.getName();
- void addDeletionHandler( DeletionHandler handler );
-
- void addDeletionHandlers( Collection handlers );
-
void execute( Object object );
}