ADF : Copier/Coller un ViewObject

Effectuer la copie

Il peut arriver de temps en temps de vouloir dupliquer un ViewObject pour une raison X ou Y. Ou plus particulièrement un Row dans un ViewObject.
La méthode de copie est très simple, la voici :

ViewObject bookVO = /* récupération du ViewObject */;
Row foundBookRow = /* récupération du Row à copier */;
Row newBookRow = bookVO.createRow(); // Le Row dans lequel on va coller
// On parcours tous les attributs du Row trouvé
for (String name : foundBookRow.getAttributeNames()) {
	// On ne prend pas en compte l'ID du Row
	// Sinon on va dupliquer la clé primaire
	if (!"BookId".equals(name)) {
		// On effectue la copie de l'attribut
		newBookRow.setAttribute(name, foundBookRow.getAttribute(name));
	}
}
// On génère un faux ID (un trigger en BDD génèrera le bon tout seul)
newBookRow.setAttribute("BookId", new Number(-new Random().nextInt(999999999)));
// On insère notre Row dans le ViewObject
bookVO.insertRow(newBookRow);
// N'oubliez pas d'effectuer un commit si besoin.

1 réflexion sur “ADF : Copier/Coller un ViewObject”

  1. Ping : ADF : Recherche d’un Row dans ViewObject « EASYTEAM LE BLOG

Les commentaires sont fermés.