dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #35687
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 18266: Meta-data export, removing dependency check for user. Speeds up considerably as user is part of B...
------------------------------------------------------------
revno: 18266
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sat 2015-02-14 19:10:34 +0100
message:
Meta-data export, removing dependency check for user. Speeds up considerably as user is part of BaseIdentifiableObject and hence all objects.
modified:
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultMetaDataDependencyService.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-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultMetaDataDependencyService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultMetaDataDependencyService.java 2015-02-14 17:53:30 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultMetaDataDependencyService.java 2015-02-14 18:10:34 +0000
@@ -62,6 +62,7 @@
import org.hisp.dhis.schema.Schema;
import org.hisp.dhis.schema.SchemaService;
import org.hisp.dhis.system.util.ReflectionUtils;
+import org.hisp.dhis.user.User;
import org.hisp.dhis.validation.ValidationRule;
import org.springframework.beans.factory.annotation.Autowired;
@@ -79,6 +80,9 @@
@SuppressWarnings("unchecked")
private final Set<Class<? extends BaseIdentifiableObject>> SPECIAL_CASE_CLASSES = Sets.newHashSet( DataElement.class, DataElementCategoryCombo.class, Indicator.class, OrganisationUnit.class, ValidationRule.class );
+ @SuppressWarnings("unchecked")
+ private final Set<Class<User>> SKIP_DEPENDENCY_CHECK_CLASSES = Sets.newHashSet( User.class );
+
//-------------------------------------------------------------------------------------------------------
// Dependencies
//-------------------------------------------------------------------------------------------------------
@@ -218,6 +222,7 @@
private List<IdentifiableObject> computeAllDependencies( IdentifiableObject identifiableObject )
{
List<IdentifiableObject> finalDependencies = new ArrayList<>();
+
List<IdentifiableObject> dependencies = getDependencies( identifiableObject );
if ( dependencies.isEmpty() )
@@ -243,6 +248,12 @@
private List<IdentifiableObject> getDependencies( IdentifiableObject identifiableObject )
{
List<IdentifiableObject> dependencies = new ArrayList<>();
+
+ if ( identifiableObject == null || SKIP_DEPENDENCY_CHECK_CLASSES.contains( identifiableObject.getClass() ) )
+ {
+ return dependencies;
+ }
+
List<Field> fields = ReflectionUtils.getAllFields( identifiableObject.getClass() );
List<Schema> schemas = schemaService.getMetadataSchemas();