]> gerrit.simantics Code Review - simantics/platform.git/log
simantics/platform.git
3 years agoStart of AdapterRegistry2 internal query caching. 06/4306/1
Tuukka Lehtonen [Wed, 10 Jun 2020 18:16:51 +0000 (21:16 +0300)]
Start of AdapterRegistry2 internal query caching.

Doesn't do anything yet, more for safekeeping.

gitlab #555

Change-Id: I9d72ee72ac6ecf32353f367b235461e79fa70d14

3 years agoAvoid useless reallocation of empty TreeMaps and map iterators 82/4282/1
Tuukka Lehtonen [Thu, 4 Jun 2020 22:33:16 +0000 (01:33 +0300)]
Avoid useless reallocation of empty TreeMaps and map iterators

The problem was that when the database is doing work, MainProgram.run
runs in pretty much busy loop mode and previously it was always
allocating a new TreeMap on each round and also calling Map.entrySet()
to get construct iterators for empty TreeMaps which eventually
accumulates up to somewhat signinificant amount of memory allocated.

Possibly an even more efficient way would be to have the Map be a closed
hashing hashmap instead and then sorting the data for iteration
separately.

gitlab #548

Change-Id: Ib2208dc35b270c9d682362d45f24f1fe01bb8969
(cherry picked from commit d3f7c0196ecf58b78574d8b80e1844ecb4e223d6)

4 years agoAllow PickSorter access to the PickRequest used for pick operation 15/3815/3
Tuukka Lehtonen [Fri, 24 Jan 2020 13:05:52 +0000 (15:05 +0200)]
Allow PickSorter access to the PickRequest used for pick operation

New default-method on the PickSorter interface keeps the API/ABI
backwards compatible.

gitlab #454

Change-Id: I9455fb335aa3388790d1d580ebb4c5886e84562c
(cherry-picked from commit 9f479d68d86a8b5116be5a884c220f816e3cbb18)

4 years agoExpose TransferableGraphImportProcess Resources table. 39/3739/1
Marko Luukkainen [Wed, 18 Dec 2019 10:34:09 +0000 (12:34 +0200)]
Expose TransferableGraphImportProcess Resources table.

This allows us to process the Resources with ImportAdvisor.beforeWrite()

gitlab #433

Change-Id: I4537549167e4816bb888b5891aea7e98d84b9184

4 years agoTransferableGraph import to VG with different name 38/3738/1
Marko Luukkainen [Tue, 17 Dec 2019 12:23:30 +0000 (14:23 +0200)]
TransferableGraph import to VG with different name

* Root are processed first during tg import, which allows Import Advisor
to replace the current name.

gitlab #432

Change-Id: Ia297b4df4c0ad1895a985f592064a178a6c4fb10

4 years agoAdded new field TypeId to dependency index for exact type searching 57/3757/2
Tuukka Lehtonen [Fri, 3 Jan 2020 11:51:33 +0000 (13:51 +0200)]
Added new field TypeId to dependency index for exact type searching

The new field is String-valued and contains a concatenation of the
resource ids of a resource's type hierarchy, separated by a whitespace,
for example `41233 12423 1233`. This field uses the WhitespaceAnalyzer,
i.e. its contents are tokenized by whitespace and thus searches like
`TypeId:41233` will return exactly those resources that are instances of
the type resource `41233`.

This commit also simplifies and fixes some of the existing index
searching code to use this new field instead of the old `Types` field
for type-based searching.

If existing product-code uses the indexing facilities directly and not
through `QueryIndexUtils` or `Instances`, such code will also require
changes to take this new field into use.

See `IndexQueries` to form queries related to this field.

gitlab #438

Change-Id: If968669babebd29e6f4789e10c118a999e6197e3

4 years agoMerge "Optimized Layer0Utils.getPossibleDefaultBinding" into release/1.35.3
Tuukka Lehtonen [Fri, 10 Jan 2020 10:47:51 +0000 (10:47 +0000)]
Merge "Optimized Layer0Utils.getPossibleDefaultBinding" into release/1.35.3

4 years agoConfigured release/1.35.3 branch for SDK builds
Tuukka Lehtonen [Fri, 10 Jan 2020 10:31:11 +0000 (12:31 +0200)]
Configured release/1.35.3 branch for SDK builds

Amendment to 5b66c553.

4 years agoOptimized Layer0Utils.getPossibleDefaultBinding 37/3737/1
Tuukka Lehtonen [Tue, 18 Dec 2018 14:37:39 +0000 (16:37 +0200)]
Optimized Layer0Utils.getPossibleDefaultBinding

Removed badly named datatype_binging public static field from
Layer0Utils in favor of Bindings.DATATYPE. If you were using the
previous Layer0Utils constant in some place, just replace it.

The problem in the optimized code was that it was constantly converting
SCL types like "Double", "Boolean" etc. to databoard datatypes using the
databoard type parser even though those basic primitive types should
have been already premapped somewhere to prevent the need for any kind
of parsing.

gitlab #242

Change-Id: I336d5ebb6b5dbe080372d5b7304d5608f0472297
(cherry picked from commit 5cd3522960b220eaba2be316076d6275054dffa2)

4 years agoConfigured release/1.35.3 branch for SDK builds
Tuukka Lehtonen [Fri, 10 Jan 2020 10:15:34 +0000 (12:15 +0200)]
Configured release/1.35.3 branch for SDK builds

4 years agoAdd check for headless installations in DPIUtil 35/3735/1 release/1.35.2
jsimomaa [Wed, 20 Nov 2019 08:54:42 +0000 (10:54 +0200)]
Add check for headless installations in DPIUtil

gitlab #418

