Re-implement URIStringUtils escape and unescape using Unicode
Now escape only performs the absolute minimum amount of escaping
necessary. All String inputs are treated directly as UTF-16 characters
and only the smallest amount of 7-bit US-ASCII characters are escaped.
These characters are " ", "%", "#", "/" and "&". All other unicode chars
(> 127) are written directly as is into the escaped output.
The main effect of this change is that Simantics database URIs will
contain much less escaped characters than before. Since we always deal
with Java String (Unicode) character sequences in Simantics and these
URIs are only valid within Simantics, this approach doesn't really cause
any problems for us.
This implementation is not in accordance with RFC 2396 - Uniform
Resource Identifiers (URI): Generic Syntax but it works for us.
1) Acorn: do not make snapshot if cancelCommit() is called
In some situations it is possible that when cancelCommit() is called
that acorn head.state writing writes nonsense due to
IllegalStateException being thrown from LRUObject.getStateKey()
2) Acorn: use a lock file to lock the current database
Use a lock file to prevent simultaneous usages of same database in Acorn
Tuukka Lehtonen [Mon, 29 Aug 2016 10:15:21 +0000 (13:15 +0300)]
SpreadsheetCells with Circular References support iterations.
Default number of iterations is 100 times.
Previously, AstIdentifier visits in CellValueVisitor would throw
IllegalStateException. Now, a FormulaError is returned instead.
Tuukka Lehtonen [Mon, 29 Aug 2016 09:17:11 +0000 (12:17 +0300)]
Several Wiki documentation view improvements.
* Pin Selection toggle button added to Documentation view toolbar
* Added support for linking to internal documents within the Simantics database in wiki documentation: [[Media:root://Documents/Document.pdf|This is the anchor text for the created link]]
** DocumentDialect will transform links like this into external links that look like this: [http://simantics-internal/http://Projects/Development%20Project/Project/Documents/Document.pdf This is the anchor text for the created link]
** Obviously external browsers and viewers do not understand these links but when these links are clicked in the Workbench Documentation view, the Browser component location changes are intercepted by the function returned by org.simantics.document.ui.function.All.locationChanging and the workbench's default action is performed for the database resource/variable that the URI in the link resolves to in the Simantics database.
* DiagramViewerSelectionProvider.SelectionElement will now return a the variable of the diagram composite when element selection is the diagram resource itself. This helps the Documentation view show the wiki page of the diagram composite when nothing is selected on the diagram editor.
* Fixed a couple of typos from org.simantics.scl.reflection.internal.registry.Namespace
* org.simantics.views.ontology now supports defining SWT RowLayout/RowData for modelled composites. This is used in the Documentation view to flow all the action buttons above the text editor to separate rows even when the view is not wide enough to fit all buttons on a single row.
Tuukka Lehtonen [Mon, 29 Aug 2016 09:14:19 +0000 (12:14 +0300)]
Search-field in Help->Contents Fix.
Previously, searching in help contents caused NullPointerException when indexing.
Now, by setting extraDocuments to an empty array before indexing, NullPointer
doesn't occur and indexing proceeds as normal.
Tuukka Lehtonen [Wed, 17 Aug 2016 07:33:29 +0000 (10:33 +0300)]
Reversion com.lowagie.text to 2.7.1.b1 to prevent cached loading.
This problem hit Hannu hardest because he had used oomph which caused
all workspaces on his system to share loaded artifacts. This meant his
machine never fetched the new version of this plug-in but kept using the
old SVN version.