Right, I just wanted to make sure that we both had the same understanding of this. Great!
On Wed, Mar 31, 2010 at 3:38 PM, Niels Hoogeveen <pd_aficion...@hotmail.com>wrote: > > There certainly should be an onBeforeSuccess event, that can roll back the > current transaction. I would like to maintain a graph that is guaranteed to > be consistent with the MetaModel, so having a log of violations wouldn't be > good enough. > > Kind regards, > Niels Hoogeveen > > > From: tobias.ivars...@neotechnology.com > > Date: Wed, 31 Mar 2010 14:43:24 +0200 > > To: user@lists.neo4j.org > > Subject: Re: [Neo] Requirements for an event framework for Neo4j > > > > Yes. I can tick of one of the use cases on my list of expected ones. > > > > I would like some more input on this though. I'm assuming that you would > > want proactive event handlers for building this. That would enable you to > > reject changes if the MetaModel validator doesn't accept them. Or would > it > > be enough to be able to output a log message about there being a change > that > > violated the validation? > > > > Cheers, > > Tobias > > > > On Wed, Mar 31, 2010 at 1:54 PM, Niels Hoogeveen > > <pd_aficion...@hotmail.com>wrote: > > > > > > > > A use case I have mentioned earlier on this list is a MetaModel > validator. > > > Such a component should be triggered on transaction success to validate > the > > > added/deleted relationships, nodes and properties, and the updated > property > > > values. It's an open question to me, whether every change event should > be > > > logged by the validator, or if the validator can somehow get a set of > > > nodes/relationship/properties from Transaction with those entities that > have > > > been touched within that transaction. > > > > > > The nicest solution from my point of view would be that the onSuccess > event > > > has a property touchedNodes, which is a list of node facades, where > only the > > > immutable methods of Node are implemented, and where the return value > of > > > each method returns an immutable value. > > > > > > The book keeping with respect to transactions is already done within > the > > > transactions, so logging all changes once more for a validator seems a > waste > > > of cycles and memory. So, to me an event with a reference to this > change > > > log, would seem the nicest solution. > > > > > > Kind regards, > > > Niels Hoogeveen > > > > > > > From: tobias.ivars...@neotechnology.com > > > > Date: Wed, 31 Mar 2010 12:39:25 +0200 > > > > To: user@lists.neo4j.org > > > > Subject: [Neo] Requirements for an event framework for Neo4j > > > > > > > > Fellow developers! > > > > > > > > The time has come to start the work on an event framework for Neo4j. > In > > > > order to do a good work at this we would get input on what > requirements > > > you > > > > have on an event framework. We would like to get a list of use cases > for > > > > which you would use an event framework, along with the features you > think > > > > the use case would need from the event framework (i.e. which events > you > > > > would like to receive notification about, and when). We would also > like > > > you > > > > to motivate why these features are required by the use case. Events > can > > > > easily degrade performance if the framework is ill designed, so we > would > > > > like to keep things very lean. > > > > > > > > We have made some early analysis and arrived at the following > > > conclusions: > > > > > > > > * There can be two kinds of event handlers: Proactive event handlers > and > > > > Reactive event handlers. > > > > Proactive event handlers have the ability to preempt operations and > > > Reactive > > > > event handlers simply react to an event and cannot cause the event to > not > > > > succeed. > > > > > > > > * There are three kinds of events in Neo4j kernel: > > > > - Lifecycle events, such as shutdown. > > > > - Transactional events, such as start commit, commit successful, > > > rollback, > > > > etc. > > > > - Data modification events, such as node created, property changed, > > > > relationship removed, etc. > > > > > > > > It might be possible that other components, such as the indexing > > > component, > > > > would want to add more events to the event framework. > > > > > > > > These are of course just some initial input to get your thoughts > going, > > > feel > > > > free to think outside of the constraints above. Our ultimate goal is > to > > > > create an event framework that is as useful as possible while > maintaining > > > > > > > > -- > > > > Tobias Ivarsson <tobias.ivars...@neotechnology.com> > > > > Hacker, Neo Technology > > > > www.neotechnology.com > > > > Cellphone: +46 706 534857 > > > > _______________________________________________ > > > > Neo mailing list > > > > User@lists.neo4j.org > > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > _________________________________________________________________ > > > New Windows 7: Find the right PC for you. Learn more. > > > http://windows.microsoft.com/shop > > > _______________________________________________ > > > Neo mailing list > > > User@lists.neo4j.org > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > > > > -- > > Tobias Ivarsson <tobias.ivars...@neotechnology.com> > > Hacker, Neo Technology > > www.neotechnology.com > > Cellphone: +46 706 534857 > > _______________________________________________ > > Neo mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > _______________________________________________ > Neo mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Tobias Ivarsson <tobias.ivars...@neotechnology.com> Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user