Skip to content

Commit c69165c

Browse files
authored
Merge pull request #184 from pwgit-create/codexFix
Fixed so the codebase generations with codegeex4 ai model will work b…
2 parents 9fe57f3 + 306dc5f commit c69165c

2 files changed

Lines changed: 24 additions & 4 deletions

File tree

cg/CodeGenerator/CodeGenerator/src/main/java/pn/cg/util/StringUtil.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
import org.slf4j.LoggerFactory;
66
import 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

1210
import 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

cg/CodeGenerator/CodeGenerator/src/test/java/pn/cg/util/StringUtilTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,19 @@ public void GetListOfClassNamesInSuperAppGenerationTest2() {
347347
final String PERFECT_RESPONSE_FROM_AI_MODEL = "PackageScanner\nSecurityAnalyzer\nVulnerabilityChecker\nReportGenerator\nUserInterface\nApplicationManager\nMain";
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\n2. PackageScanner";
360+
final String PERFECT_RESPONSE_FROM_AI_MODEL = "PackageScanner\nMain";
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

0 commit comments

Comments
 (0)