Sammoa-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- 446 discussions
Author: fdesbois
Date: 2012-09-20 14:45:28 +0200 (Thu, 20 Sep 2012)
New Revision: 585
Url: http://forge.codelutin.com/repositories/revision/sammoa/585
Log:
fixes #1455 : end model doc
Modified:
trunk/src/site/rst/model.rst
Modified: trunk/src/site/rst/model.rst
===================================================================
--- trunk/src/site/rst/model.rst 2012-09-18 17:04:54 UTC (rev 584)
+++ trunk/src/site/rst/model.rst 2012-09-20 12:45:28 UTC (rev 585)
@@ -310,7 +310,8 @@
*<<entity>>*
Observateur participant à une campagne et positionné sur le plan de vol à une
-position dans l'avion.
+position dans l'avion. Voir `importer les observateurs
+<import-export.html#bservateurs-csv>`_ .
+----------------------+----------------------------------+--------------------+----------------+
| Nom | Description | Type | Contraintes |
@@ -450,6 +451,107 @@
coordonnées géographiques. A chaque changement de conditions d'observations, un
nouveau parcours est créé.
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| beginTime | Temps auquel a été commencé | Date | required |
+| | le parcours | (seconds) | |
++----------------------+----------------------------------+--------------------+----------------+
+| effortNumber | Numéro d'effort (pour un LEG | Integer | |
+| | uniquement) incrémenté par | | |
+| | rapport au vol | | |
++----------------------+----------------------------------+--------------------+----------------+
+| distance | ?? | double | |
++----------------------+----------------------------------+--------------------+----------------+
+| seaState | Code pour l'état de la mer | int | min = 0 |
+| | selon l'échelle de Beaufort | | max = 5 |
++----------------------+----------------------------------+--------------------+----------------+
+| swell | Houle (0 pas de houle < 2 houle | int | min = 0 |
+| | gênante) | | max = 2 |
++----------------------+----------------------------------+--------------------+----------------+
+| turbidity | Turbidité/transparence de l'eau | int | values = [0,1, |
+| | (0 eau claire < 2 eau turbide, | | 2,9] |
+| | 9 turbidité inconnue) | | |
++----------------------+----------------------------------+--------------------+----------------+
+| cloudCover | Couverture nuaugeuse défini par | int | min = 0 |
+| | le système des octats (0 pour | | max = 8 |
+| | dégagé < 8 pour complètement | | |
+| | couvert) | | |
++----------------------+----------------------------------+--------------------+----------------+
+| skyGlint | Réflexion des nuages | int | min = 0 |
++----------------------+----------------------------------+--------------------+----------------+
+| glareFrom | Début de la zone d'éblouissement | Integer | min = 0 |
+| | en degré (le nez de l'avion 0°) | | max = 360 |
++----------------------+----------------------------------+--------------------+----------------+
+| glareTo | Fin de la zone d'éblouissement | Integer | min = 0 |
+| | en degré (le nez de l'avion 0°) | | max = 360 |
++----------------------+----------------------------------+--------------------+----------------+
+| glareUnder | Eblouissement sous l'avion | boolean | |
++----------------------+----------------------------------+--------------------+----------------+
+| glareSeverity | Intensité d'éblouissement (0 | int | min = 0 |
+| | aucun éblouissement < 3 | | max = 3 |
+| | éblouissement fort) | | |
++----------------------+----------------------------------+--------------------+----------------+
+| subjectiveConditions | Détectabilité. Estimation des | String | regex = |
+| | observateurs en fonction des | | "$[EGMP]{2}^" |
+| | autres paramètres si les | | |
+| | conditions sont bonnes ou non. | | |
+| | Il s'agit de deux lettres, une | | |
+| | pour le côté gauche et une pour | | |
+| | le côté droit. | | |
+| | (E excellentes, G bonnes, M | | |
+| | moyennes et P pauvres). | | |
++----------------------+----------------------------------+--------------------+----------------+
+| unexpectedRight | Commentaire sur les observations | String | |
+| | à droite. Généralement utilisé | | |
+| | pour compter le nombre d'exocet | | |
+| | ou de méduse. | | |
++----------------------+----------------------------------+--------------------+----------------+
+| unexpectedLeft | Commentaire sur les observations | String | |
+| | à gauche. Généralement utilisé | | |
+| | pour compter le nombre d'exocet | | |
+| | ou de méduse. | | |
++----------------------+----------------------------------+--------------------+----------------+
+| comment | Commentaires sur le parcours | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| valid | Indique si le parcours a été | boolean | |
+| | validé ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| deleted | Indique si le parcours a été | boolean | |
+| | marque comme supprimé ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| flight | Vol auquel est rattaché ce | Flight_ | required |
+| | parcours | | |
++----------------------+----------------------------------+--------------------+----------------+
+| routeType | Type de parcours | RouteType_ | required |
++----------------------+----------------------------------+--------------------+----------------+
+| transectFlight | Transect référence sur lequel | TransectFlight_ | |
+| | est effectué l'effort d' | | |
+| | observation pour un parcours de | | |
+| | type LEG | | |
++----------------------+----------------------------------+--------------------+----------------+
+| circleBackCause | Observation source pour un | Observation_ | |
+| | parcours de type CIRCLE_BACK | | |
++----------------------+----------------------------------+--------------------+----------------+
+| observerPosition | Ensemble des positions des | Collection of | |
+| | observateurs sur ce parcours. | ObserverPosition_ | |
+| | Le premier LEG sur un transect | | |
+| | débutera avec le prévisionnel | | |
+| | des positions d'observateur | | |
+| | depuis un TransectFlight_ | | |
+| | Il peut y avoir une position | | |
+| | sans observateur. Le nombre de | | |
+| | position est conditionné par le | | |
+| | type de plate-forme de l'avion. | | |
++----------------------+----------------------------------+--------------------+----------------+
+
+Autres règles de validation :
+
+- Il ne peut y avoir deux parcours à la suite avec le même type pour la même heure
+- Il ne peut y avoir deux parcours à la suite avec le même type et les même conditions d'observations
+ (seaState, swell, turbidity, cloudCover, skyGlint, glareFrom, glareTo, glareUnder,
+ glareSeverity, subjectiveConditions, observerPosition)
+
RouteType
---------
@@ -493,22 +595,86 @@
*<<entity>>*
-Secteur géographique sur lequel l'effort est effectué.
+Secteur géographique sur lequel l'effort est effectué. Voir `importer les strates
+<import-export.html#fichier-de-strate-dbf>`_ .
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| sectorNumber | Numéro de secteur | int | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| campaign | Campagne rattachée à ce secteur | Campaign_ | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| name | Nom du secteur | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| localCreation | Indique si la création de | boolean | |
+| | l'entité a été faites depuis | | |
+| | l'interface de l'application | | |
+| | (différent d'un import) | | |
++----------------------+----------------------------------+--------------------+----------------+
+
Species
-------
*<<entity>>*
-Espèce observée.
+Espèce observée. Voir `importer les espèces
+<import-export.html#especes-csv>`_ .
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| code | Code de l'espèce | String | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| region | Région rattachée à cette espèce | Region_ | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| commonName | Nom commun de l'espèce | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| latinName | Nom scientifique de l'espèce | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| groupName | Nom du group auquel appartient | String | |
+| | cette espèce | | |
++----------------------+----------------------------------+--------------------+----------------+
+| family | Famille de l'espèce | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| type | Type d'espèce | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| localCreation | Indique si la création de | boolean | |
+| | l'entité a été faites depuis | | |
+| | l'interface de l'application | | |
+| | (différent d'un import) | | |
++----------------------+----------------------------------+--------------------+----------------+
+
Strate
------
*<<entity>>*
-Strate géographique sur laquelle l'effort est effectué.
+Strate géographique sur laquelle l'effort est effectué. Voir `importer les strates
+<import-export.html#fichier-de-strate-dbf>`_ .
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| sector | Secteur rattachée à cette strate | Sector_ | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| strateType | Type de strate | StrateType_ | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| code | Code de la strate. | String | |
+| | Utilisation du numéro de secteur | | |
+| | et du code du type de strate. | | |
+| | Ex: sectorNumber = 1, | | |
+| | strateTypeCode = 'C' => | | |
+| | code = "C1" | | |
++----------------------+----------------------------------+--------------------+----------------+
+| name | Nom usuel de la strate | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| localCreation | Indique si la création de | boolean | |
+| | l'entité a été faites depuis | | |
+| | l'interface de l'application | | |
+| | (différent d'un import) | | |
++----------------------+----------------------------------+--------------------+----------------+
+
StrateType
----------
@@ -516,13 +682,89 @@
Type de strate possible (côtière, pente, néritique, océanique).
++----------------------+----------------------------------+
+| Valeur | Description |
++======================+==================================+
+| COAST | Côtière. code = 'C' |
++----------------------+----------------------------------+
+| NERITIC | Néritique. code = 'N' |
++----------------------+----------------------------------+
+| SLOPE | Pente. code = 'P' |
++----------------------+----------------------------------+
+| OCEANIC | Océanique. code = 'O' |
++----------------------+----------------------------------+
+
Transect
--------
*<<entity>>*
Segment géographique sur lequel doit être effectué l'effort d'observation.
+Voir `importer les transects
+<import-export.html#fichier-de-transect-dbf>`_ .
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| name | Nom du transect. | String | naturalId |
+| | Utilisation du code de la strate | | |
+| | et d'un numéro incrémenté sur | | |
+| | deux chiffres. | | | |
+| | strate. Ex: strateCode = "C1" | | |
+| | => name = "C1/01" ou "C1/24" | | |
++----------------------+----------------------------------+--------------------+----------------+
+| strate | Strate sur laquelle se situe ce | Strate_ | naturalId |
+| | transect | | |
++----------------------+----------------------------------+--------------------+----------------+
+| length | Longueur du transect en mètres | Double | |
++----------------------+----------------------------------+--------------------+----------------+
+| startX | Coordonnée géographique X du | Double | |
+| | début du transect | | |
++----------------------+----------------------------------+--------------------+----------------+
+| startY | Coordonnée géographique Y du | Double | |
+| | début du transect | | |
++----------------------+----------------------------------+--------------------+----------------+
+| endX | Coordonnée géographique X de | Double | |
+| | fin du transect | | |
++----------------------+----------------------------------+--------------------+----------------+
+| endY | Coordonnée géographique Y de | Double | |
+| | fin de transect | | |
++----------------------+----------------------------------+--------------------+----------------+
+| localCreation | Indique si la création de | boolean | |
+| | l'entité a été faites depuis | | |
+| | l'interface de l'application | | |
+| | (différent d'un import) | | |
++----------------------+----------------------------------+--------------------+----------------+
+| nbTimes | Nombre de fois sur lequel a été | int | |
+| | effectué le transect. Ce nombre | | |
+| | est incrémenté en fonction du | | |
+| | numéro de passage | | |
+| | (*crossingNumber*) d'un nouveau | | |
+| | TransectFlight_. Le numéro de | | |
+| | passage est modifié manuellement | | |
+| | par l'utilisateur. Le nombre de | | |
+| | TransectFlight_ rattaché à ce | | |
+| | transect depuis la base peut | | |
+| | être différent, car d'anciens | | |
+| | vols ayant un lien avec ce | | |
+| | transect ont pu être supprimés | | |
+| | de la base. | | |
++----------------------+----------------------------------+--------------------+----------------+
+| graphicIndex | Index de l'objet graphique | Integer | |
+| | depuis le fichier SHP importé. | | |
+| | Il permet de faire correspondre | | |
+| | les méta-données avec sa | | |
+| | représentation graphique. Il | | |
+| | s'agit en fait de l'index de la | | |
+| | ligne de transect dans le | | |
+| | fichier DBF importé. | | |
+| | Cette propriété peut être vide | | |
+| | si aucune correspondance | | |
+| | graphique n'est disponible dans | | |
+| | le cas d'un nouveau transect | | |
+| | créé depuis l'application. | | |
++----------------------+----------------------------------+--------------------+----------------+
+
TransectFlight
--------------
@@ -531,4 +773,34 @@
Segment géographique prévu (et potentiellement réalisé) pour un vol donné.
Chaque parcours de type LEG représentant un effort d'observation est
obligatoirement associé à un transect du plan de vol. L'ensemble de ces
-segments représente un plan de vol avec une numérotation représentant l'ordre.
\ No newline at end of file
+segments représente un plan de vol avec une numérotation représentant l'ordre.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| transect | Numéro d'observation incrémenté | Transect_ | required |
+| | par rapport au vol | | |
++----------------------+----------------------------------+--------------------+----------------+
+| crossingNumber | Numéro de passage sur le | int | |
+| | transect. Incrémentée depuis | | |
+| | le nombre de fois sur le | | |
+| | transect (*nbTimes*) où modifié | | |
+| | manuellement. Dans ce cas, le | | |
+| | nombre de fois du transect est | | |
+| | mis à jour pour le prochain | | |
+| | incrément | | |
++----------------------+----------------------------------+--------------------+----------------+
+| valid | Indique si le transect a été | boolean | |
+| | validé ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| deleted | Indique si le transect a été | boolean | |
+| | marqué comme supprimé ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| observerPosition | Ensemble des positions des | Collection of | |
+| | observateurs prévues pour ce | ObserverPosition_ | |
+| | transect. | | |
+| | Il peut y avoir une position | | |
+| | sans observateur. Le nombre de | | |
+| | position est conditionné par le | | |
+| | type de plate-forme de l'avion. | | |
++----------------------+----------------------------------+--------------------+----------------+
\ No newline at end of file
1
0
r584 - in trunk: sammoa-application/src/main/java/fr/ulr/sammoa/application sammoa-persistence/src/main/xmi src/site src/site/resources src/site/rst
by fdesbois@users.forge.codelutin.com 18 Sep '12
by fdesbois@users.forge.codelutin.com 18 Sep '12
18 Sep '12
Author: fdesbois
Date: 2012-09-18 19:04:54 +0200 (Tue, 18 Sep 2012)
New Revision: 584
Url: http://forge.codelutin.com/repositories/revision/sammoa/584
Log:
refs #1455 : clean model doc + issue with captureDelay on new geoPoint during validation
Added:
trunk/src/site/resources/model.png
trunk/src/site/rst/model.rst
Removed:
trunk/src/site/rst/sammoa-model.rst
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
trunk/sammoa-persistence/src/main/xmi/sammoa.zargo
trunk/src/site/rst/import-export.rst
trunk/src/site/rst/index.rst
trunk/src/site/site.xml
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-09-12 16:24:04 UTC (rev 583)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-09-18 17:04:54 UTC (rev 584)
@@ -496,7 +496,7 @@
result.setSpeed(location.getSpeed());
result.setAltitude(location.getAltitude());
- int captureDelay =
+ int captureDelay = location.getCaptureDelay() +
Seconds.secondsBetween(locationTime, newTime).getSeconds();
result.setCaptureDelay(captureDelay);
Modified: trunk/sammoa-persistence/src/main/xmi/sammoa.zargo
===================================================================
--- trunk/sammoa-persistence/src/main/xmi/sammoa.zargo 2012-09-12 16:24:04 UTC (rev 583)
+++ trunk/sammoa-persistence/src/main/xmi/sammoa.zargo 2012-09-18 17:04:54 UTC (rev 584)
@@ -1,101 +1,83 @@
-PK]Z%Asammoa.argo�TK��0�ﯰr��l�B��.�bϕO���8��zƱ�8}����JQ5��y�̔\7��@T�*{�Uw��Bծ��rK�G�ζJ����,#e��(Ot�#T���weq�'���)c�(��+
+PKc�2Asammoa.argo�TK��0�ﯰr��l�B��.�bϕO���8��zƱ�8}����JQ5��y�̔\7��@T�*{�Uw��Bծ��rK�G�ζJ����,#e��(Ot�#T���weq�'���)c�(��+
X�}c��^N�q�������)��V�7J
_���\(�9��@�PJ�= ����j�V�����N���%�C�H�N��I����L<�'9�h���R���Vh��I�Ijì�`O���A4��^�I��*p�����G[N�i�P�=
�V�Ch��(`�5��18��!F��NݹU�'��nP5eq&��/�����<��-�����휈3F��@ o4�|T���jIm�&o�g&���v�e���*�����LJ��OO+FM݆4F
�2j�-J�☆��y��E�uT�Ge�y��g��}䞽~nh:�B�ӝ�7�_���3
-V��M�w��d����o�zm�j�4�s�%�Ts�m�����}I�gi�q{�qi�����Xҳ��^[7L��2���ճ-��wc�UY%�]<�q��d�h�����G<1�hx����7PK��DH�PK]Z%Asammoa_Diagrammedeclasses.pgml�]m��6���_�*{B� &����s�c����m��R�k�����[���w�;��H��lR�D��nR�D���F���t����q6�.��h���p�
-��(O����rw��=����^�������}�<=�>�����σg�.ƫ�3~E��8\�ӧU�h�p1\<Dk~Q��x:|X/���j:�m�Z�G��"�XO/~����l�\^o���������sB�y��\/&s���q���<��A��W϶�z��������w��5/��i{������X�)�~�=��9��S��#��O��N���Y�j2�-���pF�oO�_������p1�����B�����j��ޯW��u:�/�p��[���!��l�"�y͢ūg�q�����g>���P�a������p�{�����O����*���{鏛��h5�?�B�\����W�8��?}�/w��?����uw�| �_V|�(��2���i�3On0�~;�U��J8���Sm�H8A�j�v��=�#6}?��d�̢��w��p6�z������h6V������3���z��N���f9]�s.��_�-��%�/����B�.ˋ�Q��ܬ����Z�?�/J�,J/��?��O�����U��L/�ཽ�^"/(mImU���%K�&�&)���w���fn�x��~�NU]k�ٚ����?�
-�Y��Uh^��+��_f�����շ�<�?����}�4_��T�u�L�����L�Z���֔��\.�-�*z|.V�����������*����.J�a��/�UXs=�kR�]��`�h�vyNV�n���0�����AT)F�q ����.�{�V_8��њJwK��b��ip��o8�q��Kg��
-x��]��
-����J'��Y�8��
-x�%x{��Y��,
-gW�0��E�p8/E�� ���g �����c��O�R����މ������O_����q�'��|>���g����Q�&�t����R��~��(؞�1��Q�+;�cԀ�V���� ��*2��g��P�{�s�9ۘ�N3cB�~����bBSQ�ppz;��~LI1����#m�� }^qq�"B�ZD���dI"�!�$<���� ���6="������#B�D��R�5���X��nDh�av��z]�0j@H[�$ؚ��s�!�AH�՟G����x��A:�n�_)���giq!y�{ZJ�Ec���N���n�~,Ȯ�e�u��,g�u�}!B]̍s�d�h��|���_�po}�X����6���c��7���ï-��A�2�o���%W�CeUa��!�$$\,9\��e��j#�ԑw��rǗB��[�į"Y��Գ�vW�Yhv��]D)���$�M�`���tzNj����`����n��
-��>�
-��_b`�A�V�V���V��v(�g�lT��:��3���OH�Śf��t�'p����]�k��&�\����Oo��^�B�Amb��P�P~���M)ФhU�tw�Z�n.��2
-�FD��f�0-=� ֈU���a�����:C[DuiV!�����2�Q%|�\F�i"3��{ě�!�h��W�|��C<�Zϻ���i����pa���1Z�8�2a+��C��6��o�G�P�G�!��������=r�z�h���������ȟ��?�#�o����L>�;���K��?���i�d����;�b�0�,�x�g��_8n(�?�g���x��o����sQ�U w
-��8o����<Z�Z���蓆���.W2���
-�ӆb~|�/��E^1_��@0�����P�oo�������,��`�d�O��<F_�U��W1S��9;J6���<
-�� G�ĺ�4�J:?�Є�N~a�$�_��C R'��R"�E���3-M�4��9��FG���%
-]��
-�W�])4���LB����k�KQl�Xd��+2��[��
-����p<�1��%��M���w������3\Al��s��=���sщ�E�g�W������6����d+����U-:]Z��1YѰ14�r� (1���M�r�蜵�Ĉ������>\�ω��.��8�=�f����ą��g�]%�˰SC��]��)�7���m,y֣-�=G������m�x��-�=|&�4�
-���Y��Բ��_�o�sփ-�}~~�F�rV���Y�X�����j�h˜�h��d8���~J7*<���:g=�!�%ZE�,���o�=���@cL/<b��g=��_���UD��p�pˬLm
-��p����Y)�Yt�2Wo���L�����5�UϬ��,/C�k�q��lܶ��]�<x��8{��9Η�E!�
-1��!|*��9��������K�j
-�����çR�u�4n��P����a�I�c���E�>
-�ʤ�s�/Uݝ��
-���ڜj!|A>U ���l���h�b��'
-��=����k�R$_���<"j;�9Q2���#B骖Q����� �C`+��|�����z�o���m/����˻�
-��T��kP�
-��P�P�~����w7���T�kX����X�Xz����M��6�����~sy��0���P���"�j�X{�X�3�����a}��7��0�EϬlj�,�$S۪k61�B�����V}��"4�H�"]?�� U���J�ғ�����ܲ��RuY��Ǒ�����
-J�f�`wR�4���Y��̩�$,a�4n��$#긻�T�)Z7��9c�;��c\h�����%�O��=�+�*�&mRB��9c�O�Ϩ�'�ʓ����������mzvS�6�%�[�K9U�^T/��"M�%ӊ��<|/��yakϣ�ԫ��a
-���4g���g:W�Kܫ)?��G1���^���� �JymF��9f5� �`�,�C#�rj<���%�z��V��������'n^��O1p��#�[(��k8�xc̾^~�^�O��
-H��d+
-pS�\�mg3 ب�Pg���hKh�������k\�w��P��n��x��o
-���K������41�A_|5�{�%����?�C/>�#�=�"���"�e>N��@-uT|eN��B`���h��W�C�(Ǽ�<�L��z�5�?�_��^DŇRcJY�����"z�"��Rf*�ԣ.�N&�b��%_| e��M�0Lg�G�h=�������"[N��@e�z���`�5�Mg\u�o&7Jj�B�<l�~��<��DMUN��\
-�;B
-˕(��AS#�v��ٟj����A��\�|�h#k��ɚE4�h�KD;,^2��n�pS�<��c��|�g���偣�=��:�n��6���$�ٷF��q5� �Ms��Q�ވ]W�k�;�������i���(w�'�S������N��DK}�5��)w�]��F��]l�c��vQwڂ44-���c�M��Kwvvm�t[=*m��c��n�d�I�ǚ,�G�l���Xҿ)9���"~3����pB�?1���N�!�j� �1�1�?1���N�)�h��ݨ�t;�g[t�a��>,iߔ�}�w��{o�A�(��>L�yd:.A�7����>�'��~���ä�������AQ�:dv�>풜}�b�������H��Ǹ"OY�i�F����*"�o��}|;��ꘖo�An��C.B>I,*p�,�%i��J�����O�\�G�Y�+\�I1�|�y-��zCi,�gdZޑ��1��G\���U����6%3���nq��dF�Q.�le���T����l�P^X�)/Ǵ��c���]m�jD����F�}h2�%�l�����h4M�*�}��l�e�^��\�99�|k=Ojg���i����ۻ���h��&���x��/��mn��ơ�&�����7�C�m�����!{��N��b�����ȟ��?�#�qk����L>�;��Ge��?���i�D�z��@T�&�e/p�L89� ������j���n�A:-�E�y�݆B.�Λ��r>�V�"=��:���"�\�
-��co
-�~Ō|�����kF=���]\�?�;>F�T�Û�u>Y��}
-WQb������
-�5�η��Tj����(1.��Y��o�Z��W���.��f]2A"Wf�S�.���fg�BN��KAִ�V�`߱��9�6/��JA�n^r�{���m����iS�5� �\�h�*��&&�
-X61��t3��&����i���6ffn��Ƽ��������9�S�H����G31�{��{J�갅yS��<����maޜ���1�-L8�C�'��m�܇��}��
-L8��
-L�x���yy����^31��v�������>�1W:N��1W;{�����[0po39k`��R���������H��aG���H!,�H�Y��d�Z��
-�t#G*��t��AQ��V��ꤻ�Ֆ�nEm}�1�
-�+b�BZ�G��R�l�����R�S+]��1_J��L˗:}�N>� S�ֿۚE"�F�0�h��Mg�hԔ)miB��R /�S�<JTt����}�|��mq��i\��g��#-"���r��b�Mu����Rs뷟�������A����e�
-�� ��)$ۣG\�ݭ�p{T��eh��u�����,~w���V�w�R�}�w�����KD�ߥ�E�I7I���?���ޭƬ�>���ݎ�ݲR�s�U�������s��v�<����>�W�<��<��4br����;��/���2=p:�Ҳ��F���fF�=��Y���ka��H�-��r��4r��'71�s?\��z�
-轍 J<鸑Y���`+����[�^�b/~
-4Fz���6'9O��Ci�9ӎ�5.��� ��0�P\w�e)�����0{#Ԩm`#"����T��[��0�\O��"�G���4p[���"J~�����L3j�i��b��=�e����,:*Ĉ*.$�AVKL���#Jf�,ͦ�G�?ӌJL3Y{�D���4K
-�;���;�hT���4��"�ii�@F�A�fTc�՞Gw�����x�˧�bոf�P�Ew�~�_�(��(S �(���P�b�}����nܵ�}T��)I����H�R�6�Hإ���=�R��e@����e�<U���#��x}�H=����q2���k�Q4j_*^z�U�I���7����^EY�>���y����2t��9�>�Z��>��QWq�ȃ�>��냮�M��fE���G�j_��(�7���=�~��I�B��[��`�߸��C �R��QB��*j�ĵW0�ζ4�J�U���o�ԗb����#��#u䕂����$X�99�FH}kR��U{
-(�"V�S ��9����B���j2j��=b����0|-F��t�IkO�H�����㣪�Rd
-Tv�¶����.�j�m���J�e����,C�HӲ<i)_�֟H�x�9��}q�Ճ{�&��b�]���QQ���MwKdž� ��q��>�F���"�5/���Y8�W�EŘ����D�5b����.����jTO_���֓�[�&�'�\����6�zYm�a��9ZX��g�t���g(b��}�Ϯ�
-����og��yہ�`�Tx�Vz�0H�Y�$b���)X�id/��OA�5]N�7����o�v��5>��`m�&E�� 'җsC ��;X�z:q��p�s��1&�0�Lq�z��h%
-��:���HJ6g�L�G�J$k_��:b�}�#ke��:k1s��A%�*��oSo��ɫP���}���y�ۧ���M�M���T6�i56ߵ�u5FuQ�z��LP� C3cY �Q�< �IIe��TƬ�E9eؑ8e4{C�I�q ��l����#i�Hy�)�.�M���U�k�2�"�e c��YFg��UUT�7)B�tRY2dk:=�lR"�L�ٴ��2>d������;RYL(猪QIe���`��l]�U�̤L��g�Y~�t>]�p �8%��н�TV�d�X�ރ�e �n ��,�.��XtR��@�:߬���?wl>(�x$T��7>��
-�{%���VZ�8��j��/�LO�,i�i:�V5����da�t��f�����7�#�#Y�͇#�+�/F��t*҆Pi�i�IE��$m̀�F��TM�FvSq|���6XAd3���b���˴
-V^r���6�*���
-0�>����U�i�@�6m�C��6��#���������L}P�r��ˑ�b��kx��è�^y*sT���0G@�i��N�i:�6��=%Zw�-b���T�3x����hP^�z)Jyo���' [ԃ7��w�CQ9�۷Eqo��ᷜ��q�-ќ�y�h`�,�^.[�;4���Ь��
-;�R"M�i�^�V���T�W�C�{J4��a;��TE��Շf���.ۡ�h�u{;�� �4�N��w��,Я;-��+�V����%
-�����NQ��(16��pN���B ^�^�B�����\��.Ҙ��cM�^��I�Q����|X1/��kD�^�����<:�]2z��67yM��kDJ^s3bTN�hG88w�<�3�]�)�>FJiT}UZ�]��!��XK]��7���𦈖��̽�&��=�2�ԙ�I,!Z�Z��TI\�k6
-`d q�H�k��6u���u�����$v�����d���j5mM]��˦5�آ<H�Ѳ��O�
-��ܕ�D��-�w�$�皋P1ǞhIk�Ʀ�=�Rv��a�Z�c��њ�Aw�A7���A�R�VU1'ŘI���g�1�Ř�z[��K�-��p\p�pjjka�R�T�
-�b�u8~ӛ�@s1gJ6̩��L5�0��2���E[��R����jƔ�M����ظ��ٽ���c"1(��ף���X:��"�&s|8deP�⊥�+V�Bʅ�ä����B<��8�P��܉����M���a1]�A���E��/<��P�I���k����ML���/��˃J���5_n{��űga���g�:�~�O�xy��B�� �8�Q@be{��e;Ŝވ1���Wك*����k������[z����#���)i?�i��kJ`>^m'��T�}��h���s�g�n��Z�m'ye������1������`�������e�-\��A�TtL�~>���6�������_���z�p ������NxN�|{5�<q��Ȧ�R�k�T7��}d�b1qE�=13s��%<�����DKf)ڠ͗���a<
-���C�@�s�2�.e!F�x3��=ed<1oF�V��2�rky!��$�М2�rky�Py�HyG�~
-G�pYȤ��[���dU"P�:��<J��� �d��U����{L����Bn-��l͔nB�+˭�J���*�m�2*�B_����'�����c&�-]8��в�z[y�,j9���ѼB5Z���{_���OQuR�z_��dW��:-AZ����*G�k�
-z��NK����o��/��n�ݭ���C�E"�E9a���"�d�;.��o��E*�E[�$�Rl�E*Of��\ 2[����qA�\���lE�&������z_%I7I1�����hֺRuM��m3���.��<�헺`m/ua~Xq�J跰�E�#q��X��\�v�5�tz�&B$�4�?i�< �W�gd��������$
-�=A=v��ª���!�Q,~��OƁc�l�~����Q������
-�Z��%ٝ`��p�;�d>|;#�ݾ�@bg���`2n��E�f�9C���3�������Y<�B�F`����F�2c_��Q4j�$����]GtG���.eI5��
-Gs�A
-4�F��TehԞM`hCCQڞV�BW�GwDv
-��[
-C��j����IS�]Ӛ��(�A���Ψ=��Ѥs�-2W`-�������}�гuͰ�b�M��v����ch�4���&R� ��1�� >g�*���{�q<y���#T;:l�4�{�o�Vc{�����緗�Agi�U�}�
-��$�Xt'8bq�C��F *����C���*}HA����9�����`��R�.5���2�&���b���.
-XKִ����k-�<�_:����@�/�v$����H`�m#r�@�i{(�*��c����X c�t�!c,�|9r�ּ��mLoH'��:\�L\�A$�r�� �T��la�f'O�d`2A�m楛nk��w��f���i��ٗ�l3_g5�an�f涾˼M�_�:*!Ī��B�Ξ���}��m�m�o۸l|���n.��7e������4`�|�#�a���5�����n"mC������҃iJ~�����H4��M�6�w[ؔ���i�Ù��lJ_c-�an�tmSz��[����'}��"q��k�{�[�߶������Ξ4ϰ$�y���(����)��ì֊-��/|�Ź�ٕǤ���1_����ȡ�pcrO�(�7��� �c����g]C�$rOK�0Ȓs�Y��I#�k)]��y5||�(���i+����d]RP��Z��,�4Đ*�-AF5)mz��d:��t�
-���_�w!�_(J�u���W��C�����2��o�c��2j��,]S�1Ӳ<=�@��)�'�݊^�� �p��\|.����IK���.��n�9)��B���b�Ǖ�%���R��-(� 1�D#�L g�㛉V���fb@A[m&�ID���z�q]��h5].��C�҅��CR
-TN��i��^@<;˫��ݫ����_��J�'�uA�ZҦ}'m���Z�y���@�ހ[�
-�<Hn�mX���6F�k�"y������ɭ�|"+��T�p�>4lN�6|S����s"�֤U�ڶԃ= m�,jc��������Mmˍ�ݬ�c�r�B�6�#�QC�T
-m���#w��u��m
-����mj-��_C�*c� "�ۢK�,| Tl�ɨIJئZ`{������T
-l�*��<��]���z,����V��t�e�Y5�F��u�\��u���<Hh�j��=f�� T��6�B�:��!�^3�M�ж�����t}�yG��њ���!'%���=�*��?+@NK 78z��������{%��&̻L'����9�*y�U�����QV�U��*w�`k�����Q����hjj\���d2s2Մ��<@Q�
-O;\U��Ţ�2���#��~I�* 0y�����:�#8Ee(�gT��:s��8s�����9Pn�Uf`%xM'���gs��r2�uj�z=�8��|:�S(�d�漴js�9�͉�6'��BmN��6'�؊}����yY
-�}���m�
-�[�9��ۜo���u���m�
-�ۮ��7����HO�y�f+�X����1ٱ�U*U�<�U
-k���il�$
-18�J��VF�Uz�L��Viy �V)��
-�[�JYǭ��@/f EC���ۥ�7`�.eM�K�9m
-�lg�\��oi�wU�f�f���Ҭ�DŽց�<����{�ā$Z��hH=7$8�A6��1egg���)��p���@ʙ�������-�����&M=rj
-ni�����df�&���b�����"\�(��3ђ,v�p4����܊�Q����T���r�c�̡�
-���oz��^��T��P��<�5E+Y�����'JǼ9\�໎
--��)���t��1V�t1J���/vJW�
-�Ԯ;�N���y��G��>��L2��
-�dY���p�Z�����j��|����p1���M��wq��`9�2��u8���Q���e���%����.r=\�+ԩ~e-Ƌ�p��F��w����� �:K��
-u|?��7J���L�!?����*�~��rZ��v��Y^�:��ׁ���{�}���Pk���I�/�W���k8�v�E��2s�C����H���Z�߶˗��+j��#qL0H�*����k��e�zI㛤f��2���u=��Z���!�Ԋ-O�N7���6��W���ű�M���u�������Y������I&�E�6I�,&��:UXr��z�Ž�2z�.%�Bg��QPnK�ߞ���m���ȑ6r��
-)��?��:.�r[|#XM���_EE��Vt+~�EIO���[u�RYޭa9?�6FTs�YPM�Z��i�V*�$�A������t�՟[s+�{j�"X*��*oO��hP���j�?�uo�&�n������s���*ڬk��[����eL��8��y��[�Dʴt"�z-m�2R��o��JK�4.A�T4�JK됾���i��k�(����m�P�Vk�lԶ���vqm�6�m�4��9H�5ش�,�b����(�8@:�a��FH����2z�J�I�!����v7HEN��@�n��N��@�>*��zT��vT��o=;��}P
-��$�6=�b�ơ�rq`�B��E��>,B�E�%�be{ږT�Hx,۲(�5�湒�u�#h��p�e+�Y�y�۷-[�)�&��m�V6
-��c�!n߶l}�@��۶-�0Ƕ�H�m�V��A�ƃA�J-´lWj�}��$�ct2 Q`�,<\X��<�ٛS���L[��B�_-[C��&�e[��h���Z��}g��6��d��-X�v�*��MX�F�֮��}��݆���m#�6݈5W�#�11�������<�6QF����&Cdf�1H�O;�A�k����5G�ŬI�Ԑ4�s8s��
-Tj,�<�훣h�b��hK���3� �o�v���E�m���o���
-7}�c_�N������8{���PK�[�+ѡPK`Z%A&sammoa_Diagrammedecasdutilisation.pgmlMN=o�0��+�7�ٵAuM 0�1Q�d`���aY"qd'U~|������ݻw��Os'���m�q ���P�G��l7��eޕ���l:�\/��D`$���c�:����|�L�d�8m�n�����Xu��"����1���4TrR*�����M��9U�����o�� �n��gV��I�������л��z�Y��:��d�PKǒV9�PK`Z%Asammoa_Diagrammedeclasses2.pgml��o�8��_���t'�)6�������i�v�nݤi�N�ʍ�����$�@RJ[��6U1�����>�'&�on��tE��gC
+V��M�w��d����o�zm�j�4�s�%�Ts�m�����}I�gi�q{�qi�����Xҳ��^[7L��2���ճ-��wc�UY%�]<�q��d�h�����G<1�hx����7PK��DH�PKc�2Asammoa_Diagrammedeclasses.pgml�]ے�F�}�Wp�0��j�n��-i��^�ʒBj���Ą�M�g�D//�5�?���c[I�n
+`� pl��
+@U�YY�'�^����i�k8_L�����{�g�h8��_�����%{����^��퇛�?��=��
+�������ދ����r��_��b.���2yZ4_���h�/��N��y��r��/'�_��j�\��������L����������^�����g���0���/��y?x����w��3�?��_l���a����ŋ���k^����ys��d�mo�?��d��w���O����s��O���q�������2�����s��I��k���9���v!_�_.���2L��k�c:�/�p�_\���!��t�"�<������y=HH�o�k>���x����-�������$�~�<�|�/��O�K?�����e6���+�L_��_pP�?}�/Gw��o�������7_���˒�#V�W<=mv���z�of�_����<p�
+��@�Wm�^ٸ{�xĦ�G�l���4o��,������D�_>Fӡ�U����1pp���V��d4���tθد��aޟ-�{�}|�JU//�G�,us���S�Z�?�k%H���Z�g�W��N�H{]�o���
+�ۛ�%�Bi*�Q�<�����%K�&�&),�N�z��
+ϗ��ө��/����C�&_�����F-4�a�&r���t�c�/�v����1���+i���j�)�ש6��LM
+�u�����l�5�3|���tI��������mka|��0����R�SK�$�N+�2Y�5�1ߺ�R�b=�nga]ޅ�ej[b8{?�>s���E�b����P�w1��p6^~��F+�](E� �ň���|�_���b���XZ�x8V�����@������q�qܭ�%�s ��7-���V���Ѡ?�����8��Q4
+��R�Y �[=K��=>L���|2[����X���r_q~x������l��A;[��p^q������!Hub� J��������8L>�N����w��X�� ��AD�����y���eqtsɱ4�/��ua#�0eJ"��"b�0wO,ԏL��$����y�lMl`^ Hy%��h�8���2�)�
+�!�J@J+���ڸ[�V����%�����F�I%��<��/ВJ�|j���ВJ;̦K*�TRRI1� �ᛓTn�Jk �X��¨9%M'9Hv:I,���H)-�T-X����R��F]���:�1���t�I�)A~
+͒n�t�1u�Z�j��F�h���f=�q�& Ը��p=�C��:��ht�5����ͩ�h2U�%Fs7[=m$�/�9��AK�N�0{�;�՜)m��ז߫ {�
+��@)f�+3����:��,K�2j��
+���H����Ma��E��,t��DE����nDM:���b7��jrj��&o���e:]�F\{j�p��Qm7Z!��v����9a�N�lh����m�
+uC
+>Ac��qt�4��L�I�H
+�Zg���7�p����Caj�&_����Oo�ޔB�ʠ61�:�E�?����h\���g����7wW�e���FĨ��0�L ��F�Š۰��Aa��1s;�����E��T�鶑�iP� �e�Js���D���w����!�h5�7�l�_O<�Zϻ���i���v�m��1�/9�2q,����8������~�����W���C������m��oѥU?I�����?�-�G>�06-����3����O�6���~��s'��}[�Ֆz�
+�0-�X��a�P8l(�?����3_�����7��#@l0�9j(�Ἓ
+�f�h)[�#�������a���� �r�*`N���%��*���E��߁�Be�����/o�W�G~��h�
+`~�Gr
+�w��<E_�e�vc!S���J6���|
+�� G�Ļ�,�j��# =��I}�Lf�Up�>�&��e@"ˊef�H!T�s�Ս1$U����vL�b�/
+�j��J�*�W�Q�H~���"�M~S�`���J&�P������x������f�5 �T
+-|W;��iq�s����9��y��si@��=+ˬx�P�Z��P:��]s�/z~L�K,n(�'hZtJ������Ҩ��6Y��L*60��M�r�锭�� �������1�[�c3^�����f��q�����J��a'�dv��s4��o�r\���[����0\%+�ܤnc��n��ز� k}�T����:���U�i��ش�[�1���:�Vs{�Y!�ƾm�b߶�&O�[w0(D�س�C[�&��פ���t���56m��/�2��GM/�hRc��p��)�T��-&5vk���>�"⅛K,��ʬҳ|N�e��EhV��C���.POF5�\�]�\_�X����w�pm~n¸zŵ���8�D�=5Zi6tW����=���jkL�]m}�a]�X��� �c+1�b�L�z�V����nG"���#Ҹ�s�jVZ��D��Ť�@���k�U�8���Rm}��7h��uD��J��k�ĝ��F�?[&�Γi����
+k"�d{M=��u��j⺾:12ԣ[#��Z��*&�R1=l�����P���s00r��՟��t���Sàh4
+jS?�j��O�?�����h�
+kS/�k�Oo��r�q1ئ���"��W7�a'פj�C�yBm'�~1ֆ2��:��7~5����ޕ]m���ғ+��4*�K��w�{�����ЍS�xU�5ee8��=�o&^��va�.z�ĝ4��!��ڮ�j��8��K1]��`�Hv��v�`Zl��w�RL�@��=�au��������<�t�;��1n�ɰÀn��G
+��Z@WNU<Mڤ�._�֟LWڵKi�/�r;h�7�N:�뻭�Z[��l�w��yQ#��F��S&����z�\_��֞G{9`��xb]`�k]q�D��H`�'�
+b���'0�Z\W�b2䵩����ǶKk/d:!'ŐC.���"��[:K_��ߟ�{?�P�[Z�|�-����_��
+�7��;�E�����d�7�U_�V��n��w��Ev�tj 6(�����ګǿq�2��&LV˒;_���7Q:�%������$qԭ�x/j$t�K����K���x'jdt������y��l��ѱ��A�v�y�2j�C\��v������(35��0�0�~
+���"(ޔ���:�u����SY/ސ2Sרu�p4��˴?�5��Rfj eLô��z0�VÛ諩-�EBTd�� Q��;L��¸��2���ˎ�!�&k�R�4u5�01�+V���T����N��q� �������ɴ��έh`�4��vPjd���R4��UX�x�JD;(�Q<�x:�xz�F=��QSg�;��b�5���Z<���ƹ�J���3l>��
+>z5�8w�'�Q�¹��N��X���-��9w�-�nm]0�XW��g]Tʝ����&�<D���%�M��Kw�yݖ���u����n7Pk���N㢒S�<ݨ����T�g�*@�G\죲�쾏b�qT�>*��ح��6R7YN��)&m��|����
+�܆�I;)&H�爐�m�vR��x�E�'�l�Ēè����O7�Q�'��0m����L[1�М���O�'��v�?1i��j}�d0��?1����uI�O�uq�}��̋���4��Cޤ���>Ŵ����hm;��7��>��Q�V��An��A.@>J<*���V��anl��a.`>yz�s����o��#ol��!�Eޮy��E�L+^R7Ev�K�ٰ
+�~1ަ�H���RUTiᔋa_�)��ƛ�Z�a_�l��!=�<��x�j�WSW��A�S��dC���[,��$�����'��j>�Zf�����<�`��O�4o�h�vn���#�`S��q��I�n}��}4
+7��Ioz�ys?��v.^O\���7u�g�ח��G�ܷ�����آ�?���v��#{�f= T�?.�mΝ���Il��/D#��`4Z��x��B�9� ��ϫ�r���nnA�:)b�y�QC!l��lx5�EKِ~��=k�����d9��y�{n��;�?�_q#_��@𢲇�Q�p��+�#��c4M0?�)y��;�T`����2J�X�-A� _��ls9���\����8�B��Ѽ��k����8�]���۽y�L�ȥ��ԽK�&��Yl���b�R�5��1<�z�
+?G�����M)���K�y�_���ڿ����V�<�_���_��Ŵ�]L�5��|m�� ���4_�`U3s7��c�9�`�9�`��/�)J��cf�=�/�{J�h��yW�܃� ��a�!��1�<L{�1��Wpv@�]̻���e�s0��w�`��;������0��z�������E�e���s���(�.z�N�9 'oOK�8����5�P'�)�������H�'?G9� @�D�f-�qk%RP��nѩN\���8��ʤ�����l��vT&u/�8{%FT�CQ���,�%��l�d6��l�Ý�E�V�b��b��V.��C�K���W���,�0׆�э�!�y:AC�VLi�i{�/����`*�G����G{�S>|�z��m��� Ұi��i�CZD���O�(�b�M��w:d��P�y����ݯ��UH�tA^ }��Uq3;��i8�]H�L�? vز�kf���R��A�YÑ`�p�a~GK�g뺓�Ԉg��}f�]�S��R����s��MR0��$T�Z�dM��/ �ڝ�g��+���y����9��;(�y����.X�9@���O5��lC}s
+�S���v���ür�a^�s����X��0�
+r=L�B�f���V�x����-w1��G��zZ��Ǵ�
+�*�z�r'��|�m� �z�eVx����)��6�����4}N���dLָ۪�r�T3�����݈mIj�F�Ԯ�>�Md���&����,Xj {�����2���w4���X����&>�x�(��gt57����-]MԦ�`����9���x���j�g���v����&[o�HW#��j���pKW����F�����M]=M�I-i1{����V{�%Q}������˧�b*�k�ZF�������,G�L, k-F�ï��M-}��X�H$~�����ex
+��������gG���:)y:r^T~����n"��O����X��kOh�� {{�I�������mj�4~`*uz�V�I��7����foEY�>����Nފ
+���&!~�����s~���ԭ�j�A��w��
+����M�Ղ�D�#4�h�<�=UK�J�؎�&�+�7�&��do�&_���!6�V���AҭTJ�L���*�c�y����d��5�J�tk��<p����''��D
+Oa��:K���*�n�N��6�@�����eY&�Dutz�i�nr TK��0��y���i@�����]�)V�bk���̇��单�����q�����b����4��Q[�P-�Z"�SR�l_�S�����H�uX�:��T���z���I� �pdy�l�T��>����<ܞ��EӰ?����iAeED�Bx�U�R^�����VD��w��C.�y:Zr�Ġ��D���T�T2�R���d��b�d�Ϳ��`�g�yf0}��,8�T�I���83(�J�~���7
+�C��ݙA\ o[Й]:���Yz������
+%����A\��ir0��OA
+7U���R��o�u��5>U�AMC��(�I��'������c���P������~���Z�j�8�SQ���CQ� ���Y@F��a�E���#f�gT���:���9��T�����t��ou\�_�S`p��f�#r�L����K��Wv�I`�lMw62�Ex��j�/g���U0���yiz=�yl�K>:$1�Z��GyiГxi${E�V��lX>�%�0�4>r ��#������nR�8���i$Ng��[Q���IpFbD��P��6���L��N�Lۅ��߅�LSm6Il3��)3mcd�����Z��������j =;��5-�I����IkIR��d��
Q*�����[�h2_,�[���Q ���~�C]���+��K@隷e��ź?��cK ��:�k��S2���_��-����[�_������^���d-k2��+���PuwQ3;�y8e��L��dcTڊ��;�<��T±��T7��p+"a��b~�n�&5Wڑ�!��|0�Gf�*P?���������
+ң)��*��.9�m�~���O/��U���~X�O�
+������o3��Y�����!�����ϳ�{��k(��7��4��a�x��'P�S�ގ����rG����gqn��Îplv:�
+g���X-�^g��n�5S���aq�����霷��w��5�����O3����Y9���Ea�����
+¦{�9f�����YV��T�)gc<����p�^I����+��<����
+~hzO��B-�C�KM�K�>����gx��Ы4�懢���UH��%��o�zU`_�V`����{A�'j���߷������xҵsj� �TX��η̞�{
+ =�?0md ��]����5Gĉi]��8�������S�%�e���
+8yz�V�a�e쪜��=u��p�q�H�Oa�1R���j�����l�Y���C6<+E��P����7$��rO��U����Mu
+����ϦJ��N�i�s�oX�~�͵��k�\�k��o�m�[b`6_'5�F�}Su�|`�I'=l��{)}�Z�[��T�럺q�8�\B���a��r*&�c��M��xv��T"1O��a�0Z�-C9�t���R�۲*�s�����ie�I1恡���\:e�9��'��
+Z�������m8�ӏ5�q���+�1'H��J-}�ꮰۺ��['()���ʮ���ȉWˮ4�5��r(
+�{*UWً�)=%.`�� �����M8Am ��A]냄s���T�/�ä�!�7��S����(��n�DI��l�� �r2�Oq���y.�OL̥1_b��{>�6F�L
+G�|I���xyP�r���r��+^.�=���^'<���c~z������n�%x�8�������R�b��p�V���,�ae��HI�4M[�v�[�z�&S�˪lH�+�g#�E�I�L@Y[�-GK�eہ7W��S�\�z�~o0����;a���?�fa/JZK&__���E�A��m�����y5Y�������]~'<' ��eѼ�����?���K�{��j��n��߫��_�2ޒ'���'��Ǜ��RxN��)�ͤ��ھ��p��y>&����T�Jf�gY����7���VY�,�(��a��Њ'h���I��IR�;NccDXȂ�(^ՠ�H�̫Z��6��1���h�ctߠ��T�u��#��[����s8���BZuF���!QK`���F�Q��: �d��}��F��a:]_㝘Tbv�&[�ɛ�ט��vl�Cv}���ʨ�]-�[���1��;̤���ж�+:�]��r����Y���T�vh�wm^Ka��UQ�%�w�^�POV�����m����Z
+v���С����Q�i2�VA�i ��rAmoO�8�`�f_$k�}��}DZ@���Y��,A�o� ʨ5��+�!�h�Rk4���iz˱4���pk��k.[w��O�����2��X���3R鬵���ڡ磤��DUzSI�7;��uM���4k�6﨣�y��o��νy�K����TB�{w�Y1�w�C��{����!ǚ�����d(�q���P�䑹Ż�<�=c�b� 8$��%y�0�e�߰?��a���/�s�c��������@�xpL��1�:�l�I?Y����nW�G 1<X�1�ָ#;b��#�'B�x��g����y�3��fơ����b�G-M*�*���@�y0�w�,�&Y�A�0��M6�h�gc���y6
+a��H,�h�Z��ϖ�ܒ<�ƧC��Z�����a�N�L�^���=��9��o0���l�~�����c3�v���]��+��6�h
+q��xB�m����p�`n�z��@y���
+�D�:4#�Mz��?����A�h�Us���P7�X�u��]j�S�Y� �)�
+�s�>� X�y���I�
+O˚G8�KKGMf1�*M�I�MzSq�yg��%k�goi@���k)d�/�o��qF�3O:}�3��3��Z6� w�
+䘟y*�)��s��kz.�1m����1h�xU���z�>��'�GL<.
+�F�>6H�Dr.p1�'�K`�0�����`2Ae�Y��)�$y��&8;���i�������:ژ��s���̽K��:#
+V�3t/�y���.��{�.�w�\��;�� ���(�'*3���,���S��c���1��7%��P�H[�1sG��,Zt���㤪���M����V#���B�DzO���g��3��?����ZG�0w��sw]]��<.
+��q��^�!��q���ߵ�
+��*%y�%���5.y1�@�aQ.��Z3�{��1�;i���A0�c0�H"ݐ�I���}���z�&�I��OIq��l�Ա
+Y��7��#�ȩ<���Ƹ�����|�)���`����/"QL�.����$�Ő*�-AF5)mz��d:��t�6��`�w!`(Fi����CvZ���2n�l2�Z+��`hj��P�Z�Z`_���io[0�.� �p�u�,|f�s0�N%��"��!!���6�'���i�]��p6��8)A�Yv�lo�A�Κ6n�Xi����{{�֨R#>��Fk���@O˺6�w̃БO��i*��n49�>���HbO:�9����!E5G���4�����ij�]V=��i�,f������dw�$a��e�kI���_j�cj��J����/�c�P�7p�v�o�y��c���*���\;>�\�S�Ų*�`�4iHms������L8ٵbߜ���Q��ˏ;:U>ɏ#w&���o���f�Džq���Y�(�$ᅴT����9"͏)?��G���Cu��ȏ
+�����8q��!Q�8o���W:��Ѳやj2j��Felj��a:]v|��8���ɦZSY��.7�n���mv|ce(�Z��̨�q]/�!�f�K�)�^��Dˏ�0��f�*�lj������q���5��g�v�+�O�<�S��h��i���M��r��� '%��h7�r~|6�&�~ �&� �6s8�9rn㕋d�+G4
+��gإ�7��@ܒ֮:���1��ᐞz��<x������R(.['GF�D�hd`՝���,�SUx���Sea����852�|������,��b28J�*��d�c���;�A�������ѣ������\e������������c9���^o�>�s<�Sh����r�s^�������`m}N�f�Ӣ�{�����*ݽ�I;����}N�r����8�9i�sV��u)�t/�� |��e��V�>&LV�J���G�J펂���QP�O��QP�[�e�w�*�bm�J�rk�WZ~�{��u^i��{���^i�YD/dV�WA��K�߀k��5�/%��'�9
+�s��AN�4'�*^o�f�#��G
+���D|�x���(��Yu�~�h`����
+��|�4����=�/�{J�Vpvi1�>�:��S6~������:����Y'@��:8w��%�Ν����:�G�C+��`~殩K���*w)Ᏽ�S������j��q;���j������KW����l���.�x�������E��]�
+�ٓ��3�_��v��q&�E�����2��\{Rs����bbG�Ӷ!k4���E��{��۱�8�N��Sm�:p���?��|X����ׅ�PW�kh҅�/�0PG��� �t���Q�n@SUPM�Z���i�N���Wӱm0��tP�` ]zju�/D�2��n��z&��>t�>�]b`�@��Kk[CP��5�k��Q�h�IL5�&�Ğ�r��@2�+c=���s�2R���?|wWX��
+K�6�����.I=;�o?�r-#mc��BT�p녨��O�R����uc˓BT��6Җ�!��ƫu���P}S_��C�@��ra+���,�W���*�Bj�+s�4�t�����(��s�c�8��l�v�!�[��Nlq�[��*��8/��wy-k�3�0hz&xؔ�"0�q%n�r��KNe߱|K��)�%�f��oI��+��-�X����-�����Ă�����-I����[�η��߹o [�[�J�}K������-���>��-��q=@4ߐwTKP�,g/�uY*� x��08���(�Q�������?O�SNY���2S�,R�4z���T�&�g[b������dM��ρE����R�<��{���=X��;wa�9���V�<������}X���vbQӝXs+����ݯx9�L������G4bp� (p0���P;���y6����������r�Q��}����!i�g��]]C�@w�j��;wG����kF����V���h�O���t:5�9�%��.7��������w�PK4�u��*ƚPKd�2A&sammoa_Diagrammedecasdutilisation.pgmlMN=o�0��+�7�ٵAuM 0�1Q�d`���aY"qd'U~|������ݻw��Os'���m�q ���P�G��l7��eޕ���l:�\/��D`$���c�:����|�L�d�8m�n�����Xu��"����1���4TrR*�����M��9U�����o�� �n��gV��I�������л��z�Y��:��d�PKǒV9�PKd�2Asammoa_Diagrammedeclasses2.pgml��o�8��_���t'�)6�������i�v�nݤi�N�ʍ�����$�@RJ[��6U1�����>�'&�on��tE��gC
Y�3'��3o(�8�3e��h���_�O��7|������$���Md��\��؉�9KZ#o`G^��J�5�m/������w��Y�p�"���?����q`��ɲ�{���=]�H�Mt�T�Z�n�6:�3E9P�yGJ��=�Cy�֔B�$��Nc �;#�u�E�b��x�{Jzk{��Ą�*Vv%U�w%�Ю����6�����8�C�b�:f4�!����>�*��9�l��q���X���ʳ�^Fԅ������̬�h�p�A
��K���X~���˒U�q`;���Qr�p�W6������,��g^@sc1�F�f(�7ӳ[8S���ڟ�ˡ>NK.��]����iIɮ:��������%�ް|�Q�è�a��a�:��V�����ÒĻZU�3�h$���gv�;C9 ��p�Ro3����i�?������K��������p�߶r`Y~��iK .�1�Q�oć���b�J���k����0NUC�0Z�U��n嬴S�<ȽW1 �!Y��D�2��z�+,����Ʋ��ud���f��Zi5Z�T[����*`��J}v�ʃ3xD���pԐ��D*&b#S�����Rs���y�૭�$]�����l���r��.�eS�q8����/��ܾ���2K�Ϻ�8ڦ�c�d��KnXҀ��^���h����٬
R�
@@ -103,65 +85,76 @@
8
��R���E�H�(tX )q���Ed�b賀��S�3��aHi�lޔj#���h*�� Bz�)��jo�O��)\�RF�J�Jz�x�OT=�,u>�&㔁J�jQ��5}0��@�@U���({R�I����(�,U��n�'e�=EL�Y�>0���b��Я*6�,��������}ZS\OS�h�ŔG��QGA�jWE��S�RK�RY�ȳ�4�,!M��LSj��>���2M��gWυ�>C�B� ������V�#�m�6z�9H�O��:_˪��H�O��5�Y���NL�XJ-�M��1Q���-kV�j[l��̝��Z�t�5/�t">�W�!xg;>�CJ��DېN�6�qvϞ<���.˒�'����I�dP��I��q��������9�����Z�oG6ko���1��vx�.8�|���"r�y1�c�K@`�_�Q��>(�3�������_�f�Õw8�ATM!μ�W�|$_"[Vmp�9���=�)�g��wޮM���G�
�o.��Ѩ���d���&��S>h�Ӌ�Ƚ���0WG�G]0}p�p�yܶd����,�M�+�B��4��]}М���X��m���
-�&=���i��6����s���Fm#M�F۰��Nۤ��Ʀ`n��s|��~gm�=���i��6���������V�V�6�Զ�wm���ңI��w�6y�`��?PKɟ���FAPK`Z%Asammoa.todoeO�j�0<�_��.YnkW6�M��{��Xk#P�ERL?�5%Ѕeg��aV�/�,`�ƙ�H�3��Tz���ٝ�HɾI����Н?�ģBҞ���J�H��*%a%�u�|��
+�&=���i��6����s���Fm#M�F۰��Nۤ��Ʀ`n��s|��~gm�=���i��6���������V�V�6�Զ�wm���ңI��w�6y�`��?PKɟ���FAPKd�2Asammoa.todoeO�j�0<�_��.YnkW6�M��{��Xk#P�ERL?�5%Ѕeg��aV�/�,`�ƙ�H�3��Tz���ٝ�HɾI����Н?�ģBҞ���J�H��*%a%�u�|��
���,���\�l�v�
-l�:�L�A;��Nx�{�i7�����D�7��=�l5�^8�0�@h�@���h^PZ���ˢ����CYV�j*8�5���ӓ��LB�l�)�?�~�$?PKP����KPK`Z%Asammoa_profile.profile�����Q(K-*���S�UP2�3PRH�K�O��K ����Z()��qq��e��qqr�䔦g恘���>
+l�:�L�A;��Nx�{�i7�����D�7��=�l5�^8�0�@h�@���h^PZ���ˢ����CYV�j*8�5���ӓ��LB�l�)�?�~�$?PKP����KPKd�2Asammoa_profile.profile�����Q(K-*���S�UP2�3PRH�K�O��K ����Z()��qq��e��qqr�䔦g恘���>
�z& Q}�0�
-�����������b<��SR�S�R�K�����+�,EȂ9PK8��7y�PK`Z%A
-sammoa.xmi�]ݖ�8r�ߧ���cϜl�EJ�${�s���q��n��@$��"5���*���\fr�g��$O�բB�����ݒ�X(|U(������Uq:���Ey�6��왾�xS��O�7W��������Q>ϜF����|�zዟ������Ϧ
-��C3Α����J䐏��i��bK��s��+��B��h6����^њ�����>��W���l�f<�^�"Bm����AD����O��6�;���#/T(�
-�d���m���:ӛu˟�_5����wJ����O����Jt�^���i/��������|����L^Q��%;S��d���>y��'�k&�0�oaWI���oȻ~�>.�Fm���~��Ӓ�)?Mߋ�}��$]_�[�α�!�:W�+�*WWF���%��2p�6�-����6�M2ZkW�П/�FI�w�C����+Nx7Ǧc;f�*�'�!��|��(��[��/�wt��$�d��]�}��+)��5v�l���FCF�=�=�����mλM|��H���Ǻ8T�ˡ
-C�z��~�ҟ�8xL:����6_>�v�u���|"
-��{j�0\�`��}߱�}~�!�Z��L��p��-���N�x��NA�2��,��[�Q�a�ݔu�#�a�����3GS���b�9
-��)�������Ό2ưU��IΉ�밣�q�H����-�W��w`%��;r�0�3�#��B%�)����?bOy�F/ߎ_?�F/�o�_�m�!�N1I����{��x"�^������>��������<"�g�ҙ�iL�$BG��� U?����>.Gd�X��b���)��8PptM���JhR�!�1��V,'$�ae�F=8�&Yp+���X�^q1��*�K��_�� ��@�������
-`D9z!&�1�қ̯�^s��b> �l���8��l���B�MA�GxJ�����������-!�ͷ8�KY�]L����&�3�5N3��*7��Mq
-�)�����0 sVhC�r���Х2��+\�'
-\�~����G�2��S��D,h�'37NE�X��<�J.�/DD}�������_�Æ��U��q�r������7M2+<��yL�f䓻P���B;�O!Cb:��?'�n�
-1�g�Q-�5�ly�v���:MKkwP�`6t�F��1��bR]������Z�ϋ1"��a�uQ^c��~k�y�P����w��v�{'Y��$�P��=�E���(����nMz�����,����:st��.]��A#v�F���s��#:�d�t�ɮ�����Zۭ�=�^��w2��Β�' �#C��X�>��֛6\��@�f��o
-e�`��u�|���8���l�y����D��D��r���.��L�fL�n۲�01��������/���_eh]`�N��jvJ���y�ai2�5D����� �8g��Q8��g��+������c]��p���>o�=�}�s�� ��C�-���x�:&�AɃ;ӟ'�!k�Q��x��������.�M��)���͔%[� 6 ې{�`_c��3'�۳��ҵf��t�����F@_6�9��G��P���^��Y��[?W��<��AK�e^j�5s,�������ȡF(B������h������܆L��Z�vȒ�|���-l#B����#�� ll��C6��ތM��j���u7f�Ȧ8�����u���c �u���H��x�������RЪ������\b[<b�MQ��w�zb�
-l�o�kr��b�ɵ�7�[��o���t��aF�l��� };~]
-"�KY��:yS�.��^�\���Hڿ+�L��>��o��KA(way���C|H�^�G��p�/��#N�~��s� ���I��i.>��^��'y��~gV�g���Ů�?� �'[��{9���K>a��84�x����{��%����2�1GAD��s��I�t:Ѧ��ײ��z�EJ�+���,��-$G�����Xߘ�H��V�!ۣ�s�V�\ճ���x��l�m<d.Ahc}�l��fR���lͶr���^յ�m|dm�uʭ��#� ��J7״�U�������KQ������{��*bӟ%Q��Zq�\PH�8�Lo]z]��D�J�oSJ[��w���m����b̝��[�"뵲�b��u��/�)r~�wK��㭍��0v�*��v��"}b5��,�"��
-��"�a��^�uE��zd��� �
-3R����7M�c
-����1�8b����a9�f�F77�0�vu���)v�J����<��#�;��ĈK��O˩�-�˥�a�&�+Y{3�zx3q��U�Ã�)�'���;���)�����6;QW�_�'��I��%9�S���m<h���6n33T�^��)�n�{�3h3Sj�8E*�x�`���1vN!��j��Wg���-�^��K@_!5,�����ya����A����)��"�����8J@Xں� �뮇�ܬ]�k����$��\L
-a��x�F�8��=�6VM42WF�9�U<�O�XwU�ΥKbA,��b������x�S̓��%B�O-#��8PV�.|):x��
-�j������[��t��d~������0n-��r��xV%M�~��&��HzAl��Prް��jk�"&uK�!����x�kXL̬8}b!��b.7��! ��~2"��
-/��9p�� G���!�g5�B4���4��0��P��|�˒ф�����O�ʔI?��2�+�"B�6�aDf��S���[5�#^tw��R�Az>EObwx�Z]��avZ��n��N��^}�p��_��7T��ai1�&E�7�~��*�!�sը] ����S�G*P+!��mv���dz ���r|-�H�8��D0�uyhPي�����ғ�3�!�3v��~GvJ��ò�JV�1Xg�Tn�� �:�N�=��6Ԓg��b��
-�����P�1W�)`� �f�Zr ����sn�{����K��`]��pN��3MB
-dޓQ
-�-�݃/��S.���_ր��=3�ɷ!�5�^� w�C�^{m~�X=�����n� ����9t����7)��(�˟�ZkɅ�ݜ�j|�$z�s�E��hy��aF(��M��-�G�9��\��#�h"5�]V@xj���D��J��3M�ܢ0%�Ǔx"�J�����"��?�(��-.��z
-7�Y
-r��j�7N���~ÚXՠ��jV�n"���Hns��2F�2-�j�8}�0L/pTcc`��H��VR�q��B�R�x����vw��f£��Hx2�M?����e�:(���8}��p���RN�#�������{S'�-�)������1����p�$n�
-B���2� dYj� ��p� ĝj}fb���P�O�If%A�XBI�Kn�i8�N��1��0Sq!�4ӡ�H�p��S���k��R[m�v��5
-L4�t����Hp��@�<0
-2*{ ���LR�Jr��n'!�;�V`*�!���{��ʃ���x� 4��m
-S��kc��vZ�9)Y��˰����J�,�y��g���RW0%�k�g�������u�ͫ~FU���,���B�Ce���n(��Ak��W�A
-A��z�#
-t�4�t�H���`�:�h0��;��� �Q��(`0#����P��f�����gJ���fߛ��R,-�T�8}̼��Hp�H�Ms��R�,y��>��t��q�#/
-�y��@��Ť��2�e:��FL�mc�s+�Ӓ��4 � ӡ�8 nr7�ߜ���ڕ+f�@�>�$�t��S@\9p L�>�p@���D����5��e���i;�#0@���$����f:���p뿕��A�i%�ђ�;�"�t��1 ~m�r#�RxD�'��.� �an6fz]���2T��4��d5�h�,�q�јDhaGpY���DJa���ł�d��naH��>E5!�eY3]v�Ir��;4�>8��X�+���)H��S5^C�=���X�a�2;fo/37W�� ��#�w+�S����6H/������0`@��C�֏��ѐuJ��<�{���`(x*L�f:��ƛ�r\�~n&L��e:�$��q������a�� �gl15�$�"j���]B�F����^�4���S,���gs��!�L���ĝ��qg������l-57w�?����A�����{���p�pH��O�B1��0f��T
-c�"�3�fG�(��;L�����*�`jAE�� �m�C�3���
-7��rҼ��<-&�C�@���t�wQ"a�4��%��!,�)7T�����<,����9�Ug��`iQF�0�`d:T�m����Z�0=����V�յ����>頮�Y�u�lbd"n:a_�厥W^!'�1���5t1}ό�����!�5&抃ܝ�@z �s�k�H��6tsE8��؇�́Cd���t�L��x���\�Z�͙C����C��9鷒�\�R���c�����^G:[v��s̑{�,��O��
-=��,�HM�E� �0��U&`�}Zs�!�͟��my���uSg˝��rf�䎌̡�#��B��� �<C��M'A $��t��"�Hz\�s���d�G���L��FRU A������O��9ӡ��gq�eZ��h��R��z��c�`P'0�|�-lG��8a:�dxZLy;q���]���X��da�v�x�?�9P(N�'�tH�B�:�x�w�������ȧ$��"A��y�k܀� � Df�n�$|���u rU���rÀ��>�^�`,lFn}����s�]L�q���E�C���5A���[I��=�{-�\�unt��E�ɳ�IQ_?0��jA!�B�A�C�C��En�
-��GK^����^��w��CnhA�w���(�ׂ"��ȂL�z��ł�t���M��
-dxj�
-��(����f�p"kn�Rl�~��gpȱ��
-���A��L�:C��7�y�l���ck��Uز�@ ��Q�m�63�$�.*�<(I��Ak+iF� w،|(�[�t�mK7uJ)�ڶn�-��/�&�
-ƣ<[���'N���t����v�~v8B
-�Ĕ�g1�$ ����P�T�D��P���b���Z2ӡ��'�]K��.��L�ʓfL�n۲�)S�"ZWKI
-X�t�%Ͻ�l�F�I(m!��b6 ��
-�L����2�MI����{XEJ2���<��Am�L�����{��%�p@��%O�6��͙�D&��8���dyZL5q��G�C�q@"y.�l3���gl1'�%�#Ι��)!���'u�Q�^��5�);*M�h�p�I��Ÿ ��7A�C��q�`m[%H%Ȱs\r`�cK/��j@@I┻�VV���r�(����ey��.~=��Ҡ5�WΡ���Yu�V.TJ�#W�@�r3���Pɭί�[L1 �@�C��_��o���r��,���t��QP�u���8��3����U�n�p[K�jvM[*b:��,|���NJ��&��u�,;K�о �3���W��jjˢB�2u��N:L�qσ�؛F�R-�H��p&$���8Э p7yɼ��Hq��}^ a�7�p�zA�5-�g
-��j�B5�L@*�"W��7�)�.L D�g:䦠[���YLAl �"v�C�Q@8>���?c��a2�#�S��4�&��l��a��q��i N�d:�;���B�䬐��v�]��Uh�.u��9��g�π2l-
-��4�t�fY��ʉ�ؒ��P�י>��m�u3|�s�C��9&��Q[���i��sc��ƶ�){ml6�N���
-�sc;H��8�[Nh���������u������ q��s; q���~���
-��*���є�?�8��&˦�q�qO��ט��A���Rz ͗\T����k�5GaK�~H�:D����0���,�O�g�����ݱj������r��9עTm�<�ذ����f��-�G�9�Ȍ�x�ňƧ�@���Ϣ�Ԅ[tY�i�-~��'��M�,i$��Y83���������L���DŢ�<z���#r�2����`����m��������@ ��b�Њ�Yh3�;*�V�R'8��v�0
-S��
-��P �*�H9�#E|h��H9�=�8��z���*���W���ôv���_���LJ�>o�mW��u,u�s�3�nWcj�,�1�-�Z�������&.�������n�5͢��魦:��m�&6�2A�$��w��z]08��Jn����9}��C/kB2�{k+q��L��ε]�&d����s��d�ϙ�O�χ�D���7��Fn햧B#�%p?��|�[��ؐ��c"��:��O����Ɣ�߬�oJ�����X�C�i����z����n媑,ӊ8�V����J��Qsm�誐="ɡd
-?��t�#V��U'�7@&욳/$C��Y@��,9$� �ؘ�͒cĠ"��J2I��[mrm���{�a��I[��r�͞�ji�e«�����&��L�+a��i�ikڒϓ���O��)P�>�p=0�d7d��М�L0q�`&���QL�q���@i_������0;�D����t�l&�l����%����;` «8�G�n�O������ջ)��%.L�[w���6�yu�Uk�L��'��u��k1m���U\ �����k-,�fft��l��2�`����K��TK�s��n!WA��F���*b57YV�13k(��+⛲+��xdz�"��ؖ��ݞiS�fL�n�b�u
-J�!��L"�����U
-�0�B�b3�_b3Ϥ�{e��b�@�z��$��@����v�����l�vOg9NTM/���8}����������As���x��S�hǁ�ӥ
-�ov��ĭn1J��9��YP)Jq�e����Kp�����8�s���d��t�G�@�����7����wԠ��h��8����^��'I��
-�()0��u(@PuN��F١�Yn0�
-.
-��O��)��,-�ޓƌJ/����n-��.�di1�d$�z2��łc�_;��Rsk�:�!�͑3��Z�01��a�io~� A Ӎ�^��0��L�SrJ��$�ϲ��Z�N�t�Y�x���G�k�9�S�X�@(L��p|(��+��-F�=�@��Ť:� �"�dZ���ىL�Z�iӫ1��;;��a��ih ��b���� ӡ�ՉO�V�v��&Q����4�k���̦mM��j� ���DD���~s���͊���^L`��T��,ə8�:��r����!uv|h�%��xg8T���U84{4��]��%�o~�iKj�,�Br�y+�dd�ųlQ�-I��Y������?r����"�f��r.o�Qz�D�ȟn��[k�v��@�p�_���v�a C�NC&7�xt��@�̅��d�V�=l�3�u+}&��P��L���ߐ �olt�d����E�?�l����\��[����a�7gj�>��Iɝ�:8E7:��f)��p��+k��9�w���&�H�7��n�X�1�`�本��x�S̱����.�Ȍ8�b�AKf��u-,.�p�]�.��vd=��q�zX����05�zml6�N�Eilm�S��l�8��w���#<Ǟ�=�K�t���U-��I�&�!� �a�C������#p�`l/n�&g)�O�zZa�r.�0�(?a�g� �V�3�r�0�f[�5Jt�B�f[�&�Z��\\�0oRz�9�����X�3WE��`��p�9/pE�=n�'L�tʳpN�c��/k}�qj�A@�~�_c"�r�d���[���Z��cJ��&̈X3j��C�����M��H� Q���Zk�uB���[5>癱�ע$n��_XI���j�孼�'��6ƪiR�l�c�V��>���C��o�Ap&U���C'�g:�$�!���q�����r�=��#���|�V���C˭�e·�V�l6�Фew�j"=���6�Q�P�U�lu�l<��gtQ��� ��ƍN't���Y#o�Evs�D�����#���D�H{����Ή�nP�Z:q�ڥ��� ��۹��D>�5��2�ED�u�k�J�x���x��fMP҅
-��Э�"���� �d���8ޣ�ێ��4�6f
-��w�E�ͭ7����>j��Ό"��Or�f;!���=?����z|�Ȁ0Zn��ПQ�90GT?;��b�[�y��&V,��ɼ @���hA�̐cw�y���6_�����K�y��Bn��)D���5cW��2w����Q��G��8X��_t ��(��{����H��q���o~"��M���;>�F/7�=���7�������Q��ad�w���IG�������d�Z�����h����Rk~�(��6�چ��匟b�g���]���T�OnX(B�_�����"��ywT���kk1��>=��p[n���-����n�r��뿽{CQ����W�PK/��"p�PK]Z%A��DH�sammoa.argoPK]Z%A�[�+ѡ�sammoa_Diagrammedeclasses.pgmlPK`Z%AǒV9�&�-sammoa_Diagrammedecasdutilisation.pgmlPK`Z%Aɟ���FA�.sammoa_Diagrammedeclasses2.pgmlPK`Z%AP����K 6sammoa.todoPK`Z%A8��7y�&7sammoa_profile.profilePK`Z%A/��"p�
-�7sammoa.xmiPK�)Z
\ No newline at end of file
+�����������b<��SR�S�R�K�����+�,EȂ9PK8��7y�PKd�2A
+sammoa.xmi�]ݖ�8r�ߧ���cϜl�ER�({�s���q�L6Ws TsM����*���\f�*��I�$%�E ���G��%d�P��P(T}��穧<�0r_���\m4�+ط��'��o��������_߽Q>O�F����|��ы����L'
+��GS͐����J쒏1��h��9V��LQME��h�/��2��+ZS՞������50�q�JQ�����O���P@[�~��gA���pPb��G���x��)��]�d���m���:ӛu˟�_5z���wJ���
+�ß�(�/(�ͫ�z�����К/Ԗ�O仦������B���';S��d���>y��'�k&M1�_`cOI���oȻ~�>.�Fm���~��Ӓ�)?����}��$]_�[�ε�!�:W�+�*WW�&V�mS}��m�uڦ��Wf��|�\�̶�|�7J���N�\q���\ǵ�W�?9ȋ0��cę/�b�<}�����Q"k��j���_IY�푇��7\5S��a���w��n�p�m�_�G�m�>�ÑB>�.m)�34���8��c�9z�G������ۯ��@�i`��SSE��C����=��u��k1:2�N���ܷ���;����;͕i�Pdc���2C����0�
+�����34�J.FA��P ь���
+���(�`���PrN�X�e�珔���OЂ|��?�+��ߑ�Fɜ�>�(A) L����9��g^������I�R�6�;���4 ����]�.�y�o#r�e�����wo�<�vЧ_4�G$��<:s#2���D�K���%� ��~P���lI�[L4ߣ;!R0_���YH�_��C@'�D�ۍ�XY��B.�I���c�)6�W<Lzy��n���~$HE:<�`�z{���Q�~��~��!�M�Wr�Y@H�}�����<�����B�MA�OxJ��9e1���?~��_Br�oqҗ���X1���Lng5�k�f�MUnȟ��SDY�'"#a�І���Ke,�W�O���:� ���O��@7Nfn����?�
+�\*_��>.��#�;�D
+�G
+卧|!���< |k�Y`YdV���tYa���
+-�C�2��3"��\!�7J�e���-/�ё�P��i�Z���maþ)7���y����lL'^�B^����+������[��.EHj�}��k��w�EH�-bq�
+��������`$}��ҹ��X�����b�|dc�^%��X�����#KT}�5,D%�k���u��d�f�t���Q�&l��25��t�Yf$0�R�W�k��j8���;\�s���:Kn�����<:�R��?|v��Q��6�m�|�hx(k��T����h��p����-�g#u�#����JA�K��/g`�n���Z� �=6̖�0ab��������_�����к���"�����5���Ҩ,d�'j�<�
+� q����8t�T=2���Fu�ql�.�6�#�㍸��z�<��;vɸ%v�l>�\�� ���̒ې�L��Za<�J������M�� ���͔%[��pn�!�f���t��Kn��z[ך��>�>�!}ټ�i�C d�fzy�od�Ko�\��f��Z�x-�Rۭ�cy��`��@�e�G�0D1�'M�����dz��D����k�䚬K�,߮�j���"�\�
+="������a��Xޛ�I\�^�u6��ƌ���ׁ�����~,����T�7o����vts_
+Z�ݴ~|����A��#����kk'�'f����������&W)-��\�-q�Q���Z�+�Kg~f���z{�з�ץ �})��n'o*�%~�K�K�.I{w��I��������A)�.,���~(���5yd�F��r�<��EQ`�G��[~��
+���{�Uh�����wf5�����\���3��}��<��#�q��Ǜ��'l��&�OV7�����DrW�Y�5f(��2y�6=�N'� [=�Z�2V��H s�z���E~���h�1�}�a1�1q+����!b��<d{�sN��j��z�Z�T��m��̅ hcml��-��,����9v���߭�60W⠍���{�N��qo���Zi��6���:>R�R��=u)�x;��b1{�XEl�$��2@+��
+ '��K�\���
+�mJi�����;�-vSv[���^`�Ud�VV[lt�N��e:EΏ�#��;�ژ_�c�ߡjW�]�O��ۘeU�7��A�W�7�`��+ⳮ�7Ә��Q$�aF�}��� xL��嚻<fG�=�?,��,����F�N��S�8�NV�����'7��cs�"��q��i9���3��dz%ko��Uo&Z=�*z��<���r�pG#��1�c��`So��~�z��aq������X�c:Eh�*���V�a��k�3CE�����"�V�<�3�Fz�S�"�' f^��c���~V����X8m�n��o^��
+�a�ĵ�D��'7*���N�7_@�@��Q��f�&���6�Y��3�252� �Ix ����%��|q�<�6VM42WF�9�U<�O�XwU�ΥKbA,��b������x�S̓��%B�O-#��8PV�.|):x��
+�j������[��rC��}d}�9wI�a�Z�儇�J�t=��&��HzAl��Prް��jk�"&uK�!����x�kXL̬8}b!��b.7��! ��~2"��
+/��9p�� G��x��!�g5�B4���4��0��P��{˒ф�����O�ʔ\?��2�+�"B�6�QLf^�S���[5�#^tw��R�Az>EObwx�Z�pp���j���n�4٫�nѣ�!w�Ɔ*�2,-&ݤ(}�&ӏ�^�9Dt���?b�Z�{��Hj�`@"�[��I����t��b�_:R(N 3Lz]T�b�q�7`�����N��<ǚ{�d?�#;%� �A�s�*r�,�3Z*���O\�`����E�j�3��U��`{CZN(И+�
+�oH�T-9hb��U���ڽfm��&�h�at�8'ِ�&!2�ɨF؊������)n���_ր�
+|k�ط�o#�������uz����bu?�G7X�
+ �br��C���������|,r}{�%�Vts�Ϫ��%Ϲ�j��9Ɔ��>6�j���|#spi���̢��T[tYᩁ�{��v(�4s�O��W+������|v�<����c��5��g)ȕJ����8�V������m�S�[N:s#��Uj�
+p�p��������0�� P����ϻ"��ZI�lj|�
+=J��5>�>�QX|��� �6s#��̶�оw��6�aj���2��1Oå�J9��}�FB
+^�O�xnH��g����_��'qT
+��� H ��vɑ@�7 A-�@ܩ�c&6Zm�x{�dV�%�0�40���F3��D�C
+3'�L3�w:]��ݦ36lUo1��Q`��s�=��@��Ř��Q��P�i��f�JT���t;�p��� �S1x.�o�gطi�V/�ƫ�-�h���n[M��#�d +/��
+�+��^��
+F�BH]��L�q �]��J������7��Uq��`����5������A�^�5a�%�40 � �"
+��6s�9E�Y`߹�-)��F�63"9�.�m[��}�ll���H ��bJՉ���k�^����4wh �͒���An�L�jW9�ΚHq��Tv��A&�L@"ܨ������J��u3�T��Pc����o�t�
+H���I Nld:��) ����q8 ��b����L�[�2��洝=q ��bڊ��l3Nat���� |� 䴒�h�]�pf:��?��]��^)<"υ�rm��� 73�.�m\�U��iV3�j:�0�m�q��Dhc�pY���DJa���ł�d�4�0${q����鲬�.Mf�ܧ<�.M�e)�v˽�4�!�uy
+��kH��v͎���!�cc��2s�qUQ�
+��=�|�r<Պ�a��n���H�. ��YZ�14a�`���0��Q�� �w��g*���AA����A�i�@� n��"���gA�f��A�Y�C�1@���x�X��y�SCM�@(���P��%!DP���qKKj�V�*;Ţ<��^qgR�,&�L�>�;�t�,�%�mk�����!�ܽ������3�6�e�{[�C:�"��!($�1#p�R39�_�)6;B�D9>ڑ(`��G��V�S*J$N xl3j�IT\(n������$��i1�B4G�C�� �E���- ga�M����2�����aA��p�ω�8�K�2
+� � ӡ�n�%��d�К��I.�d\�n�N�ʅi�;ȴ5�]���M�L�M'l�˱ܱ��+D�F?�q�e
+]����aH}[���:'抋���@z �s���H��6t3�8�؇�́C�����0��������k-�X���3�V��ćx s�o%Ϲ�j��9�&75�S��t����#3���,F0>=�+�$�h"5�]V�xj��zW����iI���(7:&��9�&�M�-wFg˙�;22��+��G䦦�d4�-&7����.ӡ��#�r�s&�=��Gw� 0�� �-��,~��ϙ5v?��,�:�F���0�b��`�e�K/�:��p�kna;B�ص �a� ��b�ۉ���2���B,�'�߰Nj��ÝBq��<a��@"�Y���ɹ�A�����|J�:.��[��@��
+x2`�@d��V^A§/�="W�X��f����<�`a3r�[D��h����b*\��.2�W�YV�Г<gltu�\�nt��C!�ɷ�IQ_?0��jA!�B�A�C�C��En�
+��GK^����^��w�CnhA�w����(�ׂ"��ȂL�z��ł�t���ML
+dx�.90�Q���AA���D����q�0~?���Y �ւ*d��J3���d��U/�ۃ`�5a��m��!%�uy@P��AIR����)��a+�,n�ө�l�2(��j�A���l+�_H=J��Gy�SO�>����PY�!��,��p�|(�)��b�I�C)ӡ������
+��).�,%%��d�Ce�ON���
+�]ˡ�džٲvʔ����R���?�k�s�%���a�A[Ȱ��
+q�`"ӡƦ��Lp�G�$���V��L-�8�8}P�'ӡ�@ �;��s�����i�ӡ
+�ps��� n1�I�g��<-��8}P�#ӡ�8 �<�{�|��3�����L��������N���k�ew[����&4u=8�$��b��� ӡ�f��L0����d�9*90˱�@@5 �$q�f{++�js9�J�T���<q��\V������s��-q�BV&�ʅ�Ji~c�JVn�C5Uܱ*�u���?c�) A T�t���K��
+ TN�����8}���4
+J���:���=�zf�RV�*2�:niI^M�jc[ELǓև��1��I �ܤ���eg��w!�}�C5���V����T(t�0Z���!�<���I�( ��b��HgB2��fq���K�]�p@�����J����i�}P@��U�'�Yd:
+P�������Hq��pa!<�p 7ݚ5( ��b
+bK�3j���\�Ș�[p��P���Z?�w��d
+��s��Mq�`� ӡ��n#�M�
+Y��i�mfV����S�4{p�7��?Ȱ� 4�� ӡ�emN*'�{`K�6C�n<w� 0�q���S�y.�o�g�`�o1Dm��˧Q��iF;�l춰�T;:[E�ύ� ���n 8�5�o��4ڨۥ�QF��s$x�M�F���8��#?�K�����u�P�+GS�{�8��5Y�ߚ�!�đ��~���\J/�����}���`
+�f($,"cɁ�i�C�(w�;��|�E������\����;V��Qt����~��<�Z����g������V�e�����?�f1���1��$�h"5�]V�xZ����@��ɞ%�$�2a�s�V�>8x��Ps7��X��G�R<xD�k��@���r�@�l�^��`p�В�1]�8ZLZq� m�CՁ`�C���lu��h�m�mi6[Ap*ѓC)Gr��M�)'��ǒW=�WEx��{|�����K�;��p�����V��]�Rg��=s�v5����2s-���z���Mn�@J��)
+)����4�r�k�Mu<�Z�Ml�1d��I0��8��`p�܊�%�s�Г�^քd.��V�0!����k��M�r-��j�"��Ο3�/�����EQ`�����-O�F&K�~@��*
+�>�x�!O�GDR|u�(�0�=� ݿY�
+m���~5��O�f=M&!��n�>g��y��F�L+�Z1;D�"(�V[D͵-��B��$��5��b�a�X�6W�����kξ�e�g ��@���9`��l�#��dU��Ib|F��j�ksl���k#��Z)�lv]�˄W���g��V���3��`� l�ն,GӖ|wǎ�>�RL�@q������ݐpCs�3����4
+,�cD1�3��;q�}�:�_������Bj�c�l&�l����%����;` «8���n�O������ս)��%.L�[w���6�yu�>F��4A�:����LA5�<lW�⯮2��A�����*(�8��<��zx���%�� �ܥE�[H�U#��鄤��X�M�UE���������87�^��70V7Llv-�����0[63��_�� �`f=|D=�j�� j�)���y&=�-�+z���~'��<"ڦ�r�f��N�e9]��8Q5������S�f^�/��2\�ͱ�>≻O�O�*��ٵw���2��(-B:䄓�gA�(� �R���//�=�s�"t��=�N���VСq��
+\
+h�LZ�߹P�R��z�q 7��.N����QR(`Z��P���G�e�f���(�X(`�C<��'`Ȳ��{O3(�.��d,�@��Ŕ�� ��d:T����Kͭ��@h:C�v�j���ܦ����YLX��L7bz]���2-N�u(��4?��N�����(��6�O\���rL-�.��P�8���PPAW��-F�}�@��Ť:� �"�dZ���9�L��ӫ12�;́��A��ih ��b���� ӡ�ՉO�V�v��&Q{��4�k���̦m��ڶ�-����ӯ?7+��l'3�='�g���fq9���Y�3q�u��r����!uv|h%��xg8T���U84{4��U��%�o~�iKj�,�Br�y+�dd�ϧ٢�[�"���;.o�a&�`��NN��� \�r ���;6�`�?��ٷ�����L��y�����T��Ln������������f{�
+g��V�L�ա�ٙb�)�!A T���T�$F'��,�FY-O�h7�<����o��5|�M��;E
+p�nt��R2���@W�P;s��NG�Q;��h���`���B;7�dE��ī�b�]��`tAGf� K�zX2�w��kaq�8���"�pIm�#�᥎��Ú�����ma��vtve{k� W��j��g��)g��˟���m�[_��b��8�jA�NB6ɍ�N
+������d��m����lr���$���-�23��|a>�0oO�0�(��1n�TC�Dwl�h��m�����Ņ �&������y��8sU�y
+�H
+'̹��W����&�q��I�<�F?�q�e�/1N�yR���F��9|y�Q2������}�@V-��1%b}fĬ���!ms�`�&JO$Ą(���O�o���:!Vts����X��kQ7Z�/��Fw�e5��V���-cղ�g�۱�]��a�P�pӡ��7� 8�*�҂���3N��{Tง�w�dq���Rw�!�d�V>L+�G���C˭�e·�V�l6�h�;fKM�GS5�a;*��ꛍ���Y:�.*?�0��ٸ��n�ܷ9k䭰h�nc���Ӓ��adt>��i�q��{�1���
+j��K'�S��>�u`;����ȇ�F�S渘����u�R����/�ܬ J��a����@$_z?�l���{4b���#���F���.�9�����8���Gm���(�$Gk�"ы����� ������冬
+�)�sD��s;!Ɓ�h���tb��ʌ�dJ�����s�-0����˞�=C� z�?ς0V���<D
+�}`_�y����q��G��y���#�h_�E�<&����ce�C%��|��O���$~�ɀ������|?�Q�P
+OM�bp��vV|�Νtd�ɩ(��O��y�ߏv�x-���w�B�m�m�.�X�� �F���Ԣ�}���b��
+�(��5RWX��=����0qm-�q�§�o�vnk��3r[n���-�v.�����7t�'Ȟ||���PK�
+4"��PKc�2A��DH�sammoa.argoPKc�2A4�u��*ƚ�sammoa_Diagrammedeclasses.pgmlPKd�2AǒV9�&t-sammoa_Diagrammedecasdutilisation.pgmlPKd�2Aɟ���FA�.sammoa_Diagrammedeclasses2.pgmlPKd�2AP����K�5sammoa.todoPKd�2A8��7y��6sammoa_profile.profilePKd�2A�
+4"��
+�7sammoa.xmiPK��Y
\ No newline at end of file
Added: trunk/src/site/resources/model.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/model.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/src/site/rst/import-export.rst
===================================================================
--- trunk/src/site/rst/import-export.rst 2012-09-12 16:24:04 UTC (rev 583)
+++ trunk/src/site/rst/import-export.rst 2012-09-18 17:04:54 UTC (rev 584)
@@ -719,22 +719,20 @@
Les propriétés suffixés d'un ^ correspondent à des clés étrangères en base.
- Region : code
-- Species : code, region^ (*)
-- Campaign : code, region^
-- Observer : initials, campaign^ (**)
-- Sector : sectorNumber, campaign^
-- Strate : strateType, sector^
-- Transect : name, strate^
+- Species [1]_ : code, region [2]_
+- Campaign : code, region [2]_
+- Observer [3]_ : initials, campaign [2]_
+- Sector : sectorNumber, campaign [2]_
+- Strate : strateType, sector [2]_
+- Transect : name, strate [2]_
-- Flight : systemId, flightNumber, campaign^
+- Flight : systemId, flightNumber, campaign [2]_
- GeoPoints
- ObserverPosition
- TransectFlight
- Observation
- Route
-
-
-
-* Pas d'espèce commune entre deux régions ou sinon une copie sera effectuée
-** Pas d'observateur commun entre deux campagnes ou sinon une copie sera effectuée
\ No newline at end of file
+.. [1] Pas d'espèce commune entre deux régions ou sinon une copie sera effectuée
+.. [2] Propriété correspondant à une clé étrangère en base
+.. [3] Pas d'observateur commun entre deux campagnes ou sinon une copie sera effectuée
\ No newline at end of file
Modified: trunk/src/site/rst/index.rst
===================================================================
--- trunk/src/site/rst/index.rst 2012-09-12 16:24:04 UTC (rev 583)
+++ trunk/src/site/rst/index.rst 2012-09-18 17:04:54 UTC (rev 584)
@@ -82,10 +82,10 @@
4. De retour sur l'édition d'une campagne on peut choisir les fichiers pour :
- `Importer les strates
- <import-export.html##fichier-de-strate-dbf>`_
+ <import-export.html#fichier-de-strate-dbf>`_
- `Importer les transects
- <import-export.html##fichier-de-transect-dbf>`_
+ <import-export.html#fichier-de-transect-dbf>`_
- `Importer les observateurs
<import-export.html#observateurs-csv>`_
Added: trunk/src/site/rst/model.rst
===================================================================
--- trunk/src/site/rst/model.rst (rev 0)
+++ trunk/src/site/rst/model.rst 2012-09-18 17:04:54 UTC (rev 584)
@@ -0,0 +1,534 @@
+.. -
+.. * #%L
+.. * SAMMOA
+.. * $Id$
+.. * $HeadURL$
+.. * %%
+.. * Copyright (C) 2012 UMS 3462, Code Lutin
+.. * %%
+.. * This program is free software: you can redistribute it and/or modify
+.. * it under the terms of the GNU General Public License as
+.. * published by the Free Software Foundation, either version 3 of the
+.. * License, or (at your option) any later version.
+.. *
+.. * This program is distributed in the hope that it will be useful,
+.. * but WITHOUT ANY WARRANTY; without even the implied warranty of
+.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.. * GNU General Public License for more details.
+.. *
+.. * You should have received a copy of the GNU General Public
+.. * License along with this program. If not, see
+.. * <http://www.gnu.org/licenses/gpl-3.0.html>.
+.. * #L%
+.. -
+
+=================
+Modèle de données
+=================
+
+Le modèle représente tout ce qui sera saisi en vol et par la suite extrait pour
+la validation et les exports.
+
+Description
+===========
+
+Il comporte trois sous-ensembles :
+
+- Le réferentiel (en bleu ciel)
+
+- Le vol (en jaune)
+
+- Les conditions et paramètres d'observations (en vert)
+
+.. image:: model.png
+
+Avant la création des vols, les référentiels doivent être renseignés. Ici on
+part d'une région (Region_) auquelle sont liées les espèces (Species_) propre à
+cette région. Ensuite on y associe une campagne (Campaign_), puis les observateurs
+(Observer_) liés à cette campagne, et les secteurs (Sector_) géographiques liés à
+cette campagne. Pour finir, on associe les strates (Strate_) géographiques liés au
+secteur et les transects (Transect_) liés à chacune de ces strates.
+
+Au début de chaque vol (Flight_), les transects prévus (TransectFlight_) sont
+associés avec pour chacun d'eux, les positions des observateurs (ObserverPosition_).
+Des transects peuvent être ajoutés afin d'effectuer de nouvelles observations
+non prévues au départ.
+
+Le parcours (Route_) reste l'élément central et permettra de segmenter le vol
+(Flight_). Chaque parcours contient les conditions d'observation associées ou
+non au transect prévu (TransectFlight_) en fonction du type de parcours
+(RouteType_).
+
+Les positions des observateurs (ObserverPosition_) peuvent également changées en
+cours de vol et seront donc également associées au parcours.
+
+Une observation (Observation_) n'est liée qu'à la position de l'observateur
+(Position_) et garde également en référence le vol (Flight_) auquel elle est
+associée. Pour retrouver les observations d'un parcours, on utilisera le temps
+(*observationTime*), c'est à dire, qu'un parcours contiendra toutes les
+observations jusqu'au temps du prochain parcours
+(*route.beginTime <= observation.observationTime < nextRoute.beginTime*). Cette
+modélisation a été faites pour simplifier les modifications de temps lors
+de la validation. Ainsi, la suppression d'une route ou son changement de temps
+ne provoquera aucune manipulation des observations vu qu'aucun lien physique
+fort n'existe dans le modèle.
+
+Le temps est aussi la donnée clé pour la liaison avec le GPS et les enregistrements
+audio. Ainsi le temps au moment de l'observation (*observationTime*) est
+synchronisé avec un point du GPS (GeoPoint_). Pour permettre de garder le
+tracé géographique de l'avion, une liste de points GPS sera enregistré pour
+chacun des parcours (Route_). Le lien n'apparaît pas car, une nouvelle fois la
+liaison se fera sur le temps. D'un parcours à l'autre, il n'y aura aucune coupure,
+le temps de début d'un parcours (*beginTime*) déterminera la fin du précédent, on
+connaîtra ainsi l'ensemble des points GPS associés à chaque parcours.
+L'enregistrement audio de chacun des transects sera quant à lui synchronisé sur le
+temps de début (*beginTime*) du premier parcours (LEG) du transect. Il sera toujours
+possible grâce au temps de l'observation de caler la lecture audio pour une
+observation donnée.
+
+Dictionnaire de données
+=======================
+
+Campaign
+--------
+
+*<<entity>>*
+
+Campagne d'observations sur une région donnée. La campagne est formée d'une
+période, de secteurs avec ses strates et transects et des observateurs.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| code | Code de la campagne | String | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| region | Région sur laquelle est | Region_ | naturalId |
+| | effectuée la campagne | | |
++----------------------+----------------------------------+--------------------+----------------+
+| name | Nom de la campagne | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| beginDate | Date de début de la campagne | Date | required |
+| | | (day) | |
++----------------------+----------------------------------+--------------------+----------------+
+| endDate | Date de fin de la campagne | Date | required |
+| | | (day) | |
++----------------------+----------------------------------+--------------------+----------------+
+| localCreation | Indique si la création de | boolean | |
+| | l'entité a été faites depuis | | |
+| | l'interface de l'application | | |
+| | (différent d'un import) | | |
++----------------------+----------------------------------+--------------------+----------------+
+
+Flight
+------
+
+*<<entity>>*
+
+Vol associé à une campagne. Il contient son plan de vol et plusieurs
+informations sur le vol, comme les observateurs embarqués, son numéro et la
+référence de l'avion.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| flightNumber | Numéro du vol par rapport au | String | naturalId |
+| | système sur lequel il a été | | |
+| | effectué. Ce numéro est | | |
+| | incrémenté sur chaque système | | |
+| | indépendamment. Il peut être | | |
+| | saisie manuellement mais | | |
+| | aucun retour sur un numéro | | |
+| | antérieur n'est possible pour | | |
+| | éviter les conflits sur d'autres | | |
+| | bases permettant de centraliser | | |
+| | les données. | | |
++----------------------+----------------------------------+--------------------+----------------+
+| systemId | Identifiant du système sur | String | naturalId |
+| | lequel le vol est effectué | | |
++----------------------+----------------------------------+--------------------+----------------+
+| campaign | Campagne sur laquelle est | Campaign_ | naturalId |
+| | effectuée le vol | | |
++----------------------+----------------------------------+--------------------+----------------+
+| immatriculation | Immatriculation de l'avion | String | |
+| | utilisé pour le vol | | |
++----------------------+----------------------------------+--------------------+----------------+
+| beginDate | Date de début du vol. Un vol | Date | |
+| | sans date de début n'a pas | (seconds) | |
+| | encore démarré | | |
++----------------------+----------------------------------+--------------------+----------------+
+| endDate | Date de fin du vol. Un vol sans | Date | |
+| | date de fin est en cours de | (seconds) | |
+| | saisie et ne peut pas être | | |
+| | validé | | |
++----------------------+----------------------------------+--------------------+----------------+
+| comment | Commentaires sur le vol | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| platformType | Type de plate-forme en fonction | PlatformType_ | required |
+| | du type d'avion | | |
++----------------------+----------------------------------+--------------------+----------------+
+| transectFlight | Plan de vol. Liste des transects | List of | **composite** |
+| | prévus et effectués sur ce vol. | TransectFlight_ | *<<indexed>>* |
+| | Ils seront effectués si ils sont | | |
+| | liés à une Route_ | | |
++----------------------+----------------------------------+--------------------+----------------+
+| observer | Ensemble des observateurs montés | Collection of | |
+| | à bord de l'avion | Observer_ | |
++----------------------+----------------------------------+--------------------+----------------+
+
+GeoPoint
+--------
+
+*<<entity>>*
+
+Il s'agit d'un point géographique avec ses coordonnées latitude, longitude et
+le temps auquel il a été enregistré.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| recordTime | Temps auquel a été enregistré | Date | |
+| | ce point géographique | (seconds) | |
++----------------------+----------------------------------+--------------------+----------------+
+| longitude | Longitude géographique | double | |
++----------------------+----------------------------------+--------------------+----------------+
+| latitude | Latitude géographique | double | |
++----------------------+----------------------------------+--------------------+----------------+
+| altitude | Altitude (feet) lors de la | double | |
+| | capture | | |
++----------------------+----------------------------------+--------------------+----------------+
+| speed | Vitesse (km/h) lors de la | double | |
+| | capture | | |
++----------------------+----------------------------------+--------------------+----------------+
+| captureDelay | Temps passé en secondes depuis | int | |
+| | la capture réelle. Par exemple | | |
+| | depuis un GPS, il s'agit du | | |
+| | temps entre la capture GPS et | | |
+| | l'enregistrement du point | | |
++----------------------+----------------------------------+--------------------+----------------+
+| flight | Vol sur lequel est enregistré | Flight_ | required |
+| | le point géographique | | |
++----------------------+----------------------------------+--------------------+----------------+
+
+Observation
+-----------
+
+*<<entity>>*
+
+Données d'une observation effectuée pour une position d'observateur à un temps
+donné.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| observationNumber | Numéro d'observation incrémenté | int | |
+| | par rapport au vol | | |
++----------------------+----------------------------------+--------------------+----------------+
+| observationTime | Temps auquel a été faites | Date | required |
+| | l'observation | (seconds) | |
++----------------------+----------------------------------+--------------------+----------------+
+| podSize | Nombre d'individus de l'espèce | int | min = 1 |
+| | observée | | |
++----------------------+----------------------------------+--------------------+----------------+
+| age | Tranche d'âge des individus | String | values = ["", |
+| | observées | | "J","I","A", |
+| | | | "M"] |
++----------------------+----------------------------------+--------------------+----------------+
+| cue | Code qualifiant ce qui a | String | values = ["", |
+| | réellement permit de détecter | | "U","A","2", |
+| | les animaux | | "3","4","5", |
+| | | | "6","7","8", |
+| | | | "9"] |
++----------------------+----------------------------------+--------------------+----------------+
+| behaviour | Code se rapportant au | String | values = ["", |
+| | comportement qui a dominé durant | | "SW","MI", |
+| | l'observation | | "BR","LO", |
+| | | | "FE","FA", |
+| | | | "SB","OT"] |
++----------------------+----------------------------------+--------------------+----------------+
+| swimDir | Direction de nage suivie par les | int | min = 0 |
+| | animaux. Il s'agit de l'angle de | | max = 360 |
+| | gisement, 360 étant la direction | | |
+| | suivie par l'avion | | |
++----------------------+----------------------------------+--------------------+----------------+
+| calves | Nombre de jeunes estimé en | int | min = 0 |
+| | fonction de la taille des | | |
+| | adultes et du comportement | | |
++----------------------+----------------------------------+--------------------+----------------+
+| photo | Indique si des photos ont été | boolean | |
+| | prises ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| comment | Commentaires sur l'observation | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| valid | Indique si l'observation a été | boolean | |
+| | validée ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| deleted | Indique si l'observation a été | boolean | |
+| | marquée comme supprimée ou non | | |
++----------------------+----------------------------------+--------------------+----------------+
+| flight | Vol pendant lequel a été faites | Flight_ | required |
+| | cette observation | | |
++----------------------+----------------------------------+--------------------+----------------+
+| species | Espèce observée | Species_ | required |
++----------------------+----------------------------------+--------------------+----------------+
+| observationStatus | Status de l'observation utilisé | ObservationStatus_ | required |
+| | lors d'un CIRCLE_BACK, sinon | | |
+| | la valeur est NEW par défaut | | |
++----------------------+----------------------------------+--------------------+----------------+
+| position | Position de l'observateur depuis | Position_ | required |
+| | laquelle a été faites | | |
+| | l'observation | | |
++----------------------+----------------------------------+--------------------+----------------+
+
+ObservationStatus
+-----------------
+
+*<<enumeration>>*
+
+Status d'une observation, principalement utilisé pour différencier lors de
+CIRCLE_BACK les recapture d'observations.
+
++----------------------+----------------------------------+
+| Valeur | Description |
++======================+==================================+
+| NEW | Nouvelle observation |
++----------------------+----------------------------------+
+| CIRCLE_BACK | Observation faisant l'objet d'un |
+| | CIRCLE_BACK |
++----------------------+----------------------------------+
+| NO_RECAPTURE | Observation faisant l'objet d'un |
+| | CIRCLE_BACK mais sans aucune |
+| | recapture |
++----------------------+----------------------------------+
+| RECAPTURE | Nouvelle observation qui est une |
+| | recapture de celle ayant causée |
+| | le CIRCLE_BACK |
++----------------------+----------------------------------+
+
+Observer
+--------
+
+*<<entity>>*
+
+Observateur participant à une campagne et positionné sur le plan de vol à une
+position dans l'avion.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| initials | Initiales de l'observateur. La | String | required |
+| | valeur est unique par campagne. | | |
++----------------------+----------------------------------+--------------------+----------------+
+| firstName | Prénom de l'observateur | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| lastName | Nom de famille de l'observateur | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| organization | Nom de la société de l' | String | |
+| | observateur | | |
++----------------------+----------------------------------+--------------------+----------------+
+| email | Adresse email de l'observateur | String | |
+| | | | |
++----------------------+----------------------------------+--------------------+----------------+
+| localCreation | Indique si la création de | boolean | |
+| | l'entité a été faites depuis | | |
+| | l'interface de l'application | | |
+| | (différent d'un import) | | |
++----------------------+----------------------------------+--------------------+----------------+
+| pilot | Indique si cette observateur est | boolean | |
+| | en fait un pilote d'avion. Un | | |
+| | pilote ne peut pas être | | |
+| | positionné comme un observateur | | |
+| | (gauche, droite, centre...) | | |
++----------------------+----------------------------------+--------------------+----------------+
+| campaign | Campagne à laquelle est | Campaign_ | required |
+| | rattachée l'observateur | | |
++----------------------+----------------------------------+--------------------+----------------+
+
+ObserverPosition
+----------------
+
+*<<entity>>*
+
+Position pour un observateur. Cette position est d'abord définit dans le plan
+de vol prévisionnel puis modifiée si nécessaire sur le parcours lors de
+changements de conditions d'observations. D'un point de vue technique on
+manipulera deux entités différentes, une pour le plan de vol et une pour
+chaque parcours.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| observer | Observateur | Observer_ | required |
++----------------------+----------------------------------+--------------------+----------------+
+| position | Position dans l'avion | Position_ | required |
++----------------------+----------------------------------+--------------------+----------------+
+
+PlatformType
+------------
+
+*<<enumeration>>*
+
+Type de plate-forme pour l'avion qui influence les positions (Position_)
+possibles des observateurs dans l'avion. (Pour le moment seule la plate-forme
+SIMPLE est gérée dans l'application).
+
++----------------------+----------------------------------+
+| Valeur | Description |
++======================+==================================+
+| SIMPLE | Plate-forme simple (4 |
+| | observateurs) |
++----------------------+----------------------------------+
+| DOUBLE | Plate-forme double (6 |
+| | observateurs) |
++----------------------+----------------------------------+
+
+Position
+--------
+
+*<<enumeration>>*
+
+Position possible pour un observateur.
+
++----------------------+----------------------------------+
+| Valeur | Description |
++======================+==================================+
+| NAVIGATOR | Navigateur (position centrale) |
+| | label = 'C' |
++----------------------+----------------------------------+
+| FRONT_LEFT | Avant gauche (position gauche |
+| | sur une plate-forme simple) |
+| | label = 'L' |
++----------------------+----------------------------------+
+| FRONT_RIGHT | Avant droit (position droite |
+| | sur une plate-forme simple) |
+| | label = 'R' |
++----------------------+----------------------------------+
+| BACK_LEFT | Arrière gauche (pour |
+| | une plate-forme double) |
++----------------------+----------------------------------+
+| BACK_RIGHT | Arrière droit (pour |
+| | une plate-forme double) |
++----------------------+----------------------------------+
+| CO_NAVIGATOR | Assistant navigateur |
++----------------------+----------------------------------+
+
+Region
+------
+
+*<<entity>>*
+
+Région sur laquelle est effectuée une campagne.
+
++----------------------+----------------------------------+--------------------+----------------+
+| Nom | Description | Type | Contraintes |
++======================+==================================+====================+================+
+| code | Code de la région | String | naturalId |
++----------------------+----------------------------------+--------------------+----------------+
+| name | Nom de la région | String | |
++----------------------+----------------------------------+--------------------+----------------+
+| latMin | Latitude minimum de la zone | double | |
+| | géographique de la région | | |
++----------------------+----------------------------------+--------------------+----------------+
+| latMax | Latitude maximum de la zone | double | |
+| | géographique de la région | | |
++----------------------+----------------------------------+--------------------+----------------+
+| longMin | Longitude minimum de la zone | double | |
+| | géographique de la région | | |
++----------------------+----------------------------------+--------------------+----------------+
+| longMax | Longitude maximum de la zone | double | |
+| | géographique de la région | | |
++----------------------+----------------------------------+--------------------+----------------+
+
+Route
+-----
+
+*<<entity>>*
+
+Segment du vol représentant un parcours. Il contient les conditions
+d'observations (y compris les positions d'observateurs) et permet de
+différencier les types de parcours (TRANSIT, LEG, CIRCLE_BACK). Il est
+enregistré à un temps donné pour permettre de retrouver ses observations et ses
+coordonnées géographiques. A chaque changement de conditions d'observations, un
+nouveau parcours est créé.
+
+RouteType
+---------
+
+*<<enumeration>>*
+
+Type de parcours possible.
+
++----------------------+----------------------------------+
+| Valeur | Description |
++======================+==================================+
+| TRANSIT | Parcours avant et après l' |
+| | arrivée sur un transect |
++----------------------+----------------------------------+
+| LEG | A chaque changement de |
+| | conditions d'observations, un |
+| | nouveau LEG est créé pour |
+| | marquer l'effort d'observation. |
+| | Le LEG est le seul parcours |
+| | qui est lié au transect |
++----------------------+----------------------------------+
+| CIRCLE_BACK | Parcours ayant pour objectif de |
+| | faire demi-tour sur une |
+| | observation afin de vérifier les |
+| | données ou de mieux observer l' |
+| | animal. L'observation est |
+| | enregistrée (*circleBackCause*) |
+| | et de nouvelles observations |
+| | peuvent être enregistrées |
+| | pendant ce CIRCLE_BACK (CB). Le |
+| | statut de l'observation initiale |
+| | peut changer en fonction des |
+| | observations effectuées pendant |
+| | le CIRCLE_BACK |
+| | (ObservationStatus_). Sinon le |
+| | statut sera par défaut "NEW" |
+| | pour chacune des observations. |
++----------------------+----------------------------------+
+
+Sector
+------
+
+*<<entity>>*
+
+Secteur géographique sur lequel l'effort est effectué.
+
+Species
+-------
+
+*<<entity>>*
+
+Espèce observée.
+
+Strate
+------
+
+*<<entity>>*
+
+Strate géographique sur laquelle l'effort est effectué.
+
+StrateType
+----------
+
+*<<enumeration>>*
+
+Type de strate possible (côtière, pente, néritique, océanique).
+
+Transect
+--------
+
+*<<entity>>*
+
+Segment géographique sur lequel doit être effectué l'effort d'observation.
+
+TransectFlight
+--------------
+
+*<<entity>>*
+
+Segment géographique prévu (et potentiellement réalisé) pour un vol donné.
+Chaque parcours de type LEG représentant un effort d'observation est
+obligatoirement associé à un transect du plan de vol. L'ensemble de ces
+segments représente un plan de vol avec une numérotation représentant l'ordre.
\ No newline at end of file
Property changes on: trunk/src/site/rst/model.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/src/site/rst/sammoa-model.rst
===================================================================
--- trunk/src/site/rst/sammoa-model.rst 2012-09-12 16:24:04 UTC (rev 583)
+++ trunk/src/site/rst/sammoa-model.rst 2012-09-18 17:04:54 UTC (rev 584)
@@ -1,48 +0,0 @@
-.. -
-.. * #%L
-.. * SAMMOA
-.. * $Id$
-.. * $HeadURL$
-.. * %%
-.. * Copyright (C) 2012 UMS 3462, Code Lutin
-.. * %%
-.. * This program is free software: you can redistribute it and/or modify
-.. * it under the terms of the GNU General Public License as
-.. * published by the Free Software Foundation, either version 3 of the
-.. * License, or (at your option) any later version.
-.. *
-.. * This program is distributed in the hope that it will be useful,
-.. * but WITHOUT ANY WARRANTY; without even the implied warranty of
-.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-.. * GNU General Public License for more details.
-.. *
-.. * You should have received a copy of the GNU General Public
-.. * License along with this program. If not, see
-.. * <http://www.gnu.org/licenses/gpl-3.0.html>.
-.. * #L%
-.. -
-
-=================
-Modèle de données
-=================
-
-TODO-fdesbois-2012-07-10 : update and add image (this page is not yet in menu)
-
-Le modèle représente tout ce qui sera saisi en vol et par la suite extrait pour la validation et les exports.
-Il comporte trois sous-ensembles :
-- Le réferentiel : observateurs et strates (en bleu ciel)
-- Le vol décomposé en plusieurs parcours (en jaune)
-- Les conditions et paramètres d'observations sur un transect pour chacun des parcours LEG et CIRCLE_BACK (en vert)
-
-Au début de chaque vol, les transects et les positions des observateurs (ObserverPosition) sont renseignés. Des transects peuvent être ajoutés afin d'effectuer de nouvelles observations non prévues au départ. Le parcours (Route) reste l'élément central et permettra de retrouver le vol (Flight) et le transect (Transect) lors des observations.
-
-Tout le trajet de l'avion est enregistré grâce à ces parcours (Route), chacun d'eux peut être de trois types différents (RouteType) :
-- TRANSIT : avant et après l'arrivée sur un transect,
-- LEG : à chaque changement de conditions d'observations (ObservationCondition), un nouveau LEG (donc un nouveau parcours) est créé et permet la saisie des observations (Observation)
-- CIRCLE_BACK : l'observation initiale est enregistré (circleBackCause) et de nouvelles observations peuvent être enregistrées pendant ce CIRCLE_BACK (CB). Le statut de l'observation initiale peut changer en fonction des observations effectuées pendant le CIRCLE_BACK (ObservationStatus). Sinon le statut sera par défaut "NEW" pour chacune des observations.
-
-Les positions des observateurs peuvent également changées en cours de vol et seront donc également associées au parcours.
-
-Le temps est la donnée clé pour la liaison avec le GPS et les enregistrements audio. Ainsi le temps au moment de l'observation (observationTime) est synchronisé avec un point du GPS (GeoPoint). Pour permettre de garder le tracé géographique de l'avion, une liste de points GPS sera enregistré pour chacun des parcours. Le lien n'apparaît pas car, une nouvelle fois la liaison se fera sur le temps. D'un parcours à l'autre, il n'y aura aucune coupure, le temps de début d'un parcours déterminera la fin du précédent, on connaîtra ainsi l'ensemble des points GPS associés à chaque parcours. L'enregistrement audio (et plus précisémment le nom du fichier) de chacun des LEG sera quand à lui synchronisé sur le temps de début (beginTime) du parcours. Il sera toujours possible grâce au temps de l'observation de caler la lecture audio pour une observation précise.
-
-
Modified: trunk/src/site/site.xml
===================================================================
--- trunk/src/site/site.xml 2012-09-12 16:24:04 UTC (rev 583)
+++ trunk/src/site/site.xml 2012-09-18 17:04:54 UTC (rev 584)
@@ -100,6 +100,7 @@
</menu>
<menu name="Développeur">
+ <item name="Modèle de données" href="model.html"/>
<item name="GPS" href="gps.html"/>
<item name="Import/Export" href="import-export.html"/>
</menu>
1
0
r583 - in trunk: . sammoa-application sammoa-persistence sammoa-ui-swing
by maven-release@users.forge.codelutin.com 12 Sep '12
by maven-release@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: maven-release
Date: 2012-09-12 18:24:04 +0200 (Wed, 12 Sep 2012)
New Revision: 583
Url: http://forge.codelutin.com/repositories/revision/sammoa/583
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/sammoa-application/pom.xml
trunk/sammoa-persistence/pom.xml
trunk/sammoa-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-09-12 16:23:57 UTC (rev 582)
+++ trunk/pom.xml 2012-09-12 16:24:04 UTC (rev 583)
@@ -15,7 +15,7 @@
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2</version>
+ <version>1.0-rc3-SNAPSHOT</version>
<modules>
<module>sammoa-persistence</module>
@@ -81,12 +81,12 @@
<!-- ************************************************************* -->
<scm>
- <url>http://svn.forge.codelutin.com/svn/sammoa/tags/sammoa-1.0-rc2</url>
+ <url>http://svn.forge.codelutin.com/svn/sammoa/trunk</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/sammoa/tags/sammoa-1.0-rc2
+ scm:svn:http://svn.forge.codelutin.com/svn/sammoa/trunk
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/sammoa/tags/sammoa-1.0-rc2
+ scm:svn:http://svn.forge.codelutin.com/svn/sammoa/trunk
</developerConnection>
</scm>
Modified: trunk/sammoa-application/pom.xml
===================================================================
--- trunk/sammoa-application/pom.xml 2012-09-12 16:23:57 UTC (rev 582)
+++ trunk/sammoa-application/pom.xml 2012-09-12 16:24:04 UTC (rev 583)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2</version>
+ <version>1.0-rc3-SNAPSHOT</version>
</parent>
<artifactId>sammoa-application</artifactId>
Modified: trunk/sammoa-persistence/pom.xml
===================================================================
--- trunk/sammoa-persistence/pom.xml 2012-09-12 16:23:57 UTC (rev 582)
+++ trunk/sammoa-persistence/pom.xml 2012-09-12 16:24:04 UTC (rev 583)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2</version>
+ <version>1.0-rc3-SNAPSHOT</version>
</parent>
<artifactId>sammoa-persistence</artifactId>
Modified: trunk/sammoa-ui-swing/pom.xml
===================================================================
--- trunk/sammoa-ui-swing/pom.xml 2012-09-12 16:23:57 UTC (rev 582)
+++ trunk/sammoa-ui-swing/pom.xml 2012-09-12 16:24:04 UTC (rev 583)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2</version>
+ <version>1.0-rc3-SNAPSHOT</version>
</parent>
<artifactId>sammoa-ui-swing</artifactId>
1
0
Author: maven-release
Date: 2012-09-12 18:23:57 +0200 (Wed, 12 Sep 2012)
New Revision: 582
Url: http://forge.codelutin.com/repositories/revision/sammoa/582
Log:
[maven-release-plugin] copy for tag sammoa-1.0-rc2
Added:
tags/sammoa-1.0-rc2/
1
0
r581 - in trunk: . sammoa-application sammoa-persistence sammoa-ui-swing
by maven-release@users.forge.codelutin.com 12 Sep '12
by maven-release@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: maven-release
Date: 2012-09-12 18:23:50 +0200 (Wed, 12 Sep 2012)
New Revision: 581
Url: http://forge.codelutin.com/repositories/revision/sammoa/581
Log:
[maven-release-plugin] prepare release sammoa-1.0-rc2
Modified:
trunk/pom.xml
trunk/sammoa-application/pom.xml
trunk/sammoa-persistence/pom.xml
trunk/sammoa-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-09-12 16:18:39 UTC (rev 580)
+++ trunk/pom.xml 2012-09-12 16:23:50 UTC (rev 581)
@@ -15,7 +15,7 @@
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2-SNAPSHOT</version>
+ <version>1.0-rc2</version>
<modules>
<module>sammoa-persistence</module>
@@ -81,12 +81,12 @@
<!-- ************************************************************* -->
<scm>
- <url>http://svn.forge.codelutin.com/svn/sammoa/trunk</url>
+ <url>http://svn.forge.codelutin.com/svn/sammoa/tags/sammoa-1.0-rc2</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/sammoa/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/sammoa/tags/sammoa-1.0-rc2
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/sammoa/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/sammoa/tags/sammoa-1.0-rc2
</developerConnection>
</scm>
Modified: trunk/sammoa-application/pom.xml
===================================================================
--- trunk/sammoa-application/pom.xml 2012-09-12 16:18:39 UTC (rev 580)
+++ trunk/sammoa-application/pom.xml 2012-09-12 16:23:50 UTC (rev 581)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2-SNAPSHOT</version>
+ <version>1.0-rc2</version>
</parent>
<artifactId>sammoa-application</artifactId>
Modified: trunk/sammoa-persistence/pom.xml
===================================================================
--- trunk/sammoa-persistence/pom.xml 2012-09-12 16:18:39 UTC (rev 580)
+++ trunk/sammoa-persistence/pom.xml 2012-09-12 16:23:50 UTC (rev 581)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2-SNAPSHOT</version>
+ <version>1.0-rc2</version>
</parent>
<artifactId>sammoa-persistence</artifactId>
Modified: trunk/sammoa-ui-swing/pom.xml
===================================================================
--- trunk/sammoa-ui-swing/pom.xml 2012-09-12 16:18:39 UTC (rev 580)
+++ trunk/sammoa-ui-swing/pom.xml 2012-09-12 16:23:50 UTC (rev 581)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ulr</groupId>
<artifactId>sammoa</artifactId>
- <version>1.0-rc2-SNAPSHOT</version>
+ <version>1.0-rc2</version>
</parent>
<artifactId>sammoa-ui-swing</artifactId>
1
0
r580 - trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application
by fdesbois@users.forge.codelutin.com 12 Sep '12
by fdesbois@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: fdesbois
Date: 2012-09-12 18:18:39 +0200 (Wed, 12 Sep 2012)
New Revision: 580
Url: http://forge.codelutin.com/repositories/revision/sammoa/580
Log:
little improvement
Modified:
trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java
===================================================================
--- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-09-12 15:48:57 UTC (rev 579)
+++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/FlightService.java 2012-09-12 16:18:39 UTC (rev 580)
@@ -66,6 +66,7 @@
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.Interval;
+import org.joda.time.Seconds;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
@@ -495,11 +496,8 @@
result.setSpeed(location.getSpeed());
result.setAltitude(location.getAltitude());
- int captureDelay = Dates
- .toInterval(locationTime, newTime)
- .toDuration()
- .toStandardSeconds()
- .getSeconds();
+ int captureDelay =
+ Seconds.secondsBetween(locationTime, newTime).getSeconds();
result.setCaptureDelay(captureDelay);
1
0
Author: fdesbois
Date: 2012-09-12 17:48:57 +0200 (Wed, 12 Sep 2012)
New Revision: 579
Url: http://forge.codelutin.com/repositories/revision/sammoa/579
Log:
missing dependency joda-time
Modified:
trunk/sammoa-ui-swing/pom.xml
Modified: trunk/sammoa-ui-swing/pom.xml
===================================================================
--- trunk/sammoa-ui-swing/pom.xml 2012-09-12 15:48:20 UTC (rev 578)
+++ trunk/sammoa-ui-swing/pom.xml 2012-09-12 15:48:57 UTC (rev 579)
@@ -88,6 +88,11 @@
</dependency>
<dependency>
+ <groupId>joda-time</groupId>
+ <artifactId>joda-time</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.nuiton.i18n</groupId>
<artifactId>nuiton-i18n</artifactId>
</dependency>
1
0
r578 - in trunk: sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util
by maven-release@users.forge.codelutin.com 12 Sep '12
by maven-release@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: maven-release
Date: 2012-09-12 17:48:20 +0200 (Wed, 12 Sep 2012)
New Revision: 578
Url: http://forge.codelutin.com/repositories/revision/sammoa/578
Log:
add file header
Modified:
trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/DatesTest.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/NestedPropertyChangeListener.java
Modified: trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/DatesTest.java
===================================================================
--- trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/DatesTest.java 2012-09-12 15:39:59 UTC (rev 577)
+++ trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/DatesTest.java 2012-09-12 15:48:20 UTC (rev 578)
@@ -1,5 +1,29 @@
package fr.ulr.sammoa.persistence;
+/*
+ * #%L
+ * SAMMOA :: Persistence
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import com.google.common.collect.ImmutableList;
import org.junit.Assert;
import org.junit.Test;
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/NestedPropertyChangeListener.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/NestedPropertyChangeListener.java 2012-09-12 15:39:59 UTC (rev 577)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/util/NestedPropertyChangeListener.java 2012-09-12 15:48:20 UTC (rev 578)
@@ -1,5 +1,29 @@
package fr.ulr.sammoa.ui.swing.util;
+/*
+ * #%L
+ * SAMMOA :: UI Swing
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 UMS 3462, Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import com.google.common.base.Splitter;
import org.jdesktop.beans.AbstractBean;
import org.nuiton.topia.persistence.TopiaEntity;
1
0
r577 - in trunk: sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/effort
by fdesbois@users.forge.codelutin.com 12 Sep '12
by fdesbois@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: fdesbois
Date: 2012-09-12 17:39:59 +0200 (Wed, 12 Sep 2012)
New Revision: 577
Url: http://forge.codelutin.com/repositories/revision/sammoa/577
Log:
Resolve broken test + NPE in TransectFlightcellEditor
Modified:
trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java
trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/effort/EffortPanelHandler.java
Modified: trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java
===================================================================
--- trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java 2012-09-12 14:45:33 UTC (rev 576)
+++ trunk/sammoa-application/src/test/java/fr/ulr/sammoa/application/output/map/ExportMapServiceTest.java 2012-09-12 15:39:59 UTC (rev 577)
@@ -222,6 +222,7 @@
builder.newMandatoryColumn("LON", "longitude", Common.DOUBLE_PRIMITIVE);
builder.newMandatoryColumn("SPEED", "speed", Common.DOUBLE_PRIMITIVE);
builder.newMandatoryColumn("ALTITUDE", "altitude", Common.DOUBLE_PRIMITIVE);
+ builder.newMandatoryColumn("GPS_DELAY", "captureDelay", new DoubleToIntegerValueParser());
return builder.getColumnsForImport();
}
}
Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/effort/EffortPanelHandler.java
===================================================================
--- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/effort/EffortPanelHandler.java 2012-09-12 14:45:33 UTC (rev 576)
+++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/flight/effort/EffortPanelHandler.java 2012-09-12 15:39:59 UTC (rev 577)
@@ -1010,7 +1010,8 @@
boolean result;
TransectFlight value = getCellEditorValue();
- if (Objects.equal(value, initValue)
+ if (value == null
+ || Objects.equal(value, initValue)
|| SammoaUtil.askQuestion(editorComponent, _(
"sammoa.confirmDialog.changeRouteTransect.message",
value.getTransect().getName()))) {
1
0
r576 - trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence
by fdesbois@users.forge.codelutin.com 12 Sep '12
by fdesbois@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: fdesbois
Date: 2012-09-12 16:45:33 +0200 (Wed, 12 Sep 2012)
New Revision: 576
Url: http://forge.codelutin.com/repositories/revision/sammoa/576
Log:
fixes #1479 : min value for podSize is 1
Modified:
trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-onBoard-warning-validation.xml
trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-validation-error-validation.xml
Modified: trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-onBoard-warning-validation.xml
===================================================================
--- trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-onBoard-warning-validation.xml 2012-09-12 14:38:09 UTC (rev 575)
+++ trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-onBoard-warning-validation.xml 2012-09-12 14:45:33 UTC (rev 576)
@@ -32,7 +32,7 @@
<field name="podSize">
<field-validator type="int" short-circuit="true">
- <param name="min">0</param>
+ <param name="min">1</param>
<message>sammoa.validator.observation.podSize.invalidMin##${min}</message>
</field-validator>
Modified: trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-validation-error-validation.xml
===================================================================
--- trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-validation-error-validation.xml 2012-09-12 14:38:09 UTC (rev 575)
+++ trunk/sammoa-ui-swing/src/main/resources/fr/ulr/sammoa/persistence/Observation-validation-error-validation.xml 2012-09-12 14:45:33 UTC (rev 576)
@@ -32,7 +32,7 @@
<field name="podSize">
<field-validator type="int" short-circuit="true">
- <param name="min">0</param>
+ <param name="min">1</param>
<message>sammoa.validator.observation.podSize.invalidMin##${min}</message>
</field-validator>
1
0