platform issueshttps://gitlab.simantics.org/simantics/platform/-/issues2023-02-08T12:54:16Zhttps://gitlab.simantics.org/simantics/platform/-/issues/912SVG passthru shapes are clipped to positive coordinates2023-02-08T12:54:16ZAntti VillbergSVG passthru shapes are clipped to positive coordinatesAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/910Default layering support in DiagramSceneGraphProvider2023-02-08T12:54:16ZAntti VillbergDefault layering support in DiagramSceneGraphProviderAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/909Minor ClusterTable memory optimization2023-02-08T11:15:41ZAntti VillbergMinor ClusterTable memory optimizationAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/908SCL API for heap dumps2023-02-08T12:54:16ZAntti VillbergSCL API for heap dumpsAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/901Change ExternalReads to default to delivering the latest result only and allo...2023-01-17T13:03:01ZTuukka LehtonenChange ExternalReads to default to delivering the latest result only and allow queued delivery via ReadExt request flagCurrently DB `ExternalRead`s are implemented to deliver/update every value to the database query system (listeners) that the underlying system that produces the data for `ExternalRead`s.
More than usually, this is not necessary and if s...Currently DB `ExternalRead`s are implemented to deliver/update every value to the database query system (listeners) that the underlying system that produces the data for `ExternalRead`s.
More than usually, this is not necessary and if such a query result burst situation should occur, it would be OK to just deliver the last produced value at the time of updating the queries. This would remove some overhead from `ExternalReadEntry` which now contains a `LinkedList` to queue the incoming values for the query updater.Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/899Procedural UC's SCL code is shown as property view title2023-06-27T05:49:57ZJussi KoskelaProcedural UC's SCL code is shown as property view titleSteps to reproduce:
1. Make change to code.
2. Save code.
3. Select "Code" in Model Browser.
4. Property View's title is now the Procedural UC's full SCL code.
The harder to fix problem is actually already documented in https://gitlab.s...Steps to reproduce:
1. Make change to code.
2. Save code.
3. Select "Code" in Model Browser.
4. Property View's title is now the Procedural UC's full SCL code.
The harder to fix problem is actually already documented in https://gitlab.simantics.org/simantics/platform/-/blob/master/bundles/org.simantics.selectionview/src/org/simantics/selectionview/StandardPropertyPage.java#L146-151. What happens here is that when a new selection comes in to `PropertyPageView.doSelectionChanged` it currently has two jobs:
1. update the part's name
2. reset the input of the property page through `PropertyPage.sourceSelectionChanged`
The property page is made up of a TabbedPropertyTable which contains an arbitrary amount of `IPropertyTab` implementations. `IPropertyTab` implementations do not have the chance to affect the view title. However, this responsibility is delegated to `IPropertyTab2` implementations at which point it becomes a problem because the title update is performed before the new input has been set and the property view UI has been re-configured to show data for the new input selection. The actual workbench selection that comes through to `PropertyPageView` will not be in use by `IPropertyTab2` implementations when `IPropertyTab2.updatePartName` is first invoked after the selection change.
The corollary of this is that after focusing another view and returning the focus to Model Browser, the same previously active `IPropertyTab2` will get its `updatePartName` invoked but this time with a different current input than previously. For this reason, the title will change strangely just by "clicking around".Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/894Change Migrate wizard to use domain migration from #7642023-01-12T21:49:40ZTuukka LehtonenChange Migrate wizard to use domain migration from #764The Migrate wizard in `org.simantics.modeling.ui` is using the old lackluster migration method that only essentially supports migration of structural component types and their symbols. The code should be changed to use DomainMigration fr...The Migrate wizard in `org.simantics.modeling.ui` is using the old lackluster migration method that only essentially supports migration of structural component types and their symbols. The code should be changed to use DomainMigration from #764 instead to make it more generic.https://gitlab.simantics.org/simantics/platform/-/issues/886Pressing F3 on top of an import/include statement in an SCL script editor thr...2022-11-29T10:14:58ZTuukka LehtonenPressing F3 on top of an import/include statement in an SCL script editor throws ClassCastException```
Caused by: java.lang.ClassCastException: class org.simantics.modeling.ui.scl.scriptEditor.SCLScriptEditorInput cannot be cast to class org.simantics.scl.ui.editor2.SCLModuleEditorInput (org.simantics.modeling.ui.scl.scriptEditor.SCLS...```
Caused by: java.lang.ClassCastException: class org.simantics.modeling.ui.scl.scriptEditor.SCLScriptEditorInput cannot be cast to class org.simantics.scl.ui.editor2.SCLModuleEditorInput (org.simantics.modeling.ui.scl.scriptEditor.SCLScriptEditorInput is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @909af17; org.simantics.scl.ui.editor2.SCLModuleEditorInput is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @477bef1c)
at org.simantics.scl.ui.editor2.OpenDeclaration.execute(OpenDeclaration.java:94)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
... 50 more
```Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/880A QuadTree with better element remove implementation.2022-11-16T22:36:09ZMarko LuukkainenA QuadTree with better element remove implementation.`o.s.utils.datastructures.collections.QuadTree` was designed to to spatial queries for static data. Thus, its element remove implementation is not spatially aware, and does a lot of unnecessary work that could be easily avoided.`o.s.utils.datastructures.collections.QuadTree` was designed to to spatial queries for static data. Thus, its element remove implementation is not spatially aware, and does a lot of unnecessary work that could be easily avoided.1.43.1Marko LuukkainenMarko Luukkainenhttps://gitlab.simantics.org/simantics/platform/-/issues/879Upgrade Apache Batik to 1.162022-11-13T22:07:41ZTuukka LehtonenUpgrade Apache Batik to 1.16https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk/CHANGES
There are a couple of security updates in there as well and most recent versions have gotten rid of the old/holey xerces/xalan dependencies.
Related to #877, the current ...https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk/CHANGES
There are a couple of security updates in there as well and most recent versions have gotten rid of the old/holey xerces/xalan dependencies.
Related to #877, the current Eclipse Orbit drops contain 1.14 which is also a bit old and I'd rather go for 1.16.
See simantics/third-party#2.Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/859Add transient query caching for platform startup cases where performance suffers2022-08-21T20:56:43ZTuukka LehtonenAdd transient query caching for platform startup cases where performance suffersInitialization of ontology resource classes that happens without query caching unnecessarily the same queries for close-to-root resources on every `getResource(URI)` call.
Prevent this in strategic places by using `TransientCacheAsyncLi...Initialization of ontology resource classes that happens without query caching unnecessarily the same queries for close-to-root resources on every `getResource(URI)` call.
Prevent this in strategic places by using `TransientCacheAsyncListener`.https://gitlab.simantics.org/simantics/platform/-/issues/858Exporting TG files creates temporary files without removing them.2022-08-18T10:55:23ZMarko LuukkainenExporting TG files creates temporary files without removing them.Similar problem to #857.
To reproduce:
1. Export a TG file.
2. Check workspace/tempFiles/exports folder.
3. The folder contains `othernnn.tg` and `valuennn.tg` files. (a pair of files for each exported files).
4. These files will remai...Similar problem to #857.
To reproduce:
1. Export a TG file.
2. Check workspace/tempFiles/exports folder.
3. The folder contains `othernnn.tg` and `valuennn.tg` files. (a pair of files for each exported files).
4. These files will remain there until the software is shut down. The files cannot be deleted manually, since they are kept open in the software.1.43.1Marko LuukkainenMarko Luukkainenhttps://gitlab.simantics.org/simantics/platform/-/issues/844DefaultPasteHandler causes NPE if copied data does not contain cut Resources ...2022-05-25T21:07:45ZMarko LuukkainenDefaultPasteHandler causes NPE if copied data does not contain cut Resources and TransferableGraph.Marko LuukkainenMarko Luukkainenhttps://gitlab.simantics.org/simantics/platform/-/issues/833Support importing multiple shared libraries with one import wizard execution2022-05-03T13:26:47ZTuukka LehtonenSupport importing multiple shared libraries with one import wizard executionHaving to import one shared library at a time is quite annoying for the user when working with cases where there are always multiple libraries imported.
The libraries should be imported in alphanumeric file name order by default. If the...Having to import one shared library at a time is quite annoying for the user when working with cases where there are always multiple libraries imported.
The libraries should be imported in alphanumeric file name order by default. If there's time, dependency resolution between the libraries can be used to automatically decide the order in which the import needs to be performed if the libraries have dependencies between them.Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/831Import Wizard for IGenericFileImport2022-11-24T09:28:15ZAntti VillbergImport Wizard for IGenericFileImportRelated SCL API is in Dropins/CoreRelated SCL API is in Dropins/CoreAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/827Fix ExcelFileImport2022-11-24T09:28:15ZAntti VillbergFix ExcelFileImportAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/826getEffects & getArity2022-11-24T09:28:15ZAntti VillberggetEffects & getArityWhen calling SCLFunctions.evaluateDB we need to know if a transaction is required. This information can be obtained by calling getEffects for the given function. Previously getEffects just assumed that function arity was 1 which was wrong.When calling SCLFunctions.evaluateDB we need to know if a transaction is required. This information can be obtained by calling getEffects for the given function. Previously getEffects just assumed that function arity was 1 which was wrong.Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/825CaseInsensitiveComponentFunctionNamingStrategy cannot handle names with spaces2022-03-30T06:36:13ZJussi KoskelaCaseInsensitiveComponentFunctionNamingStrategy cannot handle names with spacesThis bug results duplicate UC instance names e.g. in Simupedia when the proposed name contains space.
Reserved names are searched with the following query:
`String search = IndexQueries.escapeTerm(Dependencies.FIELD_NAME_SEARCH, lowerca...This bug results duplicate UC instance names e.g. in Simupedia when the proposed name contains space.
Reserved names are searched with the following query:
`String search = IndexQueries.escapeTerm(Dependencies.FIELD_NAME_SEARCH, lowercaseName, true) + "*";`
The problem is that Dependencies.FIELD_NAME_SEARCH term is white-space tokenized. Using Dependencies.FIELD_NAME term is not possible since it's not lowercased.https://gitlab.simantics.org/simantics/platform/-/issues/824Improve Spreadsheet SCL API2022-11-24T09:28:15ZAntti VillbergImprove Spreadsheet SCL APIAntti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/823Improve FileImportService SCL API2022-11-24T09:28:14ZAntti VillbergImprove FileImportService SCL APIAntti VillbergAntti Villberg