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 <[email protected]>
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 <[email protected]> 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 <[email protected]>
>> 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 <[email protected]> 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 : [email protected]
>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>> More help : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>
>
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : [email protected]
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp