package org.safehaus.penrose.synchronization; import java.io.Serializable; import java.io.StringWriter; import java.io.PrintWriter; /** * @author Endi Sukma Dewata */ public class SynchronizationResult implements Serializable { public final static long serialVersionUID = 1L; private Long sourceEntries; private Long targetEntries; private long addedEntries; private long modifiedEntries; private long deletedEntries; private long unchangedEntries; private long failedEntries; private long duration; public SynchronizationResult() { } public void add(SynchronizationResult result) { if (result.sourceEntries != null) { sourceEntries = sourceEntries == null ? result.sourceEntries : sourceEntries + result.sourceEntries; } if (result.targetEntries != null) { targetEntries = targetEntries == null ? result.targetEntries : targetEntries + result.targetEntries; } addedEntries += result.addedEntries; modifiedEntries += result.modifiedEntries; deletedEntries += result.deletedEntries; unchangedEntries += result.unchangedEntries; failedEntries += result.failedEntries; duration += result.duration; } public long getDuration() { return duration; } public void setDuration(long duration) { this.duration = duration; } public long getAddedEntries() { return addedEntries; } public void setAddedEntries(long addedEntries) { this.addedEntries = addedEntries; } public void incAddedEntries() { addedEntries++; targetEntries++; } public long getModifiedEntries() { return modifiedEntries; } public void setModifiedEntries(long modifiedEntries) { this.modifiedEntries = modifiedEntries; } public void incModifiedEntries() { modifiedEntries++; } public long getDeletedEntries() { return deletedEntries; } public void setDeletedEntries(long deletedEntries) { this.deletedEntries = deletedEntries; } public void incDeletedEntries() { deletedEntries++; targetEntries--; } public long getUnchangedEntries() { return unchangedEntries; } public void setUnchangedEntries(long unchangedEntries) { this.unchangedEntries = unchangedEntries; } public void incUnchangedEntries() { unchangedEntries++; } public long getFailedEntries() { return failedEntries; } public void setFailedEntries(long failedEntries) { this.failedEntries = failedEntries; } public void incFailedEntries() { failedEntries++; } public Long getSourceEntries() { return sourceEntries; } public void setSourceEntries(Long sourceEntries) { this.sourceEntries = sourceEntries; } public Long getTargetEntries() { return targetEntries; } public void setTargetEntries(Long targetEntries) { this.targetEntries = targetEntries; } public String toString() { StringWriter sw = new StringWriter(); PrintWriter out = new PrintWriter(sw, true); out.println("Synchronization result:"); out.println(" - source : "+(sourceEntries == null ? "N/A" : sourceEntries)); out.println(" - added : "+addedEntries); out.println(" - modified : "+modifiedEntries); out.println(" - deleted : "+deletedEntries); out.println(" - unchanged : "+unchangedEntries); out.println(" - failed : "+failedEntries); out.println(" - target : "+(targetEntries == null ? "N/A" : targetEntries)); out.print (" - duration : "+(duration/1000.0)+" s"); out.close(); return sw.toString(); } }