Change-Id: I5d7b637ad7833f7cfa60969c81be818d3d8fefc1
(cherry picked from commit 2ed2f09de0043bbf98a5b727854bd93a02b204ab)

4 years agoIntroduce new DiagramViewer.getRuntimeFromManager() 10/3610/1
jsimomaa [Sat, 16 Nov 2019 07:45:43 +0000 (09:45 +0200)]
Introduce new DiagramViewer.getRuntimeFromManager()

* The original DiagramViewer.getRuntime() returns cached version of the
runtime diagram resource

gitlab #416

Change-Id: Id2723f5deb94cdba15e815229d9a1931482ace16
(cherry picked from commit 9a37dabc6c0212ed3e14499c88df3208cd06f9b0)

4 years agoG2DParentNode handles "undefined" child bounds separately 82/3582/2
Tuukka Lehtonen [Wed, 20 Nov 2019 14:33:29 +0000 (16:33 +0200)]
G2DParentNode handles "undefined" child bounds separately

Previously nodes could only return null to say "I have no bounds".
Now it is possible to return GeometryUtils.undefinedBounds() to say
"ignore my bounds" to G2DParentNode.

Also allow customization of the node class used by ElementPainter to
mark selections under "element nodes" through a new configuration class
ElementPainterConfiguration.

This allows e.g. district to use its own node for this purpose to
optimize the scene graph and customize the bounds it returns.

gitlab #419

Change-Id: I210fd26be5d269847277616b9d5c52ef4f930dd7

4 years agoRemoved trailing newline from clipboard text 45/3445/1
Tuukka Lehtonen [Mon, 4 Nov 2019 14:12:08 +0000 (16:12 +0200)]
Removed trailing newline from clipboard text

When copying text to clipboard from GraphExplorer-based UI controls
(Model Browser, Selection view) using StandardCopyHandler, the produced
text no longer contains a trailing newline.

gitlab #411

Change-Id: If4141b00ed9ffc1d1dcaed53114405e8b0d20042

4 years agoFix adding components to configurationBySolverName map in MappingBase 34/3434/1
jsimomaa [Thu, 31 Oct 2019 07:27:35 +0000 (09:27 +0200)]
Fix adding components to configurationBySolverName map in MappingBase

The map is now invalidated (= null) when components are added which
means the map will be recalculated next time when retrieved with
getConfigurationBySolverName.

gitlab #402

Change-Id: I8f9436ddd62d86b7b73f98325cf7b67f0fb97cea

4 years agoSupport reading TG files with shared and non-shared value contexts 23/3423/1
Tuukka Lehtonen [Tue, 29 Oct 2019 14:42:11 +0000 (16:42 +0200)]
Support reading TG files with shared and non-shared value contexts

This is part of the fix for a nasty corner case in
TransferableGraphFileReader.readTG's deserialization of referable value
data types.

This regression was caused by commit
bf495713dbc9dec325f3929889466fa6cd58b541 over 1.5 years ago. The removal
of idContext.clear() was done without proper understanding of the real
issue.

The real issue is that TG's are currently written in two ways by
different codes: with shared and with non-shared value contexts.

Serializing TransferableGraph1 structures using the default Binding will
use shared context for serializing the values Variant array. Thus all TG
files produced by the graph compiler use a shared value context which
eans this class must be used with sharedValueContext set to true. As an
example, <code>true</code> must be used if the corresponding TG file is
written e.g. like this:

    DataContainers.writeFile(location
        new DataContainer(format,
                          version,
                          metadata,
                          new Variant(TransferableGraph1.BINDING, tg)));

On the other hand, any TG files serialized using more optimized methods
like ModelTransferableGraphSource do not use a shared value context when
writing the file. This means those files cannot be read safely using
standard {@link Binding} at all, and when using this class,
sharedValueContext must be set to false to prevent the import from
corrupting datatype values because the referable parts of datatypes may
get bound to the wrong existing types if the data is read using shared
context.

After this change clients should use readTG(File | InputStream, boolean)
methods instead of readTG to always specify the context sharing setting
explicitly according to how the TG's in question were written.

gitlab #409

Change-Id: Ic18fd1442987d4e740f729729b81cd3133f5d269
(cherry picked from commit c4431acdac59b8aa8a29f87203a3ae90f9475c97)

4 years agoRevert "Add new Nebula plugins to SDK" 76/3376/1
Tuukka Lehtonen [Sun, 20 Oct 2019 19:01:16 +0000 (19:01 +0000)]
Revert "Add new Nebula plugins to SDK"

This reverts commit cf21b287f117bb41992959ee8fdbb2074cc6e2b4.

Change-Id: Ie98aef5a2fa131821920abcdc1e34979b5a13d13

4 years agoAdd new Nebula plugins to SDK 75/3375/1
jsimomaa [Sun, 20 Oct 2019 18:03:10 +0000 (21:03 +0300)]
Add new Nebula plugins to SDK

gitlab #383

Change-Id: I8bf9adbb70ce5eb80ea1e5370fbbff5f9ba59383

4 years agoUpdated simantics.target for Nebula 2.2.0 73/3373/1
jsimomaa [Sat, 19 Oct 2019 06:19:53 +0000 (09:19 +0300)]
Updated simantics.target for Nebula 2.2.0

gitlab #383

Cherry picked from Ie631881f1a1678261a136d7e08f14398c5854a2c

Change-Id: I676647fa6e6ed7337b0eb878f66094f20bce0ef9

4 years agoMove to Nebula widget release 2.2.0 72/3372/1
jsimomaa [Sat, 19 Oct 2019 05:51:24 +0000 (08:51 +0300)]
Move to Nebula widget release 2.2.0

