← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13250: more deletion fixes

 

------------------------------------------------------------
revno: 13250
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-12-16 13:27:12 +0100
message:
  more deletion fixes
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorStore.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapViewStore.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapLegendSetDeletionHandler.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapViewDeletionHandler.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/hibernate/HibernateMapViewStore.java
  dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.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-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java	2013-08-23 15:56:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java	2013-12-16 12:27:12 +0000
@@ -28,6 +28,9 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import org.hisp.dhis.mapping.MapLegend;
+import org.hisp.dhis.mapping.MapLegendSet;
+
 import java.util.Collection;
 import java.util.List;
 
@@ -176,4 +179,6 @@
     int getIndicatorGroupSetCount();
 
     int getIndicatorGroupSetCountByName( String name );
+
+    int countMapLegendSetIndicators( MapLegendSet mapLegendSet );
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorStore.java	2013-08-23 15:56:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorStore.java	2013-12-16 12:27:12 +0000
@@ -31,6 +31,8 @@
 import java.util.Collection;
 
 import org.hisp.dhis.common.GenericNameableObjectStore;
+import org.hisp.dhis.mapping.MapLegend;
+import org.hisp.dhis.mapping.MapLegendSet;
 
 /**
  * @author Lars Helge Overland
@@ -46,4 +48,6 @@
     Collection<Indicator> getIndicatorsWithoutGroups();
     
     Collection<Indicator> getIndicatorsWithDataSets();
+
+    int countMapLegendSetIndicators( MapLegendSet mapLegendSet );
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapViewStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapViewStore.java	2013-12-16 10:07:07 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapViewStore.java	2013-12-16 12:27:12 +0000
@@ -36,4 +36,5 @@
 public interface MapViewStore
     extends AnalyticalObjectStore<MapView>
 {
+    int countMapLegendSetMapViews( MapLegendSet mapLegendSet );
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java	2013-12-16 10:07:07 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java	2013-12-16 12:27:12 +0000
@@ -172,4 +172,6 @@
     int countIndicatorCharts( Indicator indicator );
 
     int countDataElementCharts( DataElement dataElement );
+
+    int countMapLegendSetMapViews( MapLegendSet mapLegendSet );
 }
\ No newline at end of file

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java	2013-12-16 12:27:12 +0000
@@ -30,6 +30,8 @@
 
 import org.hisp.dhis.common.GenericIdentifiableObjectStore;
 import org.hisp.dhis.i18n.I18nService;
+import org.hisp.dhis.mapping.MapLegend;
+import org.hisp.dhis.mapping.MapLegendSet;
 import org.hisp.dhis.system.util.Filter;
 import org.hisp.dhis.system.util.FilterUtils;
 import org.springframework.transaction.annotation.Transactional;
@@ -195,6 +197,12 @@
         return getObjectsBetweenByName( i18nService, indicatorStore, name, first, max );
     }
 
+    @Override
+    public int countMapLegendSetIndicators( MapLegendSet mapLegendSet )
+    {
+        return indicatorStore.countMapLegendSetIndicators( mapLegendSet );
+    }
+
     // -------------------------------------------------------------------------
     // IndicatorType
     // -------------------------------------------------------------------------

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java	2013-12-16 12:27:12 +0000
@@ -28,16 +28,18 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import java.util.Iterator;
-import java.util.Set;
-
 import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.dataelement.DataElementCategoryCombo;
 import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
 import org.hisp.dhis.dataset.DataSet;
 import org.hisp.dhis.expression.ExpressionService;
+import org.hisp.dhis.mapping.MapLegend;
+import org.hisp.dhis.mapping.MapLegendSet;
 import org.hisp.dhis.system.deletion.DeletionHandler;
 
+import java.util.Iterator;
+import java.util.Set;
+
 /**
  * @author Lars Helge Overland
  * @version $Id$
@@ -91,7 +93,7 @@
     public void deleteIndicatorGroup( IndicatorGroup group )
     {
         Iterator<Indicator> iterator = group.getMembers().iterator();
-        
+
         while ( iterator.hasNext() )
         {
             Indicator indicator = iterator.next();
@@ -104,7 +106,7 @@
     public void deleteDataSet( DataSet dataSet )
     {
         Iterator<Indicator> iterator = dataSet.getIndicators().iterator();
-        
+
         while ( iterator.hasNext() )
         {
             Indicator indicator = iterator.next();
@@ -161,4 +163,10 @@
 
         return null;
     }
+
+    @Override
+    public String allowDeleteMapLegendSet( MapLegendSet mapLegendSet )
+    {
+        return indicatorService.countMapLegendSetIndicators( mapLegendSet ) == 0 ? null : ERROR;
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java	2013-12-16 12:27:12 +0000
@@ -28,11 +28,13 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import java.util.Collection;
-
+import org.hibernate.Query;
 import org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore;
 import org.hisp.dhis.indicator.Indicator;
 import org.hisp.dhis.indicator.IndicatorStore;
+import org.hisp.dhis.mapping.MapLegendSet;
+
+import java.util.Collection;
 
 /**
  * @author Lars Helge Overland
@@ -46,7 +48,7 @@
     // Indicator
     // -------------------------------------------------------------------------
 
-    @SuppressWarnings( "unchecked" )
+    @SuppressWarnings("unchecked")
     public Collection<Indicator> getIndicatorsWithGroupSets()
     {
         final String hql = "from Indicator d where d.groupSets.size > 0";
@@ -54,7 +56,7 @@
         return getQuery( hql ).setCacheable( true ).list();
     }
 
-    @SuppressWarnings( "unchecked" )
+    @SuppressWarnings("unchecked")
     public Collection<Indicator> getIndicatorsWithoutGroups()
     {
         final String hql = "from Indicator d where d.groups.size = 0";
@@ -62,11 +64,20 @@
         return getQuery( hql ).setCacheable( true ).list();
     }
 
-    @SuppressWarnings( "unchecked" )
+    @SuppressWarnings("unchecked")
     public Collection<Indicator> getIndicatorsWithDataSets()
     {
         final String hql = "from Indicator d where d.dataSets.size > 0";
 
         return getQuery( hql ).setCacheable( true ).list();
     }
+
+    @Override
+    public int countMapLegendSetIndicators( MapLegendSet mapLegendSet )
+    {
+        Query query = getQuery( "select count(distinct c) from Indicator c where c.legendSet=:mapLegendSet" );
+        query.setEntity( "mapLegendSet", mapLegendSet );
+
+        return ((Long) query.uniqueResult()).intValue();
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java	2013-12-16 10:07:07 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java	2013-12-16 12:27:12 +0000
@@ -476,4 +476,10 @@
     {
         return mapViewStore.countDataElementAnalyticalObject( dataElement );
     }
+
+    @Override
+    public int countMapLegendSetMapViews( MapLegendSet mapLegendSet )
+    {
+        return mapViewStore.countMapLegendSetMapViews( mapLegendSet );
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapLegendSetDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapLegendSetDeletionHandler.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapLegendSetDeletionHandler.java	2013-12-16 12:27:12 +0000
@@ -57,7 +57,7 @@
     {
         return MapLegendSet.class.getSimpleName();
     }
-    
+
     @Override
     public void deleteMapLegend( MapLegend mapLegend )
     {

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapViewDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapViewDeletionHandler.java	2013-12-16 10:07:07 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/MapViewDeletionHandler.java	2013-12-16 12:27:12 +0000
@@ -170,4 +170,10 @@
     {
         return mappingService.countDataElementCharts( dataElement ) == 0 ? null : ERROR;
     }
+
+    @Override
+    public String allowDeleteMapLegendSet( MapLegendSet mapLegendSet )
+    {
+        return mappingService.countMapLegendSetMapViews( mapLegendSet ) == 0 ? null : ERROR;
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/hibernate/HibernateMapViewStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/hibernate/HibernateMapViewStore.java	2013-12-16 10:07:07 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/mapping/hibernate/HibernateMapViewStore.java	2013-12-16 12:27:12 +0000
@@ -28,7 +28,9 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import org.hibernate.Query;
 import org.hisp.dhis.common.hibernate.HibernateAnalyticalObjectStore;
+import org.hisp.dhis.mapping.MapLegendSet;
 import org.hisp.dhis.mapping.MapView;
 import org.hisp.dhis.mapping.MapViewStore;
 
@@ -38,4 +40,12 @@
 public class HibernateMapViewStore
     extends HibernateAnalyticalObjectStore<MapView> implements MapViewStore
 {
+    @Override
+    public int countMapLegendSetMapViews( MapLegendSet mapLegendSet )
+    {
+        Query query = getQuery( "select count(distinct c) from MapView c where c.legendSet=:mapLegendSet" );
+        query.setEntity( "mapLegendSet", mapLegendSet );
+
+        return ((Long) query.uniqueResult()).intValue();
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.java	2013-12-16 11:49:45 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.java	2013-12-16 12:27:12 +0000
@@ -32,10 +32,16 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.hibernate.SessionFactory;
+import org.hisp.dhis.attribute.Attribute;
 import org.hisp.dhis.cache.HibernateCacheManager;
+import org.hisp.dhis.concept.Concept;
+import org.hisp.dhis.constant.Constant;
+import org.hisp.dhis.document.Document;
 import org.hisp.dhis.dxf2.timer.SystemNanoTimer;
 import org.hisp.dhis.dxf2.timer.Timer;
+import org.hisp.dhis.option.OptionSet;
 import org.hisp.dhis.scheduling.TaskId;
+import org.hisp.dhis.sqlview.SqlView;
 import org.hisp.dhis.system.notification.NotificationLevel;
 import org.hisp.dhis.system.notification.Notifier;
 import org.hisp.dhis.system.util.ReflectionUtils;
@@ -67,7 +73,7 @@
     // Dependencies
     //-------------------------------------------------------------------------------------------------------
 
-    @Autowired(required = false)
+    @Autowired( required = false )
     private Set<Importer> importerClasses = new HashSet<Importer>();
 
     @Autowired
@@ -136,6 +142,16 @@
             types = Lists.newArrayList( ExchangeClasses.getImportMap().values() );
         }
 
+        /*
+        types.clear();
+        types.add( "attributeTypes" );
+        types.add( "optionSets" );
+        types.add( "documents" );
+        types.add( "constants" );
+        types.add( "concepts" );
+        types.add( "sqlViews" );
+        */
+
         for ( String type : types )
         {
             Object value = ReflectionUtils.invokeGetterMethod( type, metaData );