Skip to content

Commit aa4f825

Browse files
ThomasReinhardtakurtakov
authored andcommitted
Import Maven Projects wizard does not sort projects
1 parent 2a342a2 commit aa4f825

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.ArrayList;
2222
import java.util.Arrays;
2323
import java.util.Collection;
24+
import java.util.Comparator;
2425
import java.util.HashSet;
2526
import java.util.LinkedHashSet;
2627
import java.util.List;
@@ -250,7 +251,7 @@ public Object[] getElements(Object element) {
250251
if(element instanceof List) {
251252
@SuppressWarnings("unchecked")
252253
List<MavenProjectInfo> projects = (List<MavenProjectInfo>) element;
253-
return projects.toArray(new MavenProjectInfo[projects.size()]);
254+
return sorted(projects);
254255
}
255256
return EMPTY;
256257
}
@@ -260,14 +261,20 @@ public Object[] getChildren(Object parentElement) {
260261
if(parentElement instanceof List) {
261262
@SuppressWarnings("unchecked")
262263
List<MavenProjectInfo> projects = (List<MavenProjectInfo>) parentElement;
263-
return projects.toArray(new MavenProjectInfo[projects.size()]);
264+
return sorted(projects);
264265
} else if(parentElement instanceof MavenProjectInfo mavenProjectInfo) {
265266
Collection<MavenProjectInfo> projects = mavenProjectInfo.getProjects();
266-
return projects.toArray(new MavenProjectInfo[projects.size()]);
267+
return sorted(projects);
267268
}
268269
return EMPTY;
269270
}
270271

272+
private MavenProjectInfo[] sorted(Collection<MavenProjectInfo> projects) {
273+
List<MavenProjectInfo> sortedProjects = new ArrayList<>(projects);
274+
sortedProjects.sort(Comparator.comparing(MavenProjectInfo::getLabel));
275+
return sortedProjects.toArray(MavenProjectInfo[]::new);
276+
}
277+
271278
@Override
272279
public Object getParent(Object element) {
273280
return null;

0 commit comments

Comments
 (0)