Differencer.java
package org.docascode.api.diff;
import org.apache.commons.io.FilenameUtils;
import org.docascode.api.core.errors.DocAsCodeException;
import org.docascode.api.event.Event;
public class Differencer extends AbstractDifferencer{
@Override
public void diff() throws DocAsCodeException {
AbstractDifferencer diff;
String extension = FilenameUtils.getExtension(targetFile.getAbsolutePath());
switch (extension) {
case "docx":
diff = new DocxDifferencer();
break;
default:
Event e = new Event(this);
e.setMessage(String.format(
"Unsupported format '%s' for diff",
extension));
fireEvent(e);
return;
}
((AbstractDifferencer) diff.addListener(this))
.setBaseFile(this.baseFile)
.setRevisedFile(this.revisedFile)
.setTargetFile(this.targetFile)
.setRevision(this.revision)
.diff();
}
}