Custom inbound pipe: Implement IPushPipe
To implement the IPushPipe interface, add the following method in XmlInboundPipe.cs:
public virtual void PushData(IList<PublishingSystemEventInfo> items)
{
var wrapperObjects = items.Select(i =>
{
var item = i.Item;
return (item is WrapperObject) ? (WrapperObject)item : new WrapperObject(item) { MappingSettings = this.PipeSettings.Mappings, Language = i.Language };
}).ToList();
this.publishingPoint.RemoveItems(wrapperObjects);
this.publishingPoint.AddItems(wrapperObjects);
}
You must implement the PushData method. First, you wrap all objects. Then, you push the data to the publishing point.