Removed deprecated ProCore matter to make the platform less heavy Removed: * deprecated org.simantics.db.build.zip and related code. * windows and linux procore executables from org.simantics.db.server * org.simantics.db.procore.server.environment In total almost 25MiB removed from the platform. gitlab #109 Change-Id: I0b7532b0948676f925e0d0f619aadc5e06ea7ea1
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
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
Finalizing improve startup time for fresh or rollback'd session Finally fixed the long-sought InputStream reading bug from TransferableGraphFileReader.InputChannel.read(ByteBuffer). The ByteFileReader implementation expected the provided ReadableByteChannel to always provide a full buffer of data unless EOF was encountered and the InputChannel.read implementation was not taking care of that. Also added simpler utilities for reading TG's from files/InputStreams directly using static TransferableGraphFileReader.read(File/InputStream) methods. PlatformUtil.readTG can now finally use TransferableGraphFileReader for maximal performance. refs #7835 Change-Id: I170986bf271a409f9205fad808ae029becc1d3a4
Fixed various bugs in TG readers Added primary install-location based relative path resolution to database baselining logic. Secondary relative baseline resolution logic still uses working directory. refs #7825 Change-Id: I154528e674e6d478ea4bdb1de4d38c38d5097fdf
Disable parallel graph.tg/header read, serializer ctor not thread-safe Having parallel() here caused random platform startup problems and doesn't account for any major speedup in normal use anyway. refs #7806 Change-Id: I37b26a3df622d4ad3b2ad744e43e2f08cf0284ff
Fixed platform startup ontology update hash checking to work There was a typo in the Extensions class constant that identified cached hash value in the DataContainer metadata map compared to the maven graph builder plug-in. refs #7806 Change-Id: I21e99108adfa2b1e9307127ffd4be7127f852812
Platform startup performance improvements 1. DB baselining can now be enabled with ontology update checking due to caching of TG hash values in the DataContainer.metadata map field with key "cached.hashCode". This diminishes the time taken by ontology merge need checking to very little time compared to the old system where all graph.tg files were loaded completely into heap memory to simply check whether they need to be merged or not. 2. BaselineCreator application can be used to construct a baseline with a built product in any OS supported by Simantics. To get the benefit from these changes, you'll also need to use the version 0.0.9 of the graph-builder-maven-plugin. refs #7806 Change-Id: I7fadaf43f3c96d3b989a73e0f1ae6e6fa83e09ce
Improve startup time for fresh or rollback'd session in index writing refs #7806 Change-Id: I44ea1e0972bfd360b6af44dbbe62e934e06c59e0
Improved exception information and logging in PlatformUtil.getGraph() * Wrap all Exceptions that may occur during execution * Log and rethrow any Errors thrown to be able to trace startup errors in case of malformed graph.tg inputs refs #7496 Change-Id: I3cd46f68ba389935ffb795e1b4bfc081d9ee5e75
Fixed all line endings of the repository I followed the instructions in http://stackoverflow.com/a/1511273 git rm --cached -r . git config core.autocrlf true git diff --cached --name-only -z | xargs -0 git add git commit -m "..." Change-Id: I4920748df8f53c221fc2f643e991b66aea5697e0
Utilize slf4j Changed System.out/err prints to use logging in several places. Removed org.simantics.Logging and replaced all uses by slf4j. Change-Id: Ib0a9f4f87b945fd59130a9dfd02fe02d39ee0eac