[midPoint] Missing C_ORG_TYPE after migrating to midpoint 4.4

Richard Richter virgo at evolveum.com
Thu Dec 23 10:18:13 CET 2021


Hi Sebastien 

Sorry about the missing SchemaConstant constants. Object type constant for a particular type is best to be found directly in the class of that type as the field COMPLEX_TYPE, e.g.: 

com.evolveum.midpoint.xml.ns._public.common.common_3. OrgType.COMPLEX_TYPE 

Most if not all object types are in the same package, so you can import it for convenience. 

As a side note, strings are immutable so you don't need to write new String("...") , just use that "..." directly as it's immutable. 
Instead of: 
String orgType = new String("{http://midpoint.evolveum.com/xml/ns/public/common/common-3}OrgType"); 

...you can simply write: 
String orgType = "{http://midpoint.evolveum.com/xml/ns/public/common/common-3}OrgType"; 

But your original code should work with this line now (assuming the proper import is added): 
input?.targetRef.type == OrgType.COMPLEX_TYPE ) { 

This issue is not related to removal of various obsolete *Type fileds, it's just a name coincidence. 

Cheers 

Richard 


From: "midPoint General Discussion" <midpoint at lists.evolveum.com> 
To: "midPoint General Discussion" <midpoint at lists.evolveum.com> 
Cc: "Sébastien MARBRIER" <smarbrier at positivethinking.tech> 
Sent: Wednesday, December 22, 2021 12:17:27 PM 
Subject: [midPoint] Missing C_ORG_TYPE after migrating to midpoint 4.4 



Hello, 



In several places, there some code similar to this one below with a check on the target type as Organization type. 

However since midpoint 4.4 the C_ORG_TYPE constant has been removed from the SchemaConstant. 



<inbound> 

<description>[snip]</description> 

<expression> 

<assignmentTargetSearch> 

<targetType>c:OrgType</targetType> 

<filter> 

<q:equal> 

<q:path>c:name</q:path> 

<expression> 

[snip] 

</expression> 

</q:equal> 

</filter> 

</assignmentTargetSearch> 

</expression> 

<target> 

<set> 

<condition> 

<script> 

<code> 

import com.evolveum.midpoint.schema.constants.SchemaConstants; 



if (input?.targetRef != null && 

input?.targetRef.type == SchemaConstants.C_ORG_TYPE ) { 

orgFonctionnelle = midpoint.getOrgByOid(input.targetRef.oid); 

return orgFonctionnelle?.subtype?.contains('fonctionnel'); 

} 

return false; 

</code> 

</script> 

</condition> 

</set> 

<c:path>$focus/assignment</c:path> 

</target> 

</inbound> 



I would understand, it is related the removal of the objectType, employeeType, roleType, orgType and serviceType in midpoint 4.4 schema but the C_OBJECT_TYPE is still present and neither C_EMPLOYEE_TYPE nor C_ROLE_TYPE existed in 4.0.1 version of SchemaConstant. 

[ https://evolveum.com/downloads/midpoint/4.0.1/midpoint-api-4.0.1-javadoc/com/evolveum/midpoint/schema/constants/SchemaConstants.html | https://evolveum.com/downloads/midpoint/4.0.1/midpoint-api-4.0.1-javadoc/com/evolveum/midpoint/schema/constants/SchemaConstants.html ] I beleive my issue is not related. 



As a workaround I replaced the C_ORG_TYPE by the following piece of code 

String orgType = new String("{http://midpoint.evolveum.com/xml/ns/public/common/common-3}OrgType"); 

if (input?.targetRef != null && 

input?.targetRef.type.toString().equals(orgType)) 



Indeed it is ugly but for now I do not see any other solution. Would anybody can tell be if it is a bug in midpoint 4.4 or if there is a better way ? 

Currently the owner of the midpoint installation is not ready to use the archetypes for this part. 





Best regards, 





[ https://www.positivethinking.tech/ ] 	

	

Sébastien Marbrier | Senior IT Consultant 
[ mailto:smarbrier at positivethinking.tech | smarbrier at positivethinking.tech ] 

Tel. +41 21 601 81 00 


[ https://teams.microsoft.com/l/chat/0/0?users=smarbrier@positivethinking.tech ] 	

[ https://teams.microsoft.com/l/chat/0/0?users=smarbrier@positivethinking.tech |   ] 	

[ https://teams.microsoft.com/l/chat/0/0?users=smarbrier@positivethinking.tech | Chat
 with me on Teams ] 






[ https://www.linkedin.com/company/the-positive-thinking-company/ ] [ https://www.instagram.com/positivethinkingcompany/ ] [ https://twitter.com/PTC_Tech ] [ https://youtube.com/channel/UCfaImWa6r0IoZoUYLhbiF7w ] 		

Avenue de cour, 135 – 1007 Lausanne 
[ https://www.positivethinking.tech/ | www.positivethinking.tech ] 



Help save paper, do you really need to print this email? 
The content of this email and any attachments are confidential and are intended solely for the person and/or company to whom they are addressed. The information may also be legally privileged. No employee or agent is authorized to conclude any binding agreement on behalf of Positive Thinking Company with another party by email without express written confirmation. If you have received this email in error, any use, reproduction or dissemination of this transmission is strictly prohibited. If you are not the intended recipient, please immediately notify the sender by return E-mail and delete this message, its attachments and all copies from your system. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions. Thank you for your cooperation. 








Positive Thinking Company puts security at a high priority in its conduct of business. Therefore, we have put our best efforts into ensuring that this email and its attached documents are error and virus-free. Nonetheless, full security of emails/documents cannot be ensured. Therefore, the recipient is responsible for checking the email/documents for threats with its own security measures, prior to opening it. Positive Thinking Company does not accept liability for any damage inflicted by using the content of this email/documents. If you are not the intended recipient, please notify the sender and delete this email/document. 


_______________________________________________ 
midPoint mailing list 
midPoint at lists.evolveum.com 
https://lists.evolveum.com/mailman/listinfo/midpoint 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 7735 bytes
Desc: image001.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 686 bytes
Desc: image002.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.png
Type: image/png
Size: 2337 bytes
Desc: image003.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image004.png
Type: image/png
Size: 2756 bytes
Desc: image004.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0009.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image005.png
Type: image/png
Size: 2358 bytes
Desc: image005.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0010.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image006.png
Type: image/png
Size: 2669 bytes
Desc: image006.png
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20211223/528ca35a/attachment-0011.png>


More information about the midPoint mailing list