<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hey Ethan,<div class=""><br class=""></div><div class="">I noticed your metarole is missing the intent and kind in the 2nd order inducement, hopefully this helps:</div><div class=""><br class=""></div><div class=""><div class=""><inducement id="5"></div><div class="">    <construction></div><div class="">        <resourceRef oid="df40c130-2b46-4f5c-8db1-c8cd8e059c62" relation="org:default" type="c:ResourceType"></div><div class="">            <!-- google-apps --></div><div class="">        </resourceRef></div><div class="">        <font color="#4e7a27" class=""><kind>account</kind></font></div><div class=""><font color="#4e7a27" class="">        <intent>default</intent></font></div><div class="">        ...</div><div class="">    </construction></div><div class="">    <order>2</order></div><div class=""></inducement></div><div class=""><br class="webkit-block-placeholder"></div><div class="">
<div dir="auto" style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Good luck,</div><div dir="auto" style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Jonathan</div><div dir="auto" style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""></div><div dir="auto" style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class="Apple-interchange-newline"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Jonathan Hill</span><br style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Exclamation Labs</span><br style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://www.exclamationlabs.com" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">www.exclamationlabs.com</a></div>
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On Jan 30, 2020, at 8:57 AM, Kromhout, Ethan A. <<a href="mailto:ethan@unc.edu" class="">ethan@unc.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">

<div class=""><p class="">I'm getting an set of two exceptions, when adding a second group to a user to be synced via the Google connector. In my configuration, I maintain a role for each Google group, and each of those groups have a meta-role which induces the creation of groups
 and then memberships as a second order inducements. Membership is configured as an association on the accountObjectClass. I'll attach configs with the details, but that's a simple description of it. Many thanks to Oleksandr Nekriach for an example on which
 my Google resource config is based.<br class="">
</p><p class="">The first exception which happens appears to be caused when the connector, after successfully creating the membership I want it to create, then attempts to create a group with the name of the user, since an object (user) already exists with that name in
 Google, Google throws a 409. The connector does not attempt to create a group with the name of the user when a first group membership is added to the user, only when adding additional group memberships. The second exception happens when midPoint tries to resolve
 the AlreadyExistsException in its standard way, by doing a search for existing groups with that name (again the user's name), but this results in the second exception, an UnsupportedOperationException, the search is getting the attribute __NAME__ and the connector
 code is designed to throw an exception as "Only EqualsFilter(['domain','customer','userKey']) and ContainsFilter('members') are supported". Ironically the value of the user __NAME__ passed in is a valid userKey, but it doesn't seem to be tagged as one, and
 I haven't found a way to configure what would get tagged as a userKey.</p><p class="">I'll put more detailed debug / traces below, but the basic difference in operations between a first group membership being added, and the second one being added are as follows:</p><p class="">First group addition:</p>
<ul class="">
<li class="">User gets created if they don't exist on the resource, UID is returned to midPoint, in the below log the user is created on this first membership addition.<br class="">
</li><li class="">MidPoint sends a update operation for the group and membership<br class="">
</li><li class="">Group gets searched for to verify existence, for the below log, the group is found and therefore not created.<br class="">
</li><li class="">Group membership is listed showing lack of this user in membership.</li><li class="">Update operation adds membership to group.<br class="">
</li><li class="">Group membership is listed again, showing user added.</li><li class="">MidPoint updates shadow information.</li></ul><p class="">Second group addition:</p>
<ul class="">
<li class="">User gets created if they don't exist on the resource,  in the below log the user is unchanged on second  membership addition.</li><li class="">midPoint notes "Shadow exists"<br class="">
</li><li class="">MidPoint sends a update operation for the group and membership<br class="">
</li><li class="">Group gets searched for to verify existence, for the below log, the group is found and therefore not created.<br class="">
</li><li class="">Group membership is listed showing lack of this user in membership.</li><li class="">Update operation adds membership to group.<br class="">
</li><li class="">Group membership is listed again, showing user added.</li><li class="">MidPoint updates shadow information.</li><li class="">Midpoint sends an add operation for the a group named the same as the user.</li><li class="">Google returns a 409 error, duplicate, entity already exists.</li><li class="">Connector throws a AlreadyExistsException</li><li class="">Connector issues a search for objectClass __GROUP__ with __NAME__ set to the users name</li><li class="">Connector throws second exception (UnsupportedOperationException) as __NAME__ isn't supported by the filter for groups.</li></ul><p class=""><br class="">
</p><p class="">Thanks,</p><p class="">Ethan<br class="">
</p><p class="">Detailed debug / trace for first group addition:</p><p class="">2020-01-29 20:17:23,718 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING ADD operation on resource
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a><br class="">
 ADD object:<br class="">
shadow: (null, ShadowType)<br class="">
    intent: default<br class="">
    kind: ACCOUNT<br class="">
    objectClass: {...resource/instance-3}AccountObjectClass<br class="">
    resourceRef: oid=df40c130-2b46-4f5c-8db1-c8cd8e059c62(ResourceType)<br class="">
    attributes:<br class="">
        name: <a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">
fanderson@test.unc.edu</a><br class="">
        givenName: Fred<br class="">
        familyName: Anderson<br class="">
    association:<br class="">
      id=null<br class="">
        name: Group<br class="">
        shadowRef: oid=78a10b33-f71e-49d9-b7f7-9bc60f0d57f0(ShadowType)<br class="">
        identifiers:<br class="">
            uid: 01ci93xb1fcb9aw<br class="">
            name: <a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">
its-ethan-test0@test.unc.edu</a><br class="">
    iteration: 0<br class="">
    iterationToken:<br class="">
    credentials:<br class="">
        password:<br class="">
            value: ProtectedStringType([encrypted data])<br class="">
            metadata:<br class="">
                createChannel: <a class="moz-txt-link-freetext" href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user">
http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><br class="">
                createTimestamp: 2020-01-29T20:17:23.646Z<br class="">
                creatorRef: oid=ad43806c-6d25-42af-806e-48a2bfa0772b(UserType)('ekromhout')[default]<br class="">
    metadata:<br class="">
        requestTimestamp: 2020-01-29T20:17:23.514Z<br class="">
        requestorRef: oid=ad43806c-6d25-42af-806e-48a2bfa0772b(UserType)('ekromhout')[default]<br class="">
        createChannel: <a class="moz-txt-link-freetext" href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user">
http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><br class="">
        createTimestamp: 2020-01-29T20:17:23.715Z<br class="">
        creatorRef: oid=ad43806c-6d25-42af-806e-48a2bfa0772b(UserType)('ekromhout')[default]<br class="">
 additional operations:<br class="">
    []<br class="">
2020-01-29 20:17:23,721 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.CreateApiOp): method: create msg:instance='google-apps' Enter: create(ObjectClass: __ACCOUNT__, [Attribute: {Name=__PASSWORD__, Value=[org.identityconnectors.common.security.GuardedString@1f3ddddb]},
 Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}, Attribute: {Name=givenName, Value=[Fred]}, Attribute: {Name=familyName, Value=[Anderson]}], OperationOptions: {})<br class="">
2020-01-29 20:17:23,721 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.CreateOp): method: create msg:instance='google-apps' Enter: create(ObjectClass: __ACCOUNT__, [Attribute: {Name=__PASSWORD__, Value=[org.identityconnectors.common.security.GuardedString@1f3ddddb]},
 Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}, Attribute: {Name=givenName, Value=[Fred]}, Attribute: {Name=familyName, Value=[Anderson]}], OperationOptions: {})<br class="">
