agent/src/jetbrains/buildServer/swabra/snapshots/FilesCollectionProcessorMock.java (66 lines of code) (raw):

package jetbrains.buildServer.swabra.snapshots; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.util.concurrent.atomic.AtomicBoolean; import jetbrains.buildServer.swabra.SwabraLogger; import jetbrains.buildServer.swabra.processes.LockedFileResolver; import jetbrains.buildServer.swabra.snapshots.iteration.FileInfo; import org.jetbrains.annotations.NotNull; /** * User: vbedrosova * Date: 04.02.2010 * Time: 14:59:20 */ public class FilesCollectionProcessorMock extends FilesCollectionProcessor { private final String myLogPath; private RandomAccessFile myFile; public FilesCollectionProcessorMock(@NotNull SwabraLogger logger, LockedFileResolver resolver, @NotNull File dir, boolean verbose, boolean strict, String logPath, AtomicBoolean buildInterruped) { super(logger, resolver, dir, verbose, strict, buildInterruped); myLogPath = logPath; } private void log(String message) { try { for (int i = 0; i < message.length(); ++i) { myFile.writeByte(message.charAt(i)); } // myFile.writeChars(message); } catch (IOException e) { e.printStackTrace(); } } @Override public void processModified(FileInfo info1, FileInfo info2) { super.processModified(info1, info2); log("MODIFIED " + info1.getPath() + "\n"); } @Override public void processDeleted(FileInfo info) { super.processDeleted(info); log("DELETED " + info.getPath() + "\n"); } @Override public void processAdded(FileInfo info) { super.processAdded(info); log("ADDED " + info.getPath() + "\n"); } @Override public void comparisonFinished() { super.comparisonFinished(); try { myFile.close(); } catch (IOException e) { e.printStackTrace(); } } @Override public void comparisonStarted() { super.comparisonStarted(); try { myFile = new RandomAccessFile(myLogPath, "rw"); myFile.seek(myFile.length()); } catch (IOException e) { e.printStackTrace(); } } }