:)) OK, seems the 2nd point is fine. and my english strong like google:)
Let's focus on the first point, and I try to make it clear.

GraphDatabase.createNode return a NodeProxy object. In  common cases, that's OK.
The NodeProxy wrap a NodeImpl, and NodeManager maintain a nodeCache.

Through, in proxy context, f.e. aspectj, cglib, the weaver will handle
all proxy objects.
 So it is not so necessary that to create a new NodeProxy object in
those proxy context.

f.e. cglib, If the client layer provide a ProxyFactory to
GraphDatabase, the #createNode will return a $CGLIB proxy object
instead of NodeProxy object.

And the NodeManager already hold a nodeCache. Even if using other
proxy factory, a cache still need.
So there will have 2 caches. again, not so necessary.

I mean, Let's consider add a SPI layer to create and maintain the proxies.

So the problem is:
the SPI layer is OK?

Hope it really clear:) me still me:)

致敬
向雅



2011/1/20 Michael Hunger <[email protected]>:
> Sorry I can't understand what you mean with your first point about NeoProxy.
>
> In regard to spring-data-graph. We started with the aspect on fields, it is 
> certainly possible to
> add the same approach to methods like getters or query methods and setters 
> when they are
> annotated in an abstract base class or interface.
>
> I'll check with the aspectj guys what needs to be done to create then 
> concrete subclasses.
> Instances of those will then be returned from our framework.
>
> Michael
>
> Am 19.01.2011 um 17:47 schrieb 向雅:
>
>> Hi team! Greate working! I enjoying neo4j:)
>> Sorroy first, :) the bad man with the bad english.:) to the list, I
>> owe two messages but i writed "my own":)
>> pay the 2rd item, hint:) the 1st item is ON, seems it need more time, so 
>> next:)
>>
>> NeoProxy class and other style of proxy.
>> BTW peter, those years, I didn't use spring through.
>>
>> 1, wrap the real Node object, not the Neo Proxy self.
>> because Neo Proxy just a wrapper in nature, no more complicate logic.
>> IMV,  not necessary to wrap the wrapper.
>> If createNode extends some spi or factory callback,  the client
>> provide the spi or factory callback, get some more clean code?
>> 2,
>> I browsed the spring-data-neo4j. GraphProperty annotation, it marked for 
>> Field.
>> In my view, maybe need extension for Method in interface case.
>> I did a work, a pure data model, no logic, so it's just a readonly
>> interface definition. so a cglib intercepter do all works.
>>
>>
>> 致敬
>> 向雅
>> _______________________________________________
>> Neo4j mailing list
>> [email protected]
>> https://lists.neo4j.org/mailman/listinfo/user
>
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to