What is an appropriate place to commit FeatureEventsTest that tests
FeatureStore interface of ShapefileDataStore for FeatureEvents fired by
notification mechanism of FeatureListenersManager for autocommit and
non-autocommit transactions?
The autocommit transaction case fails right now because no one FeatureWriter
in chain of writers for ShapefileDataStore sends events during feature
modifications through FeatureStore.

Vitali.


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:geotools-devel-
> [EMAIL PROTECTED] On Behalf Of Jody Garnett
> Sent: Friday, June 08, 2007 10:04 PM
> To: Vitali Diatchkov; geotools-devel
> Subject: Re: [Geotools-devel] Auto-commit transaction in
> *ShapeFileDatastore in GT 2.2.x
> 
> Yeah we could add a "batch" mode - the resulting event ends up being
> "something changed here is the bounding box" - basically the same event
> AUTO_COMMIT listeners get after a transaction has committed on a
> different thread.
> 
> Thinking.
> 
> Some FeatureSources implement their bulk operations (like addFeatures)
> using a Transaction. This is fine .. the FeatureSource bulk operations
> just lets you do regular stuff that you could do by hand with a
> collection and iterator after all.
> 
> If it was an acceptable fix we could look into doing this kind of thing
> more often ...
> Jody
> 
> > Relatively to UDIG we have so many hacks and changed places in our
> products
> > (because of project requirements). One of the requirements is auto-
> commit
> > transaction, so we changed the code managing transactions(like
> > UDIGFeatureStore, etc.). In this light UDIG itself is not touched by
> this
> > "bug", it means just that GeoTools  misses something important in
> specific
> > cases..
> >
> > I will take care next week about that issue. Debug more and give test
> cases
> > and small report.Anyway, from the point of view of different tasks and
> > requirements and goals, it would be nice to have an API to switch of/off
> > notification from DataStore/FeatureStore/.. API. Like we have this
> > capability in EMF technology. One feature modification does not affect
> the
> > situation but bulk modification of hundred features in big shapefiles
> may
> > affect.
> >
> > Vitali.
> >
> >
> >> -----Original Message-----
> >> From: [EMAIL PROTECTED] [mailto:geotools-
> devel-
> >> [EMAIL PROTECTED] On Behalf Of Jody Garnett
> >> Sent: Thursday, June 07, 2007 5:51 PM
> >> To: Vitali Diatchkov; Geotools-Devel list
> >> Subject: Re: [Geotools-devel] Auto-commit transaction in
> >> *ShapeFileDatastore in GT 2.2.x
> >>
> >> Yeah let;s make a test case for this ... to start out with we can call
> >> the method XtestAutoCommitEventNotification (so it does not break the
> >> build). I suspect that the event notificaiton only works on a
> >> transaciton becasue that is how it was tested (ie on uDig using
> >> transactions).  The code as it stands now is *supposed* to send event
> >> notification - so let's get that test case and a debugger and see what
> >> we can see.
> >>
> >> You are aware that uDig stuffs a Transaction into all the layers? (Or
> >> maybe it only does that on a layer by layer basis when you first start
> >> to edit - or request a FeatureStore) You should not of ended up in the
> >> situtation you describe ... so I am confused :-)
> >>
> >> The very last - "internal" FeatureWriter (ie the one that does the
> work)
> >> is supposed to throw the AUTO_COMMIT events... it is part of the API
> >> contract with AbstractDataStore (as per the data store tutorial).
> >>
> >> Cheers,
> >> Jody
> >>
> >>> Hi, Jody! Should I implement JUnit test? Give me a plan, I would like
> to
> >>>
> >> do
> >>
> >>> it to test getting notifications in case of different transactions.
> >>>
> >>> Related to UDIG. In one of our projects the requirement was autocommit
> >>> transaction in the map for all layers. Seems ShapefileDataStore does
> not
> >>> raise feature events when routines of FeatureStore are used and
> >>>
> >> autocommit
> >>
> >>> transaction is set.
> >>> The reason is that events are raised in DiffFeatureWriter. But it is
> not
> >>>
> >> in
> >>
> >>> the chain of writers when autocommit transaction is used.
> >>>
> >>> The obvious hack is to wrap the last FeatureWriter in chain of writers
> >>>
> >> being
> >>
> >>> used with autocommit transaction with something like DiffFeatureWriter
> >>>
> >> where
> >>
> >>> only notification mechanism is present.
> >>>
> >>> Vitali.
> >>>
> >>>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: [EMAIL PROTECTED] [mailto:geotools-
> >>>>
> >> devel-
> >>
> >>>> [EMAIL PROTECTED] On Behalf Of Jody Garnett
> >>>> Sent: Friday, May 25, 2007 8:47 PM
> >>>> To: Vitali Diatchkov
> >>>> Cc: geotools-devel@lists.sourceforge.net
> >>>> Subject: Re: [Geotools-devel] Auto-commit transaction in
> >>>> *ShapeFileDatastore in GT 2.2.x
> >>>>
> >>>> The DataStore is the gatekeeper of notification ... because you may
> >>>>
> >> have
> >>
> >>>> more than one FeatureStore created looking at the same information.
> The
> >>>> test cases cover this kind of stuff pretty well for transaction
> >>>> independence; but uDig is the only application making use of events
> >>>> right now (so often we end up finding "new" problems).
> >>>>
> >>>> Can we reproduce your problem with a test case please Vitali? What
> you
> >>>> describe is a bug ... and not one that is known to me.
> >>>>
> >>>> Cheers,
> >>>> Jody
> >>>>
> >>>> Vitali Diatchkov wrote:
> >>>>
> >>>>
> >>>>> Hello!
> >>>>>
> >>>>> If an auto-commit transaction is used in ShapeFileDatastore then
> >>>>>
> >> during
> >>
> >>>> any
> >>>>
> >>>>
> >>>>> features modification  FeatureListener[s] do not get any
> >>>>>
> >> notifications.
> >>
> >>>> Only
> >>>>
> >>>>
> >>>>> if the transaction is non-auto-commit then DiffFeatureWriter and
> >>>>> TransactionStateDiff contains the code to notify listeners.
> >>>>>
> >>>>> It causes UDIG, for example, not to re-render the layer where
> features
> >>>>>
> >>>>>
> >>>> were
> >>>>
> >>>>
> >>>>> modified/added/removed (in case of shapefile).
> >>>>>
> >>>>> Am I right with this suspicion?  Seems the notification mechanism is
> >>>>>
> >>>>>
> >>>> spread
> >>>>
> >>>>
> >>>>> among classes.. Isn't implementation of FeatureStore is the right
> >>>>>
> >> place
> >>
> >>>> to
> >>>>
> >>>>
> >>>>> have notification mechanism and way to turn on/off, batch
> >>>>>
> >> notifications,
> >>
> >>>>> etc. ? No matter what is a nature of datastore, the FeatureStore
> >>>>> implementation may collect necessary information from datastore
> >>>>>
> >> specific
> >>
> >>>>> implementation classes but send these notifications in a centralized
> >>>>>
> >>>>>
> >>>> way.
> >>>>
> >>>>
> >>>>> I did not look into JIRA yet, so may be this is a known issue.
> >>>>>
> >>>>> Vitali Diatchkov.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --------------------------------------------------------------------
> --
> >>>>>
> >> --
> >>
> >>>> -
> >>>>
> >>>>
> >>>>> This SF.net email is sponsored by DB2 Express
> >>>>> Download DB2 Express C - the FREE version of DB2 express and take
> >>>>> control of your XML. No limits. Just data. Click to get it now.
> >>>>> http://sourceforge.net/powerbar/db2/
> >>>>> _______________________________________________
> >>>>> Geotools-devel mailing list
> >>>>> Geotools-devel@lists.sourceforge.net
> >>>>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
> >>>>>
> >>>>>
> >>>>>
> >>>> ---------------------------------------------------------------------
> --
> >>>>
> >> --
> >>
> >>>> This SF.net email is sponsored by DB2 Express
> >>>> Download DB2 Express C - the FREE version of DB2 express and take
> >>>> control of your XML. No limits. Just data. Click to get it now.
> >>>> http://sourceforge.net/powerbar/db2/
> >>>> _______________________________________________
> >>>> Geotools-devel mailing list
> >>>> Geotools-devel@lists.sourceforge.net
> >>>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
> >>>>
> >>>>
> >>>
> >>
> >> -----------------------------------------------------------------------
> --
> >> This SF.net email is sponsored by DB2 Express
> >> Download DB2 Express C - the FREE version of DB2 express and take
> >> control of your XML. No limits. Just data. Click to get it now.
> >> http://sourceforge.net/powerbar/db2/
> >> _______________________________________________
> >> Geotools-devel mailing list
> >> Geotools-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/geotools-devel
> >>
> >
> >
> 
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Geotools-devel mailing list
> Geotools-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to