2020-01-29 20:17:25,259 [] [pool-5-thread-133] TRACE (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:New User is created:106482002799746251566<br class="">
2020-01-29 20:17:25,259 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.CreateOp): method: create msg:instance='google-apps' Return: Attribute: {Name=__UID__, Value=[106482002799746251566], Revision="enlFCt4L0-k8PoIKzRNl5h_fsrc/15rT99s7esTv4yZeGHafndfCvtM"}</p><p class="">2020-01-29 20:17:25,260 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING ADD successful, returned attributes:<br class="">
{RA({.../connector/icf-1/resource-schema-3}uid):[PPV(String:106482002799746251566)],RA({.../resource/instance-3}givenName):[PPV(String:Fred)],RA({.../resource/instance-3}familyName):[PPV(String:Anderson)],RA({.../connector/icf-1/resource-schema-3}name):[PPV(<a class="moz-txt-link-abbreviated" href="mailto:String:fanderson@test.unc.edu">String:fanderson@test.unc.edu</a>)]}<br class="">
2020-01-29 20:17:25,261 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING MODIFY operation on
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a><br class="">
 MODIFY object, object class ENTITLEMENT:Group, identified by:<br class="">
  {<br class="">
    name: <a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">
its-ethan-test0@test.unc.edu</a><br class="">
    uid: 01ci93xb1fcb9aw<br class="">
  }<br class="">
 changes:<br class="">
  [<br class="">
    PropertyModificationOperation:<br class="">
      delta:<br class="">
        attributes/__MEMBERS__<br class="">
          ADD: <a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">
fanderson@test.unc.edu</a><br class="">
      matchingRule: {<a class="moz-txt-link-freetext" href="http://prism.evolveum.com/xml/ns/public/matching-rule-3">http://prism.evolveum.com/xml/ns/public/matching-rule-3</a>}stringIgnoreCase<br class="">
  ]<br class="">
2020-01-29 20:17:25,262 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.UpdateApiOp): method: addAttributeValues msg:instance='google-apps' Enter: addAttributeValues(ObjectClass: __GROUP__, Attribute: {Name=__UID__, Value=[01ci93xb1fcb9aw],
 NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}}, [Attribute: {Name=__MEMBERS__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}],
 OperationOptions: {})<br class="">
2020-01-29 20:17:25,263 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.SearchOp): method: executeQuery msg:instance='google-apps' Enter: executeQuery(ObjectClass: __GROUP__, EQUALS: Attribute: {Name=__UID__, Value=[01ci93xb1fcb9aw],
 NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}}, org.identityconnectors.framework.impl.api.local.operations.SearchImpl$1@7c6f9fff)<br class="">
2020-01-29 20:17:25,270 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:executeQuery() - objectClass: ObjectClass: __GROUP__, uid: 01ci93xb1fcb9aw<br class="">
2020-01-29 20:17:25,525 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:listAllMembers() - finished in 162 ms<br class="">
2020-01-29 20:17:25,525 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.common.objects.ResultsHandler): method: handle msg:instance='google-apps' Enter: handle({Uid=Attribute: {Name=__UID__, Value=[01ci93xb1fcb9aw], Revision="enlFCt4L0-k8PoIKzRNl5h_fsrc/oyPTKfAMIoHkk4mhCT3-Fu4Ju_M"},
 ObjectClass=ObjectClass: __GROUP__, Attributes=[Attribute: {Name=__MEMBERS__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:banderson@test.unc.edu">banderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:canderson@test.unc.edu">canderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:kromhout@test.unc.edu">kromhout@test.unc.edu</a>]}, Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}, Attribute:
 {Name=__UID__, Value=[01ci93xb1fcb9aw], Revision="enlFCt4L0-k8PoIKzRNl5h_fsrc/oyPTKfAMIoHkk4mhCT3-Fu4Ju_M"}], Name=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}})<br class="">
