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 <ah...@2paths.com> 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 <morte...@gmail.com> > 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 <ah...@2paths.com> 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 <morte...@gmail.com> >>> 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 <ah...@2paths.com> 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@lists.launchpad.net >>>>> Unsubscribe : https://launchpad.net/~dhis2-devs >>>>> More help : https://help.launchpad.net/ListHelp >>>>> >>>>> >>>> >>> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp