This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| wiki:epims4_1m1:developer:ep-pole [2009/06/08 15:00] 132.168.73.9 | wiki:epims4_1m1:developer:ep-pole [2009/10/29 16:23] (current) 132.168.73.9 | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| * **SampleDTO** : Ajout de méthode clone() et copyFields(SampleDTO) afin de subvenir à des besoins côté client d'eP-POLE. | * **SampleDTO** : Ajout de méthode clone() et copyFields(SampleDTO) afin de subvenir à des besoins côté client d'eP-POLE. | ||
| * Plusieurs classe du domaine n'ont pas encore été transformé en DTO ce qui résulte en des champs parfois supprimé (en commentaire) dans certains classes : | * Plusieurs classe du domaine n'ont pas encore été transformé en DTO ce qui résulte en des champs parfois supprimé (en commentaire) dans certains classes : | ||
| - | * BiologicOrigin | ||
| * Protocol | * Protocol | ||
| * Robot | * Robot | ||
| Line 33: | Line 32: | ||
| Des méthodes acceptant des listes d'objet sont aussi présentes. | Des méthodes acceptant des listes d'objet sont aussi présentes. | ||
| + | |||
| Se reporter aux javadoc des méthodes pour lesquelles il existe des particularités. | Se reporter aux javadoc des méthodes pour lesquelles il existe des particularités. | ||
| + | |||
| + | ==== Architecture des classes "principales" ==== | ||
| + | :!: Il y a pas mal de refactoring à faire côté serveur :!: | ||
| + | |||
| + | {{:wiki:epims4_1m1:developer:structure_classes_ep-pole.png|}} | ||
| + | |||
| + | |||
| + | ==== Le SampleCache et ses listes ==== | ||
| + | La classe SampleCache garde en mémoire plusieurs "liste" permettant aux différents composants d'eP-POLE d'obtenir les données dont ils ont besoin sans avoir à faire de long traitement. Il y en a 4, et ce sont toutes des Map. | ||
| + | |||
| + | === sampleMap === | ||
| + | * Type : Map<String, SampleDTO> | ||
| + | * Clés (String) : Noms des échantillons | ||
| + | * Valeurs (SampleDTO) : Les échantillons | ||
| + | * Utilité : La liste complète des échantillons de l'étude en cours. Le nom des échantillons en clé permet de ne pas avoir à parcourir tout le temps la liste quand on sait quel échantillon on veut récupérer. | ||
| + | |||
| + | === sampleMapByProcessStep === | ||
| + | * Type : Map<ProcessStep, List<SampleDTO>> | ||
| + | * Clés (ProcessStep) : L'ensemble des ProcessStep((Tout ProtocolApplication + MassPlanning + RobotPlanning)) impliquant au moins un échantillon de l'étude en cours | ||
| + | * Valeurs (List<SampleDTO>) : La liste des échantillon **de l'étude** impliqués dans le ProcessStep correspondant. | ||
| + | * Utilité : Cette map permet d'avoir une liste des échantillons rangé par ProcessStep subit. | ||
| + | |||
| + | === processStepMapBySample === | ||
| + | * Type : Map<SampleDTO, SortedSet<ProcessStep>> | ||
| + | * Clés (SampleDTO) : L'ensemble des échantillons de l'étude **ayant subit au moins un ProcessStep** (les échantillon venant d'être créé n'apparaissent pas dans cette liste). | ||
| + | * Valeurs (SortedSet<ProcessStep>) : La liste ordonnée (sur la date grâce au ProcessStepDateComparator) de tout les processStep subit par l'échantillon correspondant. | ||
| + | * Utilité : Permet d'avoir facilement une liste ordonnée de ce qu'a subit un échantillon durant sa vie au laboratoire. | ||
| + | |||
| + | === sampleMapByLastProcessType === | ||
| + | * Type : Map<ProcessType, List<SampleDTO>> | ||
| + | * Clés (ProcessType) : La liste de tout les ProcessType((Pool, Planning Masse, Nouveau, etc...)) | ||
| + | * Valeurs (List<SampleDTO>) : La liste de tout les échantillon de l'étude dont le dernier ProcessStep subit est du type correspondant. Tout les échantillons n'ayant pas subit de ProcessStep sont inclus dans le type Nouveau. | ||
| + | * Utilité : Permet la liste des échantillons de l'étude classés par type de process. | ||
| ===== Organisation de l'interface ===== | ===== Organisation de l'interface ===== | ||
| + | Ci-après est décrit l'organisation des panels formant l'interface d'eP-POLE (les noms sont ceux utilisés dans le code) | ||
| + | {{:wiki:epims4_1m1:developer:ep-pole-panels_configuration.png|}} | ||
| - | {{:wiki:epims4_1m1:developer:structure_classes_ep-pole.png|}} | + | Pour faire le lien avec le schéma précédent montrant les classes "principales" d'eP-POLE : | 
| + | * CoreManager gère : | ||
| + | * le fittingPanel, | ||
| + | * le contentPanel, | ||
| + | * le westPanel, | ||
| + | * l'eastPanel. | ||
| + | * SelectionPanelManager gère : tout ce qui est contenu dans le westPanel : | ||
| + | * le selectionTabPanel, | ||
| + | * le treeSelectPanel, | ||
| + | * le processTypeSelectPanel (non montré sur le schéma) | ||
| + | * le selectedSplPanel. | ||
| + | * InformationPanelManager gère : | ||
| + | * le samplePanel et tout ce qu'il contient : | ||
| + | * sampleLowerPanel, | ||
| + | * sampleUpperPanel, | ||
| + | * sampleNamePanel, | ||
| + | * sampleDetailsPanel, | ||
| + | * processStepPanel (non montré sur le schéma) | ||
| + | * genealogyPanel (non montré sur le schéma). | ||
| + | * MesssagePanelManager gère : | ||
| + | * le messagePanel | ||