/** * Used to determine if a soar production matches Working Memory * * @param sv the SoarIdentifierVertex in WorkingMemory currently checking * @param sp the Soar Production to check * @return a list of errors * @see DefaultCheckerErrorHandler * @see * DataMapChecker#check(SoarWorkingMemoryModel,SoarIdentifierVertex,TriplesExtractor,DefaultCheckerErrorHandler) */ public List checkProduction(SoarIdentifierVertex sv, SoarProduction sp) { TriplesExtractor triplesExtractor = new TriplesExtractor(sp); DefaultCheckerErrorHandler dceh = new DefaultCheckerErrorHandler(sp.getName(), sp.getStartLine()); DataMapChecker.check(this, sv, triplesExtractor, dceh); return dceh.getErrors(); }
/** * Used by the Generate Productions actions to look for holes in Working Memory and fix those * holes. * * @param sv the SoarIdentifierVertex in WorkingMemory currently checking * @param sp the Soar Production to check * @param current the node being examined * @return a list of errors * @see DefaultCheckerErrorHandler * @see * DataMapChecker#complete(SoarWorkingMemoryModel,SoarIdentifierVertex,TriplesExtractor,DefaultCheckerErrorHandler,OperatorNode) */ public List checkGenerateProduction( SoarIdentifierVertex sv, SoarProduction sp, OperatorNode current) { TriplesExtractor triplesExtractor = new TriplesExtractor(sp); DefaultCheckerErrorHandler dceh = new DefaultCheckerErrorHandler(sp.getName(), sp.getStartLine()); DataMapChecker.complete(this, sv, triplesExtractor, dceh, current); return dceh.getErrors(); }
/** * Used to determine if a soar production matches Working Memory This function will also generate * a log file to keep track of production checking * * @param sv the SoarIdentifierVertex in WorkingMemory currently checking * @param sp the Soar Production to check * @param fw the log file that is being written too - "CheckingProductions.log" * @return a list of errors * @see DefaultCheckerErrorHandler * @see * DataMapChecker#check(SoarWorkingMemoryModel,SoarIdentifierVertex,TriplesExtractor,DefaultCheckerErrorHandler) */ public List checkProductionLog(SoarIdentifierVertex sv, SoarProduction sp, FileWriter fw) { TriplesExtractor triplesExtractor = new TriplesExtractor(sp); try { fw.write("Extracted the triples for the production " + sp.getName()); fw.write('\n'); } catch (IOException ioe) { ioe.printStackTrace(); } DefaultCheckerErrorHandler dceh = new DefaultCheckerErrorHandler(sp.getName(), sp.getStartLine()); DataMapChecker.checkLog(this, sv, triplesExtractor, dceh, fw); return dceh.getErrors(); }