{
"value" : {
"changeType" : "add",
"objectType" : "UserType",
"objectToAdd" : {
"@type" : "UserType",
"oid" : "cab2344d-06c0-4881-98ee-7075bf5d1309",
"name" : "bob",
"subtype" : "regular",
"givenName" : {
"@value" : "Bob",
"@metadata" : {
"extension" : {
"loa" : "low"
}
}
},
"familyName" : {
"@value" : "Green",
"@metadata" : {
"extension" : {
"loa" : "high"
}
}
}
},
"oid" : "cab2344d-06c0-4881-98ee-7075bf5d1309"
}
}
Working examples (multiple metadata approach)
test050SimpleMetadataMappingUserAdd
We add the following object.
There is a single mapping that constructs fullName from givenName and familyName.
This is the plus set of the mapping:
{
"@value" : "Bob Green",
"@metadata" : {
"@ns" : "http://midpoint.evolveum.com/xml/ns/public/common/common-3",
"extension" : {
"@ns" : "http://midpoint.evolveum.com/xml/ns/samples/metadata",
"loa" : "low"
}
}
}
I.e. it is clear that this new value (including metadata) has to be added. So this is the resulting delta:
{
"modificationType" : "add",
"path" : "fullName",
"value" : [ {
"@value" : "Bob Green",
"@metadata" : {
"extension" : {
"loa" : "low"
}
}
} ]
}
After swallowing to the ADD primary delta we simply add the full name with the appropriate metadata.
test055SimpleMetadataMappingUserModify
Now we change givenName: value stays the same but LoA is increased.
Primary delta:
{
"@type" : "ObjectDeltaType",
"changeType" : "modify",
"objectType" : "UserType",
"oid" : "cab2344d-06c0-4881-98ee-7075bf5d1309",
"itemDelta" : [ {
"modificationType" : "replace",
"path" : "givenName",
"value" : [ {
"@value" : "Bob",
"@metadata" : {
"extension" : {
"loa" : "medium"
}
}
} ],
"estimatedOldValue" : [ {
"@value" : "Bob",
"@metadata" : {
"extension" : {
"loa" : "low"
}
}
} ]
} ]
}
The fullName evaluator gets the following:
{
"plus" : [ {
"@value" : "Bob",
"@metadata" : {
"extension" : {
"loa" : "medium"
}
}
} ],
"minus" : [ {
"@value" : "Bob",
"@metadata" : {
"extension" : {
"loa" : "low"
}
}
} ]
}
Was this page helpful?
YES
NO
Thanks for your feedback