← Back to team overview

dhis2-devs team mailing list archive

Re: TrackedEntityInstance update

 

OK...will do.

Thanks

Alan

On Thu, Jun 18, 2015 at 11:34 PM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
wrote:

> Hi
>
> I was not able to reproduce this locally. I created a simple TE with two
> TEAs (name, gender), and I was able to both create and update these without
> any issues. If I changed the gender to be an invalid gender, it would
> complain back with invalid option for optionset.
>
> I think this is still related to your optionSet, could you please try and
> create a new one through the UI, and a few options, and see if that works?
>
> --
> Morten
>
> On Fri, Jun 19, 2015 at 12:24 PM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
> wrote:
>
>> Hm, ok. I will need to look more into this then, from the stack trace is
>> seems related to invalid code. I will try it out here locally and see if I
>> an reproduce.
>>
>> --
>> Morten
>>
>> On Fri, Jun 19, 2015 at 11:59 AM, Alan Hill <ahill@xxxxxxxxxx> wrote:
>>
>>> Hi again and thanks so much for getting back to me so quickly.
>>>
>>> I'm pretty confident that all of my options have codes as per the option
>>> set JSON:
>>>
>>>
>>>    - options:
>>>    [
>>>       -
>>>       {
>>>          - id: "Fnkf3CXYjtU",
>>>          - name: "northern",
>>>          - code: "1",
>>>          - created: "2015-06-18T22:27:50.583+0000",
>>>          - lastUpdated: "2015-06-18T23:51:10.554+0000",
>>>          - href: "http://localhost:8000/api/options/Fnkf3CXYjtU";
>>>          },
>>>       -
>>>       {
>>>          - id: "p6xLuMAZ6Kx",
>>>          - name: "central",
>>>          - code: "2",
>>>          - created: "2015-06-18T22:27:50.720+0000",
>>>          - lastUpdated: "2015-06-18T23:51:10.675+0000",
>>>          - href: "http://localhost:8000/api/options/p6xLuMAZ6Kx";
>>>          },
>>>       -
>>>       {
>>>          - id: "XJa5QiUzKgb",
>>>          - name: "southern",
>>>          - code: "3",
>>>          - created: "2015-06-18T22:27:50.910+0000",
>>>          - lastUpdated: "2015-06-18T23:51:10.803+0000",
>>>          - href: "http://localhost:8000/api/options/XJa5QiUzKgb";
>>>          }
>>>       ]
>>>
>>>
>>> The value I'm setting is "3" which there is definitely an option for.
>>>
>>> Cheers
>>>
>>> Alan
>>>
>>>
>>> On Thu, Jun 18, 2015 at 9:44 PM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
>>> wrote:
>>>
>>>> I was looking at the stack trace, and the code it points to, is
>>>> checking the option.code against the value you are sending in.. but it
>>>> seems maybe some of your options don't have code? which is required
>>>>
>>>> --
>>>> Morten
>>>>
>>>> On Fri, Jun 19, 2015 at 11:28 AM, Alan Hill <ahill@xxxxxxxxxx> wrote:
>>>>
>>>>> Hi again Morten...sorry, can you clarify, where do you see that?
>>>>>
>>>>> Thanks
>>>>>
>>>>> Alan
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Jun 18, 2015 at 6:56 PM, Morten Olav Hansen <
>>>>> mortenoh@xxxxxxxxx> wrote:
>>>>>
>>>>>> Hi Alan
>>>>>>
>>>>>> Seems like you have an invalid optionset, i..e an optionset without
>>>>>> code?
>>>>>>
>>>>>> --
>>>>>> Morten
>>>>>>
>>>>>> On Fri, Jun 19, 2015 at 7:47 AM, Alan Hill <ahill@xxxxxxxxxx> wrote:
>>>>>>
>>>>>>> Hi there
>>>>>>>
>>>>>>> *Version 2.20-SNAPSHOT, Build #19453*
>>>>>>>
>>>>>>> Trying to update a TrackedEntityInstance but this is failing for
>>>>>>> attributes that have an optionSet assigned.
>>>>>>>
>>>>>>> I've stripped my JSON update down to a single attribute.
>>>>>>>
>>>>>>>
>>>>>>> *API call:*
>>>>>>>
>>>>>>> PUT http://localhost:8000/api/trackedEntityInstances/gGCuCUO5Iu0
>>>>>>>
>>>>>>>
>>>>>>> *JSON: Here's the json I'm sending for the update:*
>>>>>>>
>>>>>>> {
>>>>>>>   "trackedEntity":"An3UR3eaTTa",
>>>>>>>   "orgUnit":"FEGZA6BEAjj",
>>>>>>>   "attributes":[
>>>>>>> {"attribute":"kxvbQMX8Yss","value":"3"}
>>>>>>>   ]
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> *Here's the TrackedEntityAttribute:*
>>>>>>>
>>>>>>> {
>>>>>>>
>>>>>>>    - id: "kxvbQMX8Yss",
>>>>>>>    - created: "2015-06-18T22:27:51.242+0000",
>>>>>>>    - name: "DHS 2010 - sample domain",
>>>>>>>    - href: "
>>>>>>>    http://localhost:8000/api/trackedEntityAttributes/kxvbQMX8Yss";,
>>>>>>>    - lastUpdated: "2015-06-18T22:27:51.286+0000",
>>>>>>>    - code: "DHS 2010 - v023",
>>>>>>>    - shortName: "DHS 2010 - sample domain",
>>>>>>>    - displayDescription: "sample domain",
>>>>>>>    - unique: false,
>>>>>>>    - programScope: false,
>>>>>>>    - displayInListNoProgram: false,
>>>>>>>    - orgunitScope: false,
>>>>>>>    - displayOnVisitSchedule: false,
>>>>>>>    - dataDimension: true,
>>>>>>>    - description: "sample domain",
>>>>>>>    - externalAccess: false,
>>>>>>>    - valueType: "optionSet",
>>>>>>>    - confidential: false,
>>>>>>>    - publicAccess: "rw------",
>>>>>>>    - allItems: false,
>>>>>>>    - inherit: false,
>>>>>>>    - dimension: "kxvbQMX8Yss",
>>>>>>>    - optionSetValue: true,
>>>>>>>    - displayName: "DHS 2010 - sample domain",
>>>>>>>    - displayShortName: "DHS 2010 - sample domain",
>>>>>>>    - optionSet:
>>>>>>>    {
>>>>>>>       - id: "CnFzpGPWbJg",
>>>>>>>       - name: "DHS 2010 - sample domain",
>>>>>>>       - code: "DHS 2010 - v023",
>>>>>>>       - created: "2015-06-18T22:27:51.101+0000",
>>>>>>>       - lastUpdated: "2015-06-18T23:51:10.981+0000",
>>>>>>>       - href: "http://localhost:8000/api/optionSets/CnFzpGPWbJg";
>>>>>>>       },
>>>>>>>    - access:
>>>>>>>    {
>>>>>>>       - update: true,
>>>>>>>       - externalize: false,
>>>>>>>       - write: true,
>>>>>>>       - delete: true,
>>>>>>>       - read: true,
>>>>>>>       - manage: true
>>>>>>>       },
>>>>>>>    - user:
>>>>>>>    {
>>>>>>>       - id: "M4XhsWJlIhk",
>>>>>>>       - name: "admin admin",
>>>>>>>       - created: "2015-06-18T15:26:06.062+0000",
>>>>>>>       - lastUpdated: "2015-06-18T16:07:29.473+0000",
>>>>>>>       - href: "http://localhost:8000/api/users/M4XhsWJlIhk";
>>>>>>>       },
>>>>>>>    - attributeValues: [ ],
>>>>>>>    - items: [ ],
>>>>>>>    - userGroupAccesses: [ ]
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>> *Here's the OptionSet:*
>>>>>>>
>>>>>>> {
>>>>>>>
>>>>>>>    - lastUpdated: "2015-06-18T23:51:10.981+0000",
>>>>>>>    - code: "DHS 2010 - v023",
>>>>>>>    - id: "CnFzpGPWbJg",
>>>>>>>    - created: "2015-06-18T22:27:51.101+0000",
>>>>>>>    - name: "DHS 2010 - sample domain",
>>>>>>>    - href: "http://localhost:8000/api/optionSets/CnFzpGPWbJg";,
>>>>>>>    - publicAccess: "rw------",
>>>>>>>    - version: 0,
>>>>>>>    - externalAccess: false,
>>>>>>>    - displayName: "DHS 2010 - sample domain",
>>>>>>>    - access:
>>>>>>>    {
>>>>>>>       - update: true,
>>>>>>>       - externalize: false,
>>>>>>>       - write: true,
>>>>>>>       - delete: true,
>>>>>>>       - read: true,
>>>>>>>       - manage: true
>>>>>>>       },
>>>>>>>    - user:
>>>>>>>    {
>>>>>>>       - id: "M4XhsWJlIhk",
>>>>>>>       - name: "admin admin",
>>>>>>>       - created: "2015-06-18T15:26:06.062+0000",
>>>>>>>       - lastUpdated: "2015-06-18T16:07:29.473+0000",
>>>>>>>       - href: "http://localhost:8000/api/users/M4XhsWJlIhk";
>>>>>>>       },
>>>>>>>    - userGroupAccesses: [ ],
>>>>>>>    - options:
>>>>>>>    [
>>>>>>>       -
>>>>>>>       {
>>>>>>>          - id: "Fnkf3CXYjtU",
>>>>>>>          - name: "northern",
>>>>>>>          - code: "1",
>>>>>>>          - created: "2015-06-18T22:27:50.583+0000",
>>>>>>>          - lastUpdated: "2015-06-18T23:51:10.554+0000",
>>>>>>>          - href: "http://localhost:8000/api/options/Fnkf3CXYjtU";
>>>>>>>          },
>>>>>>>       -
>>>>>>>       {
>>>>>>>          - id: "p6xLuMAZ6Kx",
>>>>>>>          - name: "central",
>>>>>>>          - code: "2",
>>>>>>>          - created: "2015-06-18T22:27:50.720+0000",
>>>>>>>          - lastUpdated: "2015-06-18T23:51:10.675+0000",
>>>>>>>          - href: "http://localhost:8000/api/options/p6xLuMAZ6Kx";
>>>>>>>          },
>>>>>>>       -
>>>>>>>       {
>>>>>>>          - id: "XJa5QiUzKgb",
>>>>>>>          - name: "southern",
>>>>>>>          - code: "3",
>>>>>>>          - created: "2015-06-18T22:27:50.910+0000",
>>>>>>>          - lastUpdated: "2015-06-18T23:51:10.803+0000",
>>>>>>>          - href: "http://localhost:8000/api/options/XJa5QiUzKgb";
>>>>>>>          }
>>>>>>>       ]
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>> However, this fails and I see an exception in tomcat logs:
>>>>>>>
>>>>>>> SEVERE: Servlet.service() for servlet [webapi] in context with path
>>>>>>> [] threw exception [Request processing failed; nested exception is
>>>>>>> java.lang.NullPointerException] with root cause
>>>>>>> java.lang.NullPointerException
>>>>>>>         at
>>>>>>> org.hisp.dhis.trackedentity.TrackedEntityAttribute.isValidOptionValue(TrackedEntityAttribute.java:162)
>>>>>>>         at
>>>>>>> org.hisp.dhis.dxf2.events.trackedentity.AbstractTrackedEntityInstanceService.validateAttributeType(AbstractTrackedEntityInstanceService.java:582)
>>>>>>>         at
>>>>>>> org.hisp.dhis.dxf2.events.trackedentity.AbstractTrackedEntityInstanceService.checkAttributes(AbstractTrackedEntityInstanceService.java:404)
>>>>>>>         at
>>>>>>> org.hisp.dhis.dxf2.events.trackedentity.AbstractTrackedEntityInstanceService.updateTrackedEntityInstance(AbstractTrackedEntityInstanceService.java:293)
>>>>>>>         at
>>>>>>> org.hisp.dhis.dxf2.events.trackedentity.JacksonTrackedEntityInstanceService.updateTrackedEntityInstanceJson(JacksonTrackedEntityInstanceService.java:198)
>>>>>>>         at sun.reflect.GeneratedMethodAccessor895.invoke(Unknown
>>>>>>> Source)
>>>>>>>         at
>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>         at
>>>>>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>>>>>>>         ...
>>>>>>>
>>>>>>>
>>>>>>> Any advice greatly appreciated.
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> Alan
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Follow ups

References