<div dir="ltr"><p class="gmail-isSelectedEnd">Hello,</p><p class="gmail-isSelectedEnd">I have a question regarding the ConnId <code dir="ltr">CreateOp</code> implementation in midPoint.</p><p class="gmail-isSelectedEnd">Is <code dir="ltr">__NAME__</code> mandatory in the <code dir="ltr">Set<Attribute> createAttributes</code> passed to the connector's <code dir="ltr">create()</code> method?</p><p class="gmail-isSelectedEnd">In particular, consider a target system where:</p><ul><li>the object has only one identifier, e.g. <code dir="ltr">id</code>;</li><li>this <code dir="ltr">id</code> is generated by the target system during creation;</li><li>there is no separate <code dir="ltr">login</code>, <code dir="ltr">username</code>, <code dir="ltr">name</code>, DN, or any other value that could naturally be used as <code dir="ltr">__NAME__</code> before the object is created.</li></ul><p class="gmail-isSelectedEnd">In such a case, can midPoint call:</p><p class="gmail-isSelectedEnd"><code dir="ltr">create(ObjectClass objectClass, Set<Attribute> createAttributes, OperationOptions options)</code></p><p class="gmail-isSelectedEnd">without <code dir="ltr">__NAME__</code> in <code dir="ltr">createAttributes</code>?</p><p class="gmail-isSelectedEnd">The connector would then create the object, receive the generated <code dir="ltr">id</code> from the target system, return it as <code dir="ltr">new Uid(id)</code>, and on subsequent reads return the same value as both <code dir="ltr">Uid</code> and <code dir="ltr">Name</code>.</p><p class="gmail-isSelectedEnd">For example:</p><ul><li>before <code dir="ltr">create()</code>: no <code dir="ltr">Uid</code> and no meaningful <code dir="ltr">Name</code> exist;</li><li>target system creates <code dir="ltr">id = "4711"</code>;</li><li><code dir="ltr">create()</code> returns <code dir="ltr">Uid = "4711"</code>;</li><li>subsequent reads return <code dir="ltr">Uid = "4711"</code> and <code dir="ltr">Name = "4711"</code>.</li></ul><p class="gmail-isSelectedEnd">Is this supported by midPoint/ConnId, or must <code dir="ltr">__NAME__</code> always be present in <code dir="ltr">createAttributes</code>, even if it has no corresponding value in the target system at creation time?</p><p>Thank you.</p></div>