Les méthodes get/setConsole de ObjectDB ont disparu en 6.1 (disponibles en 6.0)

Request description

Les méthodes setConsole/getConsole semblent avoir disparu de ObjectDB dans la version 6.1. Dans cette version 6.1, je retrouve bien les méthodes get/setConsole pour les autres objets socle. Elles sont encore toutes présentes en 6.0. Est-ce normal ?

Bonjour,

Oui car la console ne servait qu’aux objets codés en Rhino. La V6 n’autorise plus de hook en scripté mais uniquement du java compilé, comme cela à du être indiqué comme breaking change.

A quoi vous servaient ces méthodes ?

Bonjour François,
merci beaucoup pour ta réponse super rapide.
Ce code nous a beaucoup servi lors de notre phase de réécriture des hooks Rhino en Java. C’est un reliquat de cette période épique. Comme la 6.1 ne contient plus ces méthodes, notre code ne compile plus mais il nous suffit de le supprimer car il est désormais sans objet.

J’alertais simplement que le fait que ça avait disparu de ObjectDB et pas des autres (ExternalObject, etc…).

ps: si par soucis de cohérence vous pensez le remettre en ligne dans ObjectDB, cela nous évitera de solder cette dette dans l’urgence de l’upgrade en 6.1… :innocent:

J’en ai repéré d’autres au passage :

ok, deprecated from v3 pour setVisible… on va corriger… :blush:

Ok merci pour tes retours,

Il doit s’agir de deprecated qui ont été retirés en V6, en général on attend longtemps avant de les retirer. En V6 on s’autorise à retirer les deprecated depuis la V4 (sauf si c’est impossible d’avoir un compatibilité ascendante des API, ou un pb de sécurité majeur…).

Extrait de 6.0 :

/** @deprecated Use setSystemParam with additional parameters */
@Deprecated(forRemoval = false, since = Globals.LEGACY_VERSION_4)
public String setSystemParam(String code, String value, boolean priv, boolean clearcache) {
	AppLog.deprecation(getClass(), "setSystemParam", "setSystemParam with additional parameters", false);
	return setSystemParam(code, value, priv, clearcache, false);
}

Donc cela aurait du apparaitre dans vos logs depuis pas mal de temps.
On aurait pu livrer un forRemoval = true, mais la compilation aurait déjà bloqué en 6.0.
Bref pas d’autre choix que de modifier ces appels, en général c’est un paramètre en plus qui permet de se poser d’autres questions, ici :

* @param override true to override the value without changing the initial value
public String setSystemParam(String code, String value, boolean priv, boolean clearcache, boolean override)

i.e. est-ce qu’on valorise en base sys_value ou sys_value2 ?

Pour la console, effectivement on va retirer ces accesseurs car ils ne sont plus appelés comme pour ObjectDB. C’est visiblement un oubli (sauf le Script adapter qui peut executer du script à priori mais dont personne ne se sert plus).

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