Updated file importer interface and fixed Spreadsheet import
Spreadsheet import through the generic file importer always failed,
since the books cannot be imported to Development Project. Now the
generic file interface takes this into account and provides the
selection as a resource. Currently only ExcelFileImport uses
Amend 1: Changed the way the selected resource is found
Amend 2: Take into account Tuukka's review comments (1,2,3 and 5)
Amend 3 and 4: Changes by Jani and Miro to fix some issues with the
interface
Cells referencing other cells weren't updated after change
"8c8283a01e63980527d605936286747006bea601" (see in History view), in
StandardNodeManager.java. I added a new setValue function that takes a
list of Nodes that need to be updated (removes them from valueCache),
which allows only specific cells to be updated when another cell is
updated.
I also removed invalidation code from Spreadsheet's "All.java" class and
added them to the value updated in SpreadsheetNodeManager, which
invalidates recursively the cells the use another cell.
I also made sure that SpreadsheetCells jave the same properties through
their life-cycle, rather than creating a properties map whenever the
properties are called.
-Fix ArithmeticExpression + and - String cell value evaluation to check
for number properly.
-decodePossibleCellAbsolute by location rather than decodeCellAbsolute
in "getPossibleCellEditor" to avoid error being thrown unnecessarily
when trying to access cells by ID "Headers" (which is not a proper cell
ID)
-Update cell content expression after change rather than leaving the
default value.
Tuukka Lehtonen [Mon, 18 Jun 2018 10:58:54 +0000 (13:58 +0300)]
HistorySampler.sample(HistorySamplerItem2, ...) now uses mipmapped data
Implemented selection of sampled history data source based on the
seconds/pixel (= timeWindow / maxSamples) ratio provided to the sampler.
This is one way to attempt not sampling too much data for trend views
that cannot inherently handle large amounts of data.
Jussi Koskela [Tue, 29 May 2018 07:29:45 +0000 (10:29 +0300)]
Improvements to SCL HTTP client
Add missing Proc effect to buildClient function. Function to read
content length from response. Function to read headers from response.
Option to add read / write progress callback functions.
Better fix for ClusterTable maps going out of sync
ClusterSmall.toBig was not copying importance over to the constructed
ClusterBig causing importanceMap to go out of sync on the first call to
ClusterSmall.toBig.
Fixed ClusterTable cluster hash/importance map book-keeping problem
The main problem was that importance values should have been started
from 1 and 0 is considered an invalid importance value. This prevents
ClusterTable.replaceCluster from making mistakes in importanceMap.
Hannu Niemistö [Tue, 10 Apr 2018 12:24:20 +0000 (15:24 +0300)]
Fixes the dpi value in SVGSalamander to 96
If SVG file defining symbol graphics does not contain unit information,
it is converted from points to pixels using a dpi-value. The value is 96
in most cases but in some machines differs from this default. This makes
the symbol graphics scaled compared to originally drawn graphics which
is undesirable.
Fixing problems in the database unit testing environment with Acorn
* Removed static map from org.simantics.acorn.FileIO.
Moved the map into a session service as org.simantics.acorn.FileCache
* Changed org.simantics.db.testing.common.Tests utilities to use Acorn
instead of ProCore (AcornTestHandler). Did not introduce abstraction
for this for now.
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.
Hannu Niemistö [Thu, 5 Apr 2018 10:28:31 +0000 (13:28 +0300)]
Show imports of nonexistent modules as errors
Previously there was a separate error category IMPORT_ERROR for all
import errors that was sorted with WARNINGS. Now IMPORT_ERROR category
is also used for import failures whose reason is compilation problem in
the upstream module (although this is fatal for compilation, the problem
is not located in the current module).
Support diagram profile activity store/restore in model export/import
Diagram profile selections are stored in the "profiles" workspace
persistent virtual graph. They cannot be done in the persistent database
because we do not want the profile selections to be part of the database
version/undo history. This just doesn't fit the current way of using
diagram profiles.
The code introduced in this commit needs to be put to use in
product-specific custom export/import logic and copy/paste handlers to
take advantage of it.
Tuukka Lehtonen [Mon, 26 Mar 2018 15:36:02 +0000 (18:36 +0300)]
Improved network-drive-resilience in index directory creation
In a product, the removed Files.exists(p) && !Files.isDirectory(p) code
threw an exception because the examined path was not guaranteed to be in
a coherent state at the time of examination but Files.createDirectories
would still take care of throwing any exceptions if there were any
problems in creating the directory.
The worst thing was that this exception was hidden and not even logged.
Luckily a problem case forced the find.
Tuukka Lehtonen [Mon, 26 Mar 2018 08:29:34 +0000 (11:29 +0300)]
Only claim new identifier if instance L0.TypeWithIdentifier
Fixed long-standing bug from CopyComponentAdvisor which added
identifiers for non-STR.Component instances which has started causing
problems in team server products in version comparisons.
Tuukka Lehtonen [Fri, 23 Mar 2018 14:06:36 +0000 (16:06 +0200)]
Improved usability of shared library export wizard
Now allows selection of the exported shared library from the combo box
and does not allow the user to export any model-browser-selected
resource but only shared ontologies.