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