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.