Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-01-09Bug 515367 - [releng] Uniformization of the end of lines to Unix standardQuentin Le Menez10-769/+769
- Format the EOL of all the files matched by: grep -rIUs . | xargs -Ifile dos2unix -k 'file' Change-Id: I5c41d540a9a67b50de9b912ab35e16cc9a912961 Signed-off-by: Quentin Le Menez <quentin.lemenez@cea.fr>
2017-09-01Bug 521550: [Test] The testThanh Liem PHAN1-6/+15
WelcomeModelElementTest.restoreActivePageProperty is failed by an NPE https://bugs.eclipse.org/bugs/show_bug.cgi?id=521550 - Call setFofus method of diagramPart to initialize the graphical viewer if its editpart is null. Change-Id: I7af4f0cf10ecc4da5f4b66e22985359d0137d408 Signed-off-by: Thanh Liem PHAN <thanhliem.phan@all4tec.net>
2017-05-02Bug 515957 - [Toolsmiths][palette] switch from ecore to uml modelFrancois Le Fevre1-1/+1
Actions -association of an uml model matching the actual ecore -generation of a genmodel -regeneration of the code model,edit,editor -creation of papayrus model -creation of a class diagram matching the initial deleted ecorediagram Tests -execution in eclipse of palette tests Change-Id: I4e3d4ce36f8cf5ea70f8c0a859d8524fe45af34a Signed-off-by: Francois Le Fevre <francois.le-fevre@cea.fr>
2017-03-24[releng] [oxygen] Update guava dependencies to 21.0.0Quentin Le Menez1-1/+2
- Update target definitions to the latest orbit repository and set guava dependecy to 21.0.0 - Update MANIFEST.MF guava version references to 21.0.0 throughout the repository - regenerate the target platforms - update the sdk feature.xml to point on guava 21.0.0.v20170206-1425 from guava 15.0.0.v201403281430 - modified manifests and java classes to fit the new API - ameneded the tests on guava version targets in the manifests Change-Id: I7d15679cd28585f6ea517466e70bc0848dd3179d Signed-off-by: Quentin Le Menez <quentin.lemenez@cea.fr>
2017-01-26Bug 509908: [Internationalization][Tests] Internationalization JUnitNicolas FAUVERGUE1-3/+5
tests failed https://bugs.eclipse.org/bugs/show_bug.cgi?id=509908 Manage the internationalization tests with Papyrus Model Fixture instead of AbstractEditorTest Change-Id: I6e6a57b77a418aa9d4ccb63a50f8f94115d8d16c Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@cea.fr>
2016-12-01Bug 496905: [Diagram][ModelExplorer][Table][Dialog] Papyrus mustNicolas FAUVERGUE1-3/+1
integrate the internationalization feature provided by UML. https://bugs.eclipse.org/bugs/show_bug.cgi?id=496905 Fix JUnit tests problem with master rebase. Change-Id: I9406b6c002c07b01514fa03f43594f6eb05cb411 Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net>
2016-11-29Bug 496905: [Diagram][ModelExplorer][Table][Dialog] Papyrus must integrateNicolas FAUVERGUE2-1/+14
the internationalization feature provided by UML. https://bugs.eclipse.org/bugs/show_bug.cgi?id=496905 JUnit tests for internationalization: infra + UML. Change-Id: I68393120387178e9f3f1017ed20858bc2ad48c2b Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net>
2016-08-23Bug 497865: [Control Mode] UI for dependent controlled unitsChristian W. Damus1-2/+2
https://bugs.eclipse.org/bugs/show_bug.cgi?id=497865 Add an option to the standard control (create fragment) dialog for option to create sub-model unit (independently openable) or not (in which case it's a 'shard'). Add an approver interface to the participant protocols for validation of control/uncontrol requests and also to determine whether an object supports the sub-model unit form of controlled resource. Use this to let the UML participant disable the sub-model unit option for non-packages. Add a label decorator for controlled unit resources in the Project Explorer, with different presentation for 'shards' as for sub-model units that are independently openable. Add a context menu on model elements to toggle their independent sub-model status when they are currently controlled units. This is supported by another optional participant protocol for changing sub-unit mode so that for UML we can add/remove redundant profile applications on packages as necessary. (cherry-picked from streams/2.0-maintenance) Change-Id: I08ac9cc64d70432851f8e7e815f352f4b00d50f2
2016-08-10Bug 485342: [Layout] Integrate ELK with PapyrusRemi Schnekenburger2-0/+125
This contribution works on the release 0.1 from ELK. It provides JUnit tests on ELK integration (mainly based on an export of the diagram using SVG export facility from Papyrus, and compare with a reference diagram). Change-Id: Ife12dc26585091a8a5820e318e40011c173db479 Signed-off-by: Remi Schnekenburger <remi.schnekenburger@cea.fr>
2016-07-13Bug 496299: Controlled Units as Integral FragmentsChristian W. Damus1-3/+17
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
2016-05-30480663: [Tests] Papyrus configuration resources shall be testedRemi Schnekenburger1-0/+57
https://bugs.eclipse.org/bugs/show_bug.cgi?id=480663 Change-Id: Ida388bd93f3a6d3e13e5642de7643f1db830e04f Signed-off-by: Remi Schnekenburger <remi.schnekenburger@cea.fr>
2016-04-18Bug 491542: [All Diagrams] Undo doesn't work with RuntimeValuesAdviceChristian W. Damus1-25/+147
dialog for creation https://bugs.eclipse.org/bugs/show_bug.cgi?id=491542 Support re-entrant command execution in the CheckedOperationHistory, which is used by both the CheckedDiagramCommandStack (used by the diagrams) and the NestingNotifyingWorkspaceCommandStack (used by everything else), in much the same way as the latter supports nested execution. This ensures that, in the case where the execution of a top-level operation in the diagram triggers nested execution of operations in the EMF editing domain, which both delegate to the same CheckedOperationHistory, the nested operations are executed strictly within the context of the root operation, not separately as a sequence of operations in the history. Change-Id: I0967a62940d5c1030edf14d39994eeda2d3bdf9b
2016-04-05Bug 440910: [API] API Evolution Report generator in the buildChristian W. Damus1-0/+137
https://bugs.eclipse.org/bugs/show_bug.cgi?id=440910 Add an APIReports pseudo-test-suite class that, when activated by the required system properties, generates a report of the API changes since the specified baseline release. Enable generation of the API delta report in the build. Change-Id: Ica2d8633c1a68d1f23612f778965769585affbd3
2016-02-12Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus1-2/+10
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Factor UI dependencies out of the UML Element Types bundle. This includes moving some advices that interact with the user into a new org.eclipse.papyrus.uml.service.types.ui bundle. Pull up the PasteCommandService and IPasteCommandProvider API into the Infra Diagram layer where the extension point is defined. Deprecate the old API in the UML layer. Introduce a service for participation of languages in CSS styling: * styling reset actions in the Reset Style command * access to semantic model classes and properties to make available to CSS Factor PapyrusObservableValue and cohorts out of the UML Tools bundle into the Infra Layer for more general reuse and to relieve the Diagram Infrastructure layer of UML dependencies. The old API remains as deprecated. Remove the Infra Diagram Layer dependency on UML Layer for property testers governing deletion in the diagram. Includes introduction of a new IGraphicalDeletionHelper OSGi service for delegation of the determination of whether an element can be deleted from the diagram and replacement of the XML expression properties * org.eclipse.papyrus.uml.diagram.common.isSemanticDeletion * org.eclipse.papyrus.uml.diagram.common.isReadOnly by * org.eclipse.papyrus.infra.gmfdiag.common.isSemanticDeletion * org.eclipse.papyrus.infra.gmfdiag.common.canDelete (where the latter is the negation of the property that it supersedes) Extract UML dependencies from the Diagram Outline and CSS Editor bundles. Remove unused MDTUtil APIs that referenced a UML-specific annotation. Move the Diagram Infrastructure CSS Palette bundle into the UML layer because it serves to provide extensions on the Palette Service, which is an overtly UML-specific capability. All client APIs for the Properties View are moved from org.eclipse.papyrus.views.properties bundle to a new org.eclipse.papyrus.infra.properties.ui bundle. This includes renaming of: * extension points * label-provider contexts * XWT namespaces Add an "all UI tests" suite. Define a componentized hierarchical build layout of the main plug-ins Change-Id: I43f8f3644857a18b69715f5a2f1da9b1cf286d67
2016-01-22Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus2-12/+53
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Decouple infra bundles from dependencies on UML, especially for access to the semantic model, using new APIs provided by the ILanguageService and IModel and also by the refined and new implementation of the SemanticService APIs defined in previous releases. Provide generalized access to SemanticEMFContentProviders for the semantic model content in the ModelSet by adaptation of IModels (semantic IModels per new Language Service API) to a new ISemanticContentProviderFactory protocol that creates content providers appropriate to the specific semantic model. Move the identifier of the Papyrus toolbar contribution out of the UML namespace: org.eclipse.papyrus.uml.diagram.ui.toolbar is now just org.eclipse.papyrus.ui.toolbar. Add a new XML enablement expression definition named org.eclipse.papyrus.ui.semanticModelActive as a generalization of the org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel for more than just UML Papyrus editors. Tests all still pass (inasmuch as they do in the nightly master builds). Change-Id: I41af229742134428e9e00f41575c14ef1aaf5e09
2016-01-22Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus6-25/+21
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Move UI-dependent APIs from the org.eclipse.papyrus.infra.tools bundle to org.eclipse.papyrus.infra.ui. Accordingly move tests into a new org.eclipse.papyrus.infra.ui.tests bundle. Two crucial UI dependencies are inverted by introduction of new OSGi services with core interfaces specified in the non-UI layer: * IExecutorService extends Java Platform's ExecutorService with APIs for synchronous execution (a la Display.syncExec). A new CoreExecutors class in the infra.tools bundle supplies the instance provided by the OSGi service implementation in the infra.ui bundle. This provides compatibility for clients of various UIUtil APIs that they can no longer access * IContextualServiceRegistryTracker abstracts the concept of the default ServicesRegistry found in the currently active editor, which the ServiceUtilsForHandlers class (and hence all of its clients) relies on. Again an OSGi service implementation in the infra.ui bundle supplies the implementation of this tracker, which is exposed in infra.core through the service-utils API Also move UI-dependent APIs from the org.eclipse.papyrus.infra.core bundle into org.eclipse.papyrus.infra.ui. This includes * moving the 'papyrusDiagram' and 'papyrusContentOutline' extension points into the org.eclipse.papyrus.infra.ui namespace * moving various UI-related services such as EditorLifeycleManager, SaveLayoutBeforeClose, and the IMultiDiagramEditor, itself, into the org.eclipse.papyrus.infra.ui bundle This necessitates not only widespread refactorings on the moved APIs, but also concomitant move of other APIs in other bundles because they cannot plausibly use these moved APIs from their new home in org.eclipse.papyrus.infra.ui and/or they cannot reasonably also be moved to the UI bundle and/or they must be used by bundles that now have no UI dependency: * the DI/sash-windows EMF model is moved out of infra.core.sasheditor.di bundle into a new model-only org.eclipse.papyrus.infra.sashwindows.di bundle (which symbolic name incidentally now better reflects the contained Java package names) * the IPageManager and ILocalPageService interfaces are moved out of infra.core.sasheditor.di bundle because they need to remain accessible by headless code such as the edit advices that ensure deletion of sash-model pages for notations that are deleted. These are now in a package named org.eclipse.papyrus.infra.code.sashwindows.di.service. Accordingly the class hierarchy implementing the IPageManager interface is changed: the obsolete PageMngrImpl is deleted, replaced by a BasicPageManagerImpl which now the PageManagerImpl extends. A service factory creates the basic page manager in a headless context, but is overridden by the UI-aware implementation when the UI bundles are installed * the MultiDiagramEditorGefDelegate (which has a GEF 3 dependency) is moved from the org.eclipse.papyrus.infra.core.sasheditor bundle to a new org.eclipse.papyrus.infra.gmfdiag.gef bundle. Its usage for an adapter of ActionRegistry type is extracted out of the CoreMultiDiagramEditor class into a new external adapter-factory in the infra.gmfdiag.gef bundle Tests all still pass (inasmuch as they do in the nightly master builds). Change-Id: I573dee5d9312d6e5746d74575350d0152b591ab3
2016-01-13Bug 483542 - [Validation] Papyrus needs test cases for common validation tasksAnsgar Radermacher1-7/+42
Change-Id: Id09ff0b26a7753ad15c0beb30349409f7b57f44e
2016-01-05Bug 485214: [Tests] Memory leak in model validationChristian W. Damus1-35/+36
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485214 Ensure that the Properties view doesn't leak the model by activating it again before closing the editor so that the Model Validation view isn't still active when the editor is closed. Also fix a bug in the Duck utility that caused a ClassCastException bombing a table-editor test in the dev environment (but not in the build, oddly).
2015-12-08Bug 469188: [Editor] Page management improvements in the Papyrus multi-editorChristian W. Damus3-5/+57
https://bugs.eclipse.org/bugs/show_bug.cgi?id=469188 Test suites for the core Welcome Editor service and related components and for the Diagrams table content.
2015-12-05Bug 483721: [Tests] Memory leak test failuresChristian W. Damus1-0/+20
https://bugs.eclipse.org/bugs/show_bug.cgi?id=483721 Ensure that the tests run in the Papyrus perspective. Also, for good measure, avoid using the UML label provider to create failure messages for model elements because that accesses stereotypes, which puts those elements in the CacheAdapter even after they have been unloaded.
2015-12-02Bug 434983: [SashEditor] Provide a mechanism to move the editor layout model ↵Christian W. Damus2-28/+79
to either the *.di (Legacy) or hidden *.sash resource (1.0) https://bugs.eclipse.org/bugs/show_bug.cgi?id=434983 Implement new actions in the editor's drop-down tool menu for selection of the the sash-editor page layout storage mode (private or shared). Also prompt on first opening of a legacy-mode (shared layout) model to make it private, as determined by the non-existence of a private *.sash resource, with a corresponding preference page. Rather than introduce a new service for the purpose, add the handling of first-open of a model in the SaveBeforeCloseService, which already has an editor lifecycle listener for managing persistence of the page layout, and this is another aspect of that persistence management function. Don't rename it as SashModelPersistenceService because it is public API. Change-Id: I64ec33c6471a16d711426644dba84981e85b2cba
2015-10-20Bug 480221: [Filters] NPE in the ProfileAppliedFilter when using URIsChristian W. Damus1-0/+179
https://bugs.eclipse.org/bugs/show_bug.cgi?id=480221 Update the ProfileApplied filter's match algorithm to avoid pointless loading of profiles that aren't the profiles matched by the filter. This is verified by a new regression test. This change also exposes errors in tests defined earlier: * the core ProfileApplied::match test changed the filter's URI to make the referenced profile unresolvable. However, the correct test is to make the mode's actual applied profile unresolvable but still match the URI expected by the filter * a test model in the Diagram Assistants tests had a ProfileApplied filter that was misspecified: it did not use the correct URI in referencing the expected profile Change-Id: If197a1023e9c9ce965f6f48759f76f878211b9cc
2015-09-08Bug 476683: [AOF Sync] Investigate/prototype diagram-to-diagram ↵Christian W. Damus3-5/+131
synchronization on AOF https://bugs.eclipse.org/bugs/show_bug.cgi?id=476683 Add API to the JUnitUtils to get all of the annotations applied to a test case (and/or a test suite). Add @CleanUp annotation for fields to be automatically cleaned up by the HouseKeeper rule, that it doesn't already recognize as needing clean-up. These changes are Required by the unit test framework for AOF-based mappings, which consumes the utilities via the Developer Tools build.
2015-09-02Bug 476436: [Class] Test failure ↵Christian W. Damus1-0/+152
TestEditableClassDiagramTopNode.testToManageConstraint https://bugs.eclipse.org/bugs/show_bug.cgi?id=476436 Enhance the abstract direct-edit test framework to allow a test case to declare the expected kind(s) of editor. Use this to widen the allowed editor kinds for the class diagram constraint, which has an Xtext OCL editor contributed to it on the extension point. This facility is yet another case of a test framework needing to extract metadata from a test annotation, so the capabilities of several existing variants of an AnnotationRule are synthesized into a new reusable rule.
2015-07-28Bug 473154: FileNotFoundException in LocalFile.openInputStream (369)Christian W. Damus2-0/+198
https://bugs.eclipse.org/bugs/show_bug.cgi?id=473154 Ensure that we only attempt to index files that are synchronized as far as the workspace is concerned. Includes a JUnit test that fails without the fix on detection of the same exception logged as in the original bug report. (cherry picked from commit e334737bc2fe21da7ab91bfc87fcd49944275bdd) Change-Id: Idf211d87b7c59cea73d399419e8dcabede66dde8
2015-06-17bug 470267: [Tests] The class PapyrusEditorFixture should be able to manage ↵Vincent Lorenzo2-0/+134
Tabular editors too https://bugs.eclipse.org/bugs/show_bug.cgi?id=470267 Change-Id: I11758d4975140ab63834da12a09710150e9cf35d Signed-off-by: Vincent Lorenzo <vincent.lorenzo@cea.fr> Reviewed-on: https://git.eclipse.org/r/50259 Tested-by: Hudson CI
2015-06-05Bug 468030: [Papyrus Core] Papyrus DI Model should support the notion of ↵Christian W. Damus1-0/+81
Language https://bugs.eclipse.org/bugs/show_bug.cgi?id=468030 Implement a Language Service for configuration of the Papyrus ModelSet to support custom implementations of UML and other modeling languages. Includes: * language service providing languages before the ModelSet loads any resources * hooks for languages to configure and unconfigure a ModelSet * implementation of a language provider that maps applied profiles to languages * addition of a profile index service that provides the URIs of profiles applied to model resources without having to load them in a resource set * a stub of a UML-RT language with placeholder for configuration of the ModelSet * a standard UML language * implementation of the profile index service using an enhanced DecoratorModelIndex that now also index the normal profile applications in user models Papyrus Service Registry changes: * fix the explicit starting of lazy services * new AbstractServiceUtils API for requesting optional or defaultable services Also includes the very barest of JUnit tests covering: * the new profile index service * using the language service to query content-type-based languages * UML languages: UML models have the UML language, itself, and proper matching and installation of profile languages Change-Id: I9d5175cfbefbe40864f04ea4215e18556e3739df Reviewed-on: https://git.eclipse.org/r/49152 Tested-by: Hudson CI Reviewed-by: Camille Letavernier <camille.letavernier@cea.fr>
2015-05-20Bug 465416: Synchronization of diagrams with other diagramsChristian W. Damus1-7/+215
https://bugs.eclipse.org/bugs/show_bug.cgi?id=465416 Add automated tests for diagram-to-diagram synchronization. Fix bugs in the asynchronous synchronization of edit-parts exposed by the new tests, especially in undo/redo of changes in the master diagram.
2015-05-11Bug 465416: Synchronization of diagrams with other diagramsChristian W. Damus1-0/+84
https://bugs.eclipse.org/bugs/show_bug.cgi?id=465416 Fix some deletion scenarios in diagram-to-diagram synchronization (as in UML-RT capsule inherited state machines).
2015-04-22Bug 458685: [Commands] Stereotyped element deletion = dangling stereotypes ↵Christian W. Damus1-0/+52
left in the model https://bugs.eclipse.org/bugs/show_bug.cgi?id=458685 Fix cases of stereotype applications being missed in deletion of dependents of a UML element. Includes JUnit regression test. Change-Id: I1e2a2705564e0708892a30716492eec1f25d40f0 Reviewed-on: https://git.eclipse.org/r/46196 Tested-by: Hudson CI Reviewed-by: Camille Letavernier <camille.letavernier@cea.fr>
2015-04-11[Tests] JUnit framework tweaksChristian W. Damus3-7/+32
Prepare for diagram tests generation enhancements: - calculate the effective tests configuration in the ClassificationConfig initializer instead of the AllTestsRunner. This allows for activation of GENERATED_TESTS_CONFIG in individual test execution for developer testing purposes - support inheritance of @PluginResource and @JavaResource model fixture annotations from abstract test classes
2015-04-06Bug 463631: Regression: Referenced models are not read-onlyChristian W. Damus1-0/+56
https://bugs.eclipse.org/bugs/show_bug.cgi?id=463631 Fix new test failure caused by the broken decorator-model read-only policy no longer masking read-only state of sub-unit resources. Incidentally fix NPEs in the stereotype repair snippet in async runnables left over when the model-set (and service registry) is shutting down. Fix warning in the log caused by a test asking for a resource by a URI with fragment.
2015-03-25Bug 433206: Papyrus shall enable local synchronization between graphical ↵Christian W. Damus4-13/+157
element and element in the model https://bugs.eclipse.org/bugs/show_bug.cgi?id=433206 (1) Refactor the 'uml.diagram.synchronizeview' plug-in: * remove the UML dependency (supplied by a UML-specific default children strategy) * move into infra.gmfdiag component * rename for GMF-standard 'canonical' terminology * API types, extension points, etc. renamed for 'canonical' terminology * fix parsing of priorities and other problems in the extension-point loading * support listening to multiple dependent model elements for canonical refresh * add a notion of default semantic children strategies for edit-parts that don't have specific requirements but can rely on a generic implementation (2) Implement a canonical request wrapper to pass through the drop request to default drop edit policy provided by the diagram, by-passing the pluggable strategies to which the CustomizableDopEditPolicy delegates. (3) Implement a toggle action in the various diagram filter menus to toggle canonical synchronization. (4) Enable the canonical edit policy provider. This requires additional changes: * only activate the canonical edit policy when the style is applied and is enabled because otherwise GMF assumes that canonical mode is on and treats connections as canonical (GMF run-time only checks that the edit policy is installed and is active) * listen for changes to the canonical style to disable/enable the canonical edit policy on the fly (5) Fix undo/redo of canonical view creation and of canonical enablement. (6) Properties view support for model/view synchronization (canonical edit policy). (7) Adapt SysML test utility to account for possible inclusion of ToggleCanonicalModeCommand by GMF in drop commands. (8) Implement deferred loading of synch child strategies and XML enablement expressions. (9) Fix problems in handling of connections incoming and outgoing canonical top shapes. (10) Support for a CSS 'canonical' style attribute. (11) Initial simple canonical synchronization scenarios for JUnit test cases. (12) Integrate canonical edit policy tests into the build. (13) Test cases for toggling canonical on/off, with undo/redo. Test cases for adding elements to the semantic model, with undo/redo. Test cases for deleting elements from the semantic model (including by simple remove, which unlike destroy does not also deletes dependent views anyways), with undo/redo. (14) Add regression tests for creation/deletion of elements and views together per the usual diagram editing scenarios, in the context of canonical diagrams. (15) Fix problems in canonical creation (with undo and redo) of connection views for non-owned relationship elements. (16) Add tests for CSS control of canonical synchronization. Fix inability to override CSS canonical style to turn synchronization off on selected views. Bug 461629: [CSS] Diagram refresh undo/redo problems https://bugs.eclipse.org/bugs/show_bug.cgi?id=461629 Implement new DiagramHelper refresh APIs to fix a few problems: - encapsulate synchronous (forced) and asynchronous refresh in new API methods. Deprecate the old methods that required clients to follow several steps. Update various client call sites to use the new API instead of the deprecated API - add corresponding APIs for refresh of individual DiagramEditParts, with similar heuristic for dropping redundant refresh requests - re-implement asynchronous refresh to use a new TransactionalEditingDomain executor that runs tasks as pre-commit trigger commands, to capture any undo/redo information for model changes - implement a new transaction option in the Papyrus editing domain that prevents runExclusive calls creating read-only transactions nested within a write transaction, so that canonical changes ensuing from edit-part refresh during refresh tasks can be properly recorded (without unprotected writes nested in the read-only context) Bug 433206: Papyrus shall enable local synchronization between graphical element and element in the model https://bugs.eclipse.org/bugs/show_bug.cgi?id=433206 (17) Enable test cases unblocked by the fix for undo/redo problems in diagram refresh (being bug 461629). (18) Do not record the edit-part but the view in the SetCanonicalCommand to support undo/redo even if the diagram has been closed and re-opened in the mean-time. To refresh the CanonicalEditPolicy's activation state after execute/undo/redo, the command now searches on the fly for all edit-parts (in all open diagram editors) that present the view in question. (19) Implement a new 'semi-active' state in the PapyrusCanonicalEditPolicy that is its minimally active state. This allows the edit policy to react to semantic model changes to delete views for deleted model elements, where such views are ones that it had originally created by canonical refresh. This relies on new tracking of canonically- created views, which in turn relies on a new utility for digging through complex command tree structures to get the views that were created by them. Includes automated tests for non-transactional refresh creating canonical views, with undo and redo in the semantic model undoing and redoing creationg of the elements that had been canonically created, after the canonical edit policy was (non-transactionally) disabled. (20) Don't forget about views that were created canonically if the diagram happens to be closed and then re-opened. (21) Rework the CanonicalStateListener to support injection of refresh 'pokes' to trigger updates in other dependents, such as the Properties view, when change in canonical activation is detected for any reason. (22) New JUnit tests for: - undo of semantic model change that created a canonical view after canonical edit policy disabled by CSS and close/reopen of the diagram - canonical edit policy's book-keeping does not leak diagram views nor model elements (23) CanonicalStateListener should be auto-retained because it automatically installs itself, and it won't be uninstalled except when successfully released. (24) Fix layout (margins etc.) of Synchronization properties group. (25) Fix concurrent modification in iteration over diagram edit part tree. Rationalize state-transition logic in canonical edit policy. (26) Fix some problems in canonical composite structures (incomplete): - manage connections canonically on border items as well as top shapes - do not include connectors as semantic children of structured classifiers but only as connections/edges of their connected elements - do not create parts of Association type when dropping an Association onto a structured classifier - include notation context in children-strategy query to account for structures such as part-with-port in connectors to disambiguate repeated semantic elements - add canonical composite structure tests (one still failing) (27) Refactor the canonical children strategies extension point ID to make it more meaningful and less redundant. Shave some execution time off the execution of the canonical edit policy tests in the automated build environment where we don't need to see what is happening in the diagrams. This involves a refactoring of earlier infrastructure that detects the build server or local Maven/Tycho build environment. (28) Fix failure to create canonical connection views because source/target nodes that were created canonically don't yet have their edit-parts. The canonical creation of connections is now deferred using the transaction pre-commit executor, exposed as a new DiagramHelper::submit(...) API. Several JUnit tests need updating, both to correct erroneous assumptions on latent bugs now fixed, and also to add UI event-processing in undo/redo scenarios to account for deferred connection creation. Use a DeferredLayoutCommand to improve the layout of the contents added to shape compartments by canonical 'drop', which otherwise would all be stacked on top of one another. Add a new pluggable strategy for determination of the edit-part that should handle creation of views, for cases such as flows in activities where connections must be dropped into contents compartments, not onto either the source or target node shape. (29) Fix canonical presentation of activity flows on pins. Implement basics of canonical synchronization of state machine diagrams. (30) Communication diagram synchronization of messages between lifelines. Requires a new extension interface for pluggable view-children strategies, to complement the semantic-children strategies, because the views that need to be synchronized are labels of connected edges, not the edges themselves. The semantic-children strategy interface is refactored to align with the new visual-children strategy interface, and likewise the determination of existing semantic and visual children in the PapyrusCanonicalEditPolicy. This also removes redundant re-calculation on semantic node children in the second-phase processing of connections. (31) Fix exceptions in synchronization and layout of communication diagrams. Fix regression in canonical deletion of edges. (32) Fix spurious deactivation of canonical edit policy in edit-parts that had had canonical mode (refresh enablement) toggled during execution of some user command. Change-Id: I9c39f74638cb55455e2d8bc42b07e49501ec3ea7
2015-03-11Bug 459427: [Control Mode] Unit tests shall be improved to avoidGabriel Pascual1-1/+1
regression https://bugs.eclipse.org/bugs/show_bug.cgi?id=459427 - Fix Manifest of data project - Change error message to improve its comprehension Change-Id: I2bc4b83235d57be5288612f1218d91475ac87a2b Signed-off-by: Gabriel Pascual <gabriel.pascual@all4tec.net>
2015-03-10Bug 459427: [Control Mode] Unit tests shall be improved to avoidGabriel Pascual1-2/+15
regression https://bugs.eclipse.org/bugs/show_bug.cgi?id=459427 - Refactor tests of Control Mode feature - Add parameter to set location of the submodel resource without UI inetraction - Remove SWTBot - Externalized String Change-Id: I7c2e7a36e719d57cb0683ffdf3389b7d2675efb5 Signed-off-by: Gabriel Pascual <gabriel.pascual@all4tec.net>
2015-03-09Bug 461717: [Assistants] Separate semantic and visual element typesChristian W. Damus1-0/+41
https://bugs.eclipse.org/bugs/show_bug.cgi?id=461717 Add generation of semantic super-element-type reference in generated visual element types. Add an option in the wizard to suppress this semantic supertype reference. Add JUnit tests to verify the semantic supertype in the diagram-specific scenario and its absence in the generic element types scenario. Update the user documentation for the new behaviour and option in the wizard.
2015-02-10[Tests] Add various checks to avoid exception during asynchronousCamille Letavernier1-49/+55
execution of runnables in tests.
2015-02-08451230: Modeling assistants customization for profilesChristian W. Damus4-39/+157
https://bugs.eclipse.org/bugs/show_bug.cgi?id=451230 Infrastructure for dynamically provisionable modeled Diagram Assistants in Papyrus diagrams, based on the element types described by Element Type Configuration models. Includes: - common model for filters - UML-specific filters - Modeling Assistant Providers model - dynamic registry of modeled assistant providers, with extension point for static registrations - GMF modeling assistant provider extension that delegates to modeled providers - Element Type Configurations and Diagram Assistants model generators with wizards, generating models based on UML Profiles targeting specific element-type config models (for a diagram or for UML generally) - Assistants model generation from a GMFGen model for a particular UML diagram - refactoring of JUnit test suite framework for better partitioning of the All-Tests suite-of-suites - automated tests for the filters model, assistants model, assistant provider extension, and model transformations
2015-01-29430548: [Constraints] ConstraintLink not show on diagram after drag andGabriel Pascual1-0/+4
drop from Model Explorer https://bugs.eclipse.org/bugs/show_bug.cgi?id=430548 - Add a test on diagram with handler copy/paste Change-Id: I06cf3cfd683edd6e658c846ecf20ed2ddb2f1898 Signed-off-by: Benoit Maggi <benoit.maggi@cea.fr> Signed-off-by: Gabriel Pascual <gabriel.pascual@all4tec.net>
2015-01-13439888: [Table] Papyrus must provides hierarchical tables + Tree Table for ↵Vincent Lorenzo1-1/+2
Class + JUnit tests : merge a forgotten class
2014-12-08411570: [Diagram] Unable to delete orphaned diagram nodesGabriel Pascual1-71/+122
https://bugs.eclipse.org/bugs/show_bug.cgi?id=411570 - Add several behaviour between selection and delete action - Add TUs Change-Id: Ia8bc3e9a00db22f4e157aa662fababd3a25dc131 Signed-off-by: Gabriel Pascual <gabriel.pascual@all4tec.net>
2014-11-06399859: [Profile Applications] Papyrus shall enable to manage profile ↵Christian W. Damus5-64/+456
applications in separate files https://bugs.eclipse.org/bugs/show_bug.cgi?id=399859 Externalize the UI strings in the control-mode plug-in. (+57 squashed commits) Squashed commits: [31a95fd] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Support basic stereotype repair use cases in decorator model resources. ---- [3eaa4ad] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Improve re-application of externalized profiles for migration scenarios, doing away with hacky internalize and re-externalize steps that make a mess of the ordering of stereotype applications in the resource contents. ---- [fa20519] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Complete the copyright updates. ---- [5af536d] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Pluggable profile-application delegate API makes the private AppliedProfilesProvider redundant. ---- [b1e7f68] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Further copyright updates. ---- [ed0788d] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Now that the required UML2 API is available we can remove work-arounds for access to custom profile- and stereotype-application helpers. ---- [b262c2c] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Fix copyright headers. ---- [c4f04a5] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Support for migration of externally applied profiles to a new version. ---- [1892e18] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Additional slightly less trivial test cases for control-mode refactoring. ---- [7e530bd] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Don't create eCrossReferences() lists that compute and cache derived references that don't need refactoring. ---- [a35a57e] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files The undo of control refactoring for unloaded resources needs the same split treatment as for uncontrol. ---- [83249b2] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Automated tests for control-mode participant for refactoring of decorator models. ---- [d4a5149] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Fixes undo/redo of the uncontrolled refactoring for unloaded decorator models, which when undoing would find that the base uncontrol's undo hadn't yet restored the sub-unit resource in which we need to resolve referenced objects. ---- [46f4998] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Fixes to the automatic saving of decorator-model refactoring in (un)control command: - improve the determination of the editor to save (if any) - ensure that we only try to run the save runnable in the workbench window if on the UI thread ---- [1e65796] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Only prompt the user about save requirement if the control action was UI-initiated. Duh. ---- [75ea465] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Initial support for refactoring of currently loaded and unloaded decorator models that apply profiles directly or indirectly to the packages being controlled. ---- [71dfab4] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Fix errors in Javadocs and allow the control command to re-create a resource that the resource set had attempted to load for proxy resolution but failed because it doesn't exist. ---- [45fe94e] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Packages must also inherit externally applied profiles from their nesting package chain. ---- [24428c1] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Refresh the property sheet for the selected package after externalizing profiles to ensure that the "Applications" tab is showing. ---- [4763809] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Replace "Decorator Model" terminology in the UI with simply "Profile Application". ---- [77c00fb] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Remember the user's last auto-prompt load selections for initial selection on next open of the same resource. ---- [651fe70] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Improve JUnit test coverage of core plug-in. ---- [f2d5e7a] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Add an action in the Decorators property tab for packages to duplicate a loaded or unloaded decorator model with support for filtering out certain profile applications. ---- [37eb425] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Fix failure to refresh diagram for CSS styles affected by loading a decorator model the first time (and ensure all subsequent, also). ---- [1d62d00] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Fix problem in refreshing decorator model names in the Decorators property tab. Fix broken "Don't show this again" options in the load-decorator-models wizard. ---- [8ad5bd0] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Option to suppress prompt to unload conflicting decorator models in the Decorator property tab for packages and instead just automatically unload them (supporting quick switch use case). ---- [dde50a3] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Do not confuse users by showing the "decorator models available" icon decoration in Model Explorer on models that are decorated by the decorator model that the user opened in the editor. Only show the icon for referenced ("library") models that are reachable from such models. ---- [a82eb1b] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Improve liveness of action enablement and other tasks (esp. on the UI thread) that depend on the decorator model index. Implement a general-purpose Jobs-based ListenableFuture to support reporting blocked UI tasks in the blocked-jobs dialog. A few more rename refactorings in the API. Improve JUnit test coverage (and fix problems found by new tests). ---- [1cdaa01] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Implement Decorators property tab for packages that have decorator models, to provide easy access to loading and unloading them. ---- [de1cc1c] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Rationalize the handling of empty decorator models by prompting to delete and deleting all Papyrus model member resources in case of deletion. ---- [9bb18ac] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Never prompt to load additional decorator models when opening a decorator model, even if the user model that it decorates has more decorators available and the preference to auto-prompt is enabled. ---- [b1e3315] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Promote the Workspace Model Index and any-root-namespace content type describer APIs to the infra layer. ---- [f708155] 399859: [Decorator Models] Papyrus shall enable to manage profile applications in separate files Ensure responsiveness of label decorators. Apply label decorations to workspace resources in Project Explorer that are decorator models. ---- [4379197] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files WORKAROUNDS for absence of the required new UML API until it becomes available. ---- [68db5f0] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files WORKAROUNDS for absence of the required new UML API until it becomes available. ---- [0bf4163] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Add missing dependency information to top POMs. ---- [04d0935] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Add new plug-ins to top POMs. ---- [d4346cf] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Releng integration. ---- [40cfc0d] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Fix further refresh issues in diagrams when loading decorator models. When existing stereotype applications are loaded, they won't emit SET notifications for the base_Xyz references. Instead, they eventually emit RESOLVE notifications when their base reference proxies are resolved. ---- [f393d19] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Further API refactorings for 'decorator model' terminology. ---- [a3e9dd4] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Only prompt to load decorator models if opening in an editor. ---- [38885bc] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Refactor for 'decorator model' terminology and move the plug-ins into the main source tree. ---- [63c305e] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Various usability enhancements: - label decorators in Model Explorer and applied profiles in package properties indicating source profile externalization model names - prevent conflicts in externalization of profile applications into existing resources - never present profile application resources as available that conflict with native profile applications - revert ModelSet save change that breaks initialization of model from existing UML resource ---- [c1bb42b] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Profile application externalization wizard enhancements: - remember last file extension entered by the user (in case more than just .uml) - let user specify the model name, when creating a new file - verify that when adding to an existing file, it's a profile application model - include the profile application model name in the index ---- [4d1169b] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Enforce uniqueness of profile applications: prevent loading of multiple external profile applications that apply the same profile to the same package. ---- [ac15898] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Require saving dirty profile-application resources before unloading them. ---- [9ad9b0f] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Ensure that PapyrusListeners see changes in profile-application resources as well as the user-model resources. Fix the PapyrusStereotypeListener to handle unloading of a resource containing stereotype applications to interpret the stereotypes as being unapplied. ---- [4c52edd] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Handle problems in (re)building the workspace model index, add a listener protocol, and make it independent of the UML layer. ---- [402c77c] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Add a label decorator (just a placeholder icon for now) for models that have available unloaded profile applications. Add a preference (enabled by default) to prompt to load available profile applications on opening a model, if it has unloaded profile applications available. ---- [8566806] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Add some JUnit tests for the workspace model index framework. ---- [6f500b8] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Ensure that the user models to which a profile-application model contributes profile applications are loaded when the latter is loaded in the Papyrus Editor. ---- [16a0884] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Enable storage of profile applications in UML resources anywhere in the workspace, even in different projects than the models to which they are applied. Uses a new workspace-wide index of cross references between profile-application resources and user model resources, built at start-up and maintained in the background as the workspace changes. ---- [6fe515d] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Hide profile application models in the Model Explorer by default. ---- [69ef817] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Added context-menu actions in the Model Explorer for loading available profile applications that are not yet loaded and for unloading and loaded externalized profile applications (for any currently open controlled units). ---- [d9bb954] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Initial implementation of separate storage of profile applications and their defined stereotype applications in a separate resource. Includes - externalize profile applications refactoring wizard - internalize profile applications refactoring wizard - load profile applications context-menu action in Project Explorer - unload profile applications context-menu action in Model Explorer - enhanced Profile applications table in Properties view for packages ---- [b8578c3] 399859: [Profiles] Papyrus shall enable to manage profile applications in separate files Propagate standard JDT preferences to the sandbox projects. Signed-off-by: Christian W. Damus <give.a.damus@gmail.com> ---- [ec61dd2] 399859: [Profile Applications] Papyrus shall enable to manage profile applications in separate files Update build dependencies to pick up latest UML2 integration build with new APIs required for profile applications feature. Change-Id: Ifa20519ec3209393c88e0a1ac322eac715e541f4
2014-11-05Merge "446668: [BDD] Redirecting Associations does not move association end ↵Remi Schnekenburger1-1/+33
properties owned by block https://bugs.eclipse.org/bugs/show_bug.cgi?id=446668"
2014-10-22448389: [JUnit Rules] Add a JUnit Rule for bypassing the Transactions inCamille Letavernier2-0/+154
Tests https://bugs.eclipse.org/bugs/show_bug.cgi?id=448389
2014-10-17446668: [BDD] Redirecting Associations does not move association endGabriel Pascual1-1/+33
properties owned by block https://bugs.eclipse.org/bugs/show_bug.cgi?id=446668 - Add correct behavior to reorient association between two blocks - Add unit tests - Fix NPE issue in Association helper Change-Id: I2844f95816b488f244bcbb525bd2a923223993d7 Signed-off-by: Gabriel Pascual <gabriel.pascual@all4tec.net>
2014-08-01[Tests refactoring] Split the plug-in oep.junit.utils to avoid cyclicCamille Letavernier15-1339/+17
dependencies for Fragments - Created new plug-in oep.junit.framework
2014-07-25Merge "437217: [Editors] In-place reloading of model resources in the ↵Christian W. Damus7-63/+678
editors https://bugs.eclipse.org/bugs/show_bug.cgi?id=437217"
2014-07-25371391: [All Diagrams] Papyrus shall support backward compatibility forCamille Letavernier1-26/+26
diagrams https://bugs.eclipse.org/bugs/show_bug.cgi?id=371391 - Add a test for pre-1.0 Package diagrams support
2014-07-25440284: [Tests] Sequence diagram tests run very slowlyChristian W. Damus3-0/+276
https://bugs.eclipse.org/bugs/show_bug.cgi?id=440284 The creation of the diagram for one of the Sequence Diagram suites requires the Outline View, so show it just during the test set-up.
2014-07-24437217: [Editors] In-place reloading of model resources in the editorsChristian W. Damus7-63/+678
https://bugs.eclipse.org/bugs/show_bug.cgi?id=437217 In situ editor reloading. Introduces an IReloadableEditor adapter protocol with an implementation in the CoreMultiDiagramEditor that implements internal destruction of the ServicesRegistry and nested editors. Some refactoring of the initialization and disposal code in the editor class hierarchy and dependencies facilitates reuse of init/dispose code in the reload scenario. The re-loading of an editor is deferred until it is next activated, unless it is already the active editor (can happen when "Save All" is invoked). Editor re-load notifications to dependent views like Model Explorer and Outline. A new listener protocol informs dependents before and after reload so that they may properly dispose of obsolete state and re-initialize when the editor is reloaded. Also ensure that an editor is only reloaded once when some resource that it depends on has changed, not once for each resource. State restoration tokens. Re-load listeners can insert tokens into the re-load event that capture state to be restored after the re-load. Listeners retrieve and apply these tokens after the editor re-loads itself. Current state restoration includes: - tree node expansion and selection state in the Model Explorer view - diagram outline view: which presentation (tree or overview thumbnail) is active - which workbench part is active, such that the correct selection is reflected in views such as Model Explorer, Outline, and Properties - current active diagram in the re-loaded editor - edit-part selections in all diagrams - selection (columns and rows, not individual cells) in table editors - palettes in each diagram (or palette pages when the Palette View is open): * active tool * pinnable stack tool selection * drawer expansion state * drawer scroll position The Palette View support incidentally fixes loss of palette state when switching between Papyrus editors, caused by the PapyrusPaletteSynchronizer. JUnit regression tests for various aspects of editor re-load. Includes a fix for an NPE in the Validation View's content provider that occurs in several tests when an editor is closed or re-loaded. Also support for tests that need to load more than one test-fixture model and/or open more than one editor. Change-Id: Ic0f654ab138d3e091f81f1e9159bcca80d6bb0a5

Back to the top