Re: [JPP-Devel] PSQLException trying to load empty geotables
Hi Uwe, Uwe Dalluege schrieb: Hi Nils, you can "save dataset as shape-file" when you use "my" PostGISPlugIn. 1. RightMouseClick on a category then "Load Dataset(s)... (green cross). Choose PostGIS Table (ComboBox behind "Format:"). Then you can load a PostGIS-Table. 2. RightMouseClick at the PostGIS-Layer then "Save Dataset As...". Choose "ESRI Shapefile" (ComboBox behind "Format:") and you can save the layer as shapefile. Sorry, you are right, in general this function works with layers loaded with your PlugIn. But I have geotables with postgres-BIGINT-fields in my project and for these I get a Class Cast Exception (java.lang.Long cannot be cast to java.lang.Integer) trying to save them as shapefile. But you are right: you can not refresh the PostGISLayer with this PlugIn. I have written a workaround for refreshing layers loaded by your PlugIn. If sombody else is interested in that, see the attachment. And: Yes, I know that it's a bad habbit to put some structured programming in static methods of a final Class ;-) Regards Nils Regards Uwe Dalluege -- Dipl.-Biol. Nils Kuhn Hohe Weide 25 20253 Hamburg public static Layer refreshPostgisLayer(Layer lyr,WorkbenchContext context) { System.out.println("lyr.getName(): "+lyr.getName()); System.out.println("lyr.getDataSourceQuery().getQuery(): "+lyr.getDataSourceQuery().getQuery()); Category cat = context.getLayerNamePanel().getLayerManager().getCategory(lyr); String strCategoryName = cat.getName(); int intPositionOfTheLayerToRefresh = cat.indexOf(lyr); try { String strLayerName=lyr.getName(); DataSourceQuery targetQuery = lyr.getDataSourceQuery(); //remove the layer //** lyr.getLayerManager().dispose(context.getWorkbench().getFrame(), lyr); //adding the layer again //** com.vividsolutions.jump.io.datasource.Connection connection = targetQuery.getDataSource().getConnection(); try { ArrayList exceptions = new ArrayList(); FeatureCollection dataset = targetQuery.getDataSource().installCoordinateSystem( connection.executeQuery(targetQuery.getQuery(), exceptions, null), CoordinateSystemRegistry.instance(context.getBlackboard())); if (dataset != null) { //creating the refreshed layer, adding it to the LayerManager, removing it and adding it again at the right position of the category //(it would be nice to have a method for adding a layer to the LayerManager directly at a certain category-position) System.out.println("strCategoryName: "+strCategoryName); lyr=context.getLayerManager().addLayer(strCategoryName,strLayerName,dataset); lyr.setDataSourceQuery(targetQuery); lyr.setFeatureCollectionModified(false); context.getLayerManager().remove(lyr); context.getLayerManager().getCategory(strCategoryName).add(intPositionOfTheLayerToRefresh, lyr); } } finally { connection.close(); } } catch (Exception e) { JOptionPane .showMessageDialog(null, "An error occurred refreshing the layer \""+lyr.getName()+"\" (" + e.getMessage() + ")!", "Truncation", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } return lyr; }-- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf___ Jump-pilot-deve
Re: [JPP-Devel] PSQLException trying to load empty geotables
Hei Nils, I don't have really an idea since I have never worked with PostGIS, but what if you test first in pgAdmin and look for errors (see the OGRS tutorial[1], and Ravi Kumars tutorial on mineral prog[2] for using pgadmin). Not sure but maybe the new book on PostGIS ("PostGIS in Action") could help, see: http://www.bostongis.com/?content_name=postgis_tut01 Btw. wouldn't you get some error messages in Eclipse? stefan [1] http://sourceforge.net/projects/jump-pilot/files/Documentation/OpenJUMP%201.3%20Docs%20%28English%29/ogrs2009_tutorial.pdf/download [2] http://sourceforge.net/projects/jump-pilot/files/Documentation/OpenJUMP%201.3%20Docs%20%28English%29/mockex_mineral_targeting_v2.zip/download Nils Kuhn wrote: > Hi, > I get an org.postgresql.util.PSQLException (syntax error at or near ")") > if I try to load empty postgis-tables or -views. I am using the function > File>>Open>>DataStoreLayer in oj 1.3. I am changing the data source of > some layers programmatically and can't prevent that the view I "link" to > the layer is just empty in some cases. > My workaround is to use the postgis-plugin by uwe dalluege which can > actually load empty tables, but unfortunately some of the standard > oj-functions doesn't work together with these layers (like "refresh > layer" from layer-context-menu or save dataset as shape-file). > Can anybody help me? > Can I get the stacktrace of the Exceptions that occur while oj is running? > Nils > > > > -- > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > ___ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
Re: [JPP-Devel] PSQLException trying to load empty geotables
Hi Nils, you can "save dataset as shape-file" when you use "my" PostGISPlugIn. 1. RightMouseClick on a category then "Load Dataset(s)... (green cross). Choose PostGIS Table (ComboBox behind "Format:"). Then you can load a PostGIS-Table. 2. RightMouseClick at the PostGIS-Layer then "Save Dataset As...". Choose "ESRI Shapefile" (ComboBox behind "Format:") and you can save the layer as shapefile. But you are right: you can not refresh the PostGISLayer with this PlugIn. Regards Uwe Dalluege -- -- Dipl.-Ing. Uwe Dalluege Labor fuer Geoinformatik und Geovisualisierung HafenCity Universitaet Hamburg Hebebrandstr. 1 22297 Hamburg Tel.: +49 40 42827 - 5335 Fax: +49 40 42827 - 5409 E-Mail: mailto:uwe.dallu...@hcu-hamburg.de Url: http://www.hcu-hamburg.de/geomatik/ -- Nils Kuhn schrieb: > Hi, > I get an org.postgresql.util.PSQLException (syntax error at or near ")") > if I try to load empty postgis-tables or -views. I am using the function > File>>Open>>DataStoreLayer in oj 1.3. I am changing the data source of > some layers programmatically and can't prevent that the view I "link" to > the layer is just empty in some cases. > My workaround is to use the postgis-plugin by uwe dalluege which can > actually load empty tables, but unfortunately some of the standard > oj-functions doesn't work together with these layers (like "refresh > layer" from layer-context-menu or save dataset as shape-file). > Can anybody help me? > Can I get the stacktrace of the Exceptions that occur while oj is running? > Nils > > > > -- > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > ___ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] PSQLException trying to load empty geotables
Hi, I get an org.postgresql.util.PSQLException (syntax error at or near ")") if I try to load empty postgis-tables or -views. I am using the function File>>Open>>DataStoreLayer in oj 1.3. I am changing the data source of some layers programmatically and can't prevent that the view I "link" to the layer is just empty in some cases. My workaround is to use the postgis-plugin by uwe dalluege which can actually load empty tables, but unfortunately some of the standard oj-functions doesn't work together with these layers (like "refresh layer" from layer-context-menu or save dataset as shape-file). Can anybody help me? Can I get the stacktrace of the Exceptions that occur while oj is running? Nils -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel