<div dir="ltr"><div><div>Hello all,<br></div>I have question about performance of reconciliation. <br></div><div>I have simple CSV connector for HR data reconciliation. CSV file contains  <b>13224</b> records . But some of these records does not suite me so I have added conditions to  objectSynchronization section to filter out bad records on my opinion.</div><div><span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">But to my disappointment I</span></span> have found that  filtered out records were processed twice during reconciliation.</div><div>The first one as <br></div><div>ACCOUNT - HR - AccountObjectClass (where HR is Intent)<br></div><div>the second one as <br></div><div>ACCOUNT - null - AccountObjectClass</div><div><br></div><div>Processed 13224 account(s)<br></div><div>User     Add     Reconciliation     542<br>No sync policy     12681<br>Total objects processed   <b>  25,904</b><br></div><div><br></div><div></div><div>Removing "HR" Intent in cofiguration does not help avoid double processing filtered out records.</div><div>Please help to understand what is wrong in my synchronization settings.</div><div><br></div><div>Best regards, Oleksandr<br></div><div><br></div><div><br></div><div></div><div>My synchronization configuration settings</div><div> <synchronization><br>      <objectSynchronization><br>         <name>HR sync</name><br>         <objectClass>AccountObjectClass</objectClass><br>         <kind>account</kind><br>         <focusType>c:UserType</focusType><br>         <enabled>true</enabled><br>         <condition><br>            <script xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br>                    xsi:type="c:ScriptExpressionEvaluatorType"><br>               <code><br>String inputFullname = basic.getAttributeValue(shadow, 'fullname');<br>String inputPID = basic.getAttributeValue(shadow, 'PID');<br>String inputlogin = basic.getAttributeValue(shadow, 'login');<br>String allowedSymbols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890.';<br>boolean checkResult = true;<br>        if (inputFullname == null || inputFullname.isEmpty()) {<br>            return false;<br>        }<br>        if (inputPID == null || inputPID.isEmpty()) {<br>            return false;<br>        }        <br>        if (inputlogin == null || inputlogin.isEmpty()) {<br>            return false;<br>        }<br>        char[] chars = inputlogin.toCharArray();<br>        if (chars.length &gt; 1) {<br>            for (char c : chars) {<br>                if (!allowedSymbols.contains(Character.toString(c))) {<br>                    checkResult = false;<br>                    break;<br>                }<br>            }<br>        } else {<br>            return false;<br>        }<br>        return checkResult;<br></code><br>            </script><br>         </condition><br>         <correlation><br>            <q:description>HR recon</q:description><br>            <q:equal><br>               <q:path>c:employeeNumber</q:path><br>               <expression xmlns=""><br>                  <variable><br>                     <name>pid</name><br>                     <path xmlns="<a href="http://midpoint.evolveum.com/xml/ns/public/common/common-3">http://midpoint.evolveum.com/xml/ns/public/common/common-3</a>">$shadow/attributes/ri:PID</path><br>                  </variable><br>                  <script><br>                     <code><br>      'HRM'+pid<br>    </code><br>                  </script><br>               </expression><br>            </q:equal><br>         </correlation><br>         <objectTemplateRef oid="00000005-0000-0000-0000-777111111111" type="c:ObjectTemplateType"><br>            <targetName>User Template - for Agents</targetName><br>         </objectTemplateRef><br>         <reconcile>false</reconcile><br>         <reaction><br>            <situation>linked</situation><br>            <synchronize>true</synchronize><br>            <reconcile>false</reconcile><br>         </reaction><br>         <reaction><br>            <situation>unlinked</situation><br>            <synchronize>true</synchronize><br>            <action><br>               <handlerUri><a href="http://midpoint.evolveum.com/xml/ns/public/model/action-3#link">http://midpoint.evolveum.com/xml/ns/public/model/action-3#link</a></handlerUri><br>            </action><br>         </reaction><br>         <reaction><br>            <situation>unmatched</situation><br>            <synchronize>true</synchronize><br>            <reconcile>false</reconcile><br>            <action><br>               <handlerUri><a href="http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus">http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus</a></handlerUri><br>            </action><br>         </reaction><br>      </objectSynchronization><br>   </synchronization><br></div><div><br></div><div><div><div><div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(76,76,76)">Best regards, <br><br>Oleksandr Nekriach | Identity and access management engineer <br><br>Dynatech, Mednieku str. 4a, Riga, LV-1010, Latvia <br><br><div style="display:inline-block"><a href="tel:+371%2025%20314%20685" value="+37125314685" target="_blank">+37125314685</a></div>, <div style="display:inline-block"><a href="mailto:o.nekriach@dynatech.lv" target="_blank">o.nekriach@dynatech.lv</a></div> | <div style="display:inline-block"><a href="http://www.dynatech.lv" target="_blank">www.dynatech.lv</a></div> <br><br><img src="cid:o.nekriach@dynatech.lv1502777022855-7770"> <br><br>Stay connected: <br><div style="display:inline-block;margin:5px 5px 0px 0px"><a href="https://www.facebook.com/DynatechLatvia/?ref=br_rs" target="_blank"><img src="cid:o.nekriach@dynatech.lv1502777022855-7771"></a></div><div style="display:inline-block;margin:5px 0px 0px"><a href="https://www.linkedin.com/company-beta/17893047/" target="_blank"><img src="cid:o.nekriach@dynatech.lv1502777022855-7772"></a></div><br><br><span style="font-size:11px;color:rgb(161,161,161)">Confidentiality
 Notice: This message contains confidential information and is intended 
only for the named recipient(s). If you are not the addressee you may 
not copy, distribute or perform any other activities with this 
information. If you have received this transmission in error, please 
notify us by e-mail immediately. E-mail transmission cannot be 
guaranteed to be secure or error-free as information could be 
intercepted, corrupted, lost, destroyed, arrive late or incomplete, or 
contain viruses.</span></span></div></div></div></div>
</div></div></div></div></div>