GET API mappée / relation réflexive / est-il possible de prendre en compte la profondeur paramétrée?

Problem description

J’ai un objet présentant une relation réflexive configurée avec une profondeur d’arbre de 1 pour limiter l’exploration.

Si cette profondeur est bien prise en compte lors du rendu de la liste fille (dans une vue incorporée ou en panel), le GET en API RESTMappedObjectsExternalObject explore toute la profondeur de l’arbre.

Steps to reproduce

I have reproduced the problem on an up-to-date Simplicité instance
and those are the steps to do it:

Technical information

Instance /health
[Platform]
Status=OK
Version=5.2.18
BuiltOn=2022-10-08 23:23
Git=5.2/e48b69fc920d00c229bb0bdac96c93696086e4ae
Encoding=UTF-8
EndpointIP=172.17.0.6
EndpointURL=http://3caf7fb60291:8080
TimeZone=Europe/Paris
SystemDate=2022-10-13 10:25:25

[Application]
ApplicationVersion=1.0.0
ContextPath=
ContextURL=https://int.rfi.dev.aws.renault.com
ActiveSessions=3
TotalUsers=39
EnabledUsers=31
LastLoginDate=2022-10-13 10:20:11

[Server]
ServerInfo=Apache Tomcat/9.0.68
ServerType=WEB
ServerActiveSessions=3
ServerSessionTimeout=30

[OS]
Name=Linux
Architecture=amd64
Version=4.14.290-217.505.amzn2.x86_64
DockerImageName=centos7
SystemEncoding=UTF-8

[JavaVM]
Version=17.0.4.1
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.4.1+1
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=584506
HeapSize=1013696
HeapMaxSize=2027264
TotalFreeSize=1598074

[Cache]
ObjectCache=690
ObjectCacheMax=10000
ObjectCacheRatio=6
ProcessCache=30
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=2
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=10.21
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.5.0
DBDate=2022-10-13 10:25:25
DBDateOffset=0
DBPatchLevel=5;P02;e033b14aec6b5de1e9755d73bfe53f6d
UsingBLOBs=true

[Healthcheck]
Date=2022-10-13 10:25:26
ElapsedTime=323
Simplicité logs
NA
Browser logs
NA
Other relevant information

Néant

Les APIs mappées sont des APIs simplifiées, contrairement aux APIs standard elles n’exploitent pas la totalité du méta modèle. En l’occurrence pas cette notion de profondeur d’arbre réflexif.

Je vais regarder.

Bonjour David,
merci beaucoup pour ton retour rapide.
Oui je comprends. On peut requalifier le post en feature request…

J’ai “bordé” le truc dans une surcharge du GET sur le backend concerné:

ça permet au moins de contenir le problème avant le retour de l’API… mais l’idéal serait que ma feature request reçoive moult votes :wink:

Don’t worry, elle n’est pas oubliée, je regarderai ça la semaine prochaine.

1 Like

Bonjour David,
Très bonne année à toi.
Quelle visibilité peux-tu donner sur l’intégration de cette feature ?
Le nouveau référentiel a été mis en place en MVP en décembre dernier et les premiers usecases de consommation de la composition via les API mappées sont en cours de développement. Le problème de performance sous-jacent devient saillant.

Bonjour et bonne année à toi aussi.

Je regarde les impacts de ce point d’ici la fin de la semaine sachant il y a une révision 5.2.27 dans les starting blocks

1 Like

L’évolution a été faite et sera livrée dans le cadre de la 5.2.27 qui sera poussée d’ici lundi.

Il y aura une variante de la méthode addRefField permettant de préciser la profondeur des liens réflexifs embedded

1 Like

Stunning!

Avant (5.2.25) :

Après (5.2.27) :

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.