Skip to main content
summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-11-02[506723] Fix merge dependencies for cascading diffs3.3.03.3Mathieu Cartaud1-11/+15
Bug: 506723 Change-Id: Ibd5a0eea9dcbc797117303c56e9f0dd5ac5d9e87 Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-24[506344] Multiple TooltipProvider instantiated for each difference3.3.0M3Axel Richard6-16/+25
Check for existing adapter before adapt to ITooltipLabelProvider in MergeAction#contextualizeTooltip. Bug: 506344 Change-Id: I884c904d65b5493b5ac9e2290d49f61cbf80a0c1 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2016-10-24[506299] Match Node displays "Match" after mergeAxel Richard2-2/+47
Use new adapter MatchOfContainmentDiffAdapter to retrieve significant label after a merge that leads to delete related object. Bug: 506299 Change-Id: I0c027dc641552877f3758086cfb3c0ef537b0c20 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2016-10-21[501569] The cascading filter does not hide merged cascading diffsAxel Richard10-19/+274
Add new adapter (MatchOfContainmentDiffAdapter) to Matches related to containment diff. Use this adapter to fix bug 501569 on the cascading filter. Bug: 501569 Change-Id: Ie07bf3be141b656ca53f526960cdb1ff9cf0b2f4 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2016-10-17Refactor OverlayImageProvider to use StringBuildersMathieu Cartaud1-11/+11
Change-Id: I3f2bbc0c86579b8f614349c9f566afa2e466e384 Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-17[505986] Fix decorator on conflicting refined diffsMathieu Cartaud1-8/+15
Refined diffs that are not in a conflict but have at least one of their refining diffs (recursively) in a real conflict should have the conflicting decorator. They should have the pseudo conflict decorator if all their atomic refining diffs are in pseudo-conflict. Bug: 505986 Change-Id: I6957e28f05d98ae9c327c0f65fbd5dc29a24d8ec Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-17[505950] Fix filter not hiding directly pseudo-conflicting diffsMathieu Cartaud9-27/+146
Bug: 505950 Change-Id: I21b12daa33ec8b536bf49da2337c54e2890be1fe Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-17[505983] Pseudo-conflicts should be real on ADD/ADDLaurent Delaigue10-241/+184
When adding matching objects in differents indices in a list, all the diffs were marked as pseudo-conflicts. At least some of them should be real conflicts. This patch fixes the issue by marking all such diffs as real conflicts but it should be possible to improve it to have some of them marked as pseudo where it would make sense. Code shared by default conflict detector and match-based conflict detector is extracted into MatchUtil to reduce duplication. Bug: 505983 Change-Id: Icca55a1fcccc08cd5d858639d4c6dd8734f327a9 Also-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-10-17[505994] Fix cascading filter on refined diffsLaurent Delaigue6-3/+225
Refined diffs that are not in direct conflict but have at least on refining diff in REAL conflict should not be filtered out by the cascading filter. bug: 505994 Change-Id: Ife2ccc3d6319e381c16d5d2a5a68295e7a73ac6a Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-10-13Fix Additive Merge testsMathieu Cartaud1-7/+19
Change-Id: I68228bc60e79ba94458e5f16f6fa45345663130f Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-13[502834] Fix NPE in OpaqueElementBodyChangeAccessorMathieu Cartaud1-0/+7
Bug: 502834 Change-Id: Idc0913e0c4caec4856d91adf4322b2242bf3f6de Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-13[502836] Update MatchAccessor : handle diffAxel Richard10-21/+420
MatchAccesor can now be instanciated with a Diff in addition to Match. It allows to fix the SMV/CMV synchronization problem for some matches in the SMV that were not displayed in the CMV after double-click. Bug: 502836 Change-Id: I4a297c00044b1c858fa9d563f779073d9cf5021d Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2016-10-13[503035] Fix BreadthFirstIterator where some nodes may never be usedMathieu Cartaud2-16/+160
If two nodes on the same level where parent and childs of each other, the breadthFirstIterator will never iterate on them Bug: 503035 Change-Id: Ie1c542a046ace99cde5871cffcd9d00b5ac53a85 Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-10-13Miscellaneous Findbugs fixesAxel Richard3-33/+54
Remove unnecessary static access to AdapterFactory Fix potential NPE in AbstractGitMergeTestCase Fix potential NPE in InternalGitTestSupport Change-Id: I1184d851c9b8c21d6fc5b0cd38b668acdfb3ecff Signed-off-by: Axel Richard <axel.richard@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-10-13[501864] Refactoring of group providers & filtersLaurent Delaigue10-192/+506
Diffs that have no real conflict (direct or indirect) and only some pseudo-conflicts (but also non-conflicting refining diffs) only appear in the side group. Also add javadoc to describe the expected behaviour of the group provider 'by side' and some unit tests for predicates. Change-Id: I3d02172b1c77199ea0904459b196289b19db35d6 Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-10-11[501864] Adapts diff filters for conflicting refined diffsTanja Mayerhofer6-46/+603
If a refined diff has a direct or indirect real conflict or all its refining diffs have pseudo conflicts, they should not be shown in the difference groups (left/right side). However, refined diffs that are redefined by both diffs that have pseudo conflicts and diffs that do not have any conflicts should be shown in the difference groups. Bug: 501864 Change-Id: I9dd640e3736d0ca98ef194965ee8f62a3404c06c Signed-off-by: Tanja Mayerhofer <tmayerhofer@eclipsesource.com>
2016-10-05[501864] Join conflicts with overlapping diffs in SMVTanja Mayerhofer8-22/+481
If multiple conflicts contain overlapping diffs, these conflicts are joined into one conflict node shown in the SMV. Overlapping diffs may occur due to the replacement of refining diffs with their refined diffs for conflict nodes. Bug: 501864 Change-Id: Ie5cb460ede7f9f7157796e6a95173b10d4fe50a2 Signed-off-by: Tanja Mayerhofer <tmayerhofer@eclipsesource.com>
2016-10-05[501864] Replace refining diffs in SMV conflict nodes with refined diffs Tanja Mayerhofer9-12/+287
If a conflict contains refining diffs, the conflict node shown in the SMV replaces these refining diffs with their refined diffs. The refining diffs are shown as children of the refined diffs. Bug: 501864 Change-Id: I21ae22c41e0f384904228fa0b0ffd07cd1c10dad Signed-off-by: Tanja Mayerhofer <tmayerhofer@eclipsesource.com> Signed-off-by: Philip Langer <planger@eclipsesource.com>
2016-09-28[501864] Do not add refined diffs to conflicts of refining diffsPhilip Langer9-313/+327
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-09-14Bump versions for EMF Compare 3.3.0Laurent Goubet70-76/+187
Change-Id: If58253d9e062b447173cb5a6ed26afe953a364f9 Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Laurent Goubet <laurent.goubet@obeo.fr>
2016-09-13Fix cascading filter for special casesLaurent Delaigue1-23/+65
To allow group extenders to properly modify the tree structure, this filter must use the TreeNode hierarchy instead of the match hierarchy, otherwise it will not filter the relevant elements. It's also important to take into account the refining diffs of the diff to filter in case they contain containment RefChanges of parent matches. Change-Id: I431429520816073b4fd73e8e8367337d04be10c8 Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-09-13Change SMV groups algorithmMathieu Cartaud47-2362/+1813
All groups (default, bySide, byResource, byKind) are affected. The new algorithm focuses on displaying diffs in a better way and on avoiding as far as we can duplicates in the created groups. This change leads to filter modifications: filters no longer have a special behavior when deactivated, they are plain filters. Change-Id: I6ef96eab4e6a6bf6ffb1e2ac2f3f70b79a641f59 Also-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-09-13Activate checkstyle for Git test frameworkMathieu Cartaud20-44/+489
Change-Id: I88b0dabfa99c2edb95fad0adb4cc6ca7b6eb9745 Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-09-13Fix Javadoc of ComparisonUtil.getAssociatedDiffsPhilip Langer1-16/+10
The Javadoc did not mention that getAssociatedDiffs would include diff.getRefines() even though the JavaDoc explicitly lists all diffs that would be included. Since it is quite an important aspect whether or not diff.getRefines() is included, we now mention it explicitly. Change-Id: If94780d3a1ac410bb36b601115e31fae4de3f504 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2016-09-12Add support for additive mergeLaurent Delaigue117-346/+6498
* Add a custom ResourceMappingMerger and specific mergers associated (reference merger and conflict merger) * Add a mechanism to select the merger for a diff not only by rank, but also by another criterion, whose semantics is free (IMergeCriterion) Change-Id: Ib32f8430bc58e69e627640efbafecdfae0279f04 Also-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-09-12[442897] Fix markers issue in SMVMathieu Cartaud6-161/+64
Some markers of required or rejected diffs don't have the correct color in the gutter. It was previously fixed by review 37012 but this fix finally introduces other problems. This commit reverts this previous fix and adopts the following solution: pseudo conflicts are simply not taken into account when computing merge dependencies since there is nothing to do with them, the changes have already been made on both sides. Change-Id: I554ccb6c3c6617882ba4420bfc3f0cd7f6784f8c Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-09-12Fix and optimize usage of StorageTraversal.getStorages()Philip Langer8-163/+107
StorageTraversal.getStorages() returns a mutable copy of the internal set of storages. This was, however, wrongly communicated its JavaDoc and has hence also been used here and there under the assumption that this is the actual set of storages rather than a copy leading to non-ideal usages. This change fixes the JavaDoc and improves the usages of this method. Change-Id: I556a1fa6e497bdc0852c59515840d4eb9907eb23 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2016-09-12[495753] Fix preference pages inconsistent layoutsSimon Delisle12-254/+262
Reworked the layout of all preference pages to be more consistent and scalable. Bug: 495753 Change-Id: I3257de5507df50de0b8c7f75a80b39871462e1ff Also-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Simon Delisle <simon.delisle@ericsson.com> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-08-01Bug 499003 - Fix visibleWhen of contribution to compareWithMenuAndreas Mayer2-15/+6
Fix the visibleWhen expression for the org.eclipse.emf.compare.ide.ui.emfComparisonSourceCompareCommand so that the command is hidden if the current selection is empty. Fix spelling of the command's label. Remove duplicate definition of the compareWithMenu. Change-Id: I0c1c9b22fcf41a65a7770c12521e2a930a26eccc Signed-off-by: Andreas Mayer <anma-e@gmx.de>
2016-07-28[498583] Fix NPE during automatic profile migrationStefan Dirix3-10/+54
Fix the Null Pointer Exception which could occur when the LabelProviderService was not started before the profile migration took place. Also prevent exceptions in repair() from being propagated so that they don't block users and are displayed properly. Bug: 498583 Also-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Change-Id: Ife0d5c5c101082ea042df8bf455c5a9db117b912
2016-07-25[497066] 'Problems' tab should not be shown automatically for warningsMartin Fleck3-21/+58
Add separate message for warning in ProblemIndicator composite. Avoid revealing the 'Problems' tab when there is a warning. Bug: 497066 Change-Id: Id11f69283afa2e9b6148e15504488d0fbb6281b6 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com> Signed-off-by: Philip Langer <planger@eclipsesource.com>
2016-07-25[494763] - Stereotypes not displayed in SMVAlexandra Buzila3-29/+70
Made sure that the PapyrusStereotypedElementItemProviderDecorator is only used for Papyrus elements. Bug: 494763 Change-Id: I10daf1df89b140ecb10eb011cfab404e817033b6 Signed-off-by: Alexandra Buzila <abuzila@eclipsesource.com>
2016-07-25Split tests to isolate dependencies to papyrusLaurent Delaigue60-19/+266
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-15[497399] tagged values tooltips throw IAEsLaurent Goubet1-1/+2
Bug: 497399 Change-Id: I410f03e181f168f710dd36f2b3354104f668c53d
2016-07-12Do not consider a container deletion to conflict with unsets under itLaurent Goubet12-105/+177
Since a containment deletion and the "unset"(s) under it were seen as a pseudo conflict with each other, we were "hiding" the deletion from view and preventing the merge altogether. This adds an explicit dependency between the core tests and objenesis to avoid failures when launching the build locally (mockito has a transient dependency to objenesis). Change-Id: I8d00c336285480962499d861575815f1c4b72b3d
2016-07-11[497492] Fix NPE in tooltip providerLaurent Delaigue2-7/+10
Bug: 497492 Change-Id: Ic0bc125b972d4a310629ffee1e3dbf35f5848201 Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-07-11Format with mars formatter files forgotten in previous iterationMathieu Cartaud9-29/+20
Change-Id: I27a0a3a6a0b6f11cd44e0c5c2c564cece959eaed Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-07-01[487595] Add specialized PapyrusTreeContentMergeViewerEdgar Mueller23-133/+3085
If we are in the context of a Papyrus comparison, we are now using a dedicated tree content merge viewer instead of the default one. This dedicated content merge viewer shows the model tree according to how it looks like in the model explorer of Papyrus. Therefore, it * filters all unrelated root elements * filters Diagram elements * uses Papyrus Content and Label Provider to display elements * registered for Papyrus types * uses a CompareAccessorFactory-Wrapper to "generate" the Papyrus types * as the content provider does not support directly revealing elements, we cache the model tree and therefore have to traverse it once Bug: 487595 Signed-off-by: Stefan Dirix <sdirix@eclipsesource.com> Signed-off-by: Philip Langer <planger@eclipsesource.com> Signed-off-by: Edgar Mueller <emueller@eclipsesource.com> Also-by: Philip Langer <planger@eclipsesource.com> Change-Id: Ibf27a6ac338f556e190891f572375f59eae94f2d
2016-07-01Add rebase and cherry-pick operations in test frameworkMathieu Cartaud27-509/+775
Change-Id: Id7a471eb74d1a0f774953e663e542901002f29cb Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-07-01Fix test broken by new default preference on pre-mergeMathieu Cartaud1-1/+26
Change-Id: Iff50e6719531b24034419e91a8088f03fddf90b4 Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-07-01[495259] Add support for UML profile migration scenariosMartin Fleck78-28/+4630
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-23Activate checkstyle for test frameworkMathieu Cartaud23-119/+370
Change-Id: I89eba7cec01ef54123df5f9082d821133a9ae39a Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr>
2016-06-15Switch to Eclipse mars.2Mathieu Cartaud642-7464/+11455
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-14Bug 495741 - Fix computation of visible and filtered diffsAndreas Mayer2-31/+109
If a node has been filtered out, then refreshTitle() now also considers all the descendants of that node as hidden. So the number of filtered diffs in the title should match the actual number of diffs filtered from the viewer -- except a diff is shown in two different sub-trees and only filtered in one of them. Change-Id: I171552743a4d8c3d702f7830d03098755e688b4d Signed-off-by: Andreas Mayer <anma-e@gmx.de>
2016-06-14Add a preference for pre-merge on conflictLaurent Delaigue6-2/+67
Change-Id: Ide5265721c970b6d0019f8a764e01f41d70d51b1 Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-06-14[495961] incompatibility between log4j 1.x and 2.xLaurent Goubet5-5/+5
Bug: 495961 Change-Id: Iae90d66c35e1b95de648fa99a51757f639177088
2016-06-10[479449] Introduce MultiplicityElementChangesAlexandra Buzila75-127/+2375
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-08[486923,488941] Fix Stack Overflow in ThreeWayComparisonGroupProviderEdgar Mueller7-20/+146
When conflicts contain diffs which are refined by containment reference changes located in a match above a Stackoverflow exception can occur. This is now avoided. Bug: 486923 Bug: 488941 Change-Id: I1e6e4b465450baf07c8141d1580cf854bcd02783 Signed-off-by: Simon Delisle <simon.delisle@ericsson.com> Signed-off-by: Edgar Mueller <emueller@eclipsesource.com> Signed-off-by: Stefan Dirix <sdirix@eclipsesource.com> Signed-off-by: Alexandra Buzila <abuzila@eclipsesource.com> Signed-off-by: Philip Langer <planger@eclipsesource.com> Also-by: Alexandra Buzila <abuzila@eclipsesource.com> Also-by: Simon Delisle <simon.delisle@ericsson.com>
2016-06-07[495586] Disable XML handler cache to prevent erroneous error reportsLaurent Goubet1-1/+1
Bug: 495586 Change-Id: I6dd96a180ae2194f827c61bcd69241e7331f45ae
2016-06-07[493527] Correct conflict when concurrently unapplying UML stereotypesMartin Fleck7-8/+119
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>

Back to the top