Skip to main content
summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-09-28[501864] Do not add refined diffs to conflicts of refining diffsPhilip Langer3-101/+143
Refined diffs should not be added automatically to the conflicts of its refining diffs. In case of multiple conflicts, the refined diff would otherwise randomly end up in the last one to which it has been added. This change also adapts the test cases and improves the MultiplicityElementChangePostProcessor to be more efficient. Note that I had to ignore the AdditiveMergeDiagramTests as they seem to fail after this change. Unfortunately, I don't see why. I assume that this is because previously the AdditiveConflictMerger handled the refined diffs if one of its refining diffs was conflicting, but doesn't anymore after this change. Change-Id: Iaadf6c245cbfd69d30f981cd1934e402ecbd605a Signed-off-by: Philip Langer <planger@eclipsesource.com>
2016-07-25Split tests to isolate dependencies to papyrusLaurent Delaigue51-2467/+3
We want to isolate the dependencies to papyrus in dedicated projects/plug-ins so that it's easier to move them to papyrus later on. NOTE: This commit also fixes a test that had been broken by commit 38670759ff (automatic migration of UML profiles), which prevented the suite AllTests from being called. Only AllUITests was actually called, because the opm declared the surefire plugin twice, which is apparently not supported... Change-Id: I389cfb6114a789b7aa4419321a54503dafda0d1d Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-07-01[495259] Add support for UML profile migration scenariosMartin Fleck50-1/+2467
Integrate the model repair capabilities of Papyrus using a resource set hook. For any missing stereotype, we aim to find an available profile definition (EPackage) that provides the stereotype from the package registry. Local workspace profiles are not considered. If possible, we use the ProfileNamespaceURIPattern available in Papyrus since Neon to find a suitable profile definition. Otherwise, we use a distance measure. Extend the UMLPostProcessor to also consider the profile annotation URIs of the origin side. Extend test suite to support resource set hooks and provide more information through the test support class. Includes tests based on SysML models. SysML added to target definition. Bug: 495259 Change-Id: I49e301190f54e825336b0667d618c301e7d7b11e Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2016-06-15Switch to Eclipse mars.2Mathieu Cartaud57-999/+950
Format all non generated classes to get ride of formatter incompatibilities Migrate checkstyle config for checkstyle 6.19 Change-Id: I8c2b31765053a3686de62320f893bedf4ad81d1f Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-06-10[479449] Introduce MultiplicityElementChangesAlexandra Buzila42-40/+1035
Created new UMLDiff type for changes of MultiplicityElements. Contribution also contains PostProcessor that ensures that the conflicts between MultiplicityElements are correct with respect to their type. Includes tests. Bug: 479449 CQ: 11548 Change-Id: I9faefd2dc948b1d2ea8e45ef232e9c82a9285f74 Also-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Alexandra Buzila <abuzila@eclipsesource.com> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-06-07[493527] Correct conflict when concurrently unapplying UML stereotypesMartin Fleck6-6/+113
Test whether the reference change conflicting with the ResourceAttachmentChange refers to a deleted object to determine the correct conflict kind in the DefaultConflictDetector. Includes tests. Bug: 493527 Change-Id: Ib830f326554f2dfea590a3a3e282a56a581e24dd Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2016-01-05[484576] Fix bug on pseudo-conflict computationLaurent Delaigue6-1/+107
All references that pointed to the same object were added to the same pseudo-conflict. Bug: 484576 Change-Id: Iff88dd0d9e573db86bfd26d5a4f1fd51ceca7ba7 Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2015-10-22[475586] Reject sub-diffs of rejected diffs when cascading filter is onAxel Richard5-1/+305
The copyLeftToRight and copyRightToLeft methods will now merge only direct sub-diffs (not all sub-diffs) and these direct sub-diffs will be merged after the merge of the current diff. Bug: 475586 Change-Id: Ic7fdf1bac1847df504f3aa9304552bef008983c2 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2015-10-01Implementation of contextual tooltipsMathieu Cartaud40-17/+445
1) add tooltips for CHANGE, ADD, DELETE, MOVE actions 2) add default implementation 3) add basic implementation for uml and diagram diffs 4) add unit tests Change-Id: I9cbfa42ca256b94a1a5d530d13d993170a67073a Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2015-08-18Bump version for neon M1Laurent Goubet2-2/+2
Change-Id: Ife75c94a24a7be186a1174a3ce0eae66106f281f
2015-06-18Fix UML DanglingStereotypeApplication detectionAxel Richard4-0/+37
The detection was too permissive. Also add a new test to make sure that the problematic case is now solved. Change-Id: Iea5bc99eaa04c8a1d7c836c4b6b74396af6c5d00 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2015-06-18[Tests] Add tests for new UML dangling Stereotype Application conceptAxel Richard9-1/+394
Change-Id: I9ce91b974906b525b803e443b4252d8f3ead27aa Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2015-05-11[466552] Increase priorities of conflict mergersStefan Dirix7-9/+157
Increases the priority of the PseudoConflictMerger to 75 and the priority of the ConflictMerger to 100. This fixes merging issues originating from a too small PseudoConflictMerger priority value. Also offers a lot more possibilities for merger prioritizations by clients. Includes a testcase for UML models. Bug: 466552 Signed-off-by: Stefan Dirix <sdirix@eclipsesource.com> Change-Id: I29f964a47fb80d34cc6546afadab52d45204c12d
2015-03-10[458147] Three-way merging for rejecting opaque element body changesPhilip Langer1-1/+31
Bug: 458147 Change-Id: I5462f6f514efddf5e5a9f12982e015a84fe95743 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2015-01-21[456860] Improve handling of equivalent three-way text changesPhilip Langer1-1/+1
Three-way diffing and patching is not supported by google diff match patch (dmp) and simply applying the patch computed by dmp to the opposite side, as we did before, would cause the equivalent changes to be applied twice. Therefore, we had to re-implement the detection and merging ourselves to support the handling of equivalent changes. We also adapted the test cases and the implementation of the three-way diff and merge to correspond to the behavior of the org.eclipse.compare line differencing and introduced a determination of the currently used line separator in the text, which is now also used when building the merged version. Bug: 456860 Change-Id: I12be9c68eda663e0206c9f230a9faf9631be3275 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2014-12-19[455677] Fixes insertion index of opaque element body values additionsPhilip Langer1-0/+29
Instead of relying on the DiffUtil.findInsertionIndex, which finds the insertion index on a best effort basis and does not know about the connection between language and body values, we now ensure that we always merge the language value first and then select the insertion index for the body value based on the index of the already merged language value. Bug: 455677 Change-Id: Icf3ff278e9ec55f2fc9440f537459d73d7267bb6 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2014-12-19[451365] Removes conflicts and implications of refining diffsPhilip Langer1-33/+27
The AbstractChangeFactory propagates conflicts from refining diffs to refined diffs. For OpaqueElementBodyChanges there is a specific conflict detection, so conflicts of refining changes are not relevant. Especially, since the typcial refining diffs often have pseudo conflicts. If these pseudo conflicts are then propagated to the OpaqueElementBodyChanges, they will be filtered in the structured diff viewer. To address this issue, we now remove all propagated conflicts from OpaqueElementBodyChanges. Also, we used the implies relationship to make sure that the refining changes are handled when the OpaqueElementBodyChanges is merged. However, this had implications on the user interface of the structure merge viewer. To address this issue, we removed those implications but now we have to remove the refining diffs from the merge dependencies; otherwise, when the opaque element body change is merged, AbstractMerger would first invoke the merge of the refining diffs as they are considered as merge dependencies, which causes the merge of the entire OpaqueElementBodyChange anyway, and then pursue the merge of the OpaqueElementBodyChange, so that it would ultimately be performed twice. Therefore, we remove the refining diffs from the merge dependencies by overriding #getDirectmergeDependencies(Diff, boolean). Bug: 451365 Change-Id: Ib61e2564665f83c9d076293706df63e024b29e63 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2014-12-07[451365] Adds specific handling of opaque action, behavior & expressionPhilip Langer51-2/+1998
Opaque actions, behaviors, and expressions all have a multi-valued language and multi-valued body attribute. Their indices have to be kept in sync, because the language value at the index n denotes the language of the body value at the index n. Moreover, if concurrent changes to the same body value are applied, they should be merged using a line-based three-way merge algorithm. If they are not mergeable with such an algorithm, a specific conflict should be raised. This commit contributes support for the aforementioned requirements by introducing a new UML-specific change type, specific conflict detection, and a specific merger. Bug: 451365 Change-Id: I6bf5c786e72a10c56eff7f0faaedd67b77528b4b Signed-off-by: Philip Langer <planger@eclipsesource.com>
2014-11-07Various API issuesLaurent Goubet1-1/+0
Change-Id: I90b2bb9d1264046589c95e505b9c91c52927a317
2014-11-07Add missing copyrightsLaurent Goubet38-0/+380
Change-Id: Idf3ab05962b4f53a66216a0825fa8b9ef28f228a
2014-10-10Modify merge to handle implications properlyLaurent Goubet4-16/+42
This introduces an overhaul of the merging process as a whole in order to properly handle implications (a diff implied by another does not need merging in itself, we only need to merge the implying), most notably for the UML comparison support. The same algorithm is now used to merge differences in a batch (or to simply merge implications, results and equivalences) and to display the impact analysis of a merge in the user interface (what will be merged and what will be rejected when I merge such or such difference). Change-Id: I39f69c05f94b5f18cb3a3c3b1f7089700f138282
2014-10-08Adds tests to load UML profile in NotLoadingResourceSet.Arthur Daussy1-1/+1
It aims to test all most of all possible way to reference a UML profile from a UML model. Bug: 443420,440068, 442334 Change-Id: I94299b9947fd9819d209205615ec04214c712371 Signed-off-by: Arthur Daussy <arthur.daussy@obeo.fr>
2014-10-02Bumping minor for all plugins/features changed since Luna SR13.1.0M2Axel Richard2-2/+2
Change-Id: I52fa8de1837f33e3734a481c058b80e94ce7e168 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2014-08-13Do not use assertSame for int comparison (2)Mikaël Barbero24-170/+91
Change-Id: Iae5a6278c36b3d9a382695012546e208403e2ec0
2014-08-13Do not use assertSame for int comparisonMikaël Barbero33-489/+492
Change-Id: Ia66b0f5d243f33e5aca11f807f4c13359e276a09
2014-08-07Create a parent pom for test (decl Jacoco)Mikaël Barbero1-3/+3
Change-Id: If26d5d7656c0222d06b2c71ed724862153848678
2014-07-18remove unnecessary directive in tests' pom.xmlMikaël Barbero1-1/+0
Change-Id: I9484970dc0861e888da71a95e13405b684be2021
2014-07-17Reworked Maven buildMikaël Barbero1-1/+0
All plugins are now declared in the pluginManagement section with proper version Each module has its dedicated <build> section if appropriate (it avoids to execute source-feature goal for bundles e.g.) Change-Id: Id33a5f556666834ce1cae1fa0775c1fb44457316
2014-07-07Test integration of profiles in EMF Compare.Arthur Daussy2-5/+17
Adds two tests to test the display of static and dynamic profile in EMF Compare. Change-Id: Ide7245bf03651e1850b481cd6b39183ef6b25902 Signed-off-by: Arthur Daussy <arthur.daussy@obeo.fr>
2014-07-07Unit tests for DecoratorUMLProfileItemProviderAdapterFactoryArthur Daussy8-2/+359
Change-Id: I1135a5a577ea98b5f0feb8374e9cb5710b3b24bf Signed-off-by: Arthur Daussy <arthur.daussy@obeo.fr>
2014-07-07Adds custom stereotypes icons.Arthur Daussy16-35/+1096
Adds one icon using Image uml element (see model). Adds one icon using ItemProvider (requires the first generation of the EMF.edit code). Change-Id: I829b5ddf2d5ecfef81f401ee51776d9172bdf507 Signed-off-by: Arthur Daussy <arthur.daussy@obeo.fr>
2014-07-01Bump versions to 3.1.0 on masterLaurent Goubet1-1/+1
Change-Id: I7510c38530fe981210fb2868cafdffdf46178d92
2014-06-26StereotypedElementChangePostProcessor unit tests.Arthur Daussy17-13/+1875
Change-Id: If1b33aaf6c97d6dfe3999fc768bedc4b74c1690b Signed-off-by: Arthur Daussy <arthur.daussy@obeo.fr>
2014-06-26Regenerates EMF Compare static test profile.Arthur Daussy16-157/+1611
Regenerates the test profil to add 2 stereotypes. Updates to UML 2.5. Updates to EMF 2.10. Change-Id: I89996f74abe751ba8db06e7565cfa4a33345fef9 Signed-off-by: Arthur Daussy <arthur.daussy@obeo.fr>
2014-06-02Add Guava 15 to the accepted rangeLaurent Goubet1-2/+2
Bug: 436286 Change-Id: If009bbb3e1a62d853fe0eb9dda543b090e100d9a
2014-04-15remove legacy junk in UML2 testsLaurent Goubet35-316612/+1
Change-Id: Id864377fa854241390fc140e651eaa5d9fc46ddd
2014-03-27Update Luna target file to M6Axel Richard8-465/+100
- also remove ecoretools from the maven luna profile - set bounds to o.e.e.c.diagram.ide.ui.ecoretools dependency to ecoretools [1,2) - remove the ecoretools plugin from the update site - remove UML2 and papyrus extensions for Kepler. Master is now requiring UML 5.0 Change-Id: I4b967471f3f021af34607cee1fc7f72fa3ae44aa
2014-03-13normalize EOLs throughout EMF CompareLaurent Goubet106-12968/+12968
Change-Id: Id5c04a761fa352da0cbad42a018ba7966c701856
2014-02-17[418163] Manage display and merge of UML Stereotype PropertiesAxel Richard7-35/+205
Manage display and merge of Stereotype Attribute & Reference changes Bug: 418163 Change-Id: I52fa6a0fb1f2c5566a8a16f57c0ac280a0701601
2014-01-31reverting BREEs to Java 5, and versions along with themLaurent Goubet4-7/+7
Change-Id: Ic27bfaa4fdf4bf1368cec610b1b1f34ddb68eaf5
2014-01-30Cleanup for version bumpingLaurent Goubet2-3/+3
- Bump versions to reflect minimal BREE change - Fix as many warnings as possible - Make sure our @since reflect the correct versions Change-Id: Ifb30b655f17ef2420ea5ca69c528910bd51e7649
2014-01-29Change BREEs to Java 1.6 and activate API error for missing descriptionsLaurent Goubet3-377/+377
Change-Id: Iead5dbf879f0cae1702a125aa791b73f02bb387b
2013-08-19Prepare for version 2.22.2.0M1Mikaël Barbero2-3/+3
2013-07-31Detection of change of profile version.Cedric Notot50-351/+727
For UML dynamic models, we checks we have the same profile version between the 2 sides. For that, we compares the URI (fragment) of the generated EPackage (in the profile) referenced from each profile application. If it is different, then the profile application bases on a different profile definition and a RuntimeException is thrown. To test this, a refactoring of the UML test framework was needed to correctly initialize JUnit tests with the registration of the EPackage (profile) and the map to find the profile location from this EPackage in static cases and not to do that in dynamic cases. The end-user is warned from the profile version difference by a message dialog. Change-Id: I67e7ef8b90aca100440818bcf76ef87cfd036be9
2013-07-12[410737] preserve ordering even for equivalent differences.lgoubet1-9/+0
We need to check both equivalent and implied (or implied "by") differences. This allows us to "catch" issues with EMF automatically merging elements in their target lists while disregarding order. Bug:410737 Change-Id: I32b7c703d8069973ab8d6d90c0eb6a14ccee35a3
2013-07-08A macroscopic change for differences on UML DirectedRelationship.Cedric Notot11-53/+70
Like changes on UML associations, a macroscopic change must be created for changes on DirectedRelationship elements. Without this macroscopic change, the add of an incoming reference to the DirectionRelationship (Generalization for example) will add the DirectionRelationship itself but not the potential outgoing references from it (Generalization#general for example) which are integral part of the related concept. So, the add of a graphical edge which represents a UML generalization will involve an inconsistency in the business UML model. That's why it is required to encapsulate all the differences related to a DirectionRelationship change in a macroscopic one. The requirement link will be automatically computed between this one and other ones. Bug: 406405 Change-Id: I6c624a913bcf993b666421ba8fae868e0b2ae753
2013-06-21Filling of the implication link with UML subsets.Cedric Notot18-120/+3159
Like equivalences, the merge of a difference may imply the merge of other ones. But, contrary to equivalences, this implication link is unidirectional. So, if A implies B, B does not imply A. In the context of UML, references can be defined as subset of other ones. So, the merge of the add of a reference which is subset of another one implies the add of this last one. In the same way, the delete of a reference which is superset of other ones implies the delete of these last ones. Note that some superset references can be defined as 'union' (that is to say that each superset reference is in one of the subsets). Union supersets are derived, so they are not managed by EMF Compare. The implications are set in Diff#implies and Diff#impliedBy. The reference merger of EMF Compare scans these links to mark as merged the impacted differences without merging them (because the merge itself will be managed by the 'meta-model'). Change-Id: If3a62076c3569b1ba0aa4628c657765cd8ad7711
2013-06-19Fix requirement link between a unit difference and a macroscopic change.Cedric Notot2-4/+4
It is required to build a requirement link between a unit difference and a macroscopic change to delete all impacted objects (in a macro object) by a delete of a unit object. For example, the delete of a UML Class involves the delete of the "element" reference coming from a GMF Node. This last difference is embedded in a macroscopic change (the delete of the set of the related GMF nodes representing a graphical object). So, the delete of the unit UML Class requires the delete of the macroscopic graphical object. This link is built in the same way as the one between 2 macroscopic changes. Change-Id: I2dac280c573ac7805a0080b0044c749bfab5fc02
2013-06-19Deprecate use of EMFCompare#createDefaultScope(...)Laurent Goubet24-402/+190
Change-Id: Ie4af0c2180a6df04bad8edeba038e6dd1141cf63
2013-05-24Add test to check intersections between macroscopic changes.Cedric Notot23-0/+87
Change-Id: I7915478e1dee60e34caa0996fa72482ab9a9f5e9

Back to the top