gitlab #383

Cherry picked from I9e9316096d9c97503594d64e72af33aa7698cc96

Change-Id: Ifa6bcc718417420fb054decbeb45eb1a92a48719

4 years agoAdd configurationBySolverName map to MappingBase 64/3364/1
jsimomaa [Fri, 18 Oct 2019 07:05:39 +0000 (10:05 +0300)]
Add configurationBySolverName map to MappingBase

gitlab #402

Cherry picked manually from I3a315e48a79efbcbca73408de8f0f172cf6d8344

Change-Id: I0e7ec025e0eb2e0e215661eb92eee8376b83408a

4 years agoRid TypicalPropertyTester of database read transactions
Tuukka Lehtonen [Thu, 17 Oct 2019 07:52:39 +0000 (10:52 +0300)]
Rid TypicalPropertyTester of database read transactions

After this, the normal workbench invocations of TypicalPropertyTester no
longer perform any database transactions to do their work. DiagramViewer
now has built-in support for doing the required queries based on
IDiagram hints alone.

gitlab #399
(cherry picked from commit 55d1e6f63df516019032ebf0c1e9c8c0495a619d)

4 years agoIntroduced G2DRenderingHints.KEY_TRANSFORM_UNDER_SPATIAL_ROOT
Tuukka Lehtonen [Wed, 16 Oct 2019 22:57:08 +0000 (01:57 +0300)]
Introduced G2DRenderingHints.KEY_TRANSFORM_UNDER_SPATIAL_ROOT

gitlab #398
(cherry picked from commit ceff53434e48f94c5d84ce12f3b1e21cabda457b)

4 years agoMake ValueFormat.toFormat safe to call with any noOfDecimals value 85/3285/1
Tuukka Lehtonen [Thu, 26 Sep 2019 13:02:39 +0000 (16:02 +0300)]
Make ValueFormat.toFormat safe to call with any noOfDecimals value

noOfDecimals is now capped between [0,16].

gitlab #391

Change-Id: Id24752a908b65c261f02964ec18cdb8e759ea0d0

4 years agoAdded two new user component SCL script simulation stages 77/3277/1
Tuukka Lehtonen [Tue, 24 Sep 2019 11:44:57 +0000 (14:44 +0300)]
Added two new user component SCL script simulation stages

1. pre-step: executed during each simulation step,
   before native simulation stepping
2. post-step: executed during each simulation step,
   after native and all other stepping logics

The purpose of these is to allow simulation step initialization and
finalization with UC SCL scripts.

Adapted from master commit 1653df0843d89e68b8e476bda2133e781a667c04.

gitlab #389

Change-Id: Icce3fc19e3241d25364de129ecb511aaf092ae80

4 years agoAllow simulation stop handling in Simantics/Sequences 73/3273/1
Tuukka Lehtonen [Fri, 20 Sep 2019 11:17:46 +0000 (14:17 +0300)]
Allow simulation stop handling in Simantics/Sequences

`StopReason` enumerates supported reasons for simulation stops which is
delivered once to functions registered through `executeWhenStopped`.

It is up to the domain-specific sequence runners to implement the actual
identification of simulation stopping situations and to invoke
AbstractActionContext.stop(StopReason reason) when needed.

gitlab #385

Change-Id: I2bc354b3bf433909c5224f82c98c17b1ec564920
(cherry picked from commit 2dd0e97bbe55e691d86a4254e1495ebddd7d494a)

4 years agoPrevent undesirable UI code access when workbench is not running 65/3265/1
Tuukka Lehtonen [Thu, 19 Sep 2019 11:25:39 +0000 (14:25 +0300)]
Prevent undesirable UI code access when workbench is not running

Also removed old and useless E3 ExperimentListener implementation

gitlab #384

Change-Id: I2ae3bd5efbc3ab92fc87aca0de8625dfe6a0e7a0

4 years agoConfigured release/1.35.2 branch for SDK builds
Tuukka Lehtonen [Tue, 10 Sep 2019 05:27:16 +0000 (08:27 +0300)]
Configured release/1.35.2 branch for SDK builds

Amendment to c0dea38b which somehow missed the target renaming.

4 years agoConfigured release/1.35.2 branch for SDK builds
Tuukka Lehtonen [Sun, 8 Sep 2019 21:20:22 +0000 (00:20 +0300)]
Configured release/1.35.2 branch for SDK builds

4 years agoMerge changes I8dcfd805,Ide5d53a1 into release/1.35.1
Tuukka Lehtonen [Fri, 6 Sep 2019 11:34:29 +0000 (11:34 +0000)]
Merge changes I8dcfd805,Ide5d53a1 into release/1.35.1

* changes:
  Fixed target platform problem with missing net.jcip.annotations
  Update eclipse-collections to version 9.2.0 & add caffeine

4 years agoFixed target platform problem with missing net.jcip.annotations 22/3222/1
Tuukka Lehtonen [Wed, 12 Dec 2018 21:03:41 +0000 (23:03 +0200)]
Fixed target platform problem with missing net.jcip.annotations

It seems that updating eclipse.collections caused
net.jcip.annotations dependency to be removed which meant
the bundle is no longer in the external dependencies P2 site.

This change adds it back in there.

gitlab #231

Change-Id: I8dcfd805351f44830d964b64a773a42fb5b41c32
(cherry picked from commit b993fb037710ba91a8185409ea90ab2eded6f18e)

4 years agoUpdate eclipse-collections to version 9.2.0 & add caffeine 21/3221/1
jsimomaa [Wed, 12 Dec 2018 14:07:40 +0000 (16:07 +0200)]
Update eclipse-collections to version 9.2.0 & add caffeine

