Bonjour numéro 7, Deux, trois petites remarques sur ton dernier commit : + else { + Identity existIdentity = account.getIdentity(); + // remove account + AccountDAO accountDAO = + LimaCallaoDAOHelper.getAccountDAO(transaction); + accountDAO.delete(account); + //check if account is a subledger with identity + if (existIdentity != null) { + System.out.println(existIdentity.getAddress()); + // delete identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.delete(existIdentity); + } + // commit + transaction.commitTransaction(); Il semble y avoir un problème dans ton modèle. Identity devrait être lié via une composition a Account. Au moment de la suppression de account cela supprimera automatiquement le Identity qui lui est lié. Dans le meme ordre d'idée ce qui suit est inutile : + //Check if the account is a subledger + Identity existIdentity = account.getIdentity(); + if (existIdentity != null) { + // update identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.update(existIdentity); + } l'identity sera automatiquement mis a jour a la sauvegarde de l'Account (pour le vérifier tu pourrais créer un jeu de test avec JUnit) Deuxième chose : + List<FiscalPeriod> listFiscalPeriods = getAllFiscalPeriods(); + ListIterator<FiscalPeriod> itr = listFiscalPeriods.listIterator(); + while(itr.hasNext()){ + FiscalPeriod thisFiscalPeriod = itr.next(); + if (thisFiscalPeriod.getEndDate(). + after(lastFiscalPeriod.getEndDate())){ + lastFiscalPeriod=thisFiscalPeriod; + } + } L'iterateur est inutile ici, il est préférable d'utiliser le foreach de java bien plus simple et lisible : for (FiscalPeriod period : getAllFiscalPeriods()) { if (...) } Les itérateurs sont plutôt utilisés si tu veux faire un add ou remove sur la collection directement dans la boucle. Dernière chose : + int monthNumber = fiscalPeriod.getEndDate().getMonth() + -fiscalPeriod.getBeginDate().getMonth(); + + //check if fiscalperiod have 12 months, ask a confirmation + if(monthNumber!=12){ + //TODO Exception + throw new LimaBusinessException("The fiscal period has not 12 months"); + } Je doute sincèrement que ce code marche. De plus la méthode getMonth() est déprécié et ne devrait pas être utilisé. A moins d'être sûr d'être sur une seule et même année, la soustraction de deux mois ne garantie pas d'avoir le bon nombre réel de mois entre les deux ! (ex : 03/2010, 03/2011 -> beginMonth = 3, endMonth = 3 -> 3 - 3 = 0 au lieu de 12) Tu devrais jeter un oeil sur la librairie nuiton-utils ou autre commons-lang qui te fournissent des méthodes utilitaires sur les dates (DateUtils, PeriodDates, ...) En espérant ne pas t'avoir perdu :P Cordialement, -- Florian Desbois <fdesbois@codelutin.com> SSLL Code Lutin Tel: 02 40 50 29 28 http://www.codelutin.com Membre du Réseau Libre-entreprise
Merci beaucoup pour ces pertinentes remarques ! Je ne connaissais pas la méthode avec le foreach en java, pourtant je l'ai déjà utilisé en php. :) Pour les test unitaire, je n'ai jamais fait ça, il faut que je regarde comment ça fonctionne. Pour la partie avec les dates, je me doutais qu'il y avait mieux, à vrai dire je n'ai fais que commencé à tapé mon algorithme au kilomètre, avant que je vous pose un tas de question. Je corrige ces éléments demain. Bonne soirée. Jonathan Le 21 avr. 2010 à 19:16, Florian Desbois a écrit :
Bonjour numéro 7,
Deux, trois petites remarques sur ton dernier commit :
+ else { + Identity existIdentity = account.getIdentity(); + // remove account + AccountDAO accountDAO = + LimaCallaoDAOHelper.getAccountDAO(transaction); + accountDAO.delete(account); + //check if account is a subledger with identity + if (existIdentity != null) { + System.out.println(existIdentity.getAddress()); + // delete identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.delete(existIdentity); + } + // commit + transaction.commitTransaction();
Il semble y avoir un problème dans ton modèle. Identity devrait être lié via une composition a Account. Au moment de la suppression de account cela supprimera automatiquement le Identity qui lui est lié.
Dans le meme ordre d'idée ce qui suit est inutile :
+ //Check if the account is a subledger + Identity existIdentity = account.getIdentity(); + if (existIdentity != null) { + // update identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.update(existIdentity); + }
l'identity sera automatiquement mis a jour a la sauvegarde de l'Account (pour le vérifier tu pourrais créer un jeu de test avec JUnit)
Deuxième chose :
+ List<FiscalPeriod> listFiscalPeriods = getAllFiscalPeriods(); + ListIterator<FiscalPeriod> itr = listFiscalPeriods.listIterator(); + while(itr.hasNext()){ + FiscalPeriod thisFiscalPeriod = itr.next(); + if (thisFiscalPeriod.getEndDate(). + after(lastFiscalPeriod.getEndDate())){ + lastFiscalPeriod=thisFiscalPeriod; + } + }
L'iterateur est inutile ici, il est préférable d'utiliser le foreach de java bien plus simple et lisible :
for (FiscalPeriod period : getAllFiscalPeriods()) { if (...) }
Les itérateurs sont plutôt utilisés si tu veux faire un add ou remove sur la collection directement dans la boucle.
Dernière chose :
+ int monthNumber = fiscalPeriod.getEndDate().getMonth() + -fiscalPeriod.getBeginDate().getMonth(); + + //check if fiscalperiod have 12 months, ask a confirmation + if(monthNumber!=12){ + //TODO Exception + throw new LimaBusinessException("The fiscal period has not 12 months"); + }
Je doute sincèrement que ce code marche. De plus la méthode getMonth() est déprécié et ne devrait pas être utilisé. A moins d'être sûr d'être sur une seule et même année, la soustraction de deux mois ne garantie pas d'avoir le bon nombre réel de mois entre les deux ! (ex : 03/2010, 03/2011 -> beginMonth = 3, endMonth = 3 -> 3 - 3 = 0 au lieu de 12)
Tu devrais jeter un oeil sur la librairie nuiton-utils ou autre commons-lang qui te fournissent des méthodes utilitaires sur les dates (DateUtils, PeriodDates, ...)
En espérant ne pas t'avoir perdu :P
Cordialement, -- Florian Desbois <fdesbois@codelutin.com> SSLL Code Lutin Tel: 02 40 50 29 28 http://www.codelutin.com Membre du Réseau Libre-entreprise
_______________________________________________ Lima-devel mailing list Lima-devel@list.chorem.org http://list.chorem.org/cgi-bin/mailman/listinfo/lima-devel
_______________ Jonathan Pepin Tel. 06 70 45 82 58 71 rue de Bélanton 44300 Nantes
Je me permet juste de rajouter une petite remarque qui n'a finalement pas grand chose à voir, mais dans le code que Florian a copié/collé, on voit qu'il y a qques problèmes d'indentation, sois vigilant là dessus. Cordialement, Arnaud. Le 21/04/2010 19:38, Jonathan Pepin a écrit :
Merci beaucoup pour ces pertinentes remarques !
Je ne connaissais pas la méthode avec le foreach en java, pourtant je l'ai déjà utilisé en php. :)
Pour les test unitaire, je n'ai jamais fait ça, il faut que je regarde comment ça fonctionne.
Pour la partie avec les dates, je me doutais qu'il y avait mieux, à vrai dire je n'ai fais que commencé à tapé mon algorithme au kilomètre, avant que je vous pose un tas de question.
Je corrige ces éléments demain.
Bonne soirée.
Jonathan
Le 21 avr. 2010 à 19:16, Florian Desbois a écrit :
Bonjour numéro 7,
Deux, trois petites remarques sur ton dernier commit :
+ else { + Identity existIdentity = account.getIdentity(); + // remove account + AccountDAO accountDAO = + LimaCallaoDAOHelper.getAccountDAO(transaction); + accountDAO.delete(account); + //check if account is a subledger with identity + if (existIdentity != null) { + System.out.println(existIdentity.getAddress()); + // delete identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.delete(existIdentity); + } + // commit + transaction.commitTransaction();
Il semble y avoir un problème dans ton modèle. Identity devrait être lié via une composition a Account. Au moment de la suppression de account cela supprimera automatiquement le Identity qui lui est lié.
Dans le meme ordre d'idée ce qui suit est inutile :
+ //Check if the account is a subledger + Identity existIdentity = account.getIdentity(); + if (existIdentity != null) { + // update identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.update(existIdentity); + }
l'identity sera automatiquement mis a jour a la sauvegarde de l'Account (pour le vérifier tu pourrais créer un jeu de test avec JUnit)
Deuxième chose :
+ List<FiscalPeriod> listFiscalPeriods = getAllFiscalPeriods(); + ListIterator<FiscalPeriod> itr = listFiscalPeriods.listIterator(); + while(itr.hasNext()){ + FiscalPeriod thisFiscalPeriod = itr.next(); + if (thisFiscalPeriod.getEndDate(). + after(lastFiscalPeriod.getEndDate())){ + lastFiscalPeriod=thisFiscalPeriod; + } + }
L'iterateur est inutile ici, il est préférable d'utiliser le foreach de java bien plus simple et lisible :
for (FiscalPeriod period : getAllFiscalPeriods()) { if (...) }
Les itérateurs sont plutôt utilisés si tu veux faire un add ou remove sur la collection directement dans la boucle.
Dernière chose :
+ int monthNumber = fiscalPeriod.getEndDate().getMonth() + -fiscalPeriod.getBeginDate().getMonth(); + + //check if fiscalperiod have 12 months, ask a confirmation + if(monthNumber!=12){ + //TODO Exception + throw new LimaBusinessException("The fiscal period has not 12 months"); + }
Je doute sincèrement que ce code marche. De plus la méthode getMonth() est déprécié et ne devrait pas être utilisé. A moins d'être sûr d'être sur une seule et même année, la soustraction de deux mois ne garantie pas d'avoir le bon nombre réel de mois entre les deux ! (ex : 03/2010, 03/2011 -> beginMonth = 3, endMonth = 3 -> 3 - 3 = 0 au lieu de 12)
Tu devrais jeter un oeil sur la librairie nuiton-utils ou autre commons-lang qui te fournissent des méthodes utilitaires sur les dates (DateUtils, PeriodDates, ...)
En espérant ne pas t'avoir perdu :P
Cordialement, -- Florian Desbois <fdesbois@codelutin.com> SSLL Code Lutin Tel: 02 40 50 29 28 http://www.codelutin.com Membre du Réseau Libre-entreprise
_______________________________________________ Lima-devel mailing list Lima-devel@list.chorem.org http://list.chorem.org/cgi-bin/mailman/listinfo/lima-devel
_______________ Jonathan Pepin Tel. 06 70 45 82 58 71 rue de Bélanton 44300 Nantes
_______________________________________________ Lima-devel mailing list Lima-devel@list.chorem.org http://list.chorem.org/cgi-bin/mailman/listinfo/lima-devel
-- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28
Oui, en effet, j'ai fait quelques erreurs le temps de m'adapter à la règle des 80 caractères. :) Je vais m'appliquer. Bonne soirée. Le 25 avr. 2010 à 21:19, Arnaud Thimel a écrit :
Je me permet juste de rajouter une petite remarque qui n'a finalement pas grand chose à voir, mais dans le code que Florian a copié/collé, on voit qu'il y a qques problèmes d'indentation, sois vigilant là dessus.
Cordialement, Arnaud.
Le 21/04/2010 19:38, Jonathan Pepin a écrit :
Merci beaucoup pour ces pertinentes remarques !
Je ne connaissais pas la méthode avec le foreach en java, pourtant je l'ai déjà utilisé en php. :)
Pour les test unitaire, je n'ai jamais fait ça, il faut que je regarde comment ça fonctionne.
Pour la partie avec les dates, je me doutais qu'il y avait mieux, à vrai dire je n'ai fais que commencé à tapé mon algorithme au kilomètre, avant que je vous pose un tas de question.
Je corrige ces éléments demain.
Bonne soirée.
Jonathan
Le 21 avr. 2010 à 19:16, Florian Desbois a écrit :
Bonjour numéro 7,
Deux, trois petites remarques sur ton dernier commit :
+ else { + Identity existIdentity = account.getIdentity(); + // remove account + AccountDAO accountDAO = + LimaCallaoDAOHelper.getAccountDAO(transaction); + accountDAO.delete(account); + //check if account is a subledger with identity + if (existIdentity != null) { + System.out.println(existIdentity.getAddress()); + // delete identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.delete(existIdentity); + } + // commit + transaction.commitTransaction();
Il semble y avoir un problème dans ton modèle. Identity devrait être lié via une composition a Account. Au moment de la suppression de account cela supprimera automatiquement le Identity qui lui est lié.
Dans le meme ordre d'idée ce qui suit est inutile :
+ //Check if the account is a subledger + Identity existIdentity = account.getIdentity(); + if (existIdentity != null) { + // update identity + IdentityDAO identityDAO = + LimaCallaoDAOHelper.getIdentityDAO(transaction); + identityDAO.update(existIdentity); + }
l'identity sera automatiquement mis a jour a la sauvegarde de l'Account (pour le vérifier tu pourrais créer un jeu de test avec JUnit)
Deuxième chose :
+ List<FiscalPeriod> listFiscalPeriods = getAllFiscalPeriods(); + ListIterator<FiscalPeriod> itr = listFiscalPeriods.listIterator(); + while(itr.hasNext()){ + FiscalPeriod thisFiscalPeriod = itr.next(); + if (thisFiscalPeriod.getEndDate(). + after(lastFiscalPeriod.getEndDate())){ + lastFiscalPeriod=thisFiscalPeriod; + } + }
L'iterateur est inutile ici, il est préférable d'utiliser le foreach de java bien plus simple et lisible :
for (FiscalPeriod period : getAllFiscalPeriods()) { if (...) }
Les itérateurs sont plutôt utilisés si tu veux faire un add ou remove sur la collection directement dans la boucle.
Dernière chose :
+ int monthNumber = fiscalPeriod.getEndDate().getMonth() + -fiscalPeriod.getBeginDate().getMonth(); + + //check if fiscalperiod have 12 months, ask a confirmation + if(monthNumber!=12){ + //TODO Exception + throw new LimaBusinessException("The fiscal period has not 12 months"); + }
Je doute sincèrement que ce code marche. De plus la méthode getMonth() est déprécié et ne devrait pas être utilisé. A moins d'être sûr d'être sur une seule et même année, la soustraction de deux mois ne garantie pas d'avoir le bon nombre réel de mois entre les deux ! (ex : 03/2010, 03/2011 -> beginMonth = 3, endMonth = 3 -> 3 - 3 = 0 au lieu de 12)
Tu devrais jeter un oeil sur la librairie nuiton-utils ou autre commons-lang qui te fournissent des méthodes utilitaires sur les dates (DateUtils, PeriodDates, ...)
En espérant ne pas t'avoir perdu :P
Cordialement,
participants (4)
-
Arnaud Thimel -
Florian Desbois -
Jonathan Pepin -
Jonathan Pepin