Search in sources :

Example 1 with Event

use of org.hisp.dhis.client.sdk.models.event.Event in project pictureapp by EyeSeeTea.

the class SdkPullController method pullEvent.

/**
     * Pull a event uids
     * It is not working at this moment
     */
private void pullEvent(String uid) {
    Set events = new HashSet();
    events.add(uid);
    D2.events().pull(events).asObservable().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<List<Event>>() {

        @Override
        public void call(List<Event> events) {
            Log.d(TAG, "Listed events: " + events.size());
        }
    }, new Action1<Throwable>() {

        @Override
        public void call(Throwable throwable) {
            errorOnPull = true;
            Log.d(TAG, "Error pulling events: ");
            throwable.printStackTrace();
            showException("Error pulling events");
        }
    });
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) Event(org.hisp.dhis.client.sdk.models.event.Event) List(java.util.List) HashSet(java.util.HashSet)

Example 2 with Event

use of org.hisp.dhis.client.sdk.models.event.Event in project pictureapp by EyeSeeTea.

the class EventExtended method getDataValues.

public List<DataValueExtended> getDataValues() {
    Event eventModel = SdkQueries.getEvent(event.getUId());
    List<TrackedEntityDataValue> trackedEntityDataValues = eventModel.getDataValues();
    List<DataValueExtended> dataValueExtendeds = new ArrayList<>();
    for (TrackedEntityDataValue trackedEntityDataValue : trackedEntityDataValues) {
        dataValueExtendeds.add(new DataValueExtended(TrackedEntityDataValueFlow.MAPPER.mapToDatabaseEntity(trackedEntityDataValue)));
    }
    return dataValueExtendeds;
}
Also used : TrackedEntityDataValue(org.hisp.dhis.client.sdk.models.trackedentity.TrackedEntityDataValue) ArrayList(java.util.ArrayList) Event(org.hisp.dhis.client.sdk.models.event.Event)

Example 3 with Event

use of org.hisp.dhis.client.sdk.models.event.Event in project pictureapp by EyeSeeTea.

the class PullDhisSDKDataSource method pullData.

public void pullData(PullFilters pullFilters, List<OrganisationUnit> organisationUnits, IDataSourceCallback<List<Event>> callback) {
    boolean isNetworkAvailable = isNetworkAvailable();
    if (!isNetworkAvailable) {
        callback.onError(new NetworkException());
    } else {
        try {
            List<Event> events = new ArrayList<>();
            for (OrganisationUnit organisationUnit : organisationUnits) {
                Scheduler pullEventsThread = Schedulers.newThread();
                EventFilters eventFilters = new EventFilters();
                eventFilters.setStartDate(pullFilters.getStartDate());
                eventFilters.setEndDate(pullFilters.getEndDate());
                eventFilters.setMaxEvents(pullFilters.getMaxEvents());
                eventFilters.setOrganisationUnitUId(organisationUnit.getUId());
                mPullDhisSDKDataSourceStrategy.setEventFilters(eventFilters);
                List<Event> eventsByOrgUnit = D2.events().pull(eventFilters).subscribeOn(pullEventsThread).observeOn(pullEventsThread).toBlocking().single();
                events.addAll(eventsByOrgUnit);
            }
            callback.onSuccess(events);
        } catch (Exception e) {
            callback.onError(e);
        }
    }
}
Also used : OrganisationUnit(org.hisp.dhis.client.sdk.models.organisationunit.OrganisationUnit) Scheduler(rx.Scheduler) ArrayList(java.util.ArrayList) Event(org.hisp.dhis.client.sdk.models.event.Event) NetworkException(org.eyeseetea.malariacare.domain.exception.NetworkException) NetworkException(org.eyeseetea.malariacare.domain.exception.NetworkException) EventFilters(org.hisp.dhis.client.sdk.core.event.EventFilters)

Example 4 with Event

use of org.hisp.dhis.client.sdk.models.event.Event in project pictureapp by EyeSeeTea.

the class SurveyChecker method getEvents.

public static List<EventExtended> getEvents(JsonNode jsonNode) {
    TypeReference<List<Event>> typeRef = new TypeReference<List<Event>>() {
    };
    List<Event> events;
    try {
        if (jsonNode.has("events")) {
            ObjectMapper objectMapper = new ObjectMapper().registerModule(new JodaModule());
            events = objectMapper.readValue(jsonNode.get("events").traverse(), typeRef);
        } else {
            events = new ArrayList<>();
        }
    } catch (IOException e) {
        events = new ArrayList<>();
        e.printStackTrace();
    }
    List<EventExtended> eventExtendedList = new ArrayList<>();
    for (Event event : events) {
        EventFlow eventFlow = EventFlow.MAPPER.mapToDatabaseEntity(event);
        EventExtended eventExtended = new EventExtended(eventFlow);
        if (event.getDataValues() != null && event.getDataValues().size() > 0) {
            List<TrackedEntityDataValueFlow> trackedEntityDataValueFlows = TrackedEntityDataValueFlow.MAPPER.mapToDatabaseEntities(event.getDataValues());
            eventExtended.setDataValuesInMemory(trackedEntityDataValueFlows);
        }
        eventExtendedList.add(eventExtended);
    }
    return eventExtendedList;
}
Also used : EventExtended(org.eyeseetea.malariacare.data.sync.importer.models.EventExtended) EventFlow(org.hisp.dhis.client.sdk.android.api.persistence.flow.EventFlow) JodaModule(com.fasterxml.jackson.datatype.joda.JodaModule) TrackedEntityDataValueFlow(org.hisp.dhis.client.sdk.android.api.persistence.flow.TrackedEntityDataValueFlow) ArrayList(java.util.ArrayList) IOException(java.io.IOException) Event(org.hisp.dhis.client.sdk.models.event.Event) ArrayList(java.util.ArrayList) List(java.util.List) TypeReference(com.fasterxml.jackson.core.type.TypeReference) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Aggregations

Event (org.hisp.dhis.client.sdk.models.event.Event)4 ArrayList (java.util.ArrayList)3 List (java.util.List)2 TypeReference (com.fasterxml.jackson.core.type.TypeReference)1 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 JodaModule (com.fasterxml.jackson.datatype.joda.JodaModule)1 IOException (java.io.IOException)1 HashSet (java.util.HashSet)1 Set (java.util.Set)1 EventExtended (org.eyeseetea.malariacare.data.sync.importer.models.EventExtended)1 NetworkException (org.eyeseetea.malariacare.domain.exception.NetworkException)1 EventFlow (org.hisp.dhis.client.sdk.android.api.persistence.flow.EventFlow)1 TrackedEntityDataValueFlow (org.hisp.dhis.client.sdk.android.api.persistence.flow.TrackedEntityDataValueFlow)1 EventFilters (org.hisp.dhis.client.sdk.core.event.EventFilters)1 OrganisationUnit (org.hisp.dhis.client.sdk.models.organisationunit.OrganisationUnit)1 TrackedEntityDataValue (org.hisp.dhis.client.sdk.models.trackedentity.TrackedEntityDataValue)1 Scheduler (rx.Scheduler)1