← Back to team overview

dhis2-devs team mailing list archive

Re: TrackedEntityInstance update

 

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