Hi Christoper,

I'll look into this when I get back to the UK. Sounds like we should run some 
compliance tests against the JSON we produce. There seem to be a few out there 
that we could use.

In the meantime, thanks very much for the feedback!

Jim

On 30 Dec 2010, at 20:36, Christopher Schmidt wrote:

> Hi Jim, all I can say is, that I was not able to unmarshal the anonymous
> array containing a anonymous object returned from a POST to traverse/path.
> All I got was a ArrayOutOfBounds exception (I used the
> maven jersey-json dependency). Maybe just an issue with the combination of
> Jersey and JAXB.
> 
> Normally this code should work:
> 
> GenericType<Collection<Traverse>> genericType = new
> GenericType<Collection<Traverse>>() {};
> 
>        Collection<Traverse> ja = webResource.path("node/3/traverse/path")
>                .accept(MediaType.APPLICATION_JSON)
>                .type(MediaType.APPLICATION_JSON)
>                .post(genericType, "{\"order\":\"depth first\", \"max
> depth\": 1}");
> 
> for this JAXB Entity:
> 
> @XmlAccessorType(XmlAccessType.FIELD)
> @XmlRootElement
> public class Traverse {
>    public String start;
>    . . .
> }
> 
> And I did not get any answer from the Jersey users list.
> Java.net is currently down once again :-( so I can not post the link to my
> question.
> 
> Christopher
> 
> 
> On Thu, Dec 30, 2010 at 5:15 PM, Jim Webber <j...@neotechnology.com> wrote:
> 
>> Hi Christoper, Peter,
>> 
>> I wonder if this is some horrid coupling creeping in since AFAIK we also
>> use Jackson for JSON production. Perhaps its own eccentricities are escaping
>> our service boundary.
>> 
>> Anyone know if Jackson is/isn't very compliant?
>> 
>> Jim
>> 
>> On 29 Dec 2010, at 23:41, Peter Neubauer wrote:
>> 
>>> Very cool Christopher,
>>> Tis looks like a perfect way to test the server. As we are considering
>>> using more scale in at least our testing, we really should look into
>>> this for easing web testing to start with! I guess Andres and Andreas
>>> will be all over this after New Year :)
>>> 
>>> /Peter
>>> 
>>> On Wednesday, December 29, 2010, Christopher Schmidt
>>> <fakod...@googlemail.com> wrote:
>>>> I am answering my own thread here, just in case someone is interested...
>>>> 
>>>> I solved my unmarshaling issue with Neo4j REST, JAXB and Jersey with
>> using
>>>> the Jackson JSON processor (http://jackson.codehaus.org/) instead of
>> Jersey
>>>> JSON.
>>>> 
>>>> This makes it easy to write a POPO representation of Neo4j's REST
>> *objects*.
>>>> I implemented some of them (in Scala), see here:
>>>> 
>> https://github.com/FaKod/SJersey/tree/master/src/test/scala/org/sjersey/test/json/neo4jstuff
>>>> 
>>>> The usage is rather simple. I tested it with a *specs* test class here:
>>>> 
>> https://github.com/FaKod/SJersey/blob/master/src/test/scala/org/sjersey/test/AccessTest.scala
>>>> 
>>>> Although some idea files are checked in, it should be able to check it
>> out
>>>> with maven2 (pom.xml).
>>>> 
>>>> I have written a blog post about this POC
>>>> here<
>> http://blog.fakod.eu/2010/12/10/yet-another-trya-rest-client-with-jersey-and-scala/
>>> ,
>>>> as I said: Just in case someone is interested to use Scala, Jersey and
>> the
>>>> Neo4j REST server ;)
>>>> 
>>>> Christopher
>>>> 
>>>> On Wed, Dec 8, 2010 at 4:09 PM, Christopher Schmidt <
>> fakod...@googlemail.com
>>>>> wrote:
>>>> 
>>>>> I have a little spare time ;-) and I try to create a/another "very
>> smart"
>>>>> REST client DSL in Scala.
>>>>> 
>>>>> For testing and test data I am using the Neo4j Server from here:
>>>>> 
>> http://blog.neo4j.org/2010/04/neo4j-rest-server-part1-get-it-going.html
>>>>> 
>>>>> Client library is Jersey, JSON marshaling and unmarshaling lib is JAXB.
>> The
>>>>> current client Scala code is:
>>>>> 
>>>>> rest {
>>>>>        implicit s =>
>>>>>        val traversalPath = "node/3/traverse/path".POST[JSONArray] <=
>>>>> PathRequest(order = "depth first", max_depth = 4, uniqueness = "node
>> path")
>>>>>        println("Array length: " + traversalPath.length) // prints 2
>>>>>      }
>>>>> 
>>>>> The above JSONArray works fine, but if I use Java objects
>>>>> (as XmlRootElement) I get unmarshaling exceptions. It would be helpful
>> If
>>>>> there is someone out there who already created some JAXB objects for
>>>>> Neo4j...
>>>>> 
>>>>> Christopher
>>>>> 
>>>>> 
>>>>> On Wed, Dec 8, 2010 at 3:56 PM, Peter Neubauer <
>>>>> peter.neuba...@neotechnology.com> wrote:
>>>>> 
>>>>>> Christopher,
>>>>>> are you trying to build your own server, or are you using Neo4j
>> Server?
>>>>>> 
>>>>>> The REST API is now part of the server component, we are right now
>>>>>> defining a mechanism to mount your own server extensions without
>>>>>> breaking the REST hypermedia of the existing API.
>>>>>> 
>>>>>> What are you trying to do?
>>>>>> 
>>>>>> Cheers,
>>>>>> 
>>>>>> /peter neubauer
>>>>>> 
>>>>>> GTalk:      neubauer.peter
>>>>>> Skype       peter.neubauer
>>>>>> Phone       +46 704 106975
>>>>>> LinkedIn   http://www.linkedin.com/in/neubauer
>>>>>> Twitter      http://twitter.com/peterneubauer
>>>>>> 
>>>>>> http://www.neo4j.org               - Your high performance graph
>>>>>> database.
>>>>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
>> party.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Wed, Dec 8, 2010 at 3:52 PM, Christopher Schmidt
>>>>>> <fakod...@googlemail.com> wrote:
>>>>>>> Hi all, is anyone using the REST interface and JAXB?
>>>>>>> 
>>>>>>> I have some problems with the traversal response of POST call to
>>>>>>> "/node/3/traverse/path" which returns:
>>>>>>> 
>>>>>>> [ {
>>>>>>> "start" : "http://localhost:9999/node/3";,
>>>>>>> "nodes" : [ "http://localhost:9999/node/3";, "
>>>>>> http://localhost:9999/node/1";
>>>>>>> ],
>>>>>>> "length" : 1,
>>>>>>> "relationships" : [ "http://localhost:9999/relationship/6"; ],
>>>>>>> "end" : "http://localhost:9999/node/1";
>>>>>>> }, {
>>>>>>> "start" : "http://localhost:9999/node/3";,
>>>>>>> "nodes" : [ "http://localhost:9999/node/3";, "
>>>>>> http://localhost:9999/node/2";
>>>>>>> ],
>>>>>>> "length" : 1,
>>>>>>> "relationships" : [ "http://localhost:9999/relationship/2"; ],
>>>>>>> "end" : "http://localhost:9999/node/2";
>>>>> --
>>>> Christopher
>>>> twitter: @fakod
>>>> blog: http://blog.fakod.eu
>>>> _______________________________________________
>>>> Neo4j mailing list
>>>> User@lists.neo4j.org
>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>> 
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>> 
>> _______________________________________________
>> Neo4j mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>> 
> 
> 
> 
> -- 
> Christopher
> twitter: @fakod
> blog: http://blog.fakod.eu
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to