2020-01-29 20:17:25,526 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.common.objects.ResultsHandler): method: handle msg:instance='google-apps' Return: false<br class="">
2020-01-29 20:17:25,526 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:executeQuery() - finished in 256 ms<br class="">
2020-01-29 20:17:25,526 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.SearchOp): method: executeQuery msg:instance='google-apps' Return<br class="">
2020-01-29 20:17:25,526 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.UpdateOp): method: update msg:instance='google-apps' Enter: update(ObjectClass: __GROUP__, Attribute: {Name=__UID__, Value=[01ci93xb1fcb9aw], NameHint=Attribute:
 {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}}, [Attribute: {Name=__MEMBERS__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:banderson@test.unc.edu">banderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:canderson@test.unc.edu">canderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:kromhout@test.unc.edu">kromhout@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}], OperationOptions: {})<br class="">
2020-01-29 20:17:25,649 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:listAllMembers() - finished in 123 ms<br class="">
2020-01-29 20:17:26,659 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.UpdateOp): method: update msg:instance='google-apps' Return: Attribute: {Name=__UID__, Value=[01ci93xb1fcb9aw], NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}}<br class="">
2020-01-29 20:17:26,659 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.UpdateApiOp): method: addAttributeValues msg:Return: Attribute: {Name=__UID__, Value=[01ci93xb1fcb9aw], NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:its-ethan-test0@test.unc.edu">its-ethan-test0@test.unc.edu</a>]}}<br class="">
2020-01-29 20:17:26,659 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING MODIFY successful, inProgress=false, side-effect changes {<br class="">
2020-01-29 20:17:26,659 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ShadowCache): ADD shadow:null(null): resource operation executed, operation state: COMPLETED, result: status=SUCCESS: shadow:null(null)<br class="">
2020-01-29 20:17:26,693 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ShadowCache): MODIFY shadow:bed3186d-ee5c-475b-956d-4249a223163f(<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>):
 repository-only modification<br class="">
2020-01-29 20:17:26,693 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.shadowmanager.ShadowManager): Metadata not found, adding minimal metadata. Modifications:<br class="">
  [<br class="">
    synchronizationSituationDescription<br class="">
      ADD: SyncDesc(LINKED,2020-01-29T20:17:26.693Z,<a class="moz-txt-link-freetext" href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user,full">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user,full</a>)<br class="">
    synchronizationTimestamp<br class="">
      REPLACE: 2020-01-29T20:17:26.693Z<br class="">
    fullSynchronizationTimestamp<br class="">
      REPLACE: 2020-01-29T20:17:26.693Z<br class="">
    synchronizationSituation<br class="">
      REPLACE: LINKED<br class="">
  ]<br class="">
2020-01-29 20:17:43,090 [PROVISIONING] [ajp-nio-9090-exec-1] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceCache): HIT(returning clone) for
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a><br class="">
</p><p class="">Detailed debug / trace for second group addition:</p><p class="">2020-01-29 20:17:59,181 [MODEL] [pool-5-thread-133] INFO (com.evolveum.midpoint.model.common.mapping.MappingImpl): Mapping trace:<br class="">
---[ MAPPING  in outbound mapping for {.../connector/icf-1/resource-schema-3}name in
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a>]---------------------------<br class="">
Strength: NORMAL<br class="">
Source name:<br class="">
  old: PP({.../common/common-3}name):[PPV(<a class="moz-txt-link-abbreviated" href="mailto:PolyString:fanderson@test.unc.edu">PolyString:fanderson@test.unc.edu</a>)]<br class="">
  delta: null<br class="">
  new: PP({.../common/common-3}name):[PPV(<a class="moz-txt-link-abbreviated" href="mailto:PolyString:fanderson@test.unc.edu">PolyString:fanderson@test.unc.edu</a>)]<br class="">
Source domain:<br class="">
  old: PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-googleapps/com.evolveum.polygon.connector.googleapps.GoogleAppsConnector}domain):[PPV(String:<a href="http://test.unc.edu" class="">test.unc.edu</a>)]<br class="">
  delta: null<br class="">
  new: PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-googleapps/com.evolveum.polygon.connector.googleapps.GoogleAppsConnector}domain):[PPV(String:<a href="http://test.unc.edu" class="">test.unc.edu</a>)]<br class="">
