Skip to content

RouteGraphUtils.load passes wrong element to TerminalLayout.getTerminalPosition

            final ResourceTerminal rt = new ResourceTerminal(terminal);
            final TerminalLayout tl = te.getElementClass().getSingleItem(TerminalLayout.class);
            AffineTransform terminalPos = tl.getTerminalPosition(element, rt);
                                                                 ^^^^^^^

The element argument seems wrong, it should be te.

Not sure if this causes the following exception to occur, but might be:


!ENTRY org.simantics.utils.ui 4 0 2018-11-13 11:30:46.270
!MESSAGE java.lang.NullPointerException
null

!STACK 0
org.simantics.db.exception.DatabaseException: java.lang.NullPointerException
	at fi.vtt.simantics.procore.internal.WriteStateBase.finish(WriteStateBase.java:67)
	at fi.vtt.simantics.procore.internal.SessionRequestManager$4.run(SessionRequestManager.java:248)
	at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:251)
Caused by: java.lang.NullPointerException
	at org.simantics.diagram.adapter.DefinedElementTerminals.getTerminalPosition(DefinedElementTerminals.java:63)
	at org.simantics.diagram.adapter.RouteGraphUtils.load(RouteGraphUtils.java:305)
	at org.simantics.diagram.adapter.RouteGraphUtils.load(RouteGraphUtils.java:102)
	at org.simantics.diagram.adapter.RouteGraphUtils.load(RouteGraphUtils.java:95)
	at org.simantics.diagram.flag.RouteGraphConnectionSplitter.splitConnection(RouteGraphConnectionSplitter.java:424)
	at scl.Simantics.Diagram$3.Temp.apply(_SCL_FunctionValue)
	at org.simantics.scl.runtime.function.FunctionImpl3.applyArray(FunctionImpl3.java:79)
	at org.simantics.scl.commands.internal.CommandImpl$CommitRequest.perform(CommandImpl.java:102)
	at org.simantics.scl.commands.internal.CommandImpl.execute(CommandImpl.java:118)
	at org.simantics.diagram.handler.ConnectionSplitAndJoin$SplitRouteGraph.performAction(ConnectionSplitAndJoin.java:291)
	at org.simantics.diagram.handler.ConnectionSplitAndJoin$Helper$1.perform(ConnectionSplitAndJoin.java:230)
	at fi.vtt.simantics.procore.internal.SessionImplSocket$1.run(SessionImplSocket.java:455)
	at fi.vtt.simantics.procore.internal.SessionRequestManager$3.run(SessionRequestManager.java:184)
	... 1 more
Edited by Tuukka Lehtonen