(cherry-picked from 7949345af15f385642554fcd8524ae4cbb98be69)

gitlab #231

Change-Id: Ide5d53a109378cde2181934e2466d389116f9341

4 years agoCherry-picked changes to org.simantics.objmap2 from master. 19/3219/1
Reino Ruusu [Wed, 14 Aug 2019 08:34:15 +0000 (11:34 +0300)]
Cherry-picked changes to org.simantics.objmap2 from master.

Added missing creation of RelatedElementRuleFactory.

Also checks for missing rule factories.

gitlab #341

Change-Id: Ieb9799910c3c32a7c49dfd9be496bb9afbca0ab5

Switch from org.apache.log4j to org.slf4j.

gitlab #342

Change-Id: I764df2ecf1e58a1529c0a4e46653054ff15a2de7

Use type reflection tools from databoard in objmap2.

gitlab #344

Change-Id: I489f462a0f1785bc52a7a7f94ff38f7cec612055

Support for linked lists in objmap2.

gitlab #345

Change-Id: I7107ac75961602e74ed44b2c3d9867aefe7d29d8

Fixed some issues in objmap2

gitlab #346

Change-Id: I37ca3edb171f5c88f9deac5f03ff29ecf8c28518

Fix binding instance for CompoundRelatedGetValue method.

gitlab #344

Change-Id: I899d10258c429e215c7c02f717e34631925ebc01

Use trace level debug messages with ObjMap

gitlab #342

Change-Id: Ice0dc7d7891ee672515ad8bf11ccd50d7c3a5758

4 years agoFixed invalid comparisons which were identified by Eclipse IDE 2018-09 18/3218/1
Tuukka Lehtonen [Tue, 30 Oct 2018 11:01:34 +0000 (13:01 +0200)]
Fixed invalid comparisons which were identified by Eclipse IDE 2018-09

gitlab #171

Change-Id: I357469f6cbef6c099e59d3a378ef531c0eca8e5f

4 years agoListUtils.create(g,elements) creates a list without element inverses 82/3082/1 release/1.35.1
Marko Luukkainen [Fri, 9 Aug 2019 09:40:53 +0000 (12:40 +0300)]
ListUtils.create(g,elements) creates a list without element inverses

Added new ListUtils.createWithInverses for lists with default element
inverse relations.

gitlab #336

Change-Id: I246d5bb170ff91d8f59aa656d6b0279f9b2b11b1

4 years agoFixing several binding-related bugs 15/3015/1
JaniSimomaa [Thu, 11 Jul 2019 08:03:23 +0000 (11:03 +0300)]
Fixing several binding-related bugs

* @Optional annotation added duplicate annotations to BindingRequest for
certain classes
* @Identifier annotation was not actually removed from the
BindingRequest
* BindingRequest hashCode calculation used annotation args excluding the
ones possibly found from the clazz.getAnnotations()
* Prevent replacing existing bindings in BindingRepository.classMap

gitlab #313

Change-Id: I774649584c288c197f1f8ca6af78682b296b63d4
(cherry picked from commit 95bce3521a3c97f463c3d533a36a606c7ae6f0aa)

4 years agoMerge "Do not allow pasting anything to simulation model instances" into release...
Marko Luukkainen [Fri, 14 Jun 2019 13:05:52 +0000 (13:05 +0000)]
Merge "Do not allow pasting anything to simulation model instances" into release/1.35.1

4 years agoDo not allow pasting anything to simulation model instances 48/2948/1
Marko Luukkainen [Fri, 14 Jun 2019 12:54:15 +0000 (15:54 +0300)]
Do not allow pasting anything to simulation model instances

gitlab #307

Change-Id: Ia4573bb70f6abaec353598a414e291b3132fdabb

4 years agoProvide classifications and datatype for Variable-based drag sources 47/2947/1
Jussi Koskela [Mon, 11 Mar 2019 06:29:29 +0000 (08:29 +0200)]
Provide classifications and datatype for Variable-based drag sources

gitlab #270

Change-Id: Idf4b2b82e56f4c20897e4d403d075dbfde9b57b1
(cherry picked from commit d76a05bd894c0fa00dd9ad28e167b284433d008d)

4 years agoIndex query fixes after commit 4e7fd7de 72/2872/2
Tuukka Lehtonen [Thu, 2 May 2019 13:00:54 +0000 (16:00 +0300)]
Index query fixes after commit 4e7fd7de

* Remove excessive use of explicit Types/Names constants in search
  queries by using public static fields from Dependencies
* Added missing quoting to terms in index searches
* Use DependencyResources function where the Map returned by
  Dependencies is not needed
* Fixed some searches to be case-insensitive again

gitlab #291

Change-Id: Id4a2c2ad332a9a5efe10a08c52c0598bdcd54bb2

4 years agoIndex tokenized lowercase versions of name and types for UI searches 66/2866/3
Jussi Koskela [Fri, 26 Apr 2019 08:31:36 +0000 (11:31 +0300)]
Index tokenized lowercase versions of name and types for UI searches

* Added support for different name/label in search parameter selection.
* Fixed resource search to form wildcard query separately for each term.
* Added utility methods to SearchQuery for lower/uppercasing the query

gitlab #291

Change-Id: I141569877abc910387eca8633a1c4462153b034e

4 years agoAlternative Namespace migration step for Shared Libs 64/2864/1
Marko Luukkainen [Tue, 23 Apr 2019 13:28:50 +0000 (16:28 +0300)]
Alternative Namespace migration step for Shared Libs

refs #290

Change-Id: Ieb18f5f958eb654ed19be2861ded64eb62ff5cb0