Target: rRAD:{.../connector/icf-1/resource-schema-3}name {xsd:}string[1,1],RAM framework=__NAME__,Disp,OUT,IN:MODEL<br class="">
Expression: script: ScriptExpression( return name.toString().toLowerCase() )<br class="">
Condition: true -> true<br class="">
Result: unchanged: <a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">
fanderson@test.unc.edu</a><br class="">
------------------------------------------------------<br class="">
2020-01-29 20:17:59,187 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceCache): HIT(returning clone) for
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a><br class="">
2020-01-29 20:17:59,215 [PROVISIONING] [pool-5-thread-133] INFO (com.evolveum.midpoint.provisioning.impl.ShadowCache): Shadow exists:<br class="">
2020-01-29 20:17:59,216 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING MODIFY operation on
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a><br class="">
 MODIFY object, object class ENTITLEMENT:Group, identified by:<br class="">
  {<br class="">
    uid: 01tuee7443vltzf<br class="">
    name: <a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">
test-midpoint-role@test.unc.edu</a><br class="">
  }<br class="">
 changes:<br class="">
  [<br class="">
    PropertyModificationOperation:<br class="">
      delta:<br class="">
        attributes/__MEMBERS__<br class="">
          ADD: <a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">
fanderson@test.unc.edu</a><br class="">
      matchingRule: {<a class="moz-txt-link-freetext" href="http://prism.evolveum.com/xml/ns/public/matching-rule-3">http://prism.evolveum.com/xml/ns/public/matching-rule-3</a>}stringIgnoreCase<br class="">
  ]<br class="">
2020-01-29 20:17:59,217 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.UpdateApiOp): method: addAttributeValues msg:instance='google-apps' Enter: addAttributeValues(ObjectClass: __GROUP__, Attribute: {Name=__UID__, Value=[01tuee7443vltzf],
 NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}}, [Attribute: {Name=__MEMBERS__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}],
 OperationOptions: {})<br class="">
2020-01-29 20:17:59,217 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.SearchOp): method: executeQuery msg:instance='google-apps' Enter: executeQuery(ObjectClass: __GROUP__, EQUALS: Attribute: {Name=__UID__, Value=[01tuee7443vltzf],
 NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}}, org.identityconnectors.framework.impl.api.local.operations.SearchImpl$1@700e414e)<br class="">
2020-01-29 20:17:59,217 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:executeQuery() - objectClass: ObjectClass: __GROUP__, uid: 01tuee7443vltzf<br class="">
2020-01-29 20:17:59,447 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:listAllMembers() - finished in 129 ms<br class="">
2020-01-29 20:17:59,447 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.common.objects.ResultsHandler): method: handle msg:instance='google-apps' Enter: handle({Uid=Attribute: {Name=__UID__, Value=[01tuee7443vltzf], Revision="enlFCt4L0-k8PoIKzRNl5h_fsrc/Eapaek_efnCBIKGBTnR_3x-UJa0"},
 ObjectClass=ObjectClass: __GROUP__, Attributes=[Attribute: {Name=__MEMBERS__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:banderson@test.unc.edu">banderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:canderson@test.unc.edu">canderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:eanderson@test.unc.edu">eanderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:kromhout@test.unc.edu">kromhout@test.unc.edu</a>]}, Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}, Attribute:
 {Name=__UID__, Value=[01tuee7443vltzf], Revision="enlFCt4L0-k8PoIKzRNl5h_fsrc/Eapaek_efnCBIKGBTnR_3x-UJa0"}], Name=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}})<br class="">
2020-01-29 20:17:59,447 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.common.objects.ResultsHandler): method: handle msg:instance='google-apps' Return: false<br class="">
2020-01-29 20:17:59,447 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:executeQuery() - finished in 230 ms<br class="">
2020-01-29 20:17:59,447 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.SearchOp): method: executeQuery msg:instance='google-apps' Return<br class="">
2020-01-29 20:17:59,447 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.UpdateOp): method: update msg:instance='google-apps' Enter: update(ObjectClass: __GROUP__, Attribute: {Name=__UID__, Value=[01tuee7443vltzf], NameHint=Attribute:
 {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}}, [Attribute: {Name=__MEMBERS__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:banderson@test.unc.edu">banderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:canderson@test.unc.edu">canderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:eanderson@test.unc.edu">eanderson@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:kromhout@test.unc.edu">kromhout@test.unc.edu</a>,
<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}], OperationOptions: {})<br class="">
2020-01-29 20:17:59,570 [] [pool-5-thread-133] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:listAllMembers() - finished in 123 ms<br class="">
2020-01-29 20:18:00,405 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.UpdateOp): method: update msg:instance='google-apps' Return: Attribute: {Name=__UID__, Value=[01tuee7443vltzf], NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}}<br class="">
2020-01-29 20:18:00,405 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.UpdateApiOp): method: addAttributeValues msg:Return: Attribute: {Name=__UID__, Value=[01tuee7443vltzf], NameHint=Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:test-midpoint-role@test.unc.edu">test-midpoint-role@test.unc.edu</a>]}}<br class="">
2020-01-29 20:18:00,405 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING MODIFY successful, inProgress=false, side-effect changes {<br class="">
}<br class="">
2020-01-29 20:18:00,405 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ShadowCache): MODIFY shadow:bed3186d-ee5c-475b-956d-4249a223163f(<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>):
 resource operation executed, operation state: COMPLETED, result: status=SUCCESS: []<br class="">
