> -----Original Message-----
> From: Rob Atkinson [mailto:[EMAIL PROTECTED]
> Sent: Friday, August 17, 2007 1:07 PM
> To: Vitali Diatchkov
> Cc: 'geotools-devel'; 'Jody Garnett'; [EMAIL PROTECTED]
> Subject: Re: [Geotools-devel] AbstractJDBCDataStore and its pilot
> implementation for Oracle Spatial
> 
> 
> > I had a goal to implement datastore for Oracle Spatial based on GeoTools
> > architecture and interfaces to be used for direct access to Oracle
> database
> > from UDIG. GeoTools' standard implementation is very narrow and not
> > appropriate for high customization - I mean customization for data model
> > being used in particular project.
> >
> >
> Are you aware of activities to improve Geotools from a hard-coded
> "simple features model" to the "ISO general feature model".  The latter
> supports properties with complex types, relationships between feature
> types and multiple valued properties.
> 
>   I would think you can model most objects with this, especially if we
> achieve the ultimate goal (IMHO) of being able to bind operations to
> feature types, and feature types inherit such behaviours from supertypes.
> 
> Is your need to gain direct access simply to bypass the simple features
> model? Or is it to allow injection of operations against features via
> SQL statements?


So, the goal was based on project needs and simple feature model is used
while there is nothing really special in it: the table represents a feature
type and a row with data represents a feature instance.

GeoTools 2.2.x at least works only with SFM and what is done is intended for
simple feature modeling from data model in the database.

Right now the framework just suggests more customizable way to bind features
to and from database model because the GT 2.2.x jdbc stuff is not in a very
good shape from my point of view.

I believe that based on this first step other various ideas may be applied
to move the JDBC framework forward. Briefly , I have just separated SQL
stuff for simple feature model binding from  major GeoTools API interfaces
implementations (FeatureStore, DataStore,..) into SQL operations part. More
clean way where feature binding is performed. These operations may be called
from any place where add/remove/modify/read features actions are needed. The
user works with high level API (FeatureStore e.g.) while it delegates real
work to low level API (org.geotools.data.jdbc.operations). That was a goal.
The low level API should be very optimized for the performance and contain
minimum of validations of features against feature types, etc. This is a
responsibility of high level API to guarantee that feature is valid, etc.
That was an idea.


Then I was able to highly customize the OracleDataStore for my project
specific data model by overriding low level API (JDBCOperation interfaces,
various factories and builders like JDBCFeatureTypeBuilder..).  


Because in specific projects not all of feature types should be visible, not
all attribute types should be included in feature types, etc. 

To implement new datastore for the new database - most of general classes
are the same, but low level API implementation is easily implemented and
injected to the implementor of AbstractJDBCDataStore class through
"builders, factories, providers".

Not really sure , did I answer to your questions, but at least tried to
explain what is done.


I was not concentrated a lot in complex features investigation. Suspect that
implementation complex features for JDBC is a task comparable with Hibernate
complexity.

> 
> Rob A
> 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to