5 years agoFix typical toolbar calculations to not throw ClassCastExceptions 56/2856/1
jsimomaa [Mon, 25 Feb 2019 09:25:15 +0000 (11:25 +0200)]
Fix typical toolbar calculations to not throw ClassCastExceptions

gitlab #264

Change-Id: I352dcf48397f76986a44c01494a7ff5c89852f4a
(cherry picked from commit d8a328f8b97add888a0c89af1052978a226b7784)

5 years agoMerge "Allow loading databoard serialized files with type adapting" into release...
Marko Luukkainen [Fri, 15 Mar 2019 15:11:17 +0000 (15:11 +0000)]
Merge "Allow loading databoard serialized files with type adapting" into release/1.35.1

5 years agoAllow loading databoard serialized files with type adapting 77/2777/2
Marko Luukkainen [Fri, 15 Mar 2019 13:46:25 +0000 (15:46 +0200)]
Allow loading databoard serialized files with type adapting

refs #273

Change-Id: I8aeb070809910ae502ead24bcb87eeba3142bf22

5 years agoEnhancements to UC migration. 75/2775/1
Reino Ruusu [Thu, 14 Mar 2019 15:02:31 +0000 (17:02 +0200)]
Enhancements to UC migration.

gitlab #271
gitlab #272

Change-Id: Idefd29805e5c9cc5f7c331ba6bdb2a541e6ab134

5 years agoDiagram mapping should remove connections alongside elements 68/2768/1
jsimomaa [Wed, 6 Mar 2019 12:58:51 +0000 (14:58 +0200)]
Diagram mapping should remove connections alongside elements

gitlab #269

Change-Id: Ib848eb96f6f61093fc76dac3c49983e3febc3595
(cherry picked from commit 30fd51fd1b062f3ce0bd470cfee097c34ae4500b)

5 years agoMerge "Warn for existential variables in head pattern referred only once" into releas...
Tuukka Lehtonen [Fri, 8 Mar 2019 11:30:18 +0000 (11:30 +0000)]
Merge "Warn for existential variables in head pattern referred only once" into release/1.35.1

5 years agoWarn for existential variables in head pattern referred only once 49/2749/1
Hannu Niemistö [Thu, 28 Feb 2019 12:52:47 +0000 (14:52 +0200)]
Warn for existential variables in head pattern referred only once

#265

Change-Id: Ie022bbfb0b1829bc462bf88f44f65009464de096
(cherry picked from commit 413eb9409ab556f22293d28588b39f46d8449718)

5 years agoDon't list warnings in console when module import fails 48/2748/1
Hannu Niemistö [Thu, 28 Feb 2019 13:22:43 +0000 (15:22 +0200)]
Don't list warnings in console when module import fails

Change-Id: I54832d5c530f173665c632493403963dda80e2ea
(cherry picked from commit 036b555cbdd43f284be4818de93f11fdddf6d9f2)

5 years agoStill fixes history collection value band endTime setting and rendering 40/2740/1
Tuukka Lehtonen [Fri, 9 Nov 2018 12:04:08 +0000 (14:04 +0200)]
Still fixes history collection value band endTime setting and rendering

Previous changes set value band end time to be the same as the next
value band's start time. However this caused the problem that there is
no way of telling during rendering where exactly within the previous
value band did the band's value go out of dead band and since t_end does
not tell us this. This means that line-rendering (not stepped sample
rendering) will get drawn invalidly if t_end > t_begin within a value
band.

The fix was to set t_end to the last timestamp where the value was still
within deadband, i.e:
```
|t0    t0_end  |               VALUE BAND #0 t0 < t0_end
|      |       |t1      |      VALUE BAND #1 t1 = t1_end
|      |       |t1_end  |
|      |       |        |t2... VALUE BAND #2
ts0----ts1---- ts2------ts3---
v=0    v=0     v=1      v=2
```

gitlab #35

Change-Id: I073d1aed0d3ce0ffe30081937fdd7ff1c22dc107
(cherry picked from commit b885083762a43ec97162a5f77df4fd5f85e28979)

5 years agoMerge "Prevent infinite recursion in getNearestOwner" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:59:00 +0000 (11:59 +0000)]
Merge "Prevent infinite recursion in getNearestOwner" into release/1.35.1

5 years agoMerge "Support DnD from diagram to graphical debugger" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:58:32 +0000 (11:58 +0000)]
Merge "Support DnD from diagram to graphical debugger" into release/1.35.1

5 years agoMerge "Added resourceId and GUID to diagram DnD content" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:57:48 +0000 (11:57 +0000)]
Merge "Added resourceId and GUID to diagram DnD content" into release/1.35.1

5 years agoMerge "Removed extra modules OntologyModule imported to namespace" into release/1...
Marko Luukkainen [Tue, 26 Feb 2019 11:57:29 +0000 (11:57 +0000)]
Merge "Removed extra modules OntologyModule imported to namespace" into release/1.35.1

5 years agoMerge "Log some information about missing property in SCLLabelRule" into release...
Marko Luukkainen [Tue, 26 Feb 2019 11:57:16 +0000 (11:57 +0000)]
Merge "Log some information about missing property in SCLLabelRule" into release/1.35.1

5 years agoMerge "Use proper environment to resolve SCL types in ontology module" into release...
Marko Luukkainen [Tue, 26 Feb 2019 11:56:40 +0000 (11:56 +0000)]
Merge "Use proper environment to resolve SCL types in ontology module" into release/1.35.1