2020-01-29 20:18:00,540 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ShadowCache): MODIFY shadow:bed3186d-ee5c-475b-956d-4249a223163f(<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>):
 repository-only modification<br class="">
2020-01-29 20:18:00,541 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.shadowmanager.ShadowManager): Metadata not found, adding minimal metadata. Modifications:<br class="">
  [<br class="">
    synchronizationSituationDescription<br class="">
      ADD: SyncDesc(LINKED,2020-01-29T20:18:00.540Z,<a class="moz-txt-link-freetext" href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a>)<br class="">
      DELETE: SyncDesc(LINKED,2020-01-29T20:17:26.693Z,<a class="moz-txt-link-freetext" href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user,full">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user,full</a>)<br class="">
    synchronizationTimestamp<br class="">
      REPLACE: 2020-01-29T20:18:00.540Z<br class="">
    synchronizationSituation<br class="">
      REPLACE: LINKED<br class="">
  ]<br class="">
2020-01-29 20:18:00,556 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter): PROVISIONING ADD operation on resource
<a class="moz-txt-link-freetext" href="resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)">
resource:df40c130-2b46-4f5c-8db1-c8cd8e059c62(google-apps)</a><br class="">
 ADD object:<br class="">
shadow: (null, ShadowType)<br class="">
    intent: Group<br class="">
    kind: ENTITLEMENT<br class="">
    objectClass: {...resource/instance-3}GroupObjectClass<br class="">
    resourceRef: oid=df40c130-2b46-4f5c-8db1-c8cd8e059c62(ResourceType)<br class="">
    attributes:<br class="">
        name: <a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">
fanderson@test.unc.edu</a><br class="">
    iteration: 0<br class="">
    iterationToken:<br class="">
    metadata:<br class="">
        requestTimestamp: 2020-01-29T20:17:59.014Z<br class="">
        requestorRef: oid=ad43806c-6d25-42af-806e-48a2bfa0772b(UserType)('ekromhout')[default]<br class="">
        createChannel: <a class="moz-txt-link-freetext" href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user">
http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><br class="">
        createTimestamp: 2020-01-29T20:18:00.555Z<br class="">
        creatorRef: oid=ad43806c-6d25-42af-806e-48a2bfa0772b(UserType)('ekromhout')[default]<br class="">
 additional operations:<br class="">
    []<br class="">
2020-01-29 20:18:00,556 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.CreateApiOp): method: create msg:instance='google-apps' Enter: create(ObjectClass: __GROUP__, [Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}],
 OperationOptions: {})<br class="">
2020-01-29 20:18:00,556 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.CreateOp): method: create msg:instance='google-apps' Enter: create(ObjectClass: __GROUP__, [Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}],
 OperationOptions: {})<br class="">
2020-01-29 20:18:00,628 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.spi.operations.CreateOp): method: [create, instance='google-apps' Exception: ] msg:{}<br class="">
org.identityconnectors.framework.common.exceptions.AlreadyExistsException: 409 Conflict<br class="">
{<br class="">
  "code" : 409,<br class="">
  "errors" : [ {<br class="">
    "domain" : "global",<br class="">
    "message" : "Entity already exists.",<br class="">
    "reason" : "duplicate"<br class="">
  } ],<br class="">
  "message" : "Entity already exists."<br class="">
}<br class="">
        at com.evolveum.polygon.connector.googleapps.RequestResultHandler.handleDuplicate(RequestResultHandler.java:49)----<br class="">
