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 >> > >