5 years agoMerge "Deprecated methods in o.s.scl.compiler.Types class for parsing types" into...
Marko Luukkainen [Tue, 26 Feb 2019 11:56:19 +0000 (11:56 +0000)]
Merge "Deprecated methods in o.s.scl.compiler.Types class for parsing types" into release/1.35.1

5 years agoMerge "Documented difference of RuntimeEnvironmentRequest and Runti...quest2" into...
Marko Luukkainen [Tue, 26 Feb 2019 11:56:14 +0000 (11:56 +0000)]
Merge "Documented difference of RuntimeEnvironmentRequest and Runti...quest2" into release/1.35.1

5 years agoMerge "Property following functions value and possibleValue to ontology modules"...
Marko Luukkainen [Tue, 26 Feb 2019 11:55:29 +0000 (11:55 +0000)]
Merge "Property following functions value and possibleValue to ontology modules" into release/1.35.1

5 years agoMerge "Added a class listing the reserved words of SCL language" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:54:54 +0000 (11:54 +0000)]
Merge "Added a class listing the reserved words of SCL language" into release/1.35.1

5 years agoMerge "Export package org.simantics.scl.compiler.internal.codegen.continuations"...
Marko Luukkainen [Tue, 26 Feb 2019 11:54:43 +0000 (11:54 +0000)]
Merge "Export package org.simantics.scl.compiler.internal.codegen.continuations" into release/1.35.1

5 years agoMerge "SCL-compiler should activate installed bundles" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:53:28 +0000 (11:53 +0000)]
Merge "SCL-compiler should activate installed bundles" into release/1.35.1

5 years agoMerge "Minor refactorings related to SCL constructors" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:52:59 +0000 (11:52 +0000)]
Merge "Minor refactorings related to SCL constructors" into release/1.35.1

5 years agoMerge "Added missing src folders and .keep files to 3 ontology plugins" into release...
Marko Luukkainen [Tue, 26 Feb 2019 11:52:35 +0000 (11:52 +0000)]
Merge "Added missing src folders and .keep files to 3 ontology plugins" into release/1.35.1

5 years agoMerge "Possibility to open SCL-modules from plug-in in JAR-file" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:51:00 +0000 (11:51 +0000)]
Merge "Possibility to open SCL-modules from plug-in in JAR-file" into release/1.35.1

5 years agoMerge "Added first and last functions to MList module" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 11:50:47 +0000 (11:50 +0000)]
Merge "Added first and last functions to MList module" into release/1.35.1

5 years agoMerge "Automatic deriving of instances for Json" into release/1.35.1
Marko Luukkainen [Tue, 26 Feb 2019 10:22:32 +0000 (10:22 +0000)]
Merge "Automatic deriving of instances for Json" into release/1.35.1

5 years agoPrevent infinite recursion in getNearestOwner 31/2731/1
Hannu Niemistö [Wed, 24 Oct 2018 10:57:06 +0000 (13:57 +0300)]
Prevent infinite recursion in getNearestOwner

Change-Id: I58e0646daba1e41d9013085501bc1cee8fde1f13

5 years agoSupport DnD from diagram to graphical debugger 30/2730/1
Hannu Niemistö [Thu, 18 Oct 2018 10:15:31 +0000 (13:15 +0300)]
Support DnD from diagram to graphical debugger

Change-Id: I80cfb90e6f6a009c0fc4c6b84523c7bc7de05ff0

5 years agoAdded resourceId and GUID to diagram DnD content 29/2729/1
Hannu Niemistö [Thu, 18 Oct 2018 07:56:20 +0000 (10:56 +0300)]
Added resourceId and GUID to diagram DnD content

gitlab #150

Change-Id: I2a012199f5d7e11991b640d7187132e7b5f0d2f3

5 years agoRemoved extra modules OntologyModule imported to namespace 28/2728/1
Hannu Niemistö [Thu, 18 Oct 2018 07:49:37 +0000 (10:49 +0300)]
Removed extra modules OntologyModule imported to namespace

While fixing the problem, added some error logging in OntologyModule
implementation

gitlab #131

Change-Id: Ib36590f0901ed8a542afe4c9a225606c1f2109d8

5 years agoLog some information about missing property in SCLLabelRule 27/2727/1
Hannu Niemistö [Wed, 17 Oct 2018 10:16:47 +0000 (13:16 +0300)]
Log some information about missing property in SCLLabelRule

Change-Id: I6237c54f3760603a1184c015d81de99f1302a3ae

5 years agoUse proper environment to resolve SCL types in ontology module 26/2726/1
Hannu Niemistö [Tue, 9 Oct 2018 07:35:43 +0000 (10:35 +0300)]
Use proper environment to resolve SCL types in ontology module

gitlab #131

Change-Id: I9b16546633d8d566cb3d38d48d609878e794eae3

5 years agoDeprecated methods in o.s.scl.compiler.Types class for parsing types 25/2725/1
Hannu Niemistö [Tue, 9 Oct 2018 12:15:12 +0000 (15:15 +0300)]
Deprecated methods in o.s.scl.compiler.Types class for parsing types

Change-Id: I7df83c111edb0267c59585cf0d5c544d0c985dbf

5 years agoDocumented difference of RuntimeEnvironmentRequest and Runti...quest2 24/2724/1
Hannu Niemistö [Tue, 9 Oct 2018 07:20:50 +0000 (10:20 +0300)]
Documented difference of RuntimeEnvironmentRequest and Runti...quest2

Removed also all cosmetic differences between the classes to make
comparison possible.

Change-Id: I83e96d09a6e33594a9076df83de887b733d4de46

5 years agoProperty following functions value and possibleValue to ontology modules 23/2723/1
Hannu Niemistö [Fri, 21 Sep 2018 12:28:44 +0000 (15:28 +0300)]
Property following functions value and possibleValue to ontology modules

