Search in sources :

Example 1 with Relationships

use of org.hisp.dhis.dxf2.events.trackedentity.Relationships in project dhis2-core by dhis2.

the class JacksonRelationshipService method addRelationshipsXml.

@Override
public ImportSummaries addRelationshipsXml(InputStream inputStream, ImportOptions importOptions) throws IOException {
    String input = StreamUtils.copyToString(inputStream, Charset.forName("UTF-8"));
    List<Relationship> relationships = new ArrayList<>();
    try {
        Relationships fromXml = fromXml(input, Relationships.class);
        relationships.addAll(fromXml.getRelationships());
    } catch (JsonMappingException ex) {
        Relationship fromXml = fromXml(input, Relationship.class);
        relationships.add(fromXml);
    }
    return processRelationshipList(relationships, updateImportOptions(importOptions));
}
Also used : Relationships(org.hisp.dhis.dxf2.events.trackedentity.Relationships) Relationship(org.hisp.dhis.dxf2.events.trackedentity.Relationship) JsonMappingException(com.fasterxml.jackson.databind.JsonMappingException) ArrayList(java.util.ArrayList)

Example 2 with Relationships

use of org.hisp.dhis.dxf2.events.trackedentity.Relationships in project dhis2-core by dhis2.

the class JacksonRelationshipService method addRelationshipsJson.

@Override
public ImportSummaries addRelationshipsJson(InputStream inputStream, ImportOptions importOptions) throws IOException {
    String input = StreamUtils.copyToString(inputStream, Charset.forName("UTF-8"));
    List<Relationship> relationships = new ArrayList<>();
    JsonNode root = jsonMapper.readTree(input);
    if (root.get("relationships") != null) {
        Relationships fromJson = fromJson(input, Relationships.class);
        relationships.addAll(fromJson.getRelationships());
    } else {
        Relationship fromJson = fromJson(input, Relationship.class);
        relationships.add(fromJson);
    }
    return processRelationshipList(relationships, updateImportOptions(importOptions));
}
Also used : Relationships(org.hisp.dhis.dxf2.events.trackedentity.Relationships) Relationship(org.hisp.dhis.dxf2.events.trackedentity.Relationship) ArrayList(java.util.ArrayList) JsonNode(com.fasterxml.jackson.databind.JsonNode)

Example 3 with Relationships

use of org.hisp.dhis.dxf2.events.trackedentity.Relationships in project dhis2-core by dhis2.

the class AbstractRelationshipService method updateRelationships.

@Override
@Transactional
public ImportSummaries updateRelationships(List<Relationship> relationships, ImportOptions importOptions) {
    List<List<Relationship>> partitions = Lists.partition(relationships, FLUSH_FREQUENCY);
    importOptions = updateImportOptions(importOptions);
    ImportSummaries importSummaries = new ImportSummaries();
    for (List<Relationship> _relationships : partitions) {
        reloadUser(importOptions);
        prepareCaches(_relationships, importOptions.getUser());
        for (Relationship relationship : _relationships) {
            importSummaries.addImportSummary(updateRelationship(relationship, importOptions));
        }
        clearSession();
    }
    return importSummaries;
}
Also used : Relationship(org.hisp.dhis.dxf2.events.trackedentity.Relationship) List(java.util.List) ArrayList(java.util.ArrayList) ImportSummaries(org.hisp.dhis.dxf2.importsummary.ImportSummaries) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with Relationships

use of org.hisp.dhis.dxf2.events.trackedentity.Relationships in project dhis2-core by dhis2.

the class TrackedEntityInstanceSupportService method getTrackedEntityInstanceParams.

public TrackedEntityInstanceParams getTrackedEntityInstanceParams(List<String> fields) {
    String joined = Joiner.on("").join(fields);
    if (joined.contains("*")) {
        return TrackedEntityInstanceParams.TRUE;
    }
    TrackedEntityInstanceParams params = new TrackedEntityInstanceParams();
    if (joined.contains("relationships")) {
        params.setIncludeRelationships(true);
    }
    if (joined.contains("enrollments")) {
        params.setIncludeEnrollments(true);
    }
    if (joined.contains("events")) {
        params.setIncludeEvents(true);
    }
    if (joined.contains("programOwners")) {
        params.setIncludeProgramOwners(true);
    }
    return params;
}
Also used : TrackedEntityInstanceParams(org.hisp.dhis.dxf2.events.TrackedEntityInstanceParams)

Example 5 with Relationships

use of org.hisp.dhis.dxf2.events.trackedentity.Relationships in project dhis2-core by dhis2.

the class TrackedEntityInstanceController method getTrackedEntityInstanceParams.

private TrackedEntityInstanceParams getTrackedEntityInstanceParams(List<String> fields) {
    String joined = Joiner.on("").join(fields);
    if (joined.contains("*")) {
        return TrackedEntityInstanceParams.TRUE;
    }
    TrackedEntityInstanceParams params = new TrackedEntityInstanceParams();
    if (joined.contains("relationships")) {
        params.setIncludeRelationships(true);
    }
    if (joined.contains("enrollments")) {
        params.setIncludeEnrollments(true);
    }
    if (joined.contains("events")) {
        params.setIncludeEvents(true);
    }
    if (joined.contains("programOwners")) {
        params.setIncludeProgramOwners(true);
    }
    return params;
}
Also used : TrackedEntityInstanceParams(org.hisp.dhis.dxf2.events.TrackedEntityInstanceParams)

Aggregations

ArrayList (java.util.ArrayList)8 Relationship (org.hisp.dhis.dxf2.events.trackedentity.Relationship)8 ImportSummaries (org.hisp.dhis.dxf2.importsummary.ImportSummaries)6 Transactional (org.springframework.transaction.annotation.Transactional)6 List (java.util.List)4 TrackedEntityInstanceParams (org.hisp.dhis.dxf2.events.TrackedEntityInstanceParams)4 Lists (com.google.common.collect.Lists)2 Map (java.util.Map)2 Collectors (java.util.stream.Collectors)2 Enrollment (org.hisp.dhis.dxf2.events.enrollment.Enrollment)2 Relationships (org.hisp.dhis.dxf2.events.trackedentity.Relationships)2 ImportSummary (org.hisp.dhis.dxf2.importsummary.ImportSummary)2 RelationshipConstraint (org.hisp.dhis.relationship.RelationshipConstraint)2 CurrentUserService (org.hisp.dhis.user.CurrentUserService)2 User (org.hisp.dhis.user.User)2 JsonMappingException (com.fasterxml.jackson.databind.JsonMappingException)1 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 Multimap (com.google.common.collect.Multimap)1 Collection (java.util.Collection)1