Skip to main content
AgeCommit message (Collapse)AuthorFilesLines
2017-01-09Bug 508512 - [Core] respecting maven conventionFrancois Le Fevre5-5/+10
-adding pom.xml -adding the schema in the header enabling to remove the warning in eclipse Change-Id: I8ab35fb6c6a696c5feb44aa5236db1c02e86f08e Signed-off-by: Francois Le Fevre <>
2017-01-03Bug 509346 - [Facet] Order of loaded facet should be savedBenoit Maggi1-30/+38
- store the facet in an Array - reload the facet order - remove very old commented code Change-Id: I199d824a3cccc8ebee26a139b5ee22648ca47815 Signed-off-by: Benoit Maggi <>
2016-12-16Bug 502533: [Property View] Property pages generated for DataTypeNicolas FAUVERGUE5-0/+683
shall be improved - Modification of the compliance of the uml.nattable plugin to use PapyrusObservableValue not deprecated. Developed by Fanch Bonnabesse. Change-Id: Ib2c5436de26a256ac136715a58de716bd816da2c Signed-off-by: Nicolas FAUVERGUE <>
2016-12-05Bug 508678 - [Table][Internationalization] Click on table column headerNicolas FAUVERGUE2-2/+4
open an exception - NPE with uri management. Change-Id: I7c2bf6042f2e34f207827c46f480789be5721502 Signed-off-by: Nicolas FAUVERGUE <>
2016-12-05Bug 508675: [Internationalization] SysML Creation model is brokenNicolas FAUVERGUE1-1/+3 - Add to resource only if readable file. Change-Id: Iab7db2a440480723cef66940a5fb6520a548eb20 Signed-off-by: Nicolas FAUVERGUE <>
2016-11-30Bug 507654 - [Palette Customization] Exported Element type model areMickael ADAM3-10/+31
wrong - Fix issue Plus: - correct selection dialog of palette configuration layers - for some use of tree selector dialog - Add constraint to flat tabulation: - Don't display tab in selector dialog when the contentProvider is flat Change-Id: If547f0f8101d56dacc1b2dc488f71a2d8550e792 Signed-off-by: Mickael ADAM <>
2016-11-29Bug 496905: [Diagram][ModelExplorer][Table][Dialog] Papyrus must integrateNicolas FAUVERGUE6-56/+130
the internationalization feature provided by UML. Commit of infra for internationalization. Change-Id: I1b1859bf111e1ef7a7522212fbe639cf2bd13890 Signed-off-by: Nicolas FAUVERGUE <>
2016-11-09Bug 500869 - [Widget] Select Element Dialog should be improvedMickael ADAM4-37/+272 Change-Id: I29e26992c5bf99aaf145d9046254f93964206309 Signed-off-by: Mickael ADAM <>
2016-11-08Bug 507241: DependentEMFLabelProvider does not support unsubscription during ↵Christian W. Damus1-0/+3
notification Support addition/removal of listeners on the ForwardingEMFLabelProvider during iteration of its listeners (usually for notification broadcast). Change-Id: I516e1e57ece304c81874f4fd80e7751eaa727743
2016-09-07Bug 500990: [Indexer] Deadlock on IndexManager blocks label decoration and ↵Christian W. Damus2-8/+4
Papyrus editor Move the start-up of the index manager from a static initializer (which causes deadlocks in threads accessing the IndexManager class in a race) into the job that creates the index manager in the first place. (cherry-picked from streams/2.0-maintenance) Change-Id: I86af3cd2e1376fcda760bfe16872220d64fb1441
2016-09-01Bug 482669 - [Palette] New Palette configuration models shall beMickael ADAM65-66/+2865
editable with an advance UI Patch set 27: - rebase & maj dependency version Patch set 25: - Fix dependency version Patch set 24: - update version to 3.0.0 or 2.1 - take into account of new elemntType version (no more Ids) - refactor ProdileWSModelIndexer to use URI Patch set 23: - rebase - remove CustomElmtTypeFactory Patch set 20: - Fix missing id in manual created advices Patch set 17: - Fix bugs from NiF review patch set 16: - Fix a bug of drag a stereotype then a metaclass => NPE patch set 16: - fix ProfileWorkspaceModelIndex - add shouldIndex(IFile file) to IndexHandler patch set 15: - fix a Patch set 14: - some minors fixes Patch set 13: - Finalize properties view for actions - implements validators. - Adds plugins to oep.customization.feature Patch set 12: - implement properties view for SetValue Advice, SetStereotype and Runtime advice. - new Explorer dialog(Stereotype, Profile, GenericElement) -... Patch set 11: - final implementation of apply stereotype action properties view - fix feedback from NIF previous review. - fix enable button of generic multipleValueEditor - Styled text for stereotype explorer - add profile explorer - add stereotype attribute explorer - many fixes Patch set 10: - Move created plugin in customization feature Patch set 9: -Fix pom dependencies Patch set 8: - implementation of property view for StereotypesToAplly of Action. - create a Icon Value editor instead of IconDescriptor - Create stereotype selection dialog which display all available stereotype - Create Profile workspace indexer Patch set X: - create StringWithClear Editor - rename property plugin - remove assistant and newChild implementation for palette - use of icon 12*12 from oep.infr.widget Patch set 5: - Fix pom file Patch set 4: - inlude all changes from palette customization branch Patch set 3: - Adds clear filter button for icon explorer. - Adds some newChild management requirement. Patch set 2: - Gets all declared advice kind in add actions. - Adds icon+description to AdviceKindExtensionPoint. - Adds createAdviceBindingConfiguration to AbstractAdviceBindingFactory. - Gets default actions EMF properties view when no View defined in ctx - Manage action buttons enable. Patch set 1: - Adds actions management - Adds properties View for adviceConfiguration - Adds ctrl+clic to create old local palette Conflicts: plugins/uml/properties/ Change-Id: I1f5caeb9eb411df2886f29ae02d807bb69b79be2 Signed-off-by: Mickael ADAM <>
2016-08-28Bug 443799 - Fix potential bugs identified by FindBugs in oep.infra.*Florian Noyrit16-189/+63
Bug 499554 - Oxygen release version number moved to 3.0.0. Change-Id: I8e112db7175a5b89eb9b37973639627a6c29e007
2016-08-23Bug 497865: [Control Mode] UI for dependent controlled unitsChristian W. Damus6-96/+452 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-22Bug 500046: [Control mode] Deadlock possibility at startupChristian W. Damus7-8/+162 Ensure that the Papyrus editor matching strategy can never cause deadlock by hitting the full cross-reference index only when it is already available. In the case that it would be necessary to wait for the index to be calculated, fall back to the on-demand index. This uses a new general-purpose "ifAvailable" operation in the index internal API, which can be used to provide similar capabilities for the other queries (currently it is used only for the get-roots operation). Change-Id: I2dcd691de49d33f485dce2a4f330dbbf4c2b96b1 (cherry picked from commit 94857e522ad27dc109d2b837cdc24991634f7cec)
2016-08-04Bug 492891: [Table] Link with editor: different behavior of diagrams andNicolas FAUVERGUE1-1/+1
tables - The owner of table can be modified and the context can't be modified - Add the 'Table', 'Appearance' and 'Paste' tab in properties view when an the table is the current editor This looks to correct other bugs: - Bug 492605 - [Table][Properties][usability] error message "Properties are not available" - Bug 492615 - [Table][usability] inconsistency of properties view N.B: The 'invert axis' button doesn't work correctly, but another gerrit manage it Change-Id: I9d22713e81bf865bc59fbd10a34b270e75aa5037 Signed-off-by: Nicolas FAUVERGUE <>
2016-08-04Bug 491783 - Change the ElementTypeConfiguration metamodel to make theFlorian Noyrit4-40/+12
before and after reference directly AdviceConfigurations. Change the interpretation accordingly. Bug 497481 - Change the ElementTypeConfiguration metamodel to replace string-based references to specialization by Ereferences in SpecializationTypeConfiguration. Change the interpretation accordingly. Update oep.infra.types.doc accordingly. Change-Id: I13284a6a74fe3d86427b19424a9b8c4caed01d89
2016-07-22Bug 498359: [Index] UI deadlock in model save scenarioChristian W. Damus1-2/+4 Provide the current state of the index immediately when requested while the current thread is processing resource changes. None of the re-index jobs can proceed to modify the index, so it is as good and consistent a picture of the index as can be provided and otherwise we would deadlock. Change-Id: Ia0445d4712e6d8ef74c866e5354f308544a0670b (cherry picked from commit b85f2af18637995fa532b51b474d2b75149d25df)
2016-07-16Bug 498007: [Index] Race condition in start-up of WorkspaceModelIndexChristian W. Damus1-6/+22 Handle asynchronous assignment of the index's manager reference. Change-Id: I79566fffda199305f88fa18ac4ee2b9f89348b73 (cherry picked from commit da91182f1bf0cd0854c6634e7df601fd516e28f5)
2016-07-13Bug 496299: Controlled Units as Integral FragmentsChristian W. Damus21-794/+4330 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-07-10Bug 496307: [Profile Migration] Restrictive package pattern matchingChristian W. Damus1-11/+0 Mark the new internal 'uripattern' package as internal in the manifest (it is not API). Change-Id: Ia91a540767b38feb0c4585462fe3054ffa34a93f
2016-07-08Bug 474467 - [GMF Connector] Papyrus editors title do not update whenAsma Smaoui1-0/+25
their label change avoid ConcurrentModificationException Change-Id: I4fbb176d91869297b2085f0bcf921b7215b44527 Signed-off-by: Asma Smaoui <>
2016-07-07Bug 497497: WorkspaceModelIndex doesn't limit number of jobsChristian W. Damus3-5/+4 (cherry-picked from streams/2.0-maintenance) Ensure that there is only one pool of job allocations by not creating new semaphores for those allocations on every run of the job wrangler. Change-Id: Icd8b400361c57ce72617c5dae5eb537bcfe450b1
2016-07-07[Releng] Bug fix versions should be x.y.100 on master.Christian W. Damus2-2/+2
Change-Id: Ieb8f759719ff9d08dc2b0f5d187133ad0fd8ea77
2016-06-28Bug 495394: Reveal first match according to text in filterPhilip Langer1-15/+72
The EMFGraphicalContentProvider will now find and reveal the first element that matches the given filter. To avoid bad performance when searching for the first matching element, we "just" unfold the first matching item in the already filtered tree viewer. Even for large models this should be quick, as it will be only take the cost of getting the matching children (by expanding the parent) for n times, whereas n is the depth of the tree to the first leaf element. To avoid stackoverflow errors in infinite tree, we use a maximum depth cap of 15. Change-Id: Ie15b67366407423049c9735032b94cb2131b657e Signed-off-by: Philip Langer <>
2016-06-24Bug 496598: [Utilities] CommandTreeIterator does not follow wrapper chainsChristian W. Damus2-2/+2 Update bundle versions for EMF GMF fix. Change-Id: I6f53d116a8c1a10f39f3c0ed91fd3ea05fcf7987 (cherry picked from commit 2f504974d0cc3f922ca0290b6d21ac881948f283)
2016-06-23Bug 496598: [Utilities] CommandTreeIterator does not follow wrapper chainsChristian W. Damus1-3/+3 (cherry-picked from streams/2.0-maintenance) Ensure recursive unwrapping of nested wrappers in the tree walk. Change-Id: Id6d87afb5aaf81a75b2ecf59669de99ee6eea780
2016-04-29[infra]Remove unmaintained/outdated plugins that are not part of theFlorian Noyrit153-17458/+0
build from the repository. Contributing to Bug 485220. Change-Id: Icd4780961a2e084f28303b64fa43684906c0b8ee
2016-04-18Bug 491542: [All Diagrams] Undo doesn't work with RuntimeValuesAdviceChristian W. Damus1-2/+47
dialog for creation 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-12Move elementtypes definitions that are not model-based to model-based. Florian Noyrit3-38/+44
Change-Id: Ie8ffcdd5571799ac8bc7793c9606befb06b19fa5
2016-04-11Bug 491478: [Element Types] RuntimeValuesAdviceEditHelperAdvice ignores ↵Christian W. Damus1-137/+142
dialog cancellation Check the edit dialog's return code and only complete the command if the user pressed OK. If there was no dialog shown, then the default result is OK. Change-Id: Ie2634ebb0299f65ecf72aead29176e9801f45925
2016-03-03Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus17-7/+1155 Complete the configuration of PDE API Tooling in the Papyrus Main and Developer Tools projects, including: * adding the API Analysis nature and builder to .project where it was missing * adding a new menu action in the dev tools Project Management menu to ensure that all Oomph version-management projects in the workspace have API analysis also * fixing API version analysis problems, mostly by upversioning bundles to 2.0 but also applying API filters in some cases where it seems appropriate * implementing project-level API Analysis preferences for warning severity of missing @since doc tags (the default is error) and adding it to the Oomph project preferences management Change-Id: I3f5fad20ffc7bb66eec0abbb86b5cc52aacb1ff1
2016-03-02Bug 474467: Papyrus editors title do not update when their label changeChristian W. Damus4-308/+599
Add support for propagation of label-provider change events for labels that are dependent on other elements' labels. Implement such a dependent label for all notation views supported by the Viewpoints mechanism that have no names of their own, including * unnamed Diagrams * unnamed Tables Now that the table label provider depends on table prototypes, the broken prototype references in editor reload tests need to be updated (they were missed in the refactoring when all of the prototypes were removed from the builtin Viewpoints configuration model). Change-Id: I8a9c361129c996188f87ac2851db39e0f66f3acd
2016-02-24Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus27-2016/+2159 Implement version management: PDE API Tooling and Oomph Version Management. Introduce two new plug-in projects to manage versioning using Oomph: * org.eclipse.papyrus.releng.main.release for the Main bundles and features * for the Dev Tools Add new menu actions to the Dev Tools: * main menu bar: * synchronize POM and manifest versions * "Configure" context menu on bundle projects and MANIFEST.MF * optimize bundle dependencies and re-exports * update dependency version ranges to match current workspace and PDE target Remove obsolete menu actions from the Dev Tools: * main menu bar: * Set all Papyrus feature versions * Set all Papyrus plug-in versions * Set versions of all Papyrus dependencies in Papyrus plug-ins Fix versioning errors reported by PDE and Oomph. Ensure proper version ranges consistent with latest build target. Optimize the dependencies of all Papyrus Main bundles and Dev Tools. Remove version- and reexport-checking tests in the BundlesTests that are now not needed because, on the one hand, we now implement discrete bundle versioning (managed by PDE/Oomph) and on the other, we now use re-exports properly to ensure classpath consistency in clients of a bundle's API. Thorough overhaul of the "project editors" API, including: * rationalize the API interfaces * refactor the all-in-one PluginEditor class from the customization bundle to the project-editors bundle * update clients in the Customization and DSML Validation components * fix a bunch of operations that didn't work * add missing operations required by the new Dev Tools actions * complete some unimplemented APIs * add a comprehensive JUnit test suite covering all of the project-editors API Change-Id: I6a699d93909f61099226ceb994140f03ea99a70f
2016-02-23Fix about.html for oep.infra.emf.types and oep.infra.types. Florian Noyrit1-1/+3
Change-Id: I796f879ebcd1f35931159204d82b3617c8a339a3
2016-02-22Bug 487480 - Refactor elementtypesconfiguration frameworkFlorian Noyrit161-0/+12010
Insert a "oep/infra/types" layer to host the core elementtypesconfiguration framework. Move UML elementtypesconfiguration extensions to "oep/uml" Move EMF elementtypesconfiguration extensions to "oep/infra/emf" Move elementtypesconfiguration tests to oep/tests/junit/plugins/infra/types Rename all elementtypesconfiguration plugins (core, dev, tests and extensions) and corresponfing packages to shorter qualifiers as follows: oep.infra.elementtypesconfigurations -> oep.infra.types.core and oep.infra.types oep.infra.elementtypesconfigurations.edit -> oep.infra.types.edit oep.infra.elementtypesconfigurations.editor -> oep.infra.types.editor oep.infra.elementtypesconfigurations.ui -> oep.infra.types.ui oep.infra.elementtypesconfigurations.invarianttypes -> oep.infra.types.rulebased oep.infra.elementtypesconfigurations.emf -> oep.infra.emf.types oep.infra.elementtypesconfigurations.emf.ui -> oep.infra.emf.types.ui oep.uml.elementtypesconfigurations -> oep.uml.types oep.elementtypesconfigurations.developer -> oep.infra.elementtypesconfigurations.tests -> oep.infra.types.tests oep.infra.elementtypesconfigurations.ui.tests -> oep.infra.types.ui.tests Change-Id: Iad7f5689b183e6ad29daab06a1cc2858ee408aa7
2016-02-13Bug 485220: Fix simple metadata problems in new bundleChristian W. Damus3-2/+4
2016-02-13Revert "Bug 485220: [Architecture] Provide a more modular architecture ↵Christian W. Damus7-8/+0" This reverts commit f050d4119a2316b27588076d4fc90152773fc019.
2016-02-13Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus7-0/+8 Fix build failure to resolve bundles in referenced p2 repositories by restoring the missing <groupId> elements in the POMs which, as it turns out, are not inherited from the parent module, despite what the m2e validator says. Change-Id: I62dacc9c70c940d28c3c02e1e35c8f874a7d3df0
2016-02-12Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus40-705/+4454 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 bundle to a new 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-23Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus8-0/+230 Fix regression caused by removal of the EMF Facet content-provider handling in the EMFHelper::getEObject API. The facet tree nodes don't provide the object that we need as their EObject adapter, so we introduce a new generalized service for resolving EObjects. Also fix the failure to run the Profile Drafter tests in the build, which aren't in a fragment bundle but actually a plug-in bundle.
2016-01-22Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus1-3/+3 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. Damus66-1404/+1878 Move UI-dependent APIs from the org.eclipse.papyrus.infra.emf bundle to a new org.eclipse.papyrus.infra.ui.emf bundle. Accordingly move tests into a new org.eclipse.papyrus.infra.ui.emf.tests bundle. Now that we have an UI EMF bundle, move the editor-page advices from the infra.ui bundle into it, which is a more appropriate home for them. One UI dependency is removed by reordering of code in the EMFHelper::getEObject(Object) API: * the EMF Facet tree elements are once again IAdaptables, providing their encapsulated EObjects or EReferences as adapters. So, the case handling IAdaptable is moved ahead of the test for is-an-EObject because these tree elements are also EObjects but are not interesting in themselves Also, the dialog-settings for the EMF Facet customization manager are moved into the infra.ui.emf bundle, as is the lazy initialization of the manager from those settings. Clients are refactored to get the customization manager from this new bundle (via a new ProviderHelper API) to ensure this lazy initialization. Various UI-dependent ServiceUtilsForXyz classes that were in the infra.emf bundle but had nothing to do with EMF are moved into the infra.ui bundle. UI-dependent classes from the org.eclipse.papyrus.infra.emf.readonly bundle are moved into the org.eclipse.papyrus.infra.ui.emf, also. These include extraction of the editor reload listener from the ReadOnlyManager class by means of a new general-purpose IReadOnlyManagerProcessor OSGi service interface. Tests all still pass (inasmuch as they do in the nightly master builds). Change-Id: Ieb0993b2ed1a7a49890d3471c7b42bc4f218fec6
2016-01-22Bug 485220: [Architecture] Provide a more modular architectureChristian W. Damus13-421/+56 Move UI-dependent APIs from the 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 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-06Bug 485220: Remove some unused dependencies in infra layerChristian W. Damus2-16/+1 Simple removal of dependencies declared in the manifests of infra layer bundles that aren't used by those bundles. Some of these dependencies are invalid (UI dependencies in core bundles, misplaced UML or GMF/GEF dependencies, etc.) that confuse the architectural analysis.
2016-01-06Bug 485259: [Performances - Properties View] Opening a Reference browserCamille Letavernier1-1/+1
is slow on big models Change-Id: Icb6dbe05b31b342c9c6271ef4f1b4bc1a39a0c40 Signed-off-by: Camille Letavernier <>
2015-12-08Bug 469188: [Editor] Page management improvements in the Papyrus multi-editorChristian W. Damus1-28/+76 This is a squashed commit comprising all of the changes on the committers/cdamus/469188-editor-welcome branch for the introduction of a Welcome Page in the Papyrus Editor. commit 51d64a198c2069b208b5231212a5514441514c54 Implement drag-and-drop rearrangement of the sections in the simple grid-wise layout of the Welcome Page. Persist the user's customization in the sash/di resource with the sash model, using new classes in the Welcome package. commit b59f057cf1e08b51942aac1f45226a304c48039e Fix enablement condition for Show Welcome Page action which has been broken since the page was changed from an editor to a plain composite. commit 69cee20b44c699c6a078e66bf9b16a83c1de7315 Remove the databinding properties APIs for Forms widgets that are no longer needed since the NatTable refactoring of the Diagrams table in the welcome page. commit 00cfdd106421c0b1366c2a7deade819b4a3041ef Add table of languages to the General section in the welcome page. Add section of hyperlinks to related views to the welcome page. Implement ordering of the contents of the welcome page according to tab 'afterTab' relationships and priorities. Overall the layout is still two rows with a variable number of columns. commit a7d739b8e03bea5d4cf5e4d0d3663adbc62f5018 Let the SashModel report to listeners when its storage mode changes so that the two different UI presentations of that mode can remain up-to- date at all times. commit 7fc4f8bf1f0fcee31f84b976e29cd7b3848ec47d Ensure that new models initially track the active page of each tab folder because they store their layout privately by default. commit 6d5dbf27a4428645655bcf6ff9a99d4a3c77dcb8 Implement optional tracking of the active page in the private sash model and switching between private and shared storage of the layout. Includes: * enhancement of the Sash DI model to include a currently selected page for each tab folder and a boolean flag whether to restore the last selection in each tab folder * a new editor lifecycle event for "pre display" to provide a hook to set up the page activation before the SWT controls are rendered, so that the editor doesn't open up and then change page selections while the user watches * expose the SaveLayoutBeforeClose behaviour for re-use when changing layout options in the welcome page * update enablement from editable-ness for Properties widgets that force refresh commit 97897b3d0d295a71a7173a584ceda3ac24c5c6ea Factor out some more common bits into core plug-ins (e.g., the IsWelcomeElement constraint in the properties environment). Create the list of tables in the welcome page. This requires some renaming of properties model content in the diagrams list for disambiguation. commit f73fe34e87c915cc603ec12c608c020406ea7d73 Refactor the Diagrams table as a reusable NatTable of hyperlinks. commit a6308f25a8c6e6c129174e9c418cb90e6f025e16 Move the column headers of the diagrams table out into a separate composite that does not scroll vertically with the table of hyperlinks (though it does track the table's horizontal scroll position). commit 0425bf34630e4420db3674fa8d4641820a305478 Add a separate preference page for Welcome Page Content. This depends on a new extension in the context registry for association of contexts with preferences pages (by default, associating legacy contexts with the Properties View preference page). commit 06719c107a3f323be53ca6ada4f820f2d4ef10cb Rework the contribution of welcome-page content to: * eliminate the custom extension point for section providers * use the Properties View framework to obtain welcome-page sections for the Welcome model element Update the Diagrams table provider as a property section for the Welcome model. This involves implementation of a custom table-of- hyperlinks widget. Several reusable data-bindings classes are added to the appropriate Papyrus infra-layer bundles. commit 4069f62cc89413b8739cc6c33211ac5a11942bc4 Welcome page content for diagrams. commit 8599ee6bdf7b2c7423811fee3e2441a618621ce4 The Welcome Page doesn't need to be an editor, just a composite. So, let any page part (including simple composites) be optionally closeable and change the WelcomePage into a simple composite part instead of a nested workbench editor-part. commit 83b581ea9aadb5b852b36b2fa0524ca7df60b255 Initial definition of an extension point for welcome section providers. commit f949eaf6cf131449f4584b71072033b22cd1cea2 Initial implementation of a (so far, empty) Welcome page that is always open when no other Papyrus editor pages are open. Change-Id: I351118dc0b6a0dea505719a8c62ef430c273c7cf
2015-10-02Bug 454406 - [All diagrams] Cannot draw context link from existingashatilov1-1/+1
constraint Change-Id: I12a6f5a06a5cde65b192f6aa945d4b63fc948ebe Signed-off-by: ashatilov <>
2015-08-21[releng] Neon-1.2.0 modification step by stepQuentin Le Menez12-131/+114
Change-Id: I9126d707fecad85c9b5384b35074deba995b6527 Signed-off-by: Quentin Le Menez <>
2015-08-19475388: [Helpers] Papyrus helpers (EMF, Notation...) should rely on theCamille Letavernier1-2/+7
AdapterFactories instead of IAdaptable Change-Id: Ifff4c1a0fa0ca9ba697f68e0dce4de882d96449d Signed-off-by: Camille Letavernier <>
2015-07-28Bug 473154: FileNotFoundException in LocalFile.openInputStream (369)Christian W. Damus1-2/+7 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

Back to the top