protected boolean convertPages()

in src/main/java/com/atlassian/uwc/ui/ConverterEngine_v2.java [533:614]


    protected boolean convertPages(
    		List<Page> pages, 
    		List<Converter> converters, 
    		boolean useUI, 
    		String progressMessage) {
        boolean result = true;
        if (useUI) JFrame.setDefaultLookAndFeelDecorated(true);

        // Set up a progress monitor and progress count
        ProgressMonitor progressMonitor = null;
        int progress = 0;
        long startTotalConvertTime = 0;
        if (useUI) {
	        progressMonitor = createProgressMonitor(progressMessage, pages.size());
	        startTotalConvertTime = (new Date()).getTime();
        }
        // loop each page(file) through all the converters.
        // We can't use the enhanced for loop here, because we need to
        // remove pages that we can't read.
        for (Iterator<Page> i = pages.iterator(); i.hasNext();) {
            Page page = i.next();
            long startTimeStamp = ((new Date()).getTime());
            if (log.isInfoEnabled()) {
                log.info("-------------------------------------");
                log.info("converting page file: " + page.getName());
            }
            File file = page.getFile();
//            String inputPage = null;
            if (file == null) {
            	if (page.getOriginalText() != null && !"".equals(page.getOriginalText())) {
            		log.warn("This appears to be a unit test. Continue as for Unit Test.");
            	}
            	else {
	                log.warn("No file was set for page " + page.getName() + "! Skipping page.");
	                i.remove();
	                continue;
            	}
            }
            else if (page.getOriginalText() == null){
	            try {
	                String pageContents = FileUtils.readTextFile(file);
	                page.setOriginalText(pageContents);
	            } catch (IOException e) {
	                addError("Could not read file " + file.getAbsolutePath() + "! Skipping file.", e);
	                i.remove();
	                continue;
	            }
            }
            convertPage(converters, page);
            if (log.isInfoEnabled()) {
                long stopTimeStamp = ((new Date()).getTime());
                log.info("                   time to convert " + (stopTimeStamp - startTimeStamp) + "ms");
            }
            if (useUI) {
		        if (progressMonitor.isCanceled()) {
		            result = false;
		            break;
		        }
		        progressMonitor.setProgress(progress++);
		        if (progress % 10 == 0) {
		            progressMonitor.setNote("Converted " + progress + " out of " + pages.size() + " pages");
		        }
            }
        }
        if (useUI) progressMonitor.close();
// deleteMe - start
//        log.info("::: list of attachment paths not found:::");
//        List allFilesNotFound = PmWikiPrepareAttachmentFilesConverter.allFilesNotFound;
//        for (Object filesNotFound : allFilesNotFound) {
//            String s = (String)filesNotFound;
//            log.info("file not found::: "+s);
//        }
// deleteMe - stop
        if (useUI) {
	        long endTotalConvertTime = (new Date()).getTime();
	        long totalTimeToConvert = (endTotalConvertTime - startTotalConvertTime)/1000;        
	        log.info("::: total time to convert files: "+ totalTimeToConvert+ " seconds.");
            totalsFileLog.info(progressMessage+"::: total time to convert files: "+ totalTimeToConvert+ " seconds."+
            "For "+pages.size()+" pages and using "+converters.size()+" converters.");
        }
        return result;
    }