Skip to main content
summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-07-06[516524] Use more efficient feature look-up in ReferenceUtilPhilip Langer1-4/+10
ReferenceUtil could make use of an EClass.getFeatureID(feature) which returns -1 if the feature doesn't belong to the class. Only in that case do we need to try to look up the feature by name. Once we've computed the feature ID, we can use it directly to efficiently access the generated reflective methods. This is a replacement of the reverted change 96871, as 96871 has been reverted for an Oxygen release candidate build of EMF Compare. Bug: 516524 Change-Id: I6ff031ebc02dd10bf3b0d88c00f03f15c25cfb62 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-06-06Revert "Use more efficient feature look-up in ReferenceUtil"Laurent Goubet1-10/+4
This reverts commit 888d9a60c302d4519bf01f088d0c22b585cff675. Reverted for security as this is too bug-prone for a RC build. Change-Id: I4a3a949bbb6ddb69db1cc66d8cfd3147acc37272
2017-05-23[516524] Use more efficient feature look-up in ReferenceUtilPhilip Langer1-4/+10
ReferenceUtil could make use of an EClass.getFeatureID(feature) which returns -1 if the feature doesn't belong to the class. Only in that case do we need to try to look up the feature by name. Once we've computed the feature ID, we can use it directly to efficiently access the generated reflective methods. Bug: 516524 Change-Id: I6ff031ebc02dd10bf3b0d88c00f03f15c25cfb61 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-01-20Merge algorithm refactoringLaurent Delaigue2-401/+543
In order to address several bugs we faced on merging, a refactoring of the merge algorithm was made. The responsibility of IMerger is reduced to just merging one diff and telling which diffs are required to be merged prior to a given diff and which ones need to be merged in the same 'transaction'. It is now the responsibility of BatchMerger to merge all the necessary diffs in the right order when asked to merge one or several diffs. A new class ComputeDiffsToMerge encapsulates the logic of computing the diffs to merge and in which order. The Graph is no longer used to describe the dependencies between diffs, hence BreadthFirstIterator is no longer used for merging. Refined diffs are considered as 'to be merged in the same transaction' (logically resulting merges). Required diffs must be merged before (merge dependencies). Equivalent and implied diffs are dealt with like before. - Diffs have a new state MERGING to distinguish between an in-progress merge (MERGING) and an already executed merge (MERGED). - Implied merges need to be set to MERGED recursively - Diff ordering for implications needs to be checked recursively - Deterministic refinement order that does not rely on hash values - Simplified, common method for copyLeftToRight and copyRightToLeft Includes tests. Bug: 507177 Bug: 501574 Change-Id: Iad8bad7a4326d4fb297662264b4ad3737f508136 Also-by: Martin Fleck <mfleck@eclipsesource.com> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2016-10-13[503035] Fix BreadthFirstIterator where some nodes may never be usedMathieu Cartaud1-14/+155
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-13[501864] Refactoring of group providers & filtersLaurent Delaigue1-0/+182
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-06-15Switch to Eclipse mars.2Mathieu Cartaud1-35/+13
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>
2015-10-15Extract EMFCompareConfiguration from EMFCompareRCPUIPluginMathieu Cartaud1-16/+17
- Extract graphs from EMFCompareConfiguration - Extract EMFCompareConfiguration from RCPUIPlugin - Give the StructureMergeViewerFilter through the TreeItemAdapterFactorySpec - The new URI Graph instance is now created by EMFCompareRCPPlugin who passes it to the ThreadedModelResolver and holds the associated graph view Change-Id: I713ae5d2f10f1498433cd373d24636e93d3bb4cf Also-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr>
2015-10-05[478620] Cherry pick operation hangsAlexandra Buzila1-79/+123
Updated the graph tree iterator, so that, in case the graph has cycles, the same node isn't returned twice. Changed name of Graph#treeIterator(E root) method to depthFirstIterator, in order to better reflect its new behavior. Bug: 478620 Change-Id: Ic5096d5060fccb9c6f4ed449225a9d9230c4b57b Signed-off-by: Alexandra Buzila <abuzila@eclipsesource.com>
2015-07-31Only mark conflicting files as conflicting instead of the whole modelLaurent Goubet1-0/+179
Change-Id: Id5d77732ad88977ffefb3224fc2cc507713b082d
2015-05-28[467576] Correct Handling of Proxies in ReqEngineMichael Borkowski1-0/+95
MatchUtil so far did not handle proxy objects correctly, which led to false negatives in detecting required diffs, which was exposed in bug 467576. This change fixes this issue by comparing the objects' URIs to detect proxy matches. Bug: 467576 Change-Id: Ib390ddbd56e65145ecd554535d960e769c728a29 Signed-off-by: Michael Borkowski <mborkowski@eclipsesource.com>
2015-05-13[458971] Fix infinite loop in Graph.BreadthFirstIterator#prune()Axel Richard1-0/+27
Bug: 458971 Change-Id: I1134d05a996d1f1a80cac27829250e6e9b732d02 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2015-03-17[461224] Fix NoSuchElementException in Graph.Axel Richard1-0/+56
Also add test case to reproduce the problem. Bug: 461224 Change-Id: I15b287997f96ea6b2c9516040a3a45c91c08a6ba Signed-off-by: Axel Richard <axel.richard@obeo.fr>
2014-09-19[444351] Fix bug in EqualityHelper.matchingArraysAxel Richard1-0/+105
EqualityHelper.matchingArrays now returns false for arrays of different lengths Add very basic tests for EqualityHelper.matchingValues Bug: 444351 Change-Id: I569e3f0bae796fbb8d2cc35196f550480ce25516 Signed-off-by: Axel Richard <axel.richard@obeo.fr>

    Back to the top