Hi Bhargav,
OK, committed some fixes this morning, along with tests

Please do a rebuild and let me know how you get on.

Cheers
Dan




On 28 July 2013 20:30, Bhargav Golla <[email protected]> wrote:

> Hi Dimuthu,
>
> It isn't working too. Tried updating the description also. Not working
> either.
>
> Bhargav Golla
> Developer. Freelancer.
> B.E (Hons.) Computer Science
> BITS-Pilani
> Github <http://www.github.com/bhargavgolla> | 
> LinkedIN<http://www.linkedin.com/in/bhargavgolla>
>  | Website <http://www.bhargavgolla.com/>
>
>
> On Sat, Jul 27, 2013 at 1:39 PM, DImuthu Upeksha <
> [email protected]> wrote:
>
>> Hi Bhargav,
>>
>> In your issue of { "value": "10/22/2013" }, hope you want to pass a
>> date. Try { "value": "20131022" }. ({ "value": "YYYYMMDD" }) It worked
>> for me.
>>
>> Thnx
>> Dimuthu
>>
>>
>>
>> On Fri, Jul 26, 2013 at 10:35 AM, Bhargav Golla 
>> <[email protected]>wrote:
>>
>>> Hi Dan/Maurizio
>>>
>>> Any help with the error I shared?
>>>
>>> Thanks
>>>
>>> Bhargav Golla
>>> Developer. Freelancer.
>>> B.E (Hons.) Computer Science
>>> BITS-Pilani
>>> Github <http://www.github.com/bhargavgolla> |
>>> LinkedIN<http://www.linkedin.com/in/bhargavgolla>
>>>  | Website <http://www.bhargavgolla.com/>
>>>
>>>
>>> On Wed, Jul 24, 2013 at 10:31 PM, Bhargav Golla <[email protected]
>>> >wrote:
>>>
>>> >
>>> >
>>> > On Wed, Jul 24, 2013 at 1:14 PM, Dan Haywood <
>>> [email protected]
>>> > > wrote:
>>> >
>>> >> Hi Bhargav,
>>> >> sorry not to get back to you sooner.
>>> >>
>>> >> couple of things:
>>> >> 1. the PUT resource on the object (RO spec 14.2) is for updating ALL
>>> >> properties, not just a single one.
>>> >> 2. the "complete" property is ALWAYS disabled (you can see that from
>>> the
>>> >> code [1], and from the arguments map in the representation[2]
>>> >> 3. notwithstanding, I think there's a bug in the RO viewer.  I tried
>>> >> several different formats for the body [3], [4], [5], but got the same
>>> >> error in each case [6]
>>> >>
>>> >> So, if you want to raise a ticket for this, then either go ahead and
>>> fix
>>> >> it, or wait for me to do so...
>>> >>
>>> > Created an issue [1]. Will try to fix it.
>>> >
>>> >>
>>> >> In the meantime, you could workaround by doing a PUT to each of the
>>> >> individual property resources (per 16.2 of the spec); I believe this
>>> is
>>> >> working fine.
>>> >>
>>> > I am getting a 500 now that says that "does not represent map" when a
>>> make
>>> > a request like [2]. Any help?
>>> >
>>> > Regards
>>> > Bhargav
>>> >
>>> > [1] https://issues.apache.org/jira/browse/ISIS-479
>>> > [2] PUT /myapp-webapp/restful/objects/TODO/L_0/properties/notes
>>> HTTP/1.1
>>> >  Host: localhost:8080
>>> > Accept: application/json
>>> > Authorization: Basic c3ZlbjpwYXNz
>>> > Cache-Control: no-cache
>>> >
>>> > { "value": "10/22/2013" }
>>> >
>>> > Result:
>>> > {
>>> >     "message": "does not represent map",
>>> >     "stackTrace": [
>>> >
>>> >
>>> "org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation.mapHas(JsonRepresentation.java:1126)",
>>> >
>>> >
>>> "org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder.asAdapter(JsonValueEncoder.java:359)",
>>> >
>>> >
>>> "org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper.objectAdapterFor(DomainResourceHelper.java:313)",
>>> >
>>> >
>>> "org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper.parseAsMapWithSingleValue(DomainResourceHelper.java:463)",
>>> >
>>> >
>>> "org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper.parseAsMapWithSingleValue(DomainResourceHelper.java:454)",
>>> >
>>> >
>>> "org.apache.isis.viewer.restfulobjects.server.resources.DomainObjectResourceServerside.modifyProperty(DomainObjectResourceServerside.java:197)",
>>> >         "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
>>> >
>>> >
>>> "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)",
>>> >
>>> >
>>> "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
>>> >         "java.lang.reflect.Method.invoke(Method.java:601)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)",
>>> >
>>> >
>>> "org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)",
>>> >
>>> >
>>> "org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)",
>>> >
>>> >
>>> "org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)",
>>> >
>>> >
>>> "org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)",
>>> >         "javax.servlet.http.HttpServlet.service(HttpServlet.java:820)",
>>> >
>>> >
>>> "org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)",
>>> >
>>> >
>>> "org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)",
>>> >
>>> >
>>> "org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:315)",
>>> >
>>> >
>>> "org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:404)",
>>> >
>>> >
>>> "org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)",
>>> >
>>> >
>>> "org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)",
>>> >
>>> >
>>> "org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)",
>>> >
>>> >
>>> "org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)",
>>> >
>>> >
>>> "org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)",
>>> >
>>> >
>>> "org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)",
>>> >
>>> >
>>> "org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)",
>>> >
>>> >
>>> "org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)",
>>> >
>>> >
>>> "org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)",
>>> >
>>> >
>>> "org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)",
>>> >
>>> >
>>> "org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)",
>>> >
>>> >
>>> "org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)",
>>> >
>>> >
>>> "org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)",
>>> >
>>> >
>>> "org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440)",
>>> >
>>> >
>>> "org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)",
>>> >
>>> >
>>> "org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)",
>>> >
>>> >
>>> "org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)",
>>> >         "org.mortbay.jetty.Server.handle(Server.java:326)",
>>> >
>>> >
>>> "org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)",
>>> >
>>> >
>>> "org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)",
>>> >         "org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)",
>>> >
>>> "org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)",
>>> >
>>> "org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)",
>>> >
>>> >
>>> "org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)",
>>> >
>>> >
>>> "org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)"
>>> >     ],
>>> >     "causedBy": null
>>> > }
>>> >
>>> >>
>>> >> Thx
>>> >> Dan
>>> >>
>>> >>
>>> >>
>>> >> [1]
>>> >>
>>> https://github.com/apache/isis/blob/f38fdb92941172eabb12e0943509f239e6d5925f/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java#L219
>>> >> [2]
>>> >>
>>> >> http://localhost:8080/restful/objects/TODO/L_11
>>> >> , {
>>> >>
>>> >>    - members:
>>> >>    {
>>> >>       - ownedBy:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: "sven",
>>> >>          - format: "decimal",
>>> >>          - x-isis-format: "bigdecimal"
>>> >>          },
>>> >>       - dueBy:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: "2013-07-24",
>>> >>          - format: "date",
>>> >>          - x-isis-format: "jodalocaldate"
>>> >>          },
>>> >>       - cost:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: 1.75,
>>> >>          - format: "decimal",
>>> >>          - x-isis-format: "bigdecimal"
>>> >>          },
>>> >>       - notes:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: null,
>>> >>          - format: "decimal",
>>> >>          - x-isis-format: "bigdecimal"
>>> >>          },
>>> >>       - attachment:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: null,
>>> >>          - format: "decimal",
>>> >>          - x-isis-format: "bigdecimal"
>>> >>          },
>>> >>       - description:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: "Buy bread",
>>> >>          - format: "decimal",
>>> >>          - x-isis-format: "bigdecimal"
>>> >>          },
>>> >>       - category:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: "Domestic",
>>> >>          - format: "decimal",
>>> >>          - x-isis-format: "bigdecimal"
>>> >>          },
>>> >>       - complete:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: false,
>>> >>          - x-isis-format: "boolean",
>>> >>          - disabledReason: "Always disabled"
>>> >>          },
>>> >>       - versionSequence:
>>> >>       {
>>> >>          - memberType: "property",
>>> >>          - value: 1,
>>> >>          - format: "int",
>>> >>          - x-isis-format: "long",
>>> >>          - disabledReason: "Always disabled"
>>>
>>> >>          }
>>> >>       }
>>> >>
>>> >>
>>> >>
>>> >> [3] this - which is valid according to the spec, I think - didn't
>>> work:
>>> >> {
>>> >>     "cost" : {
>>> >>       "value" : 2.75
>>> >>     },
>>> >>     "description" : {
>>> >>       "value" : "An updated description"
>>> >>     },
>>> >>     "category" : {
>>> >>       "value" : "Professional"
>>> >>     }
>>> >> }
>>> >>
>>> >> [4] nor did this:
>>> >> {
>>> >>   "members:" {
>>> >>     "cost" : {
>>> >>       "memberType": "property",
>>> >>       "value" : 2.75
>>> >>     },
>>> >>     "description" : {
>>> >>       "memberType": "property",
>>> >>       "value" : "An updated description"
>>> >>     },
>>> >>     "category" : {
>>> >>       "memberType": "property",
>>> >>       "value" : "Professional"
>>> >>     }
>>> >>   }
>>> >> }
>>> >>
>>> >>
>>> >> [5] nor did this:
>>> >> {
>>> >>     "cost" : {
>>> >>       "memberType": "property",
>>> >>       "value" : 2.75
>>> >>     },
>>> >>     "description" : {
>>> >>       "memberType": "property",
>>> >>       "value" : "An updated description"
>>> >>     },
>>> >>     "category" : {
>>> >>       "memberType": "property",
>>> >>       "value" : "Professional"
>>> >>     }
>>> >> }
>>> >>
>>> >>
>>> >> [6]
>>> >>
>>> >>    1. Status Code: 400
>>> >>    2. Server: Jetty(6.1.26)
>>> >>    3. Content-Length: 0
>>> >>    4. Warning: 199 RestfulObjects Could not find properties list
>>> (nomembers
>>>
>>> >>    [memberType=property]); got
>>> {"cost":{"memberType":"property","value":
>>> >>    2.75},"description":{"memberType":"property","value":"An updated
>>> >>    description"},"category":{"memberType":"property","value":
>>> >>    "Professional"}}
>>> >>    5. Content-Type: application/json
>>>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> On 23 July 2013 18:05, Bhargav Golla <[email protected]> wrote:
>>> >>
>>> >>> Hi Dan
>>> >>>
>>> >>> I am trying to edit the properties of an object and am following
>>> 14.2 in
>>> >>> ROSpec to do the same. I tried to make a PUT request to the URL by
>>> chagning
>>> >>> few properties and putting them into JSON. My request is as follows:
>>> >>> PUT /myapp-webapp/restful/objects/TODO/L_0 HTTP/1.1
>>> >>> Host: localhost:8080
>>> >>> Accept: application/json
>>> >>> Authorization: Basic c3ZlbjpwYXNz
>>> >>> Cache-Control: no-cache
>>> >>>
>>> >>> { "complete": { "value": "true" } }
>>> >>>
>>> >>> But it is giving me a 400 error. Do you have any help here?
>>> >>>
>>> >>> Regards
>>> >>>
>>> >>> Bhargav Golla
>>> >>> Developer. Freelancer.
>>> >>> B.E (Hons.) Computer Science
>>> >>> BITS-Pilani
>>> >>> Github <http://www.github.com/bhargavgolla> | LinkedIN<
>>> http://www.linkedin.com/in/bhargavgolla>
>>> >>>  | Website <http://www.bhargavgolla.com/>
>>> >>>
>>> >>
>>> >>
>>> >
>>>
>>
>>
>>
>> --
>> Regards
>>
>> W.Dimuthu Upeksha
>> Undergraduate
>> Department of Computer Science And Engineering
>>
>> University of Moratuwa, Sri Lanka
>>
>
>

Reply via email to