<?xml version="1.0"?>
<component name="org.nuxeo.ecm.core.automation.features.operations.override">

  <require>org.nuxeo.ecm.core.automation.features.operations</require>

  <documentation>
@author Bogdan Stefanescu (bs@nuxeo.com)

  </documentation>
  <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    <chain id="VersionAndAttachFile">
      <operation id="Context.PushBlobList">
      </operation>
      <operation id="Repository.GetDocument">
        <param name="value" type="string">expr:Context.get("currentDocument")</param>
      </operation>
      <operation id="Document.CheckIn">
        <param name="version" type="string">minor</param>
        <param name="comment" type="string">Automatic checkin before file update</param>
      </operation>
      <operation id="Context.SetInputAsVar">
        <param name="name" type="string">newDocument</param>
      </operation>
      <operation id="Context.SetVar">
        <param name="name" type="string">currentDocument</param>
        <param name="value" type="string">expr:Context.get("newDocument").id</param>
      </operation>
      <operation id="Context.PopBlobList">
      </operation>
      <operation id="BlobHolder.AttachOnCurrentDocument">
        <param name="useMainBlob" type="boolean">true</param>
      </operation>
    </chain>
    <chain id="AttachFiles">
      <operation id="BlobHolder.AttachOnCurrentDocument">
        <param name="useMainBlob" type="boolean">false</param>
      </operation>
    </chain>
    <chain id="VersionAndAttachFiles">
      <operation id="Context.PushBlobList">
      </operation>
      <operation id="Repository.GetDocument">
        <param name="value" type="string">expr:Context.get("currentDocument")</param>
      </operation>
      <operation id="Document.CheckIn">
        <param name="version" type="string">minor</param>
        <param name="comment" type="string">Automatic checkin before files update</param>
      </operation>
      <operation id="Context.SetInputAsVar">
        <param name="name" type="string">newDocument</param>
      </operation>
      <operation id="Context.SetVar">
        <param name="name" type="string">currentDocument</param>
        <param name="value" type="string">expr:Context.get("newDocument").id</param>
      </operation>
      <operation id="Context.PopBlobList">
      </operation>
      <operation id="BlobHolder.AttachOnCurrentDocument">
        <param name="useMainBlob" type="boolean">false</param>
      </operation>
    </chain>
    <chain id="FileManager.ImportWithMetaData">
      <operation id="FileManager.ImportWithProperties">
        <param name="overwrite" type="boolean">true</param>
        <param name="properties" type="properties">expr:Context.get("docMetaData")</param>
      </operation>
    </chain>
  </extension>

</component>
