[midPoint] Problem with Russian Names in ORG
oleg okunev
legeech at inbox.ru
Tue Dec 6 10:18:13 CET 2016
Thanks! it works
and helps with my question.
i think it will be helpfull for you
for test i used this code
<mapping>
<source>
<c:path>$user/description</c:path>
</source>
<expression>
<script>
<code>
tmp = basic.stringify(description)
myru =['Я','я','Ю','ю','Ч','ч','Ш','ш','Щ','щ','Ж','ж','А','а','Б','б','В','в','Г','г','Д','д','Е','е','Ё','ё','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н', 'О','о','П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ы','ы','Ь','ь','Ъ','ъ','Э','э']
myen =['Ya','ya','Yu','yu','Ch','ch','Sh','sh','Sh','sh','Zh','zh','A','a','B','b','V','v','G','g','D','d','E','e','E','e','Z','z','I','i','J','j','K','k','L','l','M','m','N','n', 'O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','C','c','Y','y','`','`','\'','\'','E', 'e']
for( i = 0; i < myru.size() ; i++)
{
tmp = tmp?.replace(myru[i],myen[i]);
}
return tmp
</code>
</script>
</expression>
<target>
<c:path>$user/costCenter</c:path>
</target>
</mapping>
and
description Иванов Иван Иванович
became
costCenter Ivanov Ivan Ivanovich
But one more question - is it possible to rewrite some attribute?
first i test source and target the same and it get no effect(
>Вторник, 6 декабря 2016, 11:26 +03:00 от Ivan Noris <ivan.noris at evolveum.com>:
>
>Hi Oleg,
>as Pavol already said, the main problem was the "<" character
which must be escaped. This was quite invisible even for me.
>I was able to rewrite your expression part to be more "groovy":
>(source and target are as before)
>
>tmp = basic.stringify(description)
>ar1 = ['test1', 'test2']
>ar2 = ['replace1', 'replace2']
>for( i = 0; i < ar1.size() ; i++)
>{
>tmp = tmp?.replace(ar1[i],ar2[i]);
>}
>return tmp
>And it seems to work:
>before: abc test1 def test2
>after: abc replace1 def replace2
>Regards,
>Ivan
>
>On 12/06/2016 08:27 AM, oleg okunev
wrote:
>>okey...
>>may be you can help with loop in expression:
>>
>><source>
>><c:path>$user/description</c:path>
>></source>
>><expression>
>><script>
>><code>
>>ar1 = new ArrayList ('test1','test2')
>>ar2 = new ArrayList ('replacetest1', 'replacetest2')
>>
>>for( i = 0; i < ar1.size() ; i++)
>>{
>>description= description.replace(ar1[i],ar2[i]);
>>}
>>return description
>>
>></code>
>></script>
>></expression>
>><target>
>><c:path>$user/description</c:path>
>></target>
>>But it show error element parse error: Error: invalid
tagName
>>
>>Whats wrong?
>>may be it helps me with translit
>>
>>
>>>Пятница, 2 декабря 2016, 11:39 +03:00 от
Radovan Semancik <radovan.semancik at evolveum.com> :
>>>
>>>Hi,
>>>
>>>There is no easy way.
>>>
>>>The normalization was originally intended for
international alphabet support. E.g. it was expected
that we could transliterate cyrillic words to latin.
However, currently alphabets of all the midpoint
subscribers are latin-based. Therefore current
midPoint normalizer only support conversion of
latin-based national characters and the cyrillic
transliteration was never implemented. And currently
we have other development priorities. Our priorities
are focused on improving the life of midPoint
subscribers. Therefore unless we get any substantial
subscription from the non-latin-based customer we have
no plans to change that. I'm sorry.
>>>
>>>--
Radovan Semancik
Software Architect
evolveum.com
>>>
>>>On 12/02/2016 08:58 AM, oleg okunev wrote:
>>>>Morning!
>>>>
>>>>i have successefully test OrgSync Story Test... with
English names
>>>>
>>>>BUT
>>>>when i begin test with russian names i get problem!
>>>>
>>>>Conflicting object already exists (violated
constraint
'uc_org_name')(orgType=PPV(String:replicated);
{ http://midpoint.evolveum.com/xml/ns/story/orgsync/ext }orgpath=PPV(String: Фольклёр/Сказки );
)
>>>>in expression in mapping 'Org-org mapping' in
objectTemplate:10000000-0000-0000-0000-000000000231(Org
Template)
>>>>
>>>>midpoint save first org " Сторонние
Организации " and make name_norm
only space or just empty
>>>>so all next names trying to create get same emty
name_norm and fail to create(((
>>>>
>>>>is any way to fix that?????
>>>>
>>>>
>>>>costcenter | displayorder | locality_norm
| locality_orig | name_norm |
name_orig | tenant | oid
>>>>------------+--------------+------------------------------+-------------------------------+-----------+------------------------------------+--------+--------------------------------------
>>>> | |
|
| p0002 | P0002
| |
00000000-8888-6666-0000-200000000002
>>>>black | |
|
|
| Сторонние
Организации | |
040346cb-88ce-4012-8d52-93eb1e1d2a4f
>>>>black | |
|
|child | CHILD
| f |
2681372b-3a8b-442d-861c-fc6fa0229471
>>>> | |
|
|ibpm test | IBPM Test
| |
828586f3-1444-42b9-b11a-e012c066099b
>>>> | |
|
|abbwin | ABB-WIN
| |
f226c7be-dad5-4415-b4f7-d987fb3856bd
>>>> | | kazan
| Kazan
| fil
| Домен FIL | |
e62d247f-bd94-425a-9d82-63927de5b569
>>>>------------+--------------+------------------------------+-------------------------------+-----------+-----------------------+--------+-------------------------------------- P.S. " Домен FIL "
became " fil". midpoint erase all russian letters.
>>>>
>>>>_______________________________________________
midPoint mailing list
>>>>midPoint at lists.evolveum.com
>>>>http://lists.evolveum.com/mailman/listinfo/midpoint
>>>
>>>
>>>_______________________________________________
>>>midPoint mailing list
>>>midPoint at lists.evolveum.com
>>>http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>>
>>_______________________________________________
midPoint mailing list
>>midPoint at lists.evolveum.com
>>http://lists.evolveum.com/mailman/listinfo/midpoint
>
>--
Ivan Noris
Senior Identity Engineer
evolveum.com
>_______________________________________________
>midPoint mailing list
>midPoint at lists.evolveum.com
>http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20161206/22b710c1/attachment.htm>
More information about the midPoint
mailing list