Jukka,

please try r4614 PLUS.. ede

On 13.12.2015 19:00, Rahkonen Jukka (MML) wrote:
> Very interesting. Unfortunately r4609 did not build 
> http://vorboss.dl.sourceforge.net/project/jump-pilot/OpenJUMP_snapshots/OpenJUMP-20151213-r4609.log.
> 
>  
> 
> -Jukka Rahkonen-
> 
>  
> 
> Nicolas Ribot wrote:
> 
>  
> 
> Hi,
> 
>  
> 
> I made a commit (r4609) adding Spatial databases support for MySQL/MariaDB 
> and Spatialite.
> 
>  
> 
> Some points concerning this commit:
> 
>  
> 
> • FilterQuery and Adhoc queries are supported for all spatial databases
> 
> • When a wrong WHERE clause is added to a datasource, SQL error is displayed 
> and layer is removed from Panel(*)
> 
> • Added some icons according to connection type and status:
> 
>  
> 
> Inline images 1
> 
>  
> 
> • MariaDB: supports WKB and natives binary types, (thanks to code from Larry 
> Reeder)
> 
> • Spatialite: supports Spatialite binary type, WKB and WKT, supports several 
> geometry_column metadata table layout.
> 
> • Spatialite database file can be choosen with a FileChooser instead of 
> classic server/dbname/user/pwd fields, as they are not relevant for 
> Spatialite:
> 
>  
> 
> Inline images 2
> 
>  
> 
> Microsoft® SQL Server support should come soon.
> 
>  
> 
> (*) Michaël & ede: To manage SQL errors when adding a database layer, I 
> modified ImageCacheRenderer: this is actually here the error is detected (and 
> by default, only a warning is issued, which is fine: sometime, 
> FeatureCollection returns a NoSuchFeatureException because of an extent 
> error, and in this case, the layer should be added to the LayerPanel).
> 
>  
> 
> AFAIU, when choosing a layer from a datastore, the OJ Layer is added to the 
> panel, then a separate thread tries to load the Features. This thread 
> triggers the actual SQL code for the layer.
> 
> Instead of testing the layer each time a WHERE clause is added/modified, I 
> chose to catch the SQLException in ImageCacheRenderer thread, then I remove 
> the layer from the Panel. In case of other error types, layer is added to the 
> Panel.
> 
>  
> 
> Nicolas
> 
>  
> 
>  
> 
>  
> 
> On 13 December 2015 at 12:20, <edgar.sol...@web.de 
> <mailto:edgar.sol...@web.de>> wrote:
> 
>     the functionally correct approach of course would be adding the layer 
> only after the request went trough fine. you can create layers and feature 
> collections and throw them away if it wont work out.
> 
>     ..ede
> 
>     On 13.12.2015 00:17, Nicolas Ribot wrote:
>     > Yes good idea, I will add a test before loading a layer.
>     >
>     > Nicolas
>     >
>     > On 12 December 2015 at 20:22, Michaël Michaud 
> <m.michael.mich...@orange.fr <mailto:m.michael.mich...@orange.fr> 
> <mailto:m.michael.mich...@orange.fr <mailto:m.michael.mich...@orange.fr>>> 
> wrote:
>     >
>     >     Hi Nicolas,
>     >
>     >     Thanks for your answer.
>     >
>     >     Just one idea about the problem Jukka has mentionned :
>     >     Maybe the query should be tested before the Layer is created.
>     >     A way to do that would be to add (or replace)  the LIMIT clause 
> with value 0 to have a lightweight query
>     >     giving the opportunity to catch a SQLException.
>     >     May not be the cleanest way to solve the problem though (several 
> classes to patch).
>     >
>     >     Michaël
>     >
>     >     Le 12/12/2015 16:31, Nicolas Ribot a écrit :
>     >>     Hi Michaël,
>     >>
>     >>     Thanks for the insight.
>     >>
>     >>     I'm currently refactoring a bit the SpatialDatabases code.
>     >>     The error you pointed out showed me some problems with current 
> code, and as you noted, I have to instantiate a correct, concrete class for 
> each detected DSConnection.
>     >>
>     >>     I'm finalising my todo list, but right now, FilterQuery and 
> AdhocQuery can be ran on Postgis, Oracle, MySQL and Spatialite databases the 
> same way.
>     >>
>     >>     I'm currently finishing the support for Spatialite, that can be 
> tricky: geometry column can contain WKT, WKB or native Spatialite binary 
> format. Still have to correct the ValueConvert to correctly detect and 
> convert each type.
>     >>
>     >>     MySQL support is added with support for both WKB storage, internal 
> binary storage (code from DBQuery).
>     >>     Layer extent is now correctly retrieved but has to be tested on 
> big datasets (it merely uses a textual aggregation of all geometries to build 
> the resulting envelope).
>     >>
>     >>     I think I will be able to commit fixes soon.
>     >>
>     >>     I'm stuck, though, on the problem Jukka mentioned: if you add a 
> wrong where clause to the layer to load, error is detected in the 
> com.vividsolutions.jump.workbench.ui.renderer.ImageCachingRenderer( line 90) 
> where the error message is displayed in Window toolbar.
>     >>     I can display an ErrorDialog with SQL error, but do not know how 
> to cleanly remove the layer from the panel.
>     >>
>     >>     Nicolas
>     >>
>     >>
>     >>     On 12 December 2015 at 15:29, Michaël Michaud 
> <m.michael.mich...@orange.fr <mailto:m.michael.mich...@orange.fr> 
> <mailto:m.michael.mich...@orange.fr <mailto:m.michael.mich...@orange.fr>>> 
> wrote:
>     >>
>     >>         Hi Nicolas,
>     >>
>     >>         I had a look but did not find an easy way to fix the problem.
>     >>
>     >>         In SpatialDatabasesDSConnection you added a comment that it is 
> no more necessary to subclass to PostGIS...
>     >>
>     >>         On the other hand,
>     >>         - SpatialDatabasesDSConnection instantiates
>     >>         - SpatialDatabasesResultSetConverter which in turn instantiates
>     >>         - SpatialDatabasesFeatureInputStream which instantiates
>     >>         - SpatialDatabasesResultSetConverter  which instiates a new
>     >>         - SpatialDatabasesValueConverterFactory
>     >>
>     >>         The getConverter method of the later just return null which 
> seems the root cause
>     >>         of my NPE.
>     >>
>     >>         Seems like the concrete class should still be a subclass of 
> SpatialDatabasesDSConnection.
>     >>         What do you think ?
>     >>
>     >>         Another (maybe related) question : In the component to connect 
> a new database, there
>     >>         is a combobox with a single value "PostGIS".  Should we add 
> other drivers in order to
>     >>         instantiate proper connection for each driver. There is 
> commented code from you in
>     >>         JumpConfiguration class showing that you already have 
> implemented such a solution
>     >>         in the past)
>     >>
>     >>         Michaël
>     >>
>     >>
>     >>         Le 08/12/2015 10:30, Nicolas Ribot a écrit :
>     >>>         Hi Michaël,
>     >>>
>     >>>         I will look at it.
>     >>>
>     >>>         Nicolas
>     >>>
> 
>     >>>         On 7 December 2015 at 23:12, Michaël Michaud 
> <<mailto:m.michael.mich...@orange.fr 
> <mailto:m.michael.mich...@orange.fr>>m.michael.mich...@orange.fr 
> <mailto:m.michael.mich...@orange.fr> <mailto:m.michael.mich...@orange.fr 
> <mailto:m.michael.mich...@orange.fr>>> wrote:
>     >>>
>     >>>             Hi
>     >>>
>     >>>             Waw, thanks for this refactoring Nicolas !
>     >>>
>     >>>             Just noticed the following regression
>     >>>
>     >>>             in the File > Execute Query plugin
>     >>>             If I try to query a postgis table as I did before, I get 
> the following NPE :
>     >>>             java.lang.NullPointerException
>     >>>                 at 
> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesResultSetConverter.init(SpatialDatabasesResultSetConverter.java:72)
>     >>>
>     >>>             The same NPE occurs with the read/write postgis driver
>     >>>
>     >>>             Any idea ?
>     >>>
>     >>>             Michaël
>     >>>
>     >>>
>     >>>             Le 07/12/2015 18:16, Nicolas Ribot a écrit :
>     >>>>             Hi,
>     >>>>
>     >>>>             Oracle Spatial support has been added to OJ core 
> (read-only).
>     >>>>             It works the same way as Postgis support: define a DB 
> connection to Oracle and choose spatial layers from the list of found layers 
> to display them in OJ
>     >>>>
>     >>>>             Oracle 9i -> 12c supported (though only tested recently 
> with Oracle 11i and 12c).
>     >>>>
>     >>>>             The SpatialDatabases plugin also contains code to 
> support MariaDB/MySQL and Spatialite. (SQL Server in the pipe...)
>     >>>>
>     >>>>             I was thinking about adding this code to the core, too.
>     >>>>             What do you think ?
>     >>>>
>     >>>>             Nicolas
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>             
> ------------------------------------------------------------------------------
>     >>>>             Go from Idea to Many App Stores Faster with Intel(R) XDK
>     >>>>             Give your users amazing mobile app experiences with 
> Intel(R) XDK.
>     >>>>             Use one codebase in this all-in-one HTML5 development 
> environment.
>     >>>>             Design, debug & build mobile apps & 2D/3D high-impact 
> games for multiple OSs.
>     >>>>             
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
>     >>>>
>     >>>>
>     >>>>             _______________________________________________
>     >>>>             Jump-pilot-devel mailing list
> 
>     >>>>             Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net> 
> <mailto:Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>>
>     >>>>             
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >>>
>     >>>
>     >>>             
> ------------------------------------------------------------------------------
>     >>>             Go from Idea to Many App Stores Faster with Intel(R) XDK
>     >>>             Give your users amazing mobile app experiences with 
> Intel(R) XDK.
>     >>>             Use one codebase in this all-in-one HTML5 development 
> environment.
>     >>>             Design, debug & build mobile apps & 2D/3D high-impact 
> games for multiple OSs.
>     >>>             
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
>     >>>             _______________________________________________
>     >>>             Jump-pilot-devel mailing list
>     >>>             Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net> 
> <mailto:Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>>
>     >>>             
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >>>
>     >>>
>     >>>
>     >>>
>     >>>         
> ------------------------------------------------------------------------------
>     >>>         Go from Idea to Many App Stores Faster with Intel(R) XDK
>     >>>         Give your users amazing mobile app experiences with Intel(R) 
> XDK.
>     >>>         Use one codebase in this all-in-one HTML5 development 
> environment.
>     >>>         Design, debug & build mobile apps & 2D/3D high-impact games 
> for multiple OSs.
>     >>>         
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
>     >>>
>     >>>
>     >>>         _______________________________________________
>     >>>         Jump-pilot-devel mailing list
>     >>>         Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net> 
> <mailto:Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>>
>     >>>         https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >>
>     >>
>     >>         
> ------------------------------------------------------------------------------
>     >>
>     >>         _______________________________________________
>     >>         Jump-pilot-devel mailing list
>     >>         Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net> 
> <mailto:Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>>
>     >>         https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >>
>     >>
>     >>
>     >>
>     >>     
> ------------------------------------------------------------------------------
>     >>
>     >>
>     >>     _______________________________________________
>     >>     Jump-pilot-devel mailing list
>     >>     Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net> 
> <mailto:Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>>
>     >>     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >
>     >
>     >     
> ------------------------------------------------------------------------------
>     >
>     >     _______________________________________________
>     >     Jump-pilot-devel mailing list
>     >     Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net> 
> <mailto:Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>>
> 
>     >     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >
>     >
>     >
>     >
>     > 
> ------------------------------------------------------------------------------
>     >
>     >
>     >
>     > _______________________________________________
>     > Jump-pilot-devel mailing list
>     > Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >
> 
>     
> ------------------------------------------------------------------------------
>     _______________________________________________
>     Jump-pilot-devel mailing list
>     Jump-pilot-devel@lists.sourceforge.net 
> <mailto:Jump-pilot-devel@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
>  
> 
> 
> 
> ------------------------------------------------------------------------------
> 
> 
> 
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 

------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to