Skip to content

Commit 7a7312f

Browse files
committed
ST6RI-178 Added alphabetic ordering of projects listed by %projects
magic command
1 parent bf1bfea commit 7a7312f

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

org.omg.sysml.interactive/src/org/omg/sysml/interactive/SysMLInteractive.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import java.io.IOException;
3333
import java.util.ArrayList;
3434
import java.util.Collections;
35-
import java.util.Date;
35+
import java.util.Comparator;
3636
import java.util.List;
3737
import java.util.Scanner;
3838
import java.util.UUID;
@@ -548,9 +548,13 @@ public String projects(List<String> help) {
548548
}
549549
ProjectRepository projectRepository = new ProjectRepository(apiBasePath);
550550

551+
Comparator<String> projectNameComparator = Comparator.nullsFirst(Comparator.naturalOrder());
552+
551553
String apiBasePathString = "API base path: " + apiBasePath;
552554
List<RemoteProject> repositoryProjects = projectRepository.getProjects();
553-
String projectsListString = repositoryProjects.stream().map(p -> String.format("Project %s (%s)", p.getProjectName(), p.getRemoteId()))
555+
String projectsListString = repositoryProjects.stream()
556+
.sorted((p1, p2) -> projectNameComparator.compare(p1.getProjectName(), p2.getProjectName()))
557+
.map(p -> String.format("Project %s (%s)", p.getProjectName(), p.getRemoteId()))
554558
.collect(Collectors.joining("\n"));
555559
return apiBasePathString + "\n\n" + projectsListString;
556560
}

0 commit comments

Comments
 (0)