On 27/10/2010 15:37, Julien NICOLAS wrote:


Le 27 octobre 2010 15:22, Benjamin POUSSIN <poussin@codelutin.com> a écrit :
>     Collection<Flow> cFlow = fDAO.findByWorkstation(workstation);

>     FlowDAO fDAO=EasyFlowDAOHelper.getWorkstationDAO(pTransaction);
je dirais plutot

 FlowDAO fDAO=EasyFlowDAOHelper.getFlowDAO(pTransaction);
 Collection<Flow> cFlow = fDAO.findByWorkstation(workstation);


Ok.... Le copier coller n'est pas l'ami du développeur... :(

Donc si je comprend bien, ma première intuition était la bonne : on peut le faire (ouf !)
Notre problème vient alors de notre modèle UML

Pour se faire il faut une bi-direction entre Flow et Workstation, ce qui me semble dangereux étant donné que Flow est lié a de nombreuses autres entités.

Le mieux c'est d'avoir une requête approprié HQL (ou en utilisant TopiaQuery).

un truc genre :
   List res = transaction.find("SELECT F FROM Flow F, Workstation W WHERE F IN elements(W.flow) AND F.end IS NULL");
   Flow flow = (Flow) res.get(0);

en TopiaQuery :
   TopiaQuery query = fDAO.createQuery("F");
   query.addFrom(Workstation.class, "W");
   query.addInElements("F", "W." + Workstation.PROPERTY_FLOW);
   query.addNull("F." + Flow.PROPERTY_END);

   Flow flow = fDAO.findByQuery(query);

J'ai une impression de déjà vu :D


Merci beaucoup ! On a une piste !

Julien.

 

> Voir encore plus pertinent dans notre cas :
>
>     FlowDAO fDAO=EasyFlowDAOHelper.getWorkstationDAO(pTransaction);
>     Collection<Flow> cFlow =
> fDAO.findByProperties(PROPERTIE_WORKSTATION,workstation, PROPERTIE_ENDFLOW,
> null);

idem je dirais

 FlowDAO fDAO=EasyFlowDAOHelper.getFlowDAO(pTransaction);

--
Benjamin POUSSIN
--------------------
tél: +33 (0) 2 40 50 29 28
email: poussin@codelutin.com           () campagne du ruban ascii
http://www.codelutin.com               /\ pour les mails en ascii
_______________________________________________

_______________________________________________ Topia-users mailing list Topia-users@list.nuiton.org http://list.nuiton.org/cgi-bin/mailman/listinfo/topia-users