genevaers / Run-Control-Apps

GenevaERS Run Control
Apache License 2.0
0 stars 1 forks source link

XML suffix missing on windows machine run of RCG should control error #84

Open KipTwitchell opened 1 week ago

KipTwitchell commented 1 week ago

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)

KipTwitchell commented 1 week ago

line 42, initialize to error, then move OK status within For loop.

Look at the VDPXML structure to see if there is an error there.