/** * Determine if this inbound file for voucher processing has been presented before. 1. Check if a * camunda process is in flight 2. * * @param processBusinessKey * @return */ public boolean matchFile(String processBusinessKey) { boolean isMatched = true; Job job = jobStore.findJob(processBusinessKey); GetReceivedFilesResponse getReceivedFilesResponse = getReceivedFilesResponse(job); if (getReceivedFilesResponse == null) return false; File sourceFile = new File(lockerPath, processBusinessKey); log.info("MatchReceivedFilesRoute || sourceFile path - " + sourceFile.getAbsolutePath()); if (!sourceFile.exists()) { log.error("SourceFile Does not exist --" + sourceFile.getAbsolutePath()); return false; } File[] receivedFile = sourceFile.listFiles( new FilenameFilter() { public boolean accept(File dir, String filename) { return filename.endsWith(".DAT"); } }); File receivedFileName = receivedFile[0]; log.info("MatchReceivedFilesRoute || receivedDatFile name - " + receivedFileName.getName()); List<String> fileNameInFileList = getFileNamesInFile(receivedFileName); log.info("MatchReceivedFilesRoute || fileNameInDATFile - Size - " + fileNameInFileList.size()); MatchFilesResponse matchFilesResponse = matchReceivedFileNames(getReceivedFilesResponse.getReceivedFiles(), fileNameInFileList); Activity parameterActivity = new Activity(); parameterActivity.setPredicate("match"); parameterActivity.setSubject("receivedfiles"); parameterActivity.setJobIdentifier(processBusinessKey); parameterActivity.setResponse(matchFilesResponse); parameterActivity.setRequestDateTime(new Date()); job.getActivities().add(parameterActivity); if ((matchFilesResponse.getUnmatchedFilesFromDats().size() != 0) || (matchFilesResponse.getUnmatchedFilesReceiveds().size() != 0)) { isMatched = false; } log.info("MatchReceivedFilesRoute || isMatched - " + isMatched); return isMatched; }