uDIG

Hole cutter doesn't modify the original feature

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Won't Fix
  • Affects Version/s: UDIG 1.2.M6
  • Fix Version/s: UDIG 1.2.M6
  • Component/s: tools and editing
  • Labels:
    None
  • Environment:
    linux - udig trunk

Description

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)

Activity

Hide
Mauricio Pazos added a comment -
debugging:

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;
    }

 
Show
Mauricio Pazos added a comment - debugging: 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;     }  
Hide
Mauricio Pazos added a comment -
It was a local problem. My old friend svn doesn't update correctly my environment. The problem was solves using a fresh copy of udig trunk.
Show
Mauricio Pazos added a comment - It was a local problem. My old friend svn doesn't update correctly my environment. The problem was solves using a fresh copy of udig trunk.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: