public Handle ( ISyncEvent e ) : bool | ||
e | ISyncEvent | /// The ISyncEvent only handled when ContentChangeEvent /// |
리턴 | bool |
public override bool Handle(ISyncEvent e) {
if (!(e is ContentChangeEvent)) {
return false;
}
Logger.Debug("Handling ContentChangeEvent");
var contentChangeEvent = e as ContentChangeEvent;
if (contentChangeEvent.Type != DotCMIS.Enums.ChangeType.Deleted && contentChangeEvent.CmisObject == null) {
throw new InvalidOperationException("ERROR, ContentChangeEventAccumulator Missing");
}
if (contentChangeEvent.Type == DotCMIS.Enums.ChangeType.Deleted) {
this.HandleDeletion(contentChangeEvent);
} else if (contentChangeEvent.CmisObject is IFolder) {
this.HandleAsIFolder(contentChangeEvent);
} else if (contentChangeEvent.CmisObject is IDocument) {
this.HandleAsIDocument(contentChangeEvent);
}
return true;
}
public void IgnoreNotAccumulatedNonDeleteEvent() { var storage = new Mock<IMetaDataStorage>(); var queue = new Mock<ISyncEventQueue>(); var e = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Created, Id); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); Assert.Throws<InvalidOperationException>(() => transformer.Handle(e)); }