Skip to main content
summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-09-07[518760] Remove legacy JUnit3 artefactsMathieu Cartaud15-328/+0
Bug: 518760 Change-Id: I230f7b853a5f81fd3f9288c7061c51a165a7e0b6
2017-09-07[518968] Only traverse and cache necessary Papyrus tree itemsMartin Fleck1-123/+348
Avoid traversing and caching the entire Papyrus content tree when determining the item to be selected: - Use incremental computation and caching of Papyrus tree items Bug: 518968 Change-Id: I4ac04d252747600b48d01e3b6232200e5ce4fa51 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-09-07[518983] CompareInputAdapter should cache ancestor, left, and rightMartin Fleck1-37/+58
Avoid recomputing the ancestor, left, and right side of a compare input adapter: - Cache value once it is retrieved - Use special null element to preserve existing null behavior Bug: 518983 Change-Id: Ib6fafdf0a190b3e1e72060bb47dd1e959a55858e Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-09-07[518986] Title of compare editor should be computed in the backgroundMartin Fleck1-50/+101
- Use dedicated background job with short to compute the compare editor title instead of blocking the UI thread - Slightly tweak title computation Bug: 518986 Change-Id: I181a3980b03c92b2441bb12bedae24367644d877 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-09-07[519003] Ensure undo/redo is activate when SMV has focusMartin Fleck1-0/+15
Add focus handler to properly activate the undo/redo menu. Bug: 519003 Change-Id: I1f75bc0558dd29d456cd1c741164e8f02650735f Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-09-07performance plugin issuesLaurent Goubet3-7/+15
Change-Id: I6b1baf6d5e84624538823e8740f95663d65ef59c
2017-09-06[521945] Add a preference to disable jumping the next diff after mergePhilip Langer5-1/+34
Bug: 521945 Change-Id: I5ab05bf0c49056b240ff5df63e3a6617b0de234f Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-09-05[462863] Staging Prompt after Resolving ConflictsMathieu Cartaud9-9/+482
This change is a revised version of change 52072, which was reverted due to undetected issues. The issues included the fact that the dialog was shown despite the fact that no conflicts were involved, and also that files to be staged were listed multiple times. The changes w.r.t. change 52072 were done in the following files: * MergeResolutionManager.java (lines 76-79, an if block was added) * PostMergeStager.java (line 58, a set is used instead of a list) Following is the original change content: After resolving conflicts in the (Compare) Merge Tool, the user is now prompted with a dialog stating that all conflicts in the model have been resolved, and asking whether the files containing the changes should be staged. This is not only an improvement saving some users' clicks, it also helps to avoid staging so far still unmerged model resources. From a user-perspective, it is not obvious which model resources are part of the logical model being currently merged in the merge tool. So if there is a conflicting merge that needs manual resolution, the user opens a conflicting resource in the merge tool. After conflicts have been resolved, users want to stage all model resources that have been resolved currently in the merge session, but it is hard to identify those that they can safely stage already. So users are inclined to stage not merged models, which basically leads to omitting all changes on the remote side. Bug: 462863 Change-Id: Ice31ce3dde4b6f45de0f7cf8d90be00806341a55 Signed-off-by: Mathieu Cartaud <mathieu.cartaud@obeo.fr> Also-by: Michael Borkowski <mborkowski@eclipsesource.com>
2017-09-05[518981] Always use specialized logic when using RevisionedURIConverterMartin Fleck1-0/+5
Override createInputStream(URI) to delegate to createInputStream(URI, Map) to ensure our specialized logic is always called. Bug: 518981 Change-Id: I708225469ce36594a0254121a1c0286b5312511d Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-09-04[521845] Fix Eclipse Platform requirement in Oxygen TP.Christian W. Damus3-94/+94
Ensure that the TP on Mac platform includes the binaries that the PDE's target resolution will attempt to chmod, to avert total failure of the target platform resolution. Bug: 521845 Change-Id: I2ab390f9a10b8a2c4ca9409e7906e617fe9606e4 Signed-off-by: Christian W. Damus <give.a.damus@gmail.com>
2017-09-01[518755] Mark resources as conflicting on errors during the comparisonPhilip Langer6-7/+41
If there is a diagnostic error in the comparison model during a git merge, we should mark all involved files in the resource mapping as conflicting and don't try to actually merge them, because otherwise we risk of breaking the model. Therefore, we rather not touch those files and force manual merge. Note that we still don't (and don't want to) stop if there are diagnostic errors in one or more of the compared models (in contrast to the comparison). Errors in the models most likely don't stop us from doing a decent merge. This change also improves the way diagnostics are set up, to avoid the OK message even though later steps in the comparison may add warnings or errors to the parent diagnostics for comparisons based on the IdentifierEObjectMatcher. Other matchers don't create a diagnostic at all. In this case, the first other step will set a new one instead of adding their diagnostics to the existing one. Bug: 518755 Change-Id: I209505dec67daed825f4ba63f40b1f10a79ae36c Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-08-31[519025] Only consider references when finding stereotype base elementsMartin Fleck1-8/+6
Bug: 519025 Change-Id: Id15f20373c5be588443ed163fc88701a705ce043 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-08-31[521358] documentation for EMFCompareRCPPlugin missing getDefault callsLaurent Goubet1-3/+3
Change-Id: Icf5f209222633c8cf8b4e8efc8a467a83bfe7635
2017-08-31[520105] [Tests] Maven execution of Git tests fails on MacChristian W. Damus2-2/+2
Include the OS-specific JVM arguments in the test execution. Bug: 520105 Change-Id: I93921d956d9b2ebf4adf2d867c15cc18a2660490 Signed-off-by: Christian W. Damus <give.a.damus@gmail.com>
2017-08-23Bumping versions for Oxygen.13.3.2RC1Laurent Goubet54-57/+57
Change-Id: I9c994b3e0e7f661741cbe2005c6039a61b385f36
2017-08-23Removing non functional profiles from pomLaurent Goubet1-63/+0
Change-Id: Iea70c4e4d00e6db35795bd11c031c2a70acb4983
2017-08-22Separate core & extra buildsLaurent Goubet35-763/+267
Papyrus and sirius are "polluting" the target platform and preventing some of our builds to succeed. This will allow us to build the core EMF Compare separately from the support for extra tools while also decoupling our target platforms. Change-Id: I0f783a21c3333f7dc77cbe28539dfc08b28eac67
2017-07-21Relax Compare Considerations of IMergeViewerItemsMartin Fleck3-3/+719
Relax the conditions under which two IMergeViewerItems are considered equal. This allows for better expand and selection behavior. Bug: 510968 Bug: 510970 Also-by: Stefan Dirix <sdirix@eclipsesource.com> Signed-off-by: Stefan Dirix <sdirix@eclipsesource.com> Signed-off-by: Martin Fleck <mfleck@eclipsesource.com> Change-Id: If627f0df0553f1f5ba3e32406c32d5b5990bef52
2017-07-20Add a few missing license headersPhilip Langer3-3/+35
Change-Id: I86b112d36823ab7d4794b64590e6be882fa03f06 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-07-07Refactorings to improve performance of MatchUtilPhilip Langer1-49/+81
This change is a replacement of 96951, as change 96951 has been reverted for an Oxygen release candidate build. Change-Id: I546d9383738b2028c014bce3888e353393740042 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-07-07[518612] Frequent CME from the adapter factory disposalLaurent Goubet1-4/+6
Disposing the adapter factory while it is still registered for use causes ConcurrentModificationExceptions thrown from within the loop in org.eclipse.emf.edit.provider.Disposable.dispose(). Bug: 518612 Change-Id: Iefe412eb1793e49cf44896db209899773b4a8e32
2017-07-07[518979] Remove context entries with an empty cache in EMFModelProvider Martin Fleck1-0/+17
Remove entries with empty/expired caches from map to avoid keeping entries for all contexts ever used. Bug: 518979 Change-Id: I00225df2ce3a7e916a4bcf57757b18b14e5fc139 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-07-06[519016] Avoid repeated resource traversal when resolving local storagesMartin Fleck1-1/+9
- Track already traversed files as bounds after each storage traversal - Use updated bounds when resolving the traversal for the next storage Bug: 519016 Change-Id: Ibc2ad84f38d772e01d98ef3fcee0eb1fff3d3b96 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-07-06[519033] Do not refresh the SMV viewer after every change notificationMartin Fleck1-0/+51
When many notifications arrive and the notification queue is heavily populated, do a single viewer refresh on the whole view. The threshold to bundle the viewer updates is set to 30 notifications. Bug: 519033 Change-Id: I1e442aaf8a636217543ece51ff82d4e6e888f181 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-07-06[519023] Check cancellation less frequently in conflict detectionMartin Fleck1-3/+3
Checking cancellation takes some time when executed for each diff: - Only check every 100 diffs when we update the monitor subtask Bug: 519023 Change-Id: Ibfa5da0415b8fa64a1ec37418c56a018002d4b05 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-07-06[516524] Use more efficient feature look-up in ReferenceUtilPhilip Langer2-29/+43
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-07-06[519261] [Oomph] Setup model problems for OxygenChristian W. Damus1-9/+39
Add target platforms for Neon and Oxygen. Fix the EclEmma feature. Fix the JRE version. Add working sets for Papyrus and Git integrations. Bug: 519261 Change-Id: If0d2732237acde648d2432b3b9c2ca37a8ddd57b Signed-off-by: Christian W. Damus <give.a.damus@gmail.com>
2017-07-06[519170] [Checkstyle] Author format constraint is too restrictiveChristian W. Damus1-1/+1
Allow more flexibility in the name (still at least two names required, even if one is an initial) and in the e-mail address. Use a beginning-of-input anchor to try to enforce the e-mail tag format if there is anything before the name. Bug: 519170 Signed-off-by: Christian W. Damus <give.a.damus@gmail.com> Change-Id: I199d6eef474b5bb3755bd2e1d5ea826c3ac61913
2017-07-06[519227] [Checkstyle] Style errors in oee.compare bundleChristian W. Damus1-4/+5
Remove redundant final modifiers from 'try' resources. Bug: 519227 Signed-off-by: Christian W. Damus <give.a.damus@gmail.com> Change-Id: I6c17d5f50c9afad34e1f564d924f740a38f2b48d
2017-07-06Use the released version of EGitLaurent Goubet5-178/+179
Change-Id: I3ece48b241398bd3aa7cffb273dbda430c85feb1
2017-07-03Bug 518756 - [EMF Compare] NullPointerException when a Match does notAntonio Campesino1-0/+9
have origin / left / right side. Change-Id: Iea1d34312bfa3efa99b2cdd6f67f3ee9570c1a21 Signed-off-by: Antonio Campesino <antonio.campesino.robles@ericsson.com>
2017-06-29Bug 518608 - Duplicated / Mixed Stage not allowed exception in importedAntonio Campesino1-3/+12
models when comparison is unsuccess (edit) Change-Id: Ie34f304f596f81ba31c811d5c1eb074ea1e06aa6 Signed-off-by: Antonio Campesino <antonio.campesino.robles@ericsson.com>
2017-06-27[487151] Accept all non-conflicting changes fails to merge some diffsMartin Fleck22-14/+806
Adapt diff merge computer to only return diffs that actually lead to a conflict in the exception and not all connected diffs to ensure that non-conflicting diffs are merged. Includes tests. Bug: 487151 Change-Id: I3f08e09c3e67066c57d86f572dc66a2d09ca5bb2 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com> Signed-off-by: Simon Delisle <simon.delisle@ericsson.com> Also-by: Simon Delisle <simon.delisle@ericsson.com>
2017-06-27[514415] Relationships between diffs should be cachedMartin Fleck31-301/+1677
Add an interface for diff relationship computers that are able to calculate diff relationships and provide two implementations: - Standard implementation replacing MergeDependenciesUtil methods. - Caching implementation keeping the results until invalidated. The computers are usable whenever diff relationships are calculated. Either an explicit instance is provided or the standard implementation is used as fallback: - ComputeDiffsToMerge calculates the order in which diffs are merged. - BatchMerger propagates to ComputeDiffsToMerge. - DependencyData finds required/rejected diffs for selected diffs. The instances are created in two scenarios: - The resource mapping mergers create their own caching instance and invalidate the cache after performing their operation. - The EMF SMV creates its own caching instance for the UI, stored in the EMFCompareConfiguration and invalidates the cache when another comparison is used. Includes tests. Bug: 514415 Change-Id: Id2a56db00b6ca80db2602b3f207377e72a9d80b8 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-06-26[514767] Provide preferences to configure comparison editor behaviorMartin Fleck13-89/+507
- Add preference for enabling the auto-selection of the first change - Add preference for enabling the auto-highlight of related changes - Add preference for setting the default expansion level of the tree - Move editor preference page to IDE UI (held no preferences previously) - Consider preference settings in SMV accordingly - Explicitly allow the creation of the NoSelectedItemViewer - Avoid unnecessary updates when selection did not change Bug: 514767 Change-Id: Iad7d26b3f3783e60268e8504add909151dc9cd5d Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-06-26[507157] Check usage of InputStreams with mockitoMartin Fleck14-257/+507
- Provide IStreamProviders interface to create new input streams - Provide interface implementations for usage - Adapt mocking of IStorage to create new stream instances on each call Change-Id: I37d2202a0067a7ae9de4f02e933b02c73b5c13b0 Also-by: Tobias Ortmayr <tobias.ortmayr@gmail.com> Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-06-26[512677] Register EMFModelProvider for new Papyrus resourcesMartin Fleck4-2/+204
Register the EMFModelProvider for *.properties and *.internationalization resources added in Papyrus Oxygen. Avoid model resolution for non-model resources. Includes tests Bug: 512677 Change-Id: I5329e6aedeb22d6df222cbef40a6b287cf77a0ba Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-06-26[514382] Pre-Merge on conflict can lead to data lossMartin Fleck4-8/+175
Ensure that pre-merge merges only diffs from the right side and leaves the diffs from the left side untouched. Contains tests. Bug: 514382 Change-Id: Ie24a595dca3da78d2eda7ea32510d3630b8def9a Also-by: Simon Delisle <simon.delisle@ericsson.com> Signed-off-by: Martin Fleck <mfleck@eclipsesource.com>
2017-06-26[514079] Implement Mirroring: Swap left/right side in merge viewersMartin Fleck16-25/+1253
Mirror functionality was introduced in Eclipse Compare v3.7 and enables the user to swap the left and right side in the merge viewer. - Provide utility class to handle new mirroring functionality with backwards compatibility. - Implement mirrored content providers for the EMF Compare content merge viewers and switch content providers accordingly. - Toolbar updates merge actions according to mirrored state. Merge actions can adapt to the merge direction and merge runnable at runtime. - EMF Compare SMV handles the swap action to update the content merge viewers respectively. Includes tests. Bug: 514079 Change-Id: Ia72ccc0e89bd5a7b89f6d2197d24079b00b525d7 Signed-off-by: Martin Fleck <mfleck@eclipsesource.com> Also-by: Tobias Ortmayr <tobias.ortmayr@gmail.com>
2017-06-12"spy"ing is the root cause of a huge memory leak3.3.1RC43.3.1Laurent Goubet2-36/+30
This particular mocking of a WrappableTreeViewer was the source of a memory leak preventing java to retrieve 700MB of memory even after the end of that JUnit test. Change-Id: I994e6c2e32ef6b267be9d2e465b57dcae3ffffb2
2017-06-12Fix NPE in NotifyingXMLHelper.setValue()Philip Langer1-13/+14
A potential NPE has been introduced in a recent change. This change avoid this NPE. Change-Id: Ia0e92bdcce5c780be037cb00eefb4eea50b15fc0 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-06-06Revert "Refactorings to improve performance of MatchUtil"3.3.1RC3Laurent Goubet1-81/+49
This reverts commit c641126a25621add2fba4b603f189aa6cd2cc940. Change-Id: I2589e1ca08e91ec53939037b31192e6a229db9fe
2017-06-06Revert "Use more efficient feature look-up in ReferenceUtil"Laurent Goubet2-43/+29
This reverts commit 888d9a60c302d4519bf01f088d0c22b585cff675. Reverted for security as this is too bug-prone for a RC build. Change-Id: I4a3a949bbb6ddb69db1cc66d8cfd3147acc37272
2017-06-06Update Oxygen target to new SysML 1.1 update sitePhilip Langer2-3/+6
SysML has been moved - see bug 516687 Change-Id: I07b1b66bc92f7e2735ab6cd7224fed89f26d9641 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-05-23[516494] Avoid unnecessary traversals in resolution algorithmPhilip Langer1-1/+12
It can be improved by computing bounds as it traverses the dependency graph. In general, once we know we're going to visit a given URI or have already visited it, we don't need to visit its graph repeatedly when calculating subsequent dependencies. Bug: 516494 Change-Id: I10ca0c394210270fba01418127379191ecdbddfd Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-05-23Refactorings to improve performance of EqualityHelperPhilip Langer1-24/+21
EqualityHelper.matchValues is heavily used during comparison so it should be optimal. Therefore, this change factors out the null cases so that no null checks are needed anywhere else; such a check are cheap, compared to instanceof check so better it be checked early, just as object1 == object2 is done early. Change-Id: If62ab5b817307bd9077b324362c02323d044cdd8 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-05-23[Performance] Loop invariants and other redundant method call and castsPhilip Langer12-73/+89
This change introduces small improvements, which are mostly only minors but which have a remarkable impact on performance in large comparisons, as the changed parts are hot spots. This includes method call inside a loop that always returns the same value as well as repeated calls to the same method should be avoided. Change-Id: I2116c1f1f7fed4b946aafa740c4c0c96f7f511b8 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-05-23[516572] Change models' superclass to MinimalEObjectImpl$ContainerPhilip Langer12-11/+335
As we heavily rely on containment structures in the comparison model and the tree node model (navigating to containers, etc.), it would be better to extend MinimalEObjectImpl$Container rather than using MinimalEObjectImpl as it is now. MinimalEObjectImpl$Container has a dedicated field to store the container rather than using the storage array also for the containment feature. Bug: 516572 Change-Id: I4ea7a18963d4f0785f8ef075394388689c67c107 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-05-23Refactorings to improve performance of MatchUtilPhilip Langer1-49/+81
Change-Id: I546d9383738b2028c014bce3888e353393740041 Signed-off-by: Philip Langer <planger@eclipsesource.com>
2017-05-23[516524] Use more efficient feature look-up in ReferenceUtilPhilip Langer2-29/+43
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>

Back to the top