11package userInterface ;
22
33import dto .Client ;
4+ import enums .Field ;
45import input .CustomCollection ;
56import input .InputManager ;
6- import input . Strategy . FileReaderStrategy ;
7- import input . Strategy . ManualInputReaderStrategy ;
8- import input . Strategy . RandomDataGeneratorStrategy ;
7+ import sorting . MergeSortDefaultStrategy ;
8+ import sorting . MergeSortDynamicStrategy ;
9+ import sorting . SortingManager ;
910
1011import java .io .IOException ;
1112
1213public class AppController {
1314
1415 private final InputManager inputManager = new InputManager ();
1516 private final CustomCollection <Client > fullList = new CustomCollection <>();
17+ private final SortingManager sortingManager = new SortingManager ();
18+
19+ public void startDefaultSorting (){
20+ sortingManager .setStrategy (new MergeSortDefaultStrategy ());
21+ sortingManager .getCurrentStrategy ().sort (fullList );
22+ showAllClients ();
23+ }
24+
25+ public void startEvenIdsSorting (){
26+ sortingManager .setStrategy (new MergeSortDefaultStrategy ());
27+ sortingManager .getCurrentStrategy ().sortEvenValuesOnly (fullList );
28+ showAllClients ();
29+ }
30+
31+ public void startDynamicSorting (Field field ){
32+ sortingManager .setStrategy (new MergeSortDynamicStrategy (field , true ));
33+ sortingManager .getCurrentStrategy ().sort (fullList );
34+ showAllClients ();
35+ }
1636
1737 public CustomCollection <Client > getFullList () {
1838 return fullList ;
1939 }
2040
21- public void showAllClientsInDefaultOrder (){
41+ public void showAllClients (){
2242 for (Client client : fullList ){
2343 System .out .println (client );
2444 }
2545 }
2646
2747 public void startFileReaderStrategy (String path ){
28- inputManager .setStrategy (new FileReaderStrategy (path ));
48+ inputManager .setStrategy (inputManager . createFileStrategy (path ));
2949 try {
3050 CustomCollection <Client > fromFileList = inputManager .loadData ();
3151 fullList .addAll (fromFileList );
@@ -38,7 +58,7 @@ public void startFileReaderStrategy(String path){
3858 }
3959
4060 public void startManualInputStrategy (){
41- inputManager .setStrategy (new ManualInputReaderStrategy ());
61+ inputManager .setStrategy (inputManager . createManualStrategy ());
4262 try {
4363 CustomCollection <Client > manualList = inputManager .loadData ();
4464 fullList .addAll (manualList );
@@ -51,9 +71,10 @@ public void startManualInputStrategy(){
5171 }
5272
5373 public void startRandomDataStrategy (int count ){
54- inputManager .setStrategy (new RandomDataGeneratorStrategy (count ));
74+ inputManager .setStrategy (inputManager . createRandomStrategy (count ));
5575 try {
5676 CustomCollection <Client > randomList = inputManager .loadData ();
77+ fullList .addAll (randomList );
5778 for (Client client : randomList ){
5879 System .out .println (client );
5980 }
0 commit comments