← Back to team overview

dhis2-devs team mailing list archive

Re: Sync Anonymous Event Data along with coordinates code fix

 

It got added when we are serializing and sending request in the
executeAnonymousEventPush.

On Thu, Jun 16, 2016 at 3:34 PM, Morten Olav Hansen <morten@xxxxxxxxx>
wrote:

> Right, but I don't see why you have valid in the payload to start with?
> normal event export will not include this
>
> --
> Morten Olav Hansen
> Senior Engineer, DHIS 2
> University of Oslo
> http://www.dhis2.org
>
> On Thu, Jun 16, 2016 at 4:52 PM, Anilkumar Kodi <anilkumk@xxxxxxxxxxxxxxxx
> > wrote:
>
>> Hi Morten
>>
>> This is related to the coordinate value itself.
>> Please see this event payload thats getting posted to /api/events (POST).
>>
>>
>> {"program":null,"programInstance":null,"events":[{"event":"tiqYSyQER6a","status":"ACTIVE","program":"MR7cTxF25lM","programStage":"f8hc3X0zYQ7","enrollment":null,"enrollmentStatus":null,"orgUnit":"y2mjbcN29en","orgUnitName":null,"trackedEntityInstance":null,"eventDate":"2016-06-15T18:30:00.000+0000","dueDate":null,"storedBy":null,"coordinate":{"latitude":16.867633616803847,"longitude":50.28167724609375,"valid":true,"coordinateString":"[50.28167724609375,16.867633616803847]"},"dataValues":[{"created":"2016-06-16T06:11:29.707+0000","lastUpdated":"2016-06-16T06:11:29.707+0000","value":"123456789","dataElement":"YKz99vMMKpg","providedElsewhere":false,"storedBy":"admin"}],"notes":[],"followup":null,"created":null,"lastUpdated":null,"attributeCategoryOptions":"xYerKDKCefk","completedBy":null,"completedDate":null,"href":null}],"metaData":null,"pager":null}
>>
>> *And the underlying exception is this:*
>>
>> com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
>> Unrecognized field "valid" (class
>> org.hisp.dhis.dxf2.events.event.Coordinate), not marked as ignorable (2
>> known properties: "latitude", "longitude"])
>>  at [Source:
>> {"program":null,"programInstance":null,"events":[{"event":"tiqYSyQER6a","status":"ACTIVE","program":"MR7cTxF25lM","programStage":"f8hc3X0zYQ7","enrollment":null,"enrollmentStatus":null,"orgUnit":"y2mjbcN29en","orgUnitName":null,"trackedEntityInstance":null,"eventDate":"2016-06-15T18:30:00.000+0000","dueDate":null,"storedBy":null,"coordinate":{"latitude":16.867633616803847,"longitude":50.28167724609375,"valid":true,"coordinateString":"[50.28167724609375,16.867633616803847]"},"dataValues":[{"created":"2016-06-16T06:11:29.707+0000","lastUpdated":"2016-06-16T06:11:29.707+0000","value":"123456789","dataElement":"YKz99vMMKpg","providedElsewhere":false,"storedBy":"admin"}],"notes":[],"followup":null,"created":null,"lastUpdated":null,"attributeCategoryOptions":"xYerKDKCefk","completedBy":null,"completedDate":null,"href":null}],"metaData":null,"pager":null}
>> ; line: 1, column: 418] (through reference chain:
>> org.hisp.dhis.dxf2.events.event.Events["events"]->java.util.ArrayList[0]->org.hisp.dhis.dxf2.events.event.Event["coordinate"]->org.hisp.dhis.dxf2.events.event.Coordinate["valid"])
>>
>> Please let us know what you think.
>>
>> Regards
>> Anil
>>
>> On Thu, Jun 16, 2016 at 7:30 AM, Morten Olav Hansen <morten@xxxxxxxxx>
>> wrote:
>>
>>> Hi
>>>
>>> Could you show me the payload you are sending? this API is in use by
>>> several clients without any issues.
>>>
>>> Also, it says `Unrecognized field "programInstance"` are you sure this
>>> is really related to `@JsonIgnore` on the `Coordinate` class?
>>>
>>> It would be easier to debug if you can share the event you are sending.
>>>
>>> --
>>> Morten Olav Hansen
>>> Senior Engineer, DHIS 2
>>> University of Oslo
>>> http://www.dhis2.org
>>>
>>> On Wed, Jun 15, 2016 at 7:46 PM, Anilkumar Kodi <
>>> anilkumk@xxxxxxxxxxxxxxxx> wrote:
>>>
>>>> Hi Morten,
>>>>
>>>> This is still looking for other 2 properties to map while
>>>> deserializing, we are getting exception like
>>>>
>>>> com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
>>>> Unrecognized field "programInstance" (class
>>>> org.hisp.dhis.dxf2.events.event.Event), not marked as ignorable (22 known
>>>> properties: "notes", "trackedEntityInstance", "program", "lastUpdated",
>>>> "orgUnit", "href", "dataValues", "status", "orgUnitName",
>>>> "enrollmentStatus", "coordinate", "completedDate", "event", "dueDate",
>>>> "enrollment", "eventDate", "followup", "programStage", "storedBy",
>>>> "created", "attributeCategoryOptions", "completedBy"])
>>>>  at [Source:
>>>> {"program":null,"programInstance":null,"events":[{"event":"EcHeh9roBlf","status":"ACTIVE","program":"KKZTIFe5sf5","programStage":"lQgBMyAgzae","enrollment":null,"enrollmentStatus":null,"orgUnit":"fxXno3Zm20F","orgUnitName":null,"trackedEntityInstance":null,"eventDate":"2016-06-06T18:30:00.000+0000","dueDate":null,"storedBy":null,"coordinate":{"latitude":11.587669416896203,"longitude":41.66839599609375,"valid":true,"coordinateString":"[41.66839599609375,11.587669416896203]"},"dataValues":[{"created":"2016-06-14T07:21:30.781+0000","lastUpdated":"2016-06-14T07:21:30.782+0000","value":"7","dataElement":"gKGoK7Vb2yK","providedElsewhere":false,"storedBy":"Anil"}],"notes":[],"followup":null,"created":null,"lastUpdated":null,"attributeCategoryOptions":"xYerKDKCefk","completedBy":null,"completedDate":null,"href":null}],"metaData":null,"pager":null};
>>>> line: 1, column: 39] (through reference chain:
>>>> org.hisp.dhis.dxf2.events.event.Event["programInstance"])
>>>> at
>>>> com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:51)
>>>>
>>>>
>>>> Although, we see this working when we add  @JsonIgnore on getters.
>>>>
>>>> @JsonIgnore
>>>> public boolean isValid()
>>>>
>>>> @JsonIgnore
>>>>
>>>> public String getCoordinateString()
>>>>
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Anil
>>>>
>>>>
>>>>
>>>> On Wed, Jun 15, 2016 at 10:48 AM, Morten Olav Hansen <morten@xxxxxxxxx>
>>>> wrote:
>>>>
>>>>> Already done :)
>>>>>
>>>>> --
>>>>> Morten Olav Hansen
>>>>> Senior Engineer, DHIS 2
>>>>> University of Oslo
>>>>> http://www.dhis2.org
>>>>>
>>>>> On Wed, Jun 15, 2016 at 11:50 AM, Vanya Seth <vanyas@xxxxxxxxxxxxxxxx>
>>>>> wrote:
>>>>>
>>>>>> Hi Morten
>>>>>>
>>>>>> That would be great. Please let us know when you commit the changes.
>>>>>> We ll take a merge from the trunk.
>>>>>>
>>>>>> Regards
>>>>>> Vanya
>>>>>>
>>>>>> On Wed, Jun 15, 2016 at 9:01 AM, Morten Olav Hansen <morten@xxxxxxxxx
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> We usually turn off most of that Jackson auto discovery magic, I see
>>>>>>> we haven't done that properly in Jackson*<tracker object classes>, I will
>>>>>>> add that now (so it follows JacksonUtils, RenderService etc)
>>>>>>>
>>>>>>> --
>>>>>>> Morten Olav Hansen
>>>>>>> Senior Engineer, DHIS 2
>>>>>>> University of Oslo
>>>>>>> http://www.dhis2.org
>>>>>>>
>>>>>>> On Tue, Jun 14, 2016 at 8:41 PM, Anilkumar Kodi <
>>>>>>> anilkumk@xxxxxxxxxxxxxxxx> wrote:
>>>>>>>
>>>>>>>> Hi Morten,
>>>>>>>>
>>>>>>>> We are doing Anonymous Event data push. As part of that we are also
>>>>>>>> sending coordinates.
>>>>>>>>
>>>>>>>> Coordinate object has 4 public properties which are listed below
>>>>>>>>
>>>>>>>> @JsonProperty( required = true )
>>>>>>>> @JacksonXmlProperty( isAttribute = true )
>>>>>>>> public Double getLatitude()
>>>>>>>>
>>>>>>>> @JsonProperty( required = true )
>>>>>>>> @JacksonXmlProperty( isAttribute = true )
>>>>>>>> public Double getLongitude()
>>>>>>>>
>>>>>>>> public boolean isValid()
>>>>>>>>
>>>>>>>> public String getCoordinateString()
>>>>>>>>
>>>>>>>>
>>>>>>>> We don't have @JsonIgnore/@JsonProperty on the Other 2 properties.
>>>>>>>>
>>>>>>>> Because of this we are getting Error while Deserializing.
>>>>>>>>
>>>>>>>> Moreover, the JSON Mapper for the class <JacksonEventService>  has configuration FAIL_ON_UNKNOWN_PROPERTIES  set to *true*
>>>>>>>>
>>>>>>>> We have fixed this by adding @JsonIgnore on those properties.
>>>>>>>>
>>>>>>>> We Would like to know if you see any downstream issues with this minor change.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Anil Kumar & Srikanth
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> With Regards
>>>>>> ThoughtWorks Technologies
>>>>>> Hyderabad
>>>>>>
>>>>>> --Stay Hungry Stay Foolish!!
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Follow ups

References