I was going to wait for the methods to settle down first; for example the batch feature event methods are in the wrong spot; I need to move them to a transaction state associated with the connection.
I will get the javadocs in order shortly; ie after I know we have the problem licked. I will also pester Jesse for a review on the events being generated. Jody On Mon, May 11, 2009 at 8:51 AM, Justin Deoliveira <[email protected]> wrote: > It would also be nice if you added javadocs for all the methods added, not > just some. I have been striving to maintain consistency in the Content* > classes, as well as in the JDBC subclasses, that is a pattern I like to keep > on following :). For instance fireFeatureUpdated() has no jabadoc, but > fireFeatureAdded() does, etc... > > Other then that, great work! > > -Justin > > Justin Deoliveira wrote: >> >> Looks like you have been busy Jody. One thing I ask, can you separate >> "cleanup" commits. It makes commit logs hard to follow when they are riddled >> with formatting changes. I am all for cleaning up the formatting, just >> prefer they be done in a separate commit. >> >> Jody Garnett wrote: >>> >>> Turns out the JDBCFeatureReader copy constructor just missed the >>> feature source field; all tests now pass with the event notification >>> code in. >>> >>> I am going to go on to write test cases covering the event >>> notification code; I think I am being held up over some of the tests >>> not working for postgis; perhaps I will switch to hibernate. >>> >>> Jody >>> >>> On Sun, May 10, 2009 at 11:27 AM, Jody Garnett <[email protected]> >>> wrote: >>>> >>>> Hi Justin: >>>> >>>> A bit more debugging: >>>> - featureSource is only set to null during a call to cleanup() >>>> - the only test that is failing here is the >>>> JDBCDataStoreAPITest.testGetFeaturesWriterAdd. This test skips over >>>> all the content and then starts adding stuff to the end >>>> >>>> I suspect that cleanup() is getting automatically called...checking it >>>> out now. >>>> >>>> Okay that was not the case - what happens is when >>>> JDBCUpdateInsertFeatureWriter runs off the end and goes to pass over >>>> control to an internal JDBCInsertFeatureWriter: >>>> if ( !hasNext ) { >>>> //update phase is up, switch to insert mode >>>> inserter = new JDBCInsertFeatureWriter( this ); >>>> return inserter.hasNext(); >>>> } >>>> The origional JDBCUpdateInsertFeatureWriter has already cleaned up >>>> itself; so a null value for dataStore and featureSource are copied >>>> over. >>>> >>>> Aside: I also had to add some implementation to your ResultSetFeature >>>> in order to have access to the before and after bounds (I made sure to >>>> only calculate the bounds if we actually have anyone at all >>>> listening). >>>> >>>> Jody >>>> >>>> On Sun, May 10, 2009 at 2:23 AM, Jody Garnett <[email protected]> >>>> wrote: >>>>> >>>>> Hi Justin: >>>>> >>>>> I have added event notification methods to ContentDataStore; and am >>>>> having a bit of fun hooking up things in jdbc-ng for testing... >>>>> consider the following JDBCInsertFeatureWriter method as an example: >>>>> >>>>> public void write() throws IOException { >>>>> try { >>>>> //do the insert >>>>> dataStore.insert(last, featureType, st.getConnection()); >>>>> >>>>> //the datastore sets as userData, grab it and update the fid >>>>> String fid = (String) last.getUserData().get( "fid" ); >>>>> last.setID( fid ); >>>>> >>>>> ContentEntry entry = featureSource.getEntry(); >>>>> ContentState state = entry.getState( this.tx ); >>>>> state.fireFeatureAdded( featureSource, last ); >>>>> } catch (SQLException e) { >>>>> throw (IOException) new IOException().initCause(e); >>>>> } >>>>> } >>>>> >>>>> I expected to have access to the ContentState directly when working; >>>>> but JDBCInsertFeatureWriter made me take a long walk to get it ...and >>>>> then even that did not work as this.featureSource is null. >>>>> >>>>> I am calling it a night; I can commit the changes to the >>>>> ContentDataStore classes and send you the patch for jdbc-ng. I have >>>>> only hooked up the basics (add,modify,remove) and gotten batched >>>>> feature events populated; I still need to find out where the >>>>> commit/rollback code is and make sure they actually issue the batch >>>>> feature event notification. >>>>> >>>>> Jody >>>>> >> >> > > > -- > Justin Deoliveira > OpenGeo - http://opengeo.org > Enterprise support for open source geospatial. > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
