package com.sandwich.util.io; import java.io.File; import com.sandwich.util.io.filecompiler.CompilationListener; import com.sandwich.util.io.filecompiler.FileCompilerAction; public class KoanSuiteCompilationListener implements CompilationListener { private boolean lastCompilationAttemptFailed = false; private String lastMessageShown = null; public void compilationFailed(File src, String[] command, int exitCode, String errorMessage, Throwable x) { if(lastMessageShown == null || !errorMessage.trim().equals(lastMessageShown.trim())){ FileCompilerAction.LOGGING_HANDLER.compilationFailed(src, command, exitCode, errorMessage, x); } lastMessageShown = errorMessage; lastCompilationAttemptFailed = true; } public void compilationSucceeded(File src, String[] command, String stdIo, Throwable x) { lastMessageShown = null; // reset last failed compilation message lastCompilationAttemptFailed = false; } public boolean isLastCompilationAttemptFailure(){ return lastCompilationAttemptFailed; } }