gitlab #131

Change-Id: I407c7ab8a0c1a7e547c240ea36ab9b8c53298cfe

5 years agoAdded a class listing the reserved words of SCL language 22/2722/1
Hannu Niemistö [Thu, 20 Sep 2018 08:26:21 +0000 (11:26 +0300)]
Added a class listing the reserved words of SCL language

Change-Id: I22f9c0edd5b23bba9ae9c9cbc346d501972c87ef

5 years agoExport package org.simantics.scl.compiler.internal.codegen.continuations 21/2721/1
HannuNiemistö [Mon, 10 Sep 2018 12:43:26 +0000 (15:43 +0300)]
Export package org.simantics.scl.compiler.internal.codegen.continuations

The class Cont in the package is required to implement constructors
outside of compiler plugin.

gitlab #114

Change-Id: I7177b9562d12215ee6a62b9f055c9c069fb543d0

5 years agoSCL-compiler should activate installed bundles 20/2720/1
jsimomaa [Mon, 10 Sep 2018 07:23:04 +0000 (10:23 +0300)]
SCL-compiler should activate installed bundles

gitlab #115

Conflicts:
bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/BundleModuleSource.java

Change-Id: Ic6c3aa47386e462442285ef79749f27acaf541c9
(cherry picked from commit 7b50064579d979d2f3e8901bad32b219c5e1441d)

5 years agoMinor refactorings related to SCL constructors 19/2719/1
HannuNiemistö [Sun, 9 Sep 2018 20:08:42 +0000 (23:08 +0300)]
Minor refactorings related to SCL constructors

* Moved recordFieldNames from SCLConstructor to SCLValue and renamed as
parameterNames
* Replaced String array fieldNames in SCLConstructor and Constructor by
more generic ComponentAcces array and renamed as componentAccesses.

gitlab #114

Change-Id: I4f8d59a2f028717b6777949c8d8fc6ec6d3b16e9

5 years agoAdded missing src folders and .keep files to 3 ontology plugins 18/2718/1
HannuNiemistö [Sat, 8 Sep 2018 17:48:43 +0000 (20:48 +0300)]
Added missing src folders and .keep files to 3 ontology plugins

Change-Id: I18e10137b10258be832e3fead67bb71f20cc2990

5 years agoPossibility to open SCL-modules from plug-in in JAR-file 17/2717/1
jsimomaa [Tue, 7 Aug 2018 11:03:55 +0000 (14:03 +0300)]
Possibility to open SCL-modules from plug-in in JAR-file

The real NPE problem was already fixed in c52bf8a8 by Hannu, but this
adds some SLF4J logging.

gitlab #77

Change-Id: I9ce2e1efca375046b0b5f8a5dd483e1e288d594a

5 years agoAdded first and last functions to MList module 16/2716/1
Tuukka Lehtonen [Fri, 2 Nov 2018 13:26:39 +0000 (15:26 +0200)]
Added first and last functions to MList module

gitlab #177

Change-Id: I6cdcbbbe91f5074747eba64a9439e4f3ed123d60

5 years agoAutomatic deriving of instances for Json 15/2715/1
Hannu Niemistö [Thu, 14 Feb 2019 12:45:23 +0000 (14:45 +0200)]
Automatic deriving of instances for Json

Example:

data GeographicalLocation = GeographicalLocation {
    latitude :: Double,
    longitude :: Maybe Double
}

deriving instance Json GeographicalLocation

testIt :: <Proc> ()
testIt = do
    print $ toJsonString GeographicalLocation {
        latitude = 1,
        longitude = Just 2 }
    print (fromJsonString
        "{ \"latitude\": 1, \"longitude\": 2 }"
        :: GeographicalLocation)
    print $ toJsonString GeographicalLocation {
        latitude = 1,
        longitude = Nothing }
    print (fromJsonString
        "{ \"latitude\": 1 }"
        :: GeographicalLocation)

#256

Change-Id: I7f44b65472436779045e4d15871858d14132dff9

5 years agoMade spatial picking optimization optional for now 14/2714/1
Tuukka Lehtonen [Wed, 26 Sep 2018 05:24:14 +0000 (08:24 +0300)]
Made spatial picking optimization optional for now

R-tree -based element picking doesn't work for DnD monitors at the
moment, needs more work.

gitlab #66

Change-Id: Ia30243aa48fdd75d238e71422ec0aec358e46af9
(cherry picked from commit 659b89ec3b47e57753db44217990499ebf0b2486)

5 years agoPerformance and resource consumption optimization for G2D picking 88/2688/2
jsimomaa [Fri, 27 Jul 2018 07:14:49 +0000 (10:14 +0300)]
Performance and resource consumption optimization for G2D picking

* Scene graph R-tree based spatial optimization of picked
  IElement-material resolution
* Parallel processing for both resolving the elements to pick and
  picking the elements
* Added INode -> IElement map management to ElementPainter to have the
  fastest possible means available in picking for getting from scene
  graph nodes to their corresponding IElement instances.

gitlab #66

Change-Id: I524da0c2695cdda2eb4f0a1fa318f48ff8fcff24
(cherry picked from commit 48135dcd03588783f9c1b688aaa53cdaacba6ef2)

5 years agoFix errors with procedural user components for computational values 02/2702/2
jsimomaa [Wed, 21 Nov 2018 08:31:37 +0000 (10:31 +0200)]
Fix errors with procedural user components for computational values

gitlab #169

Merged cherry pick from master.

Change-Id: I1d95429ea1c49ca2f8bd20d447500513a3e6f87a

