platform issueshttps://gitlab.simantics.org/simantics/platform/-/issues2022-05-27T08:51:15Zhttps://gitlab.simantics.org/simantics/platform/-/issues/331NPE in JSON parsing2022-05-27T08:51:15ZTuukka LehtonenNPE in JSON parsingThis seems to have happened while CTRL+dragging an Apros analog signal profile text monitors contents to a time-series chart editor.
```
!ENTRY org.simantics.utils.ui 4 0 2019-08-08 13:21:23.789
!MESSAGE Unexpected exception
null
!STAC...This seems to have happened while CTRL+dragging an Apros analog signal profile text monitors contents to a time-series chart editor.
```
!ENTRY org.simantics.utils.ui 4 0 2019-08-08 13:21:23.789
!MESSAGE Unexpected exception
null
!STACK 0
org.simantics.db.exception.DatabaseException: Unexpected exception
at fi.vtt.simantics.procore.internal.SessionImplSocket.syncRequest(SessionImplSocket.java:1877)
at fi.vtt.simantics.procore.internal.SessionImplSocket.syncRequest(SessionImplSocket.java:2975)
at org.simantics.charts.internal.JsonUtils.tryParseJsonPropertyVariable(JsonUtils.java:24)
at org.simantics.charts.editor.SubscriptionDropParticipant.dragEnterPlainText(SubscriptionDropParticipant.java:238)
at org.simantics.charts.editor.SubscriptionDropParticipant.dragEnter(SubscriptionDropParticipant.java:110)
at org.simantics.g2d.dnd.DropInteractor$2.run(DropInteractor.java:118)
at org.simantics.utils.threads.ThreadUtils.syncExec(ThreadUtils.java:211)
at org.simantics.g2d.canvas.impl.AbstractCanvasParticipant.syncExec(AbstractCanvasParticipant.java:461)
at org.simantics.g2d.dnd.DropInteractor.dragEnter(DropInteractor.java:114)
at java.awt.dnd.DropTarget.dragEnter(DropTarget.java:358)
at sun.awt.dnd.SunDropTargetContextPeer.processEnterMessage(SunDropTargetContextPeer.java:331)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEnterEvent(SunDropTargetContextPeer.java:799)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:767)
at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)
at java.awt.Component.dispatchEventImpl(Component.java:4744)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.retargetMouseEnterExit(Container.java:4686)
at java.awt.LightweightDispatcher.trackDropTargetEnterExit(Container.java:4635)
at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4648)
at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4601)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4471)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(AccessController.java:673)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(AccessController.java:673)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.NullPointerException
at org.simantics.charts.internal.JsonUtils.readPossibleVariableUri(JsonUtils.java:57)
at org.simantics.charts.internal.JsonUtils.readPossibleVariable(JsonUtils.java:41)
at org.simantics.charts.internal.JsonUtils.tryParseJsonPropertyVariable(JsonUtils.java:34)
at org.simantics.charts.internal.JsonUtils$1.perform(JsonUtils.java:27)
at org.simantics.charts.internal.JsonUtils$1.perform(JsonUtils.java:1)
at fi.vtt.simantics.procore.internal.SessionImplSocket$6.run0(SessionImplSocket.java:1554)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:306)
at fi.vtt.simantics.procore.internal.SessionRequestManager$1.run0(SessionRequestManager.java:127)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:306)
at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:254)
```1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/447Improved environment resolution for document SCL expressions2021-12-01T21:10:36ZAntti VillbergImproved environment resolution for document SCL expressions1.42.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/431New user component SCL scripting stage: cleanup2020-07-01T08:57:38ZTuukka LehtonenNew user component SCL scripting stage: cleanupThe current simulation stage options do not support running SCL scripts just before the user component is removed from the solver, i.e. to support custom scripting for cleanup of the user component instance.
Related to #430.The current simulation stage options do not support running SCL scripts just before the user component is removed from the solver, i.e. to support custom scripting for cleanup of the user component instance.
Related to #430.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/430New simulation stage: post-preparation2020-07-01T08:57:38ZTuukka LehtonenNew simulation stage: post-preparationThe current simulation stage options do not support running scripts *after* the simulating solver has been prepared for execution.
The current `preparation`-type scripts are intended to be ran before solver preparation.The current simulation stage options do not support running scripts *after* the simulating solver has been prepared for execution.
The current `preparation`-type scripts are intended to be ran before solver preparation.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/198SVG export fails for ImageNodes2020-04-21T20:51:42ZJussi KoskelaSVG export fails for ImageNodesThe problem is most likely caused by bug in Batik 1.8:
https://issues.apache.org/jira/browse/BATIK-1125
https://issues.apache.org/jira/browse/BATIK-1146
```
org.simantics.db.exception.DatabaseException: java.lang.NullPointerException
...The problem is most likely caused by bug in Batik 1.8:
https://issues.apache.org/jira/browse/BATIK-1125
https://issues.apache.org/jira/browse/BATIK-1146
```
org.simantics.db.exception.DatabaseException: java.lang.NullPointerException
at org.simantics.diagram.svg.export.DiagramToSVG$4.run(DiagramToSVG.java:255)
at org.simantics.utils.threads.WorkerThread.run(WorkerThread.java:71)
Caused by: java.lang.NullPointerException
at org.apache.batik.svggen.ImageHandlerBase64Encoder.encodeImage(Unknown Source)
at org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF(Unknown Source)
at org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF(Unknown Source)
at org.apache.batik.svggen.DefaultImageHandler.handleImage(Unknown Source)
at org.apache.batik.svggen.SimpleImageHandler.handleImage(Unknown Source)
at org.apache.batik.svggen.SVGGraphics2D.drawImage(Unknown Source)
at org.simantics.scenegraph.g2d.nodes.ImageNode.render(ImageNode.java:82)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.nodes.TransformNode.render(TransformNode.java:50)
at org.simantics.scenegraph.g2d.nodes.SingleElementNode.render(SingleElementNode.java:129)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.nodes.TransformNode.render(TransformNode.java:50)
at org.simantics.scenegraph.g2d.nodes.SingleElementNode.render(SingleElementNode.java:129)
at org.simantics.scenegraph.g2d.nodes.spatial.RTreeNode.render(RTreeNode.java:165)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.nodes.TransformNode.render(TransformNode.java:50)
at org.simantics.scenegraph.g2d.nodes.SingleElementNode.render(SingleElementNode.java:129)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.nodes.TransformNode.render(TransformNode.java:50)
at org.simantics.scenegraph.g2d.nodes.NavigationNode.render(NavigationNode.java:263)
at org.simantics.scenegraph.g2d.G2DParentNode.render(G2DParentNode.java:117)
at org.simantics.scenegraph.g2d.G2DSceneGraph.render(G2DSceneGraph.java:115)
at org.simantics.diagram.svg.export.SVGBuilder.paint(SVGBuilder.java:171)
at org.simantics.diagram.svg.export.DiagramToSVG$4.run(DiagramToSVG.java:250)
```1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/405Update target platforms with eclipse 2019-09 (4.14)2020-01-23T06:28:55ZJani SimomaaUpdate target platforms with eclipse 2019-09 (4.14)Simantics currently uses Eclipse 4.7. Current Eclipse version is 4.14 (2019-12). We should update.
Note that since Eclipse 4.13 `org.eclipse.core.runtime` no longer re-exports package `javax.inject` (https://bugs.eclipse.org/bugs/show_b...Simantics currently uses Eclipse 4.7. Current Eclipse version is 4.14 (2019-12). We should update.
Note that since Eclipse 4.13 `org.eclipse.core.runtime` no longer re-exports package `javax.inject` (https://bugs.eclipse.org/bugs/show_bug.cgi?id=547877) so bundles needing that package must import that package separately.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/449SWT.MOZILLA is deprecated and useless in Eclipse 4.142020-01-21T22:36:40ZTuukka LehtonenSWT.MOZILLA is deprecated and useless in Eclipse 4.14Related to #405.Related to #405.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/448Unnecessary debug prints from SCLOsgi2020-01-21T22:26:36ZTuukka LehtonenUnnecessary debug prints from SCLOsgiConsole is full of sysout prints:
```
Builtin - succeeded
...
```
Use logger or remove.Console is full of sysout prints:
```
Builtin - succeeded
...
```
Use logger or remove.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/330Two button labels missing from Assign symbol groups dialog2020-01-21T12:00:24ZJussi KoskelaTwo button labels missing from Assign symbol groups dialogSelect All and Deselect All buttons are missing labels.
Broken in string externalization: 47269fe0acb894f346810417d950a1ab59cdc0eaSelect All and Deselect All buttons are missing labels.
Broken in string externalization: 47269fe0acb894f346810417d950a1ab59cdc0ea1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/425SCLFunctions.syncWrite does not check if graph is WriteGraph2020-01-17T07:46:37ZJani SimomaaSCLFunctions.syncWrite does not check if graph is WriteGraph1.42.0Jani SimomaaJani Simomaahttps://gitlab.simantics.org/simantics/platform/-/issues/321Improve utilities for invoking SCL from Java2020-01-16T20:16:59ZAntti VillbergImprove utilities for invoking SCL from JavaWhen ready deprecate related methods from org.simantics.SimanticsWhen ready deprecate related methods from org.simantics.Simantics1.42.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/446Remove deprecated ProCoreUserAgent2020-01-16T12:19:27ZTuukka LehtonenRemove deprecated ProCoreUserAgentProCore can't be used anymore so let's remove related cruft no longer used.
ProCoreUserAgent is one such cruft that is no longer invoked at all.ProCore can't be used anymore so let's remove related cruft no longer used.
ProCoreUserAgent is one such cruft that is no longer invoked at all.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/439BrowseContext creation fails when including invalid contributions2020-01-16T08:52:01ZAntti VillbergBrowseContext creation fails when including invalid contributions1.42.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/444Support ontology install option trueWhenDeployed also during development2020-01-16T08:51:37ZAntti VillbergSupport ontology install option trueWhenDeployed also during developmentSet system property `-DinstallOntologiesAsDeployed=true` to support the `Immutable: trueWhenDeployed` in development environments.Set system property `-DinstallOntologiesAsDeployed=true` to support the `Immutable: trueWhenDeployed` in development environments.1.42.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/440MainProgram polls nanoTime too often2020-01-16T08:50:23ZAntti VillbergMainProgram polls nanoTime too often1.42.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/432Importing shared libraries to VirtualGraph with new name.2020-01-16T08:48:42ZMarko LuukkainenImporting shared libraries to VirtualGraph with new name.We are developing Change Management logic for Shared Libraries. This logic requires importing a library to a virtual graph (temporary, will be removed after update), with different name (so that the library won't ovelap existing libraries).We are developing Change Management logic for Shared Libraries. This logic requires importing a library to a virtual graph (temporary, will be removed after update), with different name (so that the library won't ovelap existing libraries).1.42.0Marko LuukkainenMarko Luukkainenhttps://gitlab.simantics.org/simantics/platform/-/issues/433Expose TG copy/paste routines for processing nested UC copies.2020-01-16T08:48:07ZMarko LuukkainenExpose TG copy/paste routines for processing nested UC copies.When UC utilizes other UCs, copying UCs to another Shared Library with TGs does not work directly. The problem is component and diagram connection relations, that must be swapped to copied versions. Otherwise TG-baserd copy will use orig...When UC utilizes other UCs, copying UCs to another Shared Library with TGs does not work directly. The problem is component and diagram connection relations, that must be swapped to copied versions. Otherwise TG-baserd copy will use original relations.
Example: We have UCs `TestParent` and `TestChild`, and `TestParent` contains instances of `TestChild`. If we first copy `TestChild`, and then `TestParent`, `TestParent` copy will utilize original `TestChild` relations, not the copied `TestChild` relations.1.42.0Marko LuukkainenMarko Luukkainenhttps://gitlab.simantics.org/simantics/platform/-/issues/445Sort basic symbol item contributions alphanumerically, not lexicographically2020-01-16T08:32:02ZTuukka LehtonenSort basic symbol item contributions alphanumerically, not lexicographicallyWe want to sort symbols like this in the symbol library:
```
Sym 8
Sym 9
Sym 10
```
not like
```
Sym 10
Sym 8
Sym 9
```We want to sort symbols like this in the symbol library:
```
Sym 8
Sym 9
Sym 10
```
not like
```
Sym 10
Sym 8
Sym 9
```1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/441Make StandardVariableBuilder singleton2020-01-16T07:20:25ZAntti VillbergMake StandardVariableBuilder singleton1.42.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/442Implement equals/hashCode for PropertyInfo2020-01-16T07:20:19ZAntti VillbergImplement equals/hashCode for PropertyInfoAlso take immutablility into account to optimize hashCode and equals calculations.Also take immutablility into account to optimize hashCode and equals calculations.1.42.0Antti VillbergAntti Villberg