</p><p class="">------Skipping some stack  trace informatino-----------</p><p class=""> (class org.identityconnectors.framework.common.exceptions.AlreadyExistsException)<br class="">
2020-01-29 20:18:00,629 [PROVISIONING] [pool-5-thread-133] DEBUG (com.evolveum.midpoint.provisioning.impl.ShadowCache): Handling provisioning ADD exception class com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException: Object already exists on the
 resource: org.identityconnectors.framework.common.exceptions.AlreadyExistsException(409 Conflict?{?  "code" : 409,?  "errors" : [ {?    "domain" : "global",?    "message" : "Entity already exists.",?    "reason" : "duplicate"?  } ],?  "message" : "Entity already
 exists."?})->com.google.api.client.googleapis.json.GoogleJsonResponseException(409 Conflict?{?  "code" : 409,?  "errors" : [ {?    "domain" : "global",?    "message" : "Entity already exists.",?    "reason" : "duplicate"?  } ],?  "message" : "Entity already
 exists."?})<br class="">
2020-01-29 20:18:00,636 [] [pool-5-thread-133] TRACE (org.identityconnectors.framework.api.operations.SearchApiOp): method: search msg:instance='google-apps' Enter: search(ObjectClass: __GROUP__, EQUALS: Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]},
 (midPoint searching result handler), OperationOptions: {ALLOW_PARTIAL_ATTRIBUTE_VALUES:true,ATTRS_TO_GET:[__DESCRIPTION__,__MEMBERS__,nonEditableAliases,directMembersCount,adminCreated,aliases,__NAME__,name,__UID__,__PASSWORD__]})<br class="">
2020-01-29 20:18:00,637 [] [Thread-161] TRACE (org.identityconnectors.framework.spi.operations.SearchOp): method: executeQuery msg:instance='google-apps' Enter: executeQuery(ObjectClass: __GROUP__, EQUALS: Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]},
 org.identityconnectors.framework.impl.api.local.operations.SearchImpl$1@41056fb)<br class="">
2020-01-29 20:18:00,637 [] [Thread-161] DEBUG (com.evolveum.polygon.connector.googleapps.GoogleAppsConnector): method: null msg:executeQuery() - objectClass: ObjectClass: __GROUP__, uid: null<br class="">
2020-01-29 20:18:00,638 [] [Thread-161] TRACE (org.identityconnectors.framework.spi.operations.SearchOp): method: [executeQuery, instance='google-apps' Exception: ] msg:{}<br class="">
java.lang.UnsupportedOperationException: filter is:EQUALS: Attribute: {Name=__NAME__, Value=[<a class="moz-txt-link-abbreviated" href="mailto:fanderson@test.unc.edu">fanderson@test.unc.edu</a>]}Only EqualsFilter(['domain','customer','userKey']) and ContainsFilter('members')
 are supported<br class="">
        at com.evolveum.polygon.connector.googleapps.GroupHandler.getException(GroupHandler.java:78)</p><p class="">---------Several more stack traces follow, but I don't think those details are relavent, can certainly share if helpful.-----------</p><p class=""><br class="">
</p>
<ul class="">
</ul>
</div>

<span id="cid:0A2FCE66E6D7884BA1E4E5B52B6BEFF5@namprd03.prod.outlook.com"><google-metarole.xml></span><span id="cid:FBD7DFB4FA1224489DA5FA0C324AFD13@namprd03.prod.outlook.com"><google-resource.xml></span>_______________________________________________<br class="">midPoint mailing list<br class=""><a href="mailto:midPoint@lists.evolveum.com" class="">midPoint@lists.evolveum.com</a><br class="">http://lists.evolveum.com/mailman/listinfo/midpoint<br class=""></div></blockquote></div><br class=""></div></body></html>