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

Reply via email to