Skip to content

Commit c68b808

Browse files
Replace
updated Generator class to perform Replace on the COBOL source. This creates a new 'temporary' file named MOD.
1 parent 481c2ba commit c68b808

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/main/java/org/openmainframeproject/cobolcheck/features/testSuiteParser/TestSuiteConcatenator.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,12 @@ Reader concatenateTestSuites(String programTestSuiteSubdirectory) {
106106
for (String matchingFile : matchingFiles) {
107107
BufferedReader testFileReader = new BufferedReader(EncodingIO.getReaderWithCorrectEncoding(matchingFile));
108108
String line = Constants.EMPTY_STRING;
109+
// Line number is set to zero, to be used in Replace.replace() method
110+
// So that replace is performed regardless of line number
111+
int lineNumber = 0;
109112
concatenatedTestSuitesWriter.write(StringHelper.commentOutLine("From file: " + matchingFile) + Constants.NEWLINE);
110113
while((line = testFileReader.readLine()) != null) {
111-
concatenatedTestSuitesWriter.write(Replace.replace(line) + Constants.NEWLINE);
114+
concatenatedTestSuitesWriter.write(Replace.replace(line, lineNumber) + Constants.NEWLINE);
112115
}
113116
testFileReader.close();
114117
}

src/main/java/org/openmainframeproject/cobolcheck/workers/Generator.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,12 @@ public Generator(InterpreterController interpreter, WriterController writerContr
6868
public void prepareAndRunMerge(String programName, String testFileNames) {
6969
RunInfo.setCurrentProgramName(new File(programName).getName());
7070
RunInfo.setCurrentProgramPath(new File(programName).getAbsolutePath());
71-
Replace.inspectProgram(new File(PathHelper.appendMatchingFileSuffix(programName, Config.getApplicationFilenameSuffixes())));
71+
File originalSource = new File(PathHelper.appendMatchingFileSuffix(programName, Config.getApplicationFilenameSuffixes()));
72+
Replace.inspectProgram(originalSource);
7273

7374
matchingTestDirectories = PrepareMergeController.getMatchingTestDirectoriesForProgram(programName);
75+
//replace in the program, return the program name with the corrected source code.
76+
programName = Replace.replaceInProgram(originalSource);
7477
for (String matchingDirectory : matchingTestDirectories) {
7578

7679
Reader sourceReader = PrepareMergeController.getSourceReader(programName);

0 commit comments

Comments
 (0)