1 - select "hole cutter" tool
2 - draw the hole geometry in the feature
3 - confirm
Result: the original geometry is not modified.
The console shows the folloing message:
java.lang.NullPointerException
at net.refractions.udig.project.internal.commands.edit.SetAttributeCommand.run(SetAttributeCommand.java:112)
at net.refractions.udig.project.internal.commands.edit.SetGeometryCommand.run(SetGeometryCommand.java:72)
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.CommandManager$Executor.execute(CommandManager.java:394)
at net.refractions.udig.project.command.CommandManager$Executor.run(CommandManager.java:325)
at net.refractions.udig.project.command.CommandManager$Executor.run(CommandManager.java:311)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
The problem is that the LayerResource.runInterceptors return a null resource (line 162).
private <T> T runInterceptors( Class<T> requestedType, T resource, List<Wrapper<T>> pre ) {
T resource2=resource;
for( Wrapper<T> interceptor : pre ) {
if( resource2 == null )
return null;
if( isAssignable(resource2, interceptor.targetType) )
resource2 = interceptor.run(layer, resource2, requestedType); <<<< return null
}
return resource2;
}