<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Hello Davy,<br>
<br>
thank you very much for your tip but:<br>
<br>
The field in my postgresql table is type BYTEA and using the
DatabaseTableConnector v1.5.2.0 in resource -> edit raw the
element in the schema is of type="xsd:base64Binary".<br>
In this constellation basic.isEmpty(input) returns always true.
Therefore Your code is not working for inbound mapping in this way.<br>
<br>
I found a second Problem on outbound mapping:<br>
Loading a Jpeg in midPoint GUI and outbund mapping with "As is"
saves the image into the database but deleting the Jpeg in midPoint
GUI leaves the image in the database untouched!<br>
<br>
<br>
<br>
<div class="moz-cite-prefix">Am 23.04.2025 um 13:42 schrieb Davy
Priem:<br>
</div>
<blockquote type="cite"
cite="mid:DB4PR05MB104878AB0EBBEF7C5D845C708EBBA2@DB4PR05MB10487.eurprd05.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css" style="display:none;">P {margin-top:0;margin-bottom:0;}</style>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi,</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
See below to import a photo from a database table.</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best regards</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Davy Priem</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
VIVES University of Applied Sciences</div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div
style="line-height: 18px; margin-left: 40px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i>attribute></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> <ref>ri:Photo</ref></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i>
<displayName>Photo</displayName></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> <inbound></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> <expression></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> <script></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> <code></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> import java.util.Base64;</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i><br>
</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> if
(!(basic.isEmpty(input))){</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> log.info("photo is not
null");</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> byte[] decodedBytes =
Base64.getDecoder().decode(input);</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> return decodedBytes;</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> }</i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> </code></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> </script></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> </expression></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> <target></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i>
<path>$focus/jpegPhoto</path></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> </target></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> </inbound></i></b></div>
<div
style="line-height: 18px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"
class="elementToProof">
<b><i> </attribute></i></b></div>
<div class="elementToProof"
style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif"
style="font-size:11pt" color="#000000"><b>Van:</b> midPoint
<a class="moz-txt-link-rfc2396E" href="mailto:midpoint-bounces@lists.evolveum.com"><midpoint-bounces@lists.evolveum.com></a> namens Ch.
Olbricht via midPoint <a class="moz-txt-link-rfc2396E" href="mailto:midpoint@lists.evolveum.com"><midpoint@lists.evolveum.com></a><br>
<b>Verzonden:</b> woensdag 23 april 2025 13:38<br>
<b>Aan:</b> <a class="moz-txt-link-abbreviated" href="mailto:midpoint@lists.evolveum.com">midpoint@lists.evolveum.com</a>
<a class="moz-txt-link-rfc2396E" href="mailto:midpoint@lists.evolveum.com"><midpoint@lists.evolveum.com></a><br>
<b>CC:</b> Ch. Olbricht <a class="moz-txt-link-rfc2396E" href="mailto:colbricht@hs-harz.de"><colbricht@hs-harz.de></a><br>
<b>Onderwerp:</b> [midPoint] import jpegPhoto from a database
table</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span
style="font-size:11pt;">
<div class="PlainText">Hi Community,<br>
<br>
does anyone knows, how JPEG import to attribute
"jpegPhoto" from a <br>
database table works?<br>
<br>
<br>
Having a Postgresql Table like:<br>
<br>
CREATE TABLE test(<br>
user TEXT,<br>
image BYTEA)<br>
<br>
And a resource with in- and outbound mappings, including
for the <br>
"jpegPhoto" attribute:<br>
<br>
...<br>
<attribute><br>
<ref>ri:image</ref><br>
<outbound><br>
<name>jpegPhoto_out</name><br>
<strength>strong</strength><br>
<source><br>
<path>jpegPhoto</path><br>
</source><br>
</outbound><br>
<inbound><br>
<name>jpegPhoto_in</name><br>
<strength>strong</strength><br>
<target><br>
<path>jpegPhoto</path><br>
</target><br>
</inbound><br>
</attribute><br>
<br>
OK, select a user, upload a JPG-file and save the user
works and <br>
outbound mapping saves the user- and image-data in table
test.<br>
<br>
But deleting the jpegPhoto attribute from this user and
doing then a <br>
import task with the same table-data from the outbound
mapping ... <br>
jpegPhoto is still empty!<br>
<br>
Why?<br>
<br>
<br>
Kind Regards<br>
Christian<br>
_______________________________________________<br>
midPoint mailing list<br>
<a class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a><br>
<a
href="https://lists.evolveum.com/mailman/listinfo/midpoint"
moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
</div>
</span></font></div>
</blockquote>
<br>
</body>
</html>