I deleted the suffix off the input XML file, and got an uncontrolled error. It should be caught. I think this code in XMLBuilder should test for a null return and stop processing.
protected void readXMLs() {
//GersFilesUtils.clear();
Collection<GersFile> gfs = new GersFilesUtils().getGersFiles(RunControlConfigration.getWBXMLWinDirectory());
logger.atInfo().log("found %d files in %s", gfs.size(), RunControlConfigration.getWBXMLWinDirectory());
for (GersFile gf : gfs) {
logger.atFine().log("Read XML file from %s", gf.getName());
try {
this.inputReader = gf.getReader(gf.getName());
InputReport ir = new InputReport();
ir.setDdName(getXMLDirectory());
ir.setMemberName(gf.getName());
buildFromXML(ir);
Repository.addInputReport(ir);
} catch (FileNotFoundException e) {
logger.atSevere().withStackTrace(StackSize.FULL).log("Repo build failed " + e.getMessage());
retval = Status.ERROR;
}
}
}
Here's the log file showing no XLM found,
INFO : ---------------------
INFO : Run Control Generator
INFO : ---------------------
INFO : found 0 files in WBXMLI
INFO : Repository populated
INFO : ----------------------------------------
INFO : Single Pass Optimization of view sources
INFO : ----------------------------------------
FINE : Generate Logic Groups
FINE : Match LFs to Logic Groups
INFO : runCompilers Now 01:42:18.947
FINE : Lookup data
FINE : Key fields to Join View
FINE : Exit Joins
FINE : External Joins
and yet the next message is from RunControlGenerator runFromConfig
public Status runFromConfig() {
GenevaLog.writeHeader("Run Control Generator");
if(buildComponentRepositoryFromSelectedInput() != Status.ERROR) {
**logger.atInfo().log("Repository populated");**
Repository.fixupMaxHeaderLines();
Repository.fixupPFDDNames();
Repository.allLFsNotRequired();
Repository.setGenerationTime(Calendar.getInstance().getTime());
singlePassOptimise();
runCompilers();
writeRunControlFiles();
} else {
Repository.addErrorMessage(new CompilerMessage(0, null, 0, 0, 0, "Failed to build the component repository"));
logger.atSevere().log("Failed to build the component repository. No run control files will be written");
}
report.write();
return status;
}
Here is the JAVA error from SYSOUT:
1.1.0_RC4-jar-with-dependencies.jar"
GenevaERS RunControls version 1.1.0_RC4
Java Vendor Eclipse Adoptium
Java Version 17.0.6
Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom
INFO: Read RUNVIEWS
Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom
INFO: Ids file RUNVIEWS not found
Running Run Control Generator
Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom
INFO: Read RUNVIEWS
Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom
INFO: Ids file RUNVIEWS not found
Oct 10, 2024 1:42:18 PM org.genevaers.utilities.ParmReader parse
WARNING: Ignoring unknown parm OUTPUT_RUN_CONTROL_FILES=Y
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:970)
at org.genevaers.runcontrolgenerator.compilers.ExtractPhaseCompiler.checkWriteStatements(ExtractPhaseCompiler.java:339)
at org.genevaers.runcontrolgenerator.compilers.ExtractPhaseCompiler.wholeViewChecks(ExtractPhaseCompiler.java:319)
at org.genevaers.runcontrolgenerator.compilers.ExtractPhaseCompiler.run(ExtractPhaseCompiler.java:94)
at org.genevaers.runcontrolgenerator.RunControlGenerator.runCompilers(RunControlGenerator.java:108)
at org.genevaers.runcontrolgenerator.RunControlGenerator.runFromConfig(RunControlGenerator.java:68)
at org.genevaers.runcontrolgenerator.RCGApp.run(RCGApp.java:87)
at org.genevaers.rcapps.Runner.choose(Runner.java:51)
at org.genevaers.rcapps.Runner.main(Runner.java:42)
I deleted the suffix off the input XML file, and got an uncontrolled error. It should be caught. I think this code in XMLBuilder should test for a null return and stop processing.
Here's the log file showing no XLM found,
INFO : --------------------- INFO : Run Control Generator INFO : --------------------- INFO : found 0 files in WBXMLI INFO : Repository populated INFO : ---------------------------------------- INFO : Single Pass Optimization of view sources INFO : ---------------------------------------- FINE : Generate Logic Groups FINE : Match LFs to Logic Groups INFO : runCompilers Now 01:42:18.947 FINE : Lookup data FINE : Key fields to Join View FINE : Exit Joins FINE : External Joins
and yet the next message is from RunControlGenerator runFromConfig
public Status runFromConfig() { GenevaLog.writeHeader("Run Control Generator");
Here is the JAVA error from SYSOUT:
1.1.0_RC4-jar-with-dependencies.jar" GenevaERS RunControls version 1.1.0_RC4 Java Vendor Eclipse Adoptium Java Version 17.0.6 Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom INFO: Read RUNVIEWS Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom INFO: Ids file RUNVIEWS not found Running Run Control Generator Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom INFO: Read RUNVIEWS Oct 10, 2024 1:42:18 PM org.genevaers.utilities.IdsReader getIdsFrom INFO: Ids file RUNVIEWS not found Oct 10, 2024 1:42:18 PM org.genevaers.utilities.ParmReader parse WARNING: Ignoring unknown parm OUTPUT_RUN_CONTROL_FILES=Y Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.ArrayList$Itr.next(ArrayList.java:970) at org.genevaers.runcontrolgenerator.compilers.ExtractPhaseCompiler.checkWriteStatements(ExtractPhaseCompiler.java:339) at org.genevaers.runcontrolgenerator.compilers.ExtractPhaseCompiler.wholeViewChecks(ExtractPhaseCompiler.java:319) at org.genevaers.runcontrolgenerator.compilers.ExtractPhaseCompiler.run(ExtractPhaseCompiler.java:94) at org.genevaers.runcontrolgenerator.RunControlGenerator.runCompilers(RunControlGenerator.java:108) at org.genevaers.runcontrolgenerator.RunControlGenerator.runFromConfig(RunControlGenerator.java:68) at org.genevaers.runcontrolgenerator.RCGApp.run(RCGApp.java:87) at org.genevaers.rcapps.Runner.choose(Runner.java:51) at org.genevaers.rcapps.Runner.main(Runner.java:42)