use of org.eclipse.egit.ui.internal.synchronize.model.GitModelTree in project egit by eclipse.
the class GitChangeSetSorter method compare.
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
if (e1 instanceof GitModelBlob && !(e2 instanceof GitModelBlob))
return 1;
if (e2 instanceof GitModelBlob && !(e1 instanceof GitModelBlob))
return -1;
if (e1 instanceof GitModelWorkingTree)
return -1;
if (e2 instanceof GitModelWorkingTree)
return 1;
if (e1 instanceof GitModelCache)
return -2;
if (e2 instanceof GitModelCache)
return 2;
if ((e1 instanceof GitModelTree && e2 instanceof GitModelTree) || (e1 instanceof GitModelBlob && e2 instanceof GitModelBlob))
return super.compare(viewer, e1, e2);
if (e1 instanceof GitModelTree && e2 instanceof GitModelCommit)
return 1;
if (e1 instanceof GitModelCommit && e2 instanceof GitModelCommit) {
Commit rc1 = ((GitModelCommit) e1).getCachedCommitObj();
Commit rc2 = ((GitModelCommit) e2).getCachedCommitObj();
return rc2.getCommitDate().compareTo(rc1.getCommitDate());
}
return super.compare(viewer, e1, e2);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelTree in project egit by eclipse.
the class GitTreeMapping method getTraversals.
@Override
public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
GitModelObject[] objects = tree.getChildren();
ResourceTraversal[] result = new ResourceTraversal[objects.length];
for (int i = 0; i < objects.length; i++) {
if (objects[i] instanceof GitModelTree)
result[i] = new GitTreeTraversal((GitModelTree) objects[i]);
else {
IResource[] resources = getResources((GitModelBlob) objects[i]);
result[i] = new ResourceTraversal(resources, IResource.DEPTH_ZERO, IResource.ALLOW_MISSING_LOCAL);
}
}
return result;
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelTree in project egit by eclipse.
the class GitChangeSetSorterTest method blobShouldBeGreaterThanTree.
@Test
public void blobShouldBeGreaterThanTree() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelBlob blob = mock(GitModelBlob.class);
GitModelTree tree = mock(GitModelTree.class);
// when
int actual = sorter.compare(viewer, blob, tree);
// then
assertTrue(actual > 0);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelTree in project egit by eclipse.
the class GitChangeSetSorterTest method cacheTreeShouldBeLessThanTree.
@Test
public void cacheTreeShouldBeLessThanTree() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelCache cache = mock(GitModelCache.class);
GitModelTree tree = mock(GitModelTree.class);
// when
int actual = sorter.compare(viewer, cache, tree);
// then
assertTrue(actual < 0);
}
use of org.eclipse.egit.ui.internal.synchronize.model.GitModelTree in project egit by eclipse.
the class GitChangeSetSorterTest method workingTreeShouldBeLessThanTree.
@Test
public void workingTreeShouldBeLessThanTree() {
// given
Viewer viewer = mock(Viewer.class);
GitChangeSetSorter sorter = new GitChangeSetSorter();
GitModelTree tree = mock(GitModelTree.class);
GitModelWorkingTree workingTree = mock(GitModelWorkingTree.class);
// when
int actual = sorter.compare(viewer, workingTree, tree);
// then
assertTrue(actual < 0);
}
Aggregations