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