File tree Expand file tree Collapse file tree
cg/CodeGenerator/CodeGenerator/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55import org .slf4j .LoggerFactory ;
66import pn .cg .datastorage .constant .CommonStringConstants ;
77
8- import java .util .Arrays ;
9- import java .util .LinkedList ;
10- import java .util .List ;
8+ import java .util .*;
119
1210import static pn .cg .util .CodeGeneratorUtil .ValidateResponseOnSuperAppGetAllClassesQuestion ;
1311
@@ -262,6 +260,7 @@ public static String RemoveCommonAdditionStringsFromAiModels(String input) {
262260 * @return List<String>
263261 */
264262 public static List <String > GetListOfClassNamesInSuperAppGeneration (String input ) {
263+ final String MAIN_CLASS_NAME = "Main" ;
265264 try {
266265 String [] classNamesArr = input .split ("\n " );
267266 List <String > tmpClassNames = new LinkedList <>();
@@ -288,7 +287,15 @@ public static List<String> GetListOfClassNamesInSuperAppGeneration(String input)
288287 }
289288 }
290289
291- return tmpClassNames .stream ().filter (line -> !(line .contains (" " ))).toList ();
290+ tmpClassNames = tmpClassNames .stream ().filter (line -> !(line .contains (" " ))).toList ();
291+
292+ if (!tmpClassNames .isEmpty () && tmpClassNames .get (0 ).equalsIgnoreCase (MAIN_CLASS_NAME )){
293+ List <String > mutableList = new ArrayList <>(tmpClassNames );
294+ Collections .reverse (mutableList );
295+ return mutableList ;
296+ }
297+
298+ return tmpClassNames ;
292299
293300 } catch (Exception e ) {
294301
Original file line number Diff line number Diff line change @@ -347,6 +347,19 @@ public void GetListOfClassNamesInSuperAppGenerationTest2() {
347347 final String PERFECT_RESPONSE_FROM_AI_MODEL = "PackageScanner\n SecurityAnalyzer\n VulnerabilityChecker\n ReportGenerator\n UserInterface\n ApplicationManager\n Main" ;
348348
349349
350+ final List <String > EXPECTED = Arrays .stream (PERFECT_RESPONSE_FROM_AI_MODEL .split ("\n " )).toList ();
351+ final List <String > ACTUAL = StringUtil .GetListOfClassNamesInSuperAppGeneration (TEST_INPUT );
352+
353+ Assertions .assertEquals (EXPECTED , ACTUAL );
354+ }
355+
356+ @ Test
357+ public void ReverseListOfClassNamesInSuperAppGenerationIfFirstClassIsNamedMain () {
358+
359+ final String TEST_INPUT = "1. Main\n 2. PackageScanner" ;
360+ final String PERFECT_RESPONSE_FROM_AI_MODEL = "PackageScanner\n Main" ;
361+
362+
350363 final List <String > EXPECTED = Arrays .stream (PERFECT_RESPONSE_FROM_AI_MODEL .split ("\n " )).toList ();
351364 final List <String > ACTUAL = StringUtil .GetListOfClassNamesInSuperAppGeneration (TEST_INPUT );
352365
You can’t perform that action at this time.
0 commit comments