diff options
author | Christian W. Damus | 2016-07-13 19:05:54 +0000 |
---|---|---|
committer | Christian W. Damus | 2016-07-13 19:51:04 +0000 |
commit | ddfb7b0caefdd1be212db31bde24b8a9feb225de (patch) | |
tree | 5c350c81ea1a9fb2985bb62195c06ff50a7a5174 /plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml | |
parent | f68c766e5c5df1bb5c08fd65bc6f5464d3a58208 (diff) | |
download | org.eclipse.papyrus-ddfb7b0caefdd1be212db31bde24b8a9feb225de.tar.gz org.eclipse.papyrus-ddfb7b0caefdd1be212db31bde24b8a9feb225de.tar.xz org.eclipse.papyrus-ddfb7b0caefdd1be212db31bde24b8a9feb225de.zip |
Bug 496299: Controlled Units as Integral Fragments
https://bugs.eclipse.org/bugs/show_bug.cgi?id=496299
Implement a new mode of controlled unit in Papyrus dubbed "shards".
A shard is like any other sub-unit created up to and including the
Neon release, except that it cannot be opened independently in the
editor. The Papyrus editor, when asked to open a "shard", will
instead open the root resource of the model. Likewise, the editor
matcher normalizes editor inputs to the root resource of any shard.
The graph of shard dependencies is inferred from a new workspace-
wide index of cross-resource containment references, when it is
available. Otherwise, the linkage of shards to their parent
references is parsed on-the-fly from the shard annotation's
reference (with a relatively efficient XML parsing that terminates
after reading only a few lines of the XMI text).
A new ResourceLocator is implemented to provide a pluggable hook for
resource loading (including proxy resolution), to ensure when loading
a shard resource that its parent resource chain is first loaded from
the top down to ensure that all context of profile applications is
available before loading the shard, itself, which may have stereotype
applications that depend on those profile applications. The
CoreMultiDiagramEditor installs this resource locator on the ModelSet;
other applications (including in a non-Eclipse context) can make
similar use of it.
Some additional fixes are required in other core components to make
the loading of referenced sharded models as in bug 458837 work:
* the SemanticUMLContentProvider did not detect the final resolution
of containment proxies that changes what looks look a model root
object into just another intermediate element in the content tree.
Besides that it would schedule a large number of redundant
UI refreshes asynchronously (deferred) on the UI thread
* the DiModel and NotationModel would load their adjuncts to the *.uml
resource when that resource is created, not after it has been loaded.
This is much too early and ends up causing the transactional editing
domain to detect the attachment of a resource's contents at the end
of loading as an attempt to edit the model during a read-only
transaction, which logs an exception and bombs the UI action.
Instead, these models now have snippets that load the *.di and
*.notation resources after the semantic resource has been loaded.
* the new model snippets required an additional fix in the loading
of IModels to handle contributions of snippets and dependencies to
models that are overridden by other IModels registered under the
same ID, such as is the case with the NotationModel and the
CSSNotationModel, which latter needs the snippet declared by the
former
* the IModels additionally need to ensure that they start snippets
on loading of an existing model even when it is already found to
be loaded in the ModelSet (as happens often in JUnit tests)
* the AbstractModelFixture in the JUnit test framework is updated to
ensure that the ModelSet is properly initialized, with its own
snippets started and its IModels loaded and their snippets started
* the basic uncontrol command now removes the shard annotation from
the uncontrolled element/resource, if there was one. Because this
bundle now supports a new feature (that being shards), it seems
appropriate to bump its minor version number
General-purpose changes in the core workspace model index framework
that improve overall performance, of particular significance in large
and highly fragmented models:
Implement persistent storage of the workspace model index at workspace
save to support quick start-up without parsing the entire workspace.
Consolidation of indices:
* run a single pool of indexing jobs and a single resource change
listener to trigger (re)-indexing of files
* all indices matching any given file process it
* includes a new extension point from which all indices are loaded
into the shared index manager to initialize them and do the work
(cherry-picked from streams/2.0-maintenance)
Change-Id: Ifd65a71c57134b69d873f17139f3cedbf11c5ba5
Diffstat (limited to 'plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml')
-rw-r--r-- | plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml index 4f142a8b4fe..157d5cc080a 100644 --- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml +++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml @@ -7,6 +7,6 @@ <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.papyrus.infra.emf</artifactId> - <version>2.0.100-SNAPSHOT</version> + <version>2.2.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> -</project>
\ No newline at end of file +</project> |