[udig-devel] Create Polygon Geometries

Jesse Eichar jeichar at refractions.net
Thu Nov 1 13:23:39 PDT 2007


I have done this often.  Do you have a primary key on the table?

Jesse

On 31-Oct-07, at 2:35 AM, Kurucz Péter wrote:

>
> Thanks for your answer but I think it's not so simple. I have  
> already removed the not_null constraint from database column. In  
> this case the sql insert will be proceed but after an insert some  
> select will be performed and the code will crash at the first sql  
> select. That's why I think the database manipulation will be  
> performed in one transaction block and the whole will be rollbacked.
> Can anybody create a new polygon? Without a not_null restriction  
> should it really work right?
>
> Bye
> P
>
>
>
> Jesse Eichar <jeichar at refractions.net> írta:
>
> Hi I know exactly the problem.
>
> The postgis has a restraint on one of the columns that it can not be  
> null and uDig is not respecting that.  A quick fix is to remove that  
> restraint on the postgis column.  But in the long term this is a bug  
> with Geotools and a bug report will need to be filled out with  
> geotools to fix this issue.
>
> Jesse
>
> On Oct 30, 2007, at 10:04 AM, Kurucz Péter wrote:
>
>> Hi,
>>
>> I try to use thy uDig (version 1.1-RC12) and I got a problem. It is  
>> not possible to create a new polygon. The drawing is working but  
>> the new polygon will not be saved in the postGIS database. I have  
>> downloaded the eclipse environment and debugged a bit the tool. My  
>> feeling is that the problem isn't located in uDig application but  
>> in a bottom layer in postGIS or pastrgres. I suppose that a  
>> database transaction will not be closed correctly or not at all,  
>> and the tool want to make a new one, and this occur a database  
>> exception. The whole transaction will be rollbacked and my new  
>> polygon will miss from GUI.
>> The strange thing is that Create Polygon must be a basic feature  
>> but i t doesn't work for me. Have anybody idea what can be bad? Is  
>> my feeling is right about database transaction error?
>>
>> Thanks in advance!
>> P
>>
>> The exception is following:
>> 2007.10.30. 17:54:15 org.geotools.data.jdbc.JDBCTextFeatureWriter  
>> doInsert
>>
>> SEVERE: SQL Exception writing geometry columnERROR: null value in  
>> column "customer_id" violates not-null constraint
>>
>> org.postgresql.ut il.PSQLException: ERROR: null value in column  
>> "customer_id" violates not-null constraint
>>
>> at  
>> org 
>> .postgresql 
>> .core 
>> .v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java: 
>> 1525)
>>
>> at  
>> org 
>> .postgresql 
>> .core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java: 
>> 1309)
>>
>> at  
>> org 
>> .postgresql 
>> .core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
>>
>> at  
>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2S  
>> tatement.java:452)
>>
>> at  
>> org 
>> .postgresql 
>> .jdbc2 
>> .AbstractJdbc2Statement 
>> .executeWithFlags(AbstractJdbc2Statement.java:340)
>>
>> at  
>> org 
>> .postgresql 
>> .jdbc2 
>> .AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java: 
>> 286)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>
>> at java.lang.reflect.Method.invoke(Unknown Source)
>>
>> at org.postgresql.ds.common.PooledConnectionImpl 
>> $StatementHandler.invoke(PooledConnectionImpl.java:474)
>>
>> at $Proxy1.executeUpdate(Unknown Source)
>>
>> at  
>> org 
>> .geotools 
>> .data 
>> .jdbc.JDBCTextFeatureWriter.doInsert(JDBCTextFeatureWriter.java:110)
>>
>> at  
>> org 
>> .geotools.data.jdbc.JDBCFeatureWriter.write(JDBCFeatureWriter.java: 
>> 220)
>>
>> at org.geotools.data.InProce ssLockingManager 
>> $1.write(InProcessLockingManager.java:331)
>>
>> at  
>> org 
>> .geotools 
>> .data.jdbc.JDBCFeatureStore.addFeatures(JDBCFeatureStore.java:400)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .project 
>> .internal.impl.UDIGFeatureStore.addFeatures(UDIGFeatureStore.java: 
>> 163)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .project 
>> .internal 
>> .commands.edit.AddFeatureCommand.run(AddFeatureCommand.java:120)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .tools 
>> .edit 
>> .commands.CreateAndSetNewFeature.run(CreateAndSetNewFeature.java:67)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .project.command.UndoableComposite.execute(UndoableComposite.java:81)
>>
>> at  
>> net 
>> .refractions 
>> .udig.tools.edit.BehaviourCommand.execute(BehaviourCommand.java:65)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .project.command.UndoableComposite.execute(UndoableComposite.java:78)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .tools 
>> .edit 
>> .behaviour 
>> .AcceptWhenOverFirstVertexBehaviour 
>> .getCommand(AcceptWhenOverFirstVertexBehaviour.java:87)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .tools 
>> .edit 
>> .OrderedCompositeEventBehavior 
>> .getCommand(OrderedCompositeEventBehavior.java:59)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .tools 
>> .edit 
>> .MutualExclusiveEventBehavior 
>> .getCommand(MutualExclusiveEventBehavior.java:57)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .tools.edit.EditToolHandler.runEventBehaviours(EditToolHandler.java: 
>> 269)
>>
>> at  
>> net 
>> .refractions 
>> .udig.tools.edit.EditToolHandler.handleEvent(EditToolHandler.java: 
>> 229)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .tools.edit.AbstractEditTool.onMouseReleased(AbstractEditTool.java: 
>> 250)
>>
>> at  
>> net 
>> .refractions 
>> .udig.project.ui.tool.SimpleTool.mouseReleased(SimpleTool.java:153)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .project 
>> .ui 
>> .internal 
>> .render 
>> .displayAdapter.impl.EventJob.sendMouseReleased(EventJob.java:296)
>>
>> at  
>> net 
>> .refractions 
>> .udig 
>> .project 
>> .ui 
>> .internal 
>> .render.displayAdapter.impl.EventJob.runEvent(EventJob.java:87)
>>
>> at  
>> net 
>> .refractions 
>> .udig.project.ui.internal.render.displayAdapter.impl.EventJob.access 
>> $2(EventJob.java:72)
>>
>> at  
>> net 
>> .refractions 
>> .udig.project.ui.internal.render.displayAdapter.impl.EventJob 
>> $1.run(EventJob.java:135)
>>
>> at org.eclipse.swt.widgets.Display.runTimer(Display.java:3745)
>>
>> at org.eclipse.swt.widgets.Display.messageProc(Display.java:2967)< / 
>> p>
>>
>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
>>
>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2265)
>>
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3291)
>>
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java: 
>> 2389)
>>
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.j ava:2353)
>>
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
>>
>> at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
>>
>> at  
>> org 
>> .eclipse 
>> .core.databinding.observable.Realm.runWithDefault(Realm.java:289)
>>
>> at  
>> org 
>> .eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java: 
>> 461)
>>
>> at org.eclipse.ui.Platfo rmUI.createAndRunWorkbench(PlatformUI.java: 
>> 149)
>>
>> at  
>> net 
>> .refractions 
>> .udig.internal.ui.UDIGApplication.run(UDIGApplication.java:41)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>
>> at java.lang.reflect.Method.invoke(Unknown Source)
>>
>> at org.eclipse.e  
>> quinox 
>> .internal 
>> .app.EclipseAppContainer.callMethod(EclipseAppContainer.java:572)
>>
>> at  
>> org 
>> .eclipse 
>> .equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:171)
>>
>> at  
>> org 
>> .eclipse 
>> .core 
>> .runtime 
>> .internal 
>> .adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java: 
>> 106)
>>
>> at  
>> org 
>> .eclipse 
>> .core 
>> .runtime 
>> .internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java: 
>> 76)
>>
>> at  
>> org 
>> .eclipse 
>> .core.runtime.adaptor.EclipseStarter .run(EclipseStarter.java:363)
>>
>> at  
>> org 
>> .eclipse 
>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>
>> at java.lang.reflect.Method.invoke(Unknown Source)
>>
>> at org.eclipse.equinox.launcher.Mai n.invokeFramework(Main.java:508)
>>
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
>>
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
>>
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
>>
>> 2007.10.30. 17:54:15 org.geotools.data.jdbc.JDBCFeatureWriter close
>>
>> WARNING: Feature writer calling close when queryData is already  
>> closed
>>
>>
>>
>> _______________________________________________
>> User-friendly Desktop Internet GIS (uDig)
>> http://udig.refractions.net
>> http://lists.refractions.net/mailman/listinfo/udig-devel
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.refractions.net/pipermail/udig-devel/attachments/20071101/51d6c935/attachment-0001.html


More information about the udig-devel mailing list