platform issueshttps://gitlab.simantics.org/simantics/platform/-/issues2020-01-21T22:36:40Zhttps://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/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/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/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/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/443Upgrade nebula Nattable from 1.5.0 to 1.6.02020-01-16T07:19:48ZTuukka LehtonenUpgrade nebula Nattable from 1.5.0 to 1.6.0* [X] Mirror nattable release 1.6.0 to https://www.simantics.org/update/nebula/nattable/releases/1.6.0/
* [x] Update org.simantics.sdk.build.targetdefinition.tpd to use the 1.6.0 repository and upgrade all platform .tpd/.target files
* [...* [X] Mirror nattable release 1.6.0 to https://www.simantics.org/update/nebula/nattable/releases/1.6.0/
* [x] Update org.simantics.sdk.build.targetdefinition.tpd to use the 1.6.0 repository and upgrade all platform .tpd/.target files
* [x] Rebuild simantics.tpd target
* [x] Rebuild simupedia targets1.42.0Tuukka LehtonenTuukka Lehtonenhttps://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 Villberghttps://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/440MainProgram polls nanoTime too often2020-01-16T08:50:23ZAntti VillbergMainProgram polls nanoTime too often1.42.0Antti VillbergAntti Villberghttps://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/438Index types by resource ID for exact type searches without type name escaping...2020-01-10T11:22:49ZTuukka LehtonenIndex types by resource ID for exact type searches without type name escaping problemsCurrently, there will be problems in type-based index searches, if the name of the searched type contains whitespace, such as `Shut-off valve actuator@1`. The searches will not return any results. Of course we could/should fix query quot...Currently, there will be problems in type-based index searches, if the name of the searched type contains whitespace, such as `Shut-off valve actuator@1`. The searches will not return any results. Of course we could/should fix query quoting/escaping so that also such queries would work, but there is a better alternative for type searches.
We should add the resource IDs of each resource's type hierarchy into the index as long numbers. Those longs can then be searched for in exact fashion without problems caused by whitespaces and query term parsing.
Lucene supports adding a single `Field` multiple times to a document and that would actually be the cleanest way of indexing e.g. this type information: as `N` `TypeId` fields with `Long` values. However, to support this kind "multi-field"-indexing, the existing indexing code would need quite a lot of changes so it is just simpler to add the type resource id as a single Text(String)-type field which concatenates type resource ids as strings joined together by one whitespace. None of the existing index fields will be touched to keep backwards compatible. However, any code using `Types:....` query strings should be checked and considered for migration to use `TypeId:...` queries.
This might be a bit related to #21. However, those changes were already a major improvement over the previous way of working so these changes are still needed and there's nothing to revert.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/437Support formatted messages in Simantics Console2019-12-30T14:05:48ZTuukka LehtonenSupport formatted messages in Simantics ConsoleCurrently using formatted messages produces this kind of output in the Simantics Console (added in #400):
```
[30.12.2019 12:31:44.060]: Conversion output for {}:
{}
```
when the `{}` should contain formatted text.
Also, there's an NPE...Currently using formatted messages produces this kind of output in the Simantics Console (added in #400):
```
[30.12.2019 12:31:44.060]: Conversion output for {}:
{}
```
when the `{}` should contain formatted text.
Also, there's an NPE bug in org.simantics.platform.ui plug-in `Activator.stop()`.1.42.0Tuukka LehtonenTuukka Lehtonenhttps://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/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/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/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/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/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 Lehtonen