[midPoint] Mapping to specific ObjectClass
Pálos Gustáv
gustav.palos at evolveum.com
Wed Nov 23 15:15:27 CET 2016
Hi,
please see other connectors, for examle:
https://github.com/Evolveum/connector-drupal/blob/master/src/main/java/com/evolveum/polygon/connector/drupal/DrupalConnector.java
public Uid create(ObjectClass objectClass, Set<Attribute> attributes,
OperationOptions operationOptions) {
if (objectClass.is(ObjectClass.ACCOUNT_NAME)) { // __ACCOUNT__
return createOrUpdateUser(null, attributes);
} else {
// other object classes...
but you need
<kind>account</kind>
<kind>service</kind>
and not to use <intent> for this...
Best regards,
Gustav
2016-11-23 15:00 GMT+01:00 Jiri Brom <bromjiri at gmail.com>:
> Hi all,
>
> I want to write a connector which will work with attributes of midPoint
> Users and Services. In my CreateOP I need to do something like the
> following pseudocode:
>
> Uid create(oc, attr, oo) {
> if (attr.name from User){
> doCreateUser(attr.name);
> }
> else{
> doCreateService(attr.name);
> }
> }
>
>
> The problem is that I can't distinguish between attribute __name__ of User
> and Service. They both have the same name so I can't call the proper
> function. Is there a way to distinguish them using only one connector? (I
> know I can do it easily by implementing two connectors)
>
> I tried to solve it using two ObjectClasses but I can't figure out how to
> setup SchemaHandler so User maps to UserClass and Service maps to
> ServiceClass. They both map to the one which I set as default.
>
> <schemaHandling>
> <objectType>
> <kind>account</kind>
> <intent>Service</intent>
> <displayName>Service</displayName>
> <default>false</default>
> <objectClass>ri:ServiceClass</objectClass>
> <attribute>
> <c:ref>icfs:name</c:ref>
> <tolerant>true</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> <outbound>
> <authoritative>true</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <source>
> <c:path>name</c:path> ###*(here I need it to map
> icfs:name of Service)*
> </source>
> </outbound>
> </attribute>
> </objectType>
> <objectType>
> <kind>account</kind>
> <intent>User</intent>
> <displayName>User</displayName>
> <default>true</default>
> <objectClass>ri:UserClass</objectClass>
> <attribute>
> <c:ref>icfs:name</c:ref>
> <tolerant>true</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> <outbound>
> <authoritative>true</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <source>
> <c:path>name</c:path> ###*(here I need it to map
> icfs:name of User)*
> </source>
> </outbound>
> </attribute>
> </objectType>
> </schemaHandling>
>
>
> Thank you for your answers,
>
> Jiri
>
> Jiří Brom
>
> e-mail: bromjiri at gmail.com
> CZ: +420723860707
> AT: +436607144324
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
--
Gustáv Pálos
Identity Engineer
evolveum.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20161123/b907b537/attachment.htm>
More information about the midPoint
mailing list