5 years agoFix Layer0 definitions that cause unnecessary warnings in SCLTypeUtils 03/2703/4
Tuukka Lehtonen [Fri, 14 Sep 2018 07:28:36 +0000 (10:28 +0300)]
Fix Layer0 definitions that cause unnecessary warnings in SCLTypeUtils

gitlab #120

Change-Id: I752331250a46f0e01f48ad128458460d3e9061cc

5 years agoAdd lookupJsonField to Data/Json SCL module 07/2707/4
jsimomaa [Thu, 14 Feb 2019 11:24:34 +0000 (13:24 +0200)]
Add lookupJsonField to Data/Json SCL module

gitlab #256

Needed for district.

Change-Id: If3be1a2f355f4542ffb60e0984ceec2b8771ed0f

5 years agoMerge changes I2adf7640,I209d9d58 into release/1.35.1
Tuukka Lehtonen [Mon, 25 Feb 2019 17:37:51 +0000 (17:37 +0000)]
Merge changes I2adf7640,I209d9d58 into release/1.35.1

* changes:
  Added proper equals() implementations for validation compilation request
  Initial version of validating derived properties formulas

5 years agoAdded proper equals() implementations for validation compilation request 11/2711/1
Reino Ruusu [Mon, 25 Feb 2019 15:51:59 +0000 (17:51 +0200)]
Added proper equals() implementations for validation compilation request

Fix to use of old value from cache while validating derived properties.

gitlab #252

Change-Id: I2adf76401dac90ddecc0bf2b3c222da6e242c2d2

5 years agoInitial version of validating derived properties formulas 06/2706/2
jsimomaa [Fri, 1 Feb 2019 07:39:08 +0000 (09:39 +0200)]
Initial version of validating derived properties formulas

Note: untested the procedural use case and still the solution can be a
bit hackish with e.g. constructing Variables and passing them along

However, at least this does something instead of just silently failing

gitlab #252

Conflicts:
bundles/org.simantics.structural.synchronization.client/src/org/simantics/structural/synchronization/client/Synchronizer.java

Change-Id: I209d9d585379b7b987861355589427ee90375738

5 years agoRename linked list functions that are overlapping or are too generic 10/2710/1
Marko Luukkainen [Tue, 29 Jan 2019 11:06:53 +0000 (13:06 +0200)]
Rename linked list functions that are overlapping or are too generic

gitlab  #250

Change-Id: Iae2e7ffc420970cb52c85c391361f02da3be3f28
(cherry picked from commit 0f1223c3cce41690160216eb1ec7be38f7bf4571)

5 years agoMerge "Fixed database request threading issue in FlagUtil.join" into release/1.35.1
Marko Luukkainen [Mon, 25 Feb 2019 15:37:49 +0000 (15:37 +0000)]
Merge "Fixed database request threading issue in FlagUtil.join" into release/1.35.1

5 years agoFixed database request threading issue in FlagUtil.join 09/2709/1
Tuukka Lehtonen [Tue, 18 Dec 2018 14:55:23 +0000 (16:55 +0200)]
Fixed database request threading issue in FlagUtil.join

gitlab #234

Change-Id: Ic97e56de1af19938e622143bf9acbe2f6154f74a
(cherry picked from commit e478bb19f9329b3e7cd1c920ea8f5bdc63330f0e)

5 years agoSpeeding up platform startup time 08/2708/1
jsimomaa [Fri, 30 Nov 2018 12:04:34 +0000 (14:04 +0200)]
Speeding up platform startup time

Shaved ~1.5seconds off by starting SCL compiler priming at the beginning
of platform startup on the background before the LifeCycleProcesses
project feature needs the compiler.

Also removed seemingly unused VirtualGraphInitializer that installed
virtualgraphs/*.tg files into random memory-persistent virtual graphs
during platform startup. It simply piles on some startup overhead and
does nothing.

gitlab #221

Change-Id: I1ebbc4e292957755cd88f2941cd02730ae8605c8
(cherry picked from commit 6667a65141692bc359087d8f1c9c8561636f1c59)
(cherry picked from commit da1d266392c3fe2f1ad1541c0f401763c3802f01)

5 years agoMerge "Initial support for concurrency in databoard, bindings and serializers" into...
Marko Luukkainen [Mon, 25 Feb 2019 14:36:03 +0000 (14:36 +0000)]
Merge "Initial support for concurrency in databoard, bindings and serializers" into release/1.35.1

5 years agoInitial support for concurrency in databoard, bindings and serializers 05/2705/1
jsimomaa [Tue, 6 Nov 2018 13:15:35 +0000 (15:15 +0200)]
Initial support for concurrency in databoard, bindings and serializers

* This fixes the parallellization problem in PlatformUtil.getAllGraphs
where parallel streams can now be used.
* VariableBinding is removed because it hasn't ever been used and it is
deadlock prone and not very useful
* Removed SerialisationSupport field from ResourceBinding as it has been
commented out for ages now. If we need this at some point, let's add it
back.

gitlab #180

Change-Id: Ic4240921b5e60ea8d642feb85e9608f936272190
(cherry picked from commit 48bb50bb6640506d1f150ca8e4fa5a6e878464be)

5 years agoAdd DatabaseJob.inProgress() checking to certain UI-handlers 04/2704/1
jsimomaa [Thu, 8 Nov 2018 07:03:03 +0000 (09:03 +0200)]
Add DatabaseJob.inProgress() checking to certain UI-handlers

gitlab #186

Change-Id: Ib8d547a54ffefde6ebf887e162d3adc8479c6de4
(cherry picked from commit d924aa9e2691606e0bc8044cce01aff4abcc7bc9)