AppDevelopment - Migration 3.1 vers 3.2
Page
- dernière modification par Sébastien Schmitt De Rekeneire le 2014/11/25 11:47
• deviens
• task.getRefTaskRContact()
• Le nom du lien a été ajouté dans la méthode afin traiter tous les cas possibles (multi-liens sur la même
entité et liens sur soi même).
Entity Models
• Les objets Models ont tous été supprimés.
• Leur contenu a été déplacé a plusieurs endroits : dans des annotations dans les entité ou dans une
nouvelle classe de constante.
• Cela impact tout le code custom puisque ce qu’on écrivait avant ainsi TaskModel.ENTITY_NAME devient
maintenant TaskConstants.ENTITY_NAME.
• Mais également Album.Var.DESCRIPTION devient maintenant AlbumConstants.Vars.DESCRIPTION.
• Ou encore Album.Action.ACTION_5 devient maintenant AlbumConstants.Actions.ACTION_5.
Pour le cas particulier de la récupération de l’instance d’une Action Toy, il faut réaliser la modification suivante :
Action action = new ContactModel().getAction(Contact.Action.ACTION_13);
deviens
Action action =
EntityManager.getEntityModel(ContactConstants.ENTITY_NAME).getAction(ContactConstants.Actions.ACTION_
13);
Link Models
• La notion de key a été enlevé des linkModels et les méthodes utilisant précédemment les clés utilisent le
linkName.
• Ainsi la ligne entity.setForeignKey(linkMdl.getKeyName(), dep.getPrimaryKey()); deviens
entity.setForeignKey(linkMdl.getLinkName(), dep.getPrimaryKey());
Defined values
• L’objet EntityField contient maintenant la liste des valeurs acceptées dans la propriété DefinedValues qui
correspond a à une liste de l’objet DefinedValue qui comprend le code, la valeur et le label de l’entrée.
• L’accès aux valeurs qui se faisait de cette manière ((EntityField)f).getValues().get(1) se fera maintenant
ainsi ((EntityField)f).getDefinedValues().get(1).getValue()
Entity Logics
• Toutes les classe de logic (ie le code custom) ont vu leur signature changer, maintenant la classe
implémente l’interface des constantes de l’entité.
• Ainsi public class AlbumLogic extends DefaultLogic<Album> devient public class AlbumLogic
extends DefaultLogic<Album> implements AlbumConstants
• Cela permet principalement d’avoir un raccourci pour utiliser les constantes de l’entité courante. Donc si on
est dans AlbumLogic au lieu de faire AlbumConstants.Actions.ACTION_5, on peut juste faire
Actions.ACTION_5
• La méthode public List<Key> doCustomAction a été splittée en 2 suivant si on fait une action de type
“Input One” ou “Input Multiple”.
• Celle avec la signature public List<Key> doCustomAction(Request<Entity> request, Entity entity,
RequestContext ctx) sert uniquement pour les Input One.
• Celle avec la signature public List<Key> doCustomAction(Request<Entity